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.
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)
Related
We currently have a website that uses eWay token payments and setup Auto Order for customers. They can manage what items are in the auto orders and at what frequency the orders will be placed.
After the first order we can save the users 'Token' with eWay and charge their card at each instance.
We would like to add in the ability to pay with PayPal, but cannot see a similar feature where future orders can be placed without the user interacting.
The issue is that the price may differ from original payment, as discounts for the item may change or the user could add in other products to the auto order. So we don't want to have a repeat purchase setup in PayPal, rather automatically charge the users account when needed.
Been looking through paypal API docs and nothing is jumping out as the correct way to proceed.
We have tried payments through eWay to PayPal however they are not supporting paypal through their gateway anymore so are not much help.
Our website is PHP, Mysql driven and we currently use PayPalExpress checkout API for single orders.
For PayPal, the receiving account needs a feature called "reference transactions". This is not enabled by default in the live environment (though it is in sandbox). It requires business approval, so the PayPal account owner should contact PayPal's general customer support or an account manager (note: not technical support) to discuss the business need for the feature.
Once approved for the "reference transactions" feature on a live business account, PayPal can guide you on which API to best integrate to make use of this. Something like v2 or v3 vault and that API's payment tokens are a possibility that sounds exactly what you are describing, though there are other (older/legacy) APIs that use something called a "billing agreement" as what's effectively a token as well.
I'm using PayPal-PHP-SDK for billing agreement api. I want to add new new card to existing billing agreement.
https://developer.paypal.com/docs/api/payments.billing-agreements/v1/
I've check docs and SDK there is not any proper way to update the card in billing agreement.
Your suggestion would be greatly appreciated
The PayPal-PHP-SDK is deprecated and not compatible with the current version of PayPal Subscriptions, which do not use a billing agreement for anything. There is no server-side SDK for the current Subscriptions API, so any calls need to be done yourself with HTTPS.
Regardless, payers can update their payment methods and change to a different or new card via login to https://www.paypal.com , Profile, My Money, My Preapproved Payments
Recently I visited Paypal Rest API page https://developer.paypal.com/docs/integration/direct/payments/. I noticed an IMPORTANT message there please find below screenshot:
If this API now restrict to process Card Payment then Is Billing Plan and Agreement API (for Recurring/Subscription Payment) also restrict Card payment?
Please help me
The ability to process direct credit card transactions via PayPal REST API for new integrations has been restricted. That means that the "payment_method":"credit_card" option is no longer allowed to be use with any new REST API integrations, including for the Billing Plan and Billing Agreement API's.
We apologize for any inconvenience.
It is my intention to integrate payment processing/subscription billing plans into a site using PHP and Javascript. I'd like to use PayPal to process credit/debit and PayPal charges. I read an article that said (Paraphrasing)
Normally you have to forward users to PayPal where they input their
billing information. PayPal Payments Pro allows you to process billing
info directly from your site.
I've also seen information to the contrary. This answer for instance. Also, the PayPal API docs don't say anything about needing Payments Pro to process a card directly from my site. Here you can see a card being processed without sending the user to PayPal under "Create billing agreement (credit card)."
I have a PayPal business account. I was able to generate a PayPal API Signature (API creds). Can I use the code shown in that quick start to process payment methods without applying for Payments Pro? I'm not talking about IPN. I know that anyone can use that.
Is there anyway to do the following using the Paypal APIs in PHP? I can't seem to find exactly what I need.
We are a merchant - we have several businesses who list their goods on our website.
Customers will need to pay for these goods using a credit/debit card. We don't want to force Paypal use/registration - in fact, we don't really want the customer to interact with Paypal at all.
We'd like to create a payment form where they enter their credit card details - we would then use the API to pay this directly to the business' Paypal account using their email address.
Using the REST API I've been able to do this to an extent - the only problem with this is that it doesn't seem dynamic i.e. I can't set the Payee email address to receive the payment - it's linked to my account via the ClientID and ClientSecret. Obviously this is not what I need - I want to pay into the account of the owner of the goods, not mine.
I've seen 'Guest Payments' mentioned but that seems to require the user being redirected to Paypal - something I'd rather avoid.
Thanks in advance.
I don't think the REST API is quite ready for what you're doing. The Classic API will handle it with no problem, though.
If you don't want any interaction with PayPal at all then you'll need to use Payments Pro, which allows you to tie credit card payments directly into your own forms via HTTP request/response with PayPal (no redirect or iframe).
Each business would need to be signed up with their own Payments Pro account, and then they would Grant API Permissions through their PayPal account profile for your app to make API calls on their behalf. Once they've done that, you just pass their email address or PayPal merchant ID into the SUBJECT parameter of API requests and it will use their account accordingly even though you're still using your own API credentials.
The Permissions API allows you to automate this and tie the grant permissions step directly into your app so business owners can do that quickly and easily from within their profile or during signup with your site. This works with auth tokens, though, as opposed to email addresses and merchant ID's.