Search code examples
paypalpaymentpaypal-rest-sdk

How long is a payment executable?


When I create a payment and locally store the paymentId and payerId, is it possible to execute the payment two months later?

I want to allow a free testing phase for an application and execute only if the user still wants to use the product after two months.


Solution

  • Basically, PayPal guarantees to capture the funds up to 3 days from the day of authorization. I remember we had to automatically approve PayPal orders that required manual review or we would lose them after the 3-day authorization period.

    Looking at their documentation they explain that an authorization can be re-authorized in a 29 day period. Check their autorization period and honor period documentation here: https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/authcapture/#honor-period-and-authorization-period

    Having said that, I believe that the capability you're looking for is called a "billing agreement" or "reference transaction". It allows to create an agreement with the shopper (on a 0$ payment) that can be charged at a later time. This feature requires special underwriting by PayPal, and is not easily approved. See documentation here: https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECReferenceTxns/