Is it even possible to use Express Checkout for recurring payments? - paypal

We all know documentations can be poorly writting sometimes, but Paypal's documentation really is on another level. I've been trying to wrap my head around the Express Checkout server side rest API, to no avail.
A couple of questions:
Is it even possible to use Express Checkout for recurring payments?
If yes, where do I get the paymentID for the agreement.
If I use the rest API with Express Checkout, do I have to be PCI pci compliant?

Yes, of course it's possible. PayPal's documentation is great, but it's just a matter of knowing exactly what you need. They have so many products and options for integrating their services that it can be a bit overwhelming.
Here is a quick reference for all the REST APIs. For recurring payments you'll want to study the Billing Agreements and Billing Plans sections.
Another option which would make things very quick and easy is to take a look at our PayPal PHP class library. It has functional samples and empty templates for all the Express Checkout calls.

Related

Recurring payment on PayPal Express Checkout

Im trying set up recurring payment on my site by using Paypal Express Checkout. I did read through the official docs and I couldnt find anything useful related to recurring payment.
https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/add-paypal-button/
Im just wondering does Express Checkout support recurring payment? If so, how can I achieve that or Where can I get some good example to start with?
Thank you for your help in advance. Much appreciated
Cheers
We have a similar issue before. You might wanted to take a look at this thread.
I'm trying to understand the use case here. When you say recurring payment for express checkout,it has to be something a customer is buying regularly like restocking an item, in that case it's not an express checkout, it's a recurring purchase by a returning customer. They must have opted to restock at a regular interval like every 30 days, 2 months etc. They also must be registered users on your website.
So your logic must include — Checking all the customers who have set up an automatic purchase for an item.
—Check their frequency of purchase and charge them for the amount of the item at that frequency.
—For this purpose PayPal has a REST API :
This is the accurate place to look for to implement PayPal recurring payments:
https://developer.paypal.com/docs/api/payments/#payment_create
In case they also allow you to authorize payments through the following API
https://developer.paypal.com/docs/api/payments/#authorization
you could use it as well.
But at least this narrows down your choices in terms of regular payment authorization.
This API will allow you to request PayPal services to authorize payment on a regular basis for that customer. You will still have to have your own logic to check the 'subscription' for your products and the intervals.
—The CreateRecurringPaymentsProfile API Operation (NVP) at the link below looks to be for personal payments. For example something an Inventory Management System will do.
https://developer.paypal.com/docs/classic/api/merchant/CreateRecurringPaymentsProfile_API_Operation_NVP/
It's an API specific to adding recurring payments functionality.
Since you're a developer, PayPal Developers' Resources will answer any queries you have regarding the API functionality and usage. You will have to just know what to ask for. You are their B2B customer trying to understand their API system. You can also file a bug on their Developer portal if you're not getting proper answers.

Is Recurring Payments Profile with Express Checkout available?

