Reputation: 515
Current state of our system:
We are currently running a system that is charging a part of our customers using Paypal. More specifically we have a Paypal Billing Agreement for every customer. With this we are charging regularly every month varying amounts of money for our services using Paypal NVP/SOAP API. The exact flow was built to create Express Checkout and then create and capture Billing Agreement. With existing Billing Agreement we are doing Reference Transactions to be able to charge one customer with varyingamounts every month.
What we need:
The NVP/SOAP API was deprecated 3 years ago and even though we found out there is no plan for Paypal to terminate this API we would like to start using a new REST API.
The Goal and MUST requirements:
When I tried to take a closer look on the new API and checked other related posts I have found Reference Transaction does not exist in Rest API but there is a Billing Plan that is referenced a few times when solving similar issues. However it looks like it requires knowing the amount of money that would be charged and it does not look like something that would allow smooth transition for existing customers. But maybe I am reading it wrong or missing something important.
Any idea how to achieve my requirements using the Paypal Rest API? Is there a way how to do it?
Thank you, Lukas
Upvotes: 0
Views: 81
Reputation: 30359
There currently isn't any documentation, at least not publicly, on how to use Reference Transactions or something equivalent with the new REST APIs. But if you wait some matter of months, there probably will be in some mid term future.
Meanwhile, you can pair an NVP/SOAP API backend with the new JS SDK front end, so at least the front end interface of your integration can be looking and working nice while you wait for a newer backend. Here is a demo for the new frontend: https://developer.paypal.com/demo/checkout/#/pattern/server
Just have your server return an id that is an EC-# token instead of an Order #, and after the approval run DoExpressCheckoutPayment instead of a capture. Basically it works with your existing backend, you just need to set up 2 routes on your server for it to call.
Upvotes: 1