Link to home
Start Free TrialLog in
Avatar of oo7ml
oo7ml

asked on

Recurring PreApproved Membership Payment

Hi,  i am in the process of setting up recurring payments to process annual membership fees on my site.

We have decided to use PayPals PreApproved payments to handle this. The membership is due every 365 days so PayPal will allow us to extend the PreApproval PayPal for 5 years, which means it will process 5 years of membership (we'll review this again in 4 years :-)

Ok, so the problem we are having is that we can't decided how to handle the first initial membership payment when a user joins while also setting up their PreApproval for the following year(s) membership.

We do not have any recurring payments set up at the moment and our site just has a normal PayPal payment set up to pay for their membership (and then contact them again next year)... so now we need to start using recurring to eliminate the need to have to chase payments for next year.

Question: as mentioned above a user just pays for their first year membership as a normal straight forward PayPal payment... so when integrating the new recurring payments using PreApprovals should we

A - forget about making the normal straight forward payment for the first year and instead just process the first payment as a preapproved payment along with setting up OR

B - should we keep the normal striaght forward instant payment and just add in the recurring PreApproval on top of this?

Thanks in advance for your help
Avatar of Andrew Angell
Andrew Angell
Flag of United States of America image

I would go with A.  That way the person can log in to PayPal and approve the thing one time and be done with it.  You can process their first payment immediately after that.  

With B they'd have to log in and pay for that first payment, and then they'd have to log in again to Preapprove future payments.  I don't think that would be as good of an experience for the user.

Again, with option A you can just let them setup the Preapproval and then you can process whatever payments you need to whenever you need to.
Avatar of oo7ml
oo7ml

ASKER

Thanks Andrew, what would be the best way of processing the first preapproval then when they have agreed to it
ASKER CERTIFIED SOLUTION
Avatar of Andrew Angell
Andrew Angell
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of oo7ml

ASKER

Guys, thanks so much for your help, both of you are always very helpful.

Can you suggest a way that we can handle the following:

01 - the member cancels their PreApproval from their PayPal account half way through a year (i was thinking we should just set the user's account to Close when the script tries to process the PreApproval the next time around)

02 - the card expired after year 3, or our 5 year PreApproval key is up... this could be disastrous for our company as surely it would mean we would have to contact each member and arrange a new payments method / term... if we were able to do this... how can we get them to sign up to a new PreApproval plan without having to get them to create a whole new account to start the sign up process again?

Thanks in advance for your help...
01)  When a payment fails you can handle this any way you want.  The recurring payments payments platform would re-try after 5 days and it would do this 3 times.  If it continued to fail on every re-try it would suspend the profile after the 3rd attempt.  You could re-create this procedure (or whatever procedure you want) within your solution.

02)  If their card expires or the key is no good the payment would simply fail and fall to whatever procedure you setup as explained above.  If you need to create a new preapproval profile for the user you can do that and simply update your existing account record with their new preapproval key.  You wouldn't need to create a brand new account for them in your system, but you would indeed need to have them create a new profile.  This could be as simple as sending them an email when the payment fails because of a bad preapproval key asking them to create a new one, which again, would be nothing more than signing in to PayPal again, approving it, and they're done.  Your app would just update your record with the new preapproval key to be used on future payments.
Avatar of oo7ml

ASKER

Ok cool, thanks... so in relation to 02 - how do i create a new PA profile for them and get them to approve it?
In either case, you will use the api to determine if the charge went through or not.  Then you can set the api to hit a page on your site and from there you can do whatever magic you want.  Each time a payment goes through or is canceled, you do get an email update right away from paypal.  

If you are managing hundreds of people, probably no need to program api's.  If you are managing 1,000's of people, then it starts to be a good idea.  Even with 5,000 active users that averages out to 20 transactions per day.  Still very manageable by hand.
Avatar of oo7ml

ASKER

Ok, thanks i understand that... but how do i get the user to accept the new PreApproval that is created for them 5 years later... do i email a link to them where they would need to sign in and click RENEW or how can i do this...
I really don't understand why you are going through a pre approval.  What you want is a SUBSCRIPTION that does not end until canceled by you or the client.  The pre approval is terrible advice.   There is no way you can get a pre approval and hope for it to stick for 5 years. It just does not make sense.  

If you don't believe me, log in to your paypal account, go to help and from there you will get a phone number to call.


https://developer.paypal.com/webapps/developer/docs/classic/api/adaptive-payments/Preapproval_API_Operation/
Setting up a preapproval
In this example, the caller of the Preapproval API sets up a preapproval that is valid from July 17, 2009 through December 12, 2009. The maximum amount of the preapproval is $1,500, of which a maximum of 30 payments are authorized with the largest payment not to exceed $200. The sender need not include a PIN. The response contains the preapproval key that the caller can use in the Pay API operation.
I would second that Recurring Payments (subscription) is probably better for you as it will never expire.  That said, the payment method(s) the user has available could expire, so then they would need to update that in your system.  The process for that would be similar and take about the same amount of time as creating a new preapproval profile.

The preapproval profile will be handy if you're charging variable amounts each period.  You can't do that with recurring payments.  

If you stick with preapproval and somebody's profile expires you simply need to send them an email or link of some sort that will take them through the process of creating a new preapproval profile.  This would be nothing more than clicking your link, logging in to PayPal, reviewing the terms of the new profile, and accepting.  It would be very quick and easy.

You would then take that new preapproval key and update your local customer record with that new key so it will be used in future Pay calls to process their payments.
This is for a subscription to the same amount every year.
Avatar of oo7ml

ASKER

Thanks for the replies guys... i've spent the last day integrating PreApprovals... which seems to be a waste of time now... however, i don't want a quick fix, i want to integrate the best solution which both of you seem to agree on as Subscriptions.

One thing that puzzled me before with Subscriptions was that it seems you have to process Credit Card info:

https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_CreateRecurringPayments

Credit Card Details Fields
ACCT
 
(Required) Credit card number.

Character length and limitations: Numeric characters only with no spaces or punctuation. The string must conform with modulo and length required by each credit card type.



Is there some other way to set these subscriptions up, thanks in advance...
>Is there some other way to set these subscriptions up, thanks in advance...
I think we answered the initial question for this thread.  If you want to get into details with custom integration, let's start a new question.  Include all of your html mark up and create a short sample http://sscce.org/.  Otherwise, to quickly answer your question, you can simply go to the merchants link in papal and create a button, then choose recurring payments and follow the wizard.  That will generate html to make a button on your site.  

If you want more details on that, let's start a new thread.