My biggest challenge in this project was to update and refactor legacy code with newer API’s I had never used. I had to integrate 3 separate payment systems: Authorize.net for Credit Card transactions, PayPal, and Braintree for Venmo.
This project took about 3 weeks from start to finish and was a blast to work on. Authorize.net had a wonderful "Sample Code" for Laravel that worked with only minor tweaks to account for our systems. I was able to just change the "logic" for our system with this sample code and it worked out of the box.
Paypal took arguably the longest to finish, because of how different the initial implementation of it I had to work with was. Because the prior way we were doing it was deprecated in 2017 we wanted to upgrade to the PayPal Smart Button! After figuring out how this button works (which took longer than I'd like to admit), it is absolutely wonderful to use! We don't have to handle any client information, and the Sandbox works wonderfully.
Finally, when it came to implementing Braintree, Setwise had some existing code that worked immediately. All I had to do was combine all three payment systems into an understandable and readable workflow and the new system was pushed to production!