Reputation: 2214
I tried to create Paypal Billing Agreement using API.
Method1:- I followed below link https://developer.paypal.com/docs/api/payments.billing-agreements/v1/#billing-agreements_post
Here, we found response successfully as mentioned in Doc but in customer Sandbox Account, I could not find any new billing agreement created. (https://www.sandbox.paypal.com/)
Method2:- I followed below link
To fetch agreement token. https://verifone.cloud/docs/apm/paypal-show-token-details
To creating billing agreement token. https://verifone.cloud/docs/apm/paypal-initiate-billing-agreement
To creating billing agreement https://verifone.cloud/docs/apm/paypal-first-billing-agreement-transaction
Here, we are not able to identity “ppcUid” parameter. I tried to set the value of “ppcUid” by ‘Paypal merchant Id’ and ‘email Id’ but not getting response as mentioned in Doc.
Note:- When I am trying to create Billing Agreement manually in Magento, then it is rendering successfully in Magento and in Paypal Sandbox Account.
Upvotes: 0
Views: 1439
Reputation: 30432
The /v1/payments/billing-agreements API is deprecated. Do not use it.
If you are integrating recurring payments on a schedule, use a Subscriptions integration.
If your use case is not on a schedule but rather arbitrary charges for arbitrary amounts at arbitrary times, your account will need a feature called 'Reference Transactions'. This feature is not available in live without approval from PayPal. The PayPal Business account owner should contact PayPal's general business support (not technical support) to explain the business need for reference transaction billing agreements, and inquire about the service. If the service is approved, PayPal can guide you on which API to implement -- for instance the newest "v2 vault" API rather than one of the deprecated APIs. (if using that newer API, vault is for approval/obtaining a token and then the v2/checkout/orders API can be used to create a transaction with the vault payment token. This only works with reference transactions enabled, hence the requirement)
Upvotes: 2