Credit card payments via PayPal REST API without being PCI-compliant

1.4k views Asked by At

Can't understand which PayPal API to use.

I have Rails app and I'd like to accept credit card recurring payments via PayPal. At first I was thinking to use Express Checkout API that supports recurring billing and can work even if a user doesn't have PayPal account. But then I saw that their official ruby gem merchant-sdk-ruby https://github.com/paypal/merchant-sdk-ruby will be deprecated:

This Classic SDK is not actively supported and will be deprecated in the future. For full support on new integrations, please use the Ruby Rest SDK

So I don't want to use something that will be deprecated soon. But I can't understand whether I can use REST API to accept credit cards without being PCI-compliant.

I'd like to redirect user to PayPal where he could enter his credit card info and return back to my site like in Express Checkout, but I see only examples where credit card info is collected on my site and passed to PayPal via API that implies more security headache on my site.

UPD: I found some information regarding this question in Accept a PayPal payment section of REST API documentation that is a bit odd because I expected to find it in Accept credit card payments section. They say:

Important: To receive Guest Checkout payments, which allow credit cards, ensure that PayPal Account Optional is enabled on your account settings. For example, here is the path for US accounts: Profile > My selling tools > Website preferences > PayPal Account Optional

But I'm still not sure whether it will work in my case. Now I have the following question:

  1. Can I use Guest Checkout feature to accept recurring payments?
  2. Can I test Guest Checkout in Sandbox? And if I can what credit card number to use?
  3. Can I show by default form for entering credit card info when user gets to the PayPal site rather than for entering PayPal credentials?

Ughh... why it is so complicated?

2

There are 2 answers

1
seph On

Railscast #289 is on this. It requires that you sign up for the pro version. Looks pretty involved but he walks you through it.

0
Jay Patel - PayPal On

There are couple of samples in PHP code, that could help you understand recurring payment options in REST API.

https://github.com/paypal/PayPal-PHP-SDK/tree/master/sample/billing

Or you could follow up the docs on : https://developer.paypal.com/webapps/developer/docs/api/#billing-plans-and-agreements

  1. I will look into this specifically and get back to you
  2. For trying it out on sandbox, you can create an account here at https://developer.paypal.com/webapps/developer/applications/myapps You need to create an app, and it would generate a valid credit card for you.
  3. This may be very unlikely to do, but I can ask the internal team if they know of any such option.