Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

paypal express checkout recurring profile start date

We are using paypal recurring payments programmatically using the Express Checkout APIs.

Based on the docs, it seems that the profile can take up to 24 hours to activate. I'm trying to figure out how to setup the billing start date such that it charges on the day that the profile activates, rather than forcing it to wait up to 24 hours.

Based on the API docs, it seems that I need to pass in the start date at the time of profile creation, which has forced me to do (today + 1 day) to force the 24 hour delay. But then if the profile activates right away and I get an IPN message, i still have to force the customer to wait for that 24 hour period...which doesn't seem very nice.

Although i can do an initamt for an upfront payment, I'm trying to avoid doing it b/c i think that would make me reduce the renewal period (e.g. if it's a 6 month subscription, i would charge 1 month upfront and do a 5 month recurring.), which would be confusing for the consumer.

I'm hoping someone can help me with this.

Docs.

like image 491
jignesh Avatar asked May 14 '12 06:05

jignesh


3 Answers

Just wanted to follow-up on this. I spoke with PayPal today to clarify the issue.

They recommended using an initial payment to charge right away and then reducing the subscription term by 1 interval. So if you have a six month payment, then do a 1 month charge immediately, then do a 5 month recurring. Seems sort or ridiculous and partially confusing for the consumer.

They also confirmed that the initial recurring profile step may be delayed up to a day b/c it is run as batches.

Put that together with the fact that the system skips February for end of month payments (they adjust to the first of the month), and you've got yourself a lot of fun times ahead.

like image 108
jignesh Avatar answered Oct 21 '22 17:10

jignesh


Ya it's best to do an initial payment and then subtract one from your interval or put your start interval 1 unit into the future.

Also note that if the initial payment if unable to be charged the API call will fail where as without the initial payment the API call can go through (success response) but when the payment gets charged (up to 24hrs later), it has the chanced to not be successful.

ie. credit card is good so it approves the recurring billing but when it attempts to charge, for some reason it gets rejected.

Make sure you have IPN listeners for recurring_payment_skipped to take account for that.

like image 3
DamnSemicolon Avatar answered Oct 21 '22 19:10

DamnSemicolon


Simply charge for 6 month instantly and set the recurring payments to start after 6 months from the moment of initial payment.

like image 1
jayarjo Avatar answered Oct 21 '22 19:10

jayarjo