PayPal Recurring Payments

Hi, i set up recurring payments last week to process my member's montly membership.

When my users create an account on my website, they are brought to PayPal to pay and set up their recurring payment.

As soon as they sign into PayPal and click 'Agree and Continue' - i receive their first payment instantly... however i am receiving another (second) payment roughly 4-5 hours later (when it should be arriving the following month).

I receive two separate PayPal notification emails too for each payment... the first one just looks like a normal payment and the second PayPal email is different, it shows that it is a recurring payment.

I have noticed that step 6 here might offer a clue -

Calls DoExpressCheckoutPayment if the order includes one-time purchases as well as a recurring payment. Otherwise, skip this step.

Open in new window

But does that mean i have to wait 4-5 hours to see if their first payment actually comes in before i can activate their account?

OR - should i process the first payment as instant payment and then don't start the recurring billing until 28 days later?

any advice greatly appreciated... thanks in advance
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Andrew AngellCo-Owner / DeveloperCommented:
There are a number of ways you can handle this.  It just depends on what works best for you.  

First, if you're calling both DoExpressCheckoutPayment and CreateRecurringPaymentsProfile then you will indeed see 2 payments.  DECP will process a payment as a regular payment apart from any profile, and then CRPP will create the profile and process any payments associated with that accordingly.  Sounds like you just need to ditch DECP and go straight to CRPP.

Within CRPP you can do a couple of things.  If you want your first payment to happen right away you can use the INITAMT parameter along with FAILEDINITAMTACTION.  Anything you have set in INITAMT will be processed as a one-time payment when the profile is created and that will happen right away.  FAILEDINITAMTACTION will allow you to specify whether or you want to immediately suspend the profile if the initial amount fails or not.

If you don't use an initial amount then the first payment will happen on the date you have as the start date for the profile, but yes, this can be delayed at times and may take a few hours to get processed.  

You could also do what you said and stick with DECP to process the first payment and then set the profile start date to 1 month later. This will create a profile that's Active but the first payment for the profile won't happen until the start date.  

Just keep in mind that if you process the first payment with an INITAMT or using DECP that won't be included in any reports you pull using the Profile ID because they are considered separate, one-time payments that were not part of the recurring profile.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
oo7mlAuthor Commented:
Thanks, i've gone with DECP initial payment and then start the CRPP 28 days later. Thanks for your continued help, much appreciated.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.