Search code examples
laravelpaypallaravel-5.1braintree

Delay Paypal payment - Braintree APIs


I am developing a website that offers car-washings in all places publicly available through geolocation. However, due to weather instability, bookings can be cancelled at any time; instead of issuing expensive refunds, I would like to charge customers only once the washing has been performed.

I would like to accept Paypal payments and was suggested to use Braintree. Do you know if it is possible to delay charges with Braintree APIs on Paypal accounts?

I use Laravel 5.1.

Thank you


Solution

  • I would recommend using PayPal Preapproval profiles, specifically the Preapproval API to setup the profile, and then you would use the Pay API to process payments using the preapproval key for a given customer.

    This PayPal PHP SDK makes all of those API calls very quick and easy, and it's available on Packagist so you can load it up in your composer.json for Laravel and be running in no time.

    It has samples and empty templates for you to work with to make the Preapproval and Pay calls.