I am investigating the recurring payment for paypal. looks express checkout is we we needed. but the document page https://developer.paypal.com/docs/classic/express-checkout/ht_ec-recurringPaymentProfile-curl-etc/ is under Express Checkout - NVP/SOAP (Deprecated).
And this page(https://developer.paypal.com/docs/classic/express-checkout/) said:
Important: This integration method is Deprecated as of January 1, 2017. For new integrations, see the PayPal Express Checkout Integration Guide.
new page doesn't say anything about recurring.
Is recurring payments still available for paypal express checkout?
They are trying to move away from the Classic APIs, which is why they're labeling them as deprecated now, but they aren't going away any time soon. There are still way too many people and apps integrated with Classic, and you can still build new apps with those APIs, too. I still prefer Classic over REST myself.
For the REST API you can take a look at Billing Agreements and/or Billing Plans.
If you purely created Express Checkout (without having additional API call), you are advise to integrate with Express Checkout v4 which located here. But if you wanted to Creates with Recurring Payment, the option is still available. PayPal does not finalize yet the date of deprecation application for Express Checkout.

REST API vs Classic APIs

I am working with PayPal integration for the first time and am confused regarding the two solutions. I need to accept direct payments. User enters credit card information and I use PayPal as the processor. I would also at a later point after release like to add PayPal Express Checkout for convenience. I have PayPal Payments Pro, which assigned me a Payflow account. Which documentation should I follow to accomplish both? There are so many assorted PDFs, many of which are over 100 pages, and I don't have a clear idea where I should start.
I would greatly appreciate a quick separation of services (XMLPay? DoDirectPayment?)
I am using C# / ASP.NET and already have the core and rest api libraries installed in my project via NuGet. I also have an app created and an ID+Secret pair to use.
I have called PayPal but the phone team does not have the proficiency to answer these questions and simply refers me to the documentation site. Hopefully a developer who has been down this road can steer me in the right direction. Thanks!
I would suggest the REST Apis, they support both direct credit card and express checkout depending on which funding instrument (CC vs PayPal) you pass in the pay request.
There is also a C# SDK provided to get you started, all info available at: https://developer.paypal.com/webapps/developer/docs/api/
For anyone running into this post in their search for more PayPal integration information (as I did), the C# REST API wrappers (provided by PayPal) are very useful, and they include full sample projects showing you how to perform most common tasks.
You can find them here: https://github.com/paypal/PayPal-NET-SDK

Adaptive Parallel Payment with REST API Example?

I didn't quite understand is it possible to split a payment
among several merchants using the REST API?
If so can anyone reference to an example (preferably PHP)
Google didn't quite find anything for me on the matter.
thanks.
REST does not support the full suite of calls that Classic does. You will have to implement Classic (NVP or SOAP) to get to Adaptive payments, where you can split payments via Chained Payments
This page talks about Chained Payments and all the examples it gives are Classic NVP
https://developer.paypal.com/docs/classic/adaptive-payments/ht_ap-basicChainedPayment-curl-etc/
As of this point in time it is not supported to do what you are asking. The options as suggested by others are to use Adaptive Payments or Express Checkout. I tend to prefer the former but to each his own.
Just to quote from their page
The Adaptive Payments API allows merchants and developers to pay
almost anyone and set up automated payments. They can create
applications that manage payments, payment preapprovals, and refunds.
They can also send money peer-to-peer, split payments in both parallel
and chained models, accept guest payments, and schedule disbursements.
The Adaptive Payments API works on multiple platforms including the
web and mobile environments.
The link is Adpative Payments
After going through the above link and understanding the basics, it should be easy to follow the steps mention Here as mentioned by the above answer as well
Not at this time. You would have to use either Adaptive Payments or Express Checkout.
https://github.com/paypal/adaptivepayments-sdk-php
use this sdk to integrate paypal adaptive payment.

Integrating paypal recurring

I am new to PayPal integrating and need to integrate PayPal recurring for subscriptions. I googled for that, but I am confused with below questions.
Which API should I use with PayPal recurring, WPS or Paypal express checkout? Which one will be good?
Is there any good example or help to integrate this?
Thanks a ton in advance.
Good overview of recurring payments: Handling recurring payments
I'm using the Lionite PHP Paypal class. It's not free, but even if you're not going to use it, read through that page because it contains some useful info that is omitted from the Paypal docs.
If I understand correctly, Express Checkout requires your customer to set up a Paypal account, so Website Payments Standard would be a better option.
Unfortunately the Paypal SDK only has code examples for direct payment. If you want to use Website Payments Pro with Direct Payment, be aware of PCI compliance (which can be expensive and time-consuming) and also be aware that services like BrainTree exist which have transparent redirect, thus helping you to avoid PCI compliance (I haven't used this service however).
Express checkout code example: https://github.com/hrendoh/PayPal-Recurring-Payment-example
Set up your sandbox account at http://developer.paypal.com
Update: IPN for recurring payments is a nightmare. Not only are the recurring payment IPN responses completely undocumented, but none of the support staff I talked to had a clue about them either (in some cases they gave me incorrect answers to questions). Here is a list that others have put together, but all of these resources are incomplete:
https://www.x.com/developers/community/blogs/ppmacole/recurring-payments-ipns?page=1
http://docs.ipn-easy.com/html/T_Rolosoft_IpnEasy_Net_PayPal_TxnType.htm
Unfortunately because of the limits placed on recurring payments with express checkout, direct payment was the only option for me. I strongly suggest that if you need to do direct payment with recurring payments that you find a different payment provider.