Ben Barkay
Ben Barkay

Reputation: 5622

PayPal - Unattended charges

Well, I didn't really know how to call this...

I have been surfing PayPal's developer documentation for a while now, but there is nothing that speaks to me with direction as to achieving what I am looking for. It's probably well documented, but I don't grasp it well enough yet to make sense while reading each part separately.

I have read about Preapproval, though it seem to require that I send the customer's browser to the designated PayPal address.

I have thought about creating a database with credit card information, but that is too scary -- so I am looking to see if there is a way for a customer to allow me to do unattended charges to their PayPal account, much like I would be able to do if I had a database with customer credit card information.

Any direction would be appreciated.

Upvotes: 0

Views: 547

Answers (3)

Freddy Garcia Cala
Freddy Garcia Cala

Reputation: 414

I was trying to do this recently and I found this question with no luck because the Express Checkout with a Billing Agreement method is deprecated since January 1, 2017.

There is a new REST method called Vault payment methods that recently entered open beta and it's not in the official documentation (to this date), so I leave the link to Create transactions when your buyer isn't present, in case someone needs it.

The process it's explained in the documentation but basically, you need to create a payment token (the source can be a PayPal account or a credit card), and then use that token to capture the payment.

Upvotes: 0

Simon_Weaver
Simon_Weaver

Reputation: 146110

Important: You will need to call in to get Billing Agreements activated. Good luck finding someone that knows what you need (no really) :-)

You will eventually find someone who knows what DoReferenceTransaction is and then once you've finally found them they'll probably tell you they can only activate it in the sand box and transfer you to someone in the Business Office. They'll have to then submit it to approval with someone else. Est. Total call time 59 minutes 8 seconds.

The guy I just spoke with said he's probably handled only 2 call in a year about DoReferenceTransaction - so you may need to ask around. They have other subscription billing and that's not what you want.

Also realize that approval is not instant and you may need to have established history. The guy who helped me said this is the best number 888 215 5506. Be sure to explain why you need them carefully and try to reassure them you're legitimate. A reputable website behind the domain for your paypal email will probably help.


Good news: I applied for Reference Transactions Friday and was approved today (Sunday). This was for two accounts - one which had only been established the day before.

Thank you for contacting us about enabling reference transactions on your PayPal account.

I am pleased to inform you that your request has been approved. You can begin using this feature immediately.

If you have further questions regarding this email, please contact a Merchant Services Specialist at 1-888-221-1161.

Sincerely,

AJ Merchant Risk Operations

Upvotes: 1

Robert
Robert

Reputation: 19356

Yes, this is possible. There are two options:

  1. PayPal Express Checkout with a Billing Agreement
    This works similarly to Preapprovals (which is Adaptive Payments, a different set of API's). You would need to redirect the buyer to PayPal in order to accept the billing agreement, and from then on you can bill the user using to DoReferenceTransaction API.

  2. PayPal DoDirectPayment (Website Payments Pro) with Reference Transactions
    You would need to have an existing transaction, and instead of a billing agreement ID, you would submit a prior transaction ID to the DoReferenceTransaction API. You can then re-bill the user on the card details which are stored with PayPal (up to 1 year. assuming the card details are still valid).

Do note that both options require you having access to the DoReferenceTransaction API, which you will not have access to by default.
For further information on the API itself, see https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_DoReferenceTransaction

Upvotes: 3

Related Questions