PayPal REST API equivalent of GetExpressCheckoutDetails - paypal

As far as I can tell, this doesn't exist yet, but I was wondering if anyone knew if there was an equivalent of the PayPal Payments Pro NVP call "GetExpressCheckoutDetails" in the new PayPal REST API.
The REST API documentation lists information on authorizing the sale and the redirect contains the token that would be used in Payments Pro but there's no docs on how to retrieve the Billing/Shipping info prior to executing the sale (after which I assume you can retrieve that information through the "Look up a payment resource" call of payments/payment/{id}
Tangential question in case PayPal official response comes in: Is recurring payment support coming to the REST API soon or will it be exclusive to PayPal Payments Pro?

You can look up a payment resource even before you execute it. However, we have a bug in the API that doesn't currently return the shipping information.

Related

How do I get PayPal missing error codes in PayPal Manager?

PayPal Guest check out denying payments but not returning error codes to PayPal Manager. How how do I get data for denied transaction attempts moving forward? We need to track the code PayPal sends us when they reject a credit card. We are using PayPal Adaptive Payments API on a .NET platform.
manager.paypal.com will only show codes returned by the Payflow API (payflowpro.paypal.com) and the Payflow Link web application (payflowlink.paypal.com)
Adaptive Payments uses the endpoint svcs.paypal.com , and its API responses and web declines are not reported or tracked anywhere , much less in manager.paypal.com which is a separate system
If you are indeed using Adaptive Payments, you need to log your own API call responses.

Paypal REST API - Billing agreement

Using Paypal Classic API Billing agreement can be created. Agreement Id can be used for future payment using Paypal reference transaction.
Can this same functionality achieved using Paypal REST API? If yes please help me providing reference. I'm aware Billing Plan and Billing agreement can be created using Paypal REST API but without Billing Plan billing agreement can't be created.
Regards,
"Billing agreement" in RESTful APIs is specificly for Recurring Payments, and that might have misled you.
The terms are slightly different between Classic APIs and the RESTful APIs, and Reference Transactions is pretty equivalent to what is called "future payments" in RESTful APIs.
Technical specs are listed HERE, pls be noted that as of now, future payment has to work with mobile integration on top of PayPal MSDK (to obtain user consent and auth code)
Now this feature is available in REST APIs also. But please note this is a vetted product from PayPal. Not every merchant will be approved to use the Pre-Approved payments . Docs are available - But as a limited release
Docs for PayPal Reference transaction API. Also called as pre-approved payments

Website Payment Pro Hosted Page Solution

I need to implement Website Payment Pro hosted page solution for my UK client.
After the discussion with the PayPal team and looking through the tech guide I did the following:
Call BMCreateButton API (end point url -https://api-3t.sandbox.paypal.com/nvp) to get the EMAILLINK
Redirect user to EMAILINK(securepayments.sandbox.paypal.com/webapps/HostedSoleSolutionApp/webflow/sparta/hostedSoleSolutionProcess?hosted_button_id=HSSS-jsCeH.xi9R3Q........) for the PP hosted page
User completes the payment at the hosted page
After the payment completion user is redirected back to my confirmation page.
In the response I only see 'tx' (TransactionId) and CSCMATCH(=M).
There is no PNREF or other status param which tells me if payment is 'AUTHORIZED', 'DECLINE' , 'CANCELLED' or any error message'.
I am comparing this solution with the payflow gateway hosted page solution (which is not available in UK) wherein i receive enough of the response params to make proper decision at my end after receiving the response.
Please advise.
PayPal's Website Payments Pro has ways for you to get this information, but they look very different from the Payflow product.
(The Payflow product was built by a different company that was later acquired by PayPal, which is why the two products look entirely different.)
The "PayPal way" to get this information is to use IPNs to securely verify the payment information. Some PayPal products also support PDT (https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/paymentdatatransfer/), which is basically the same as IPN except that you post to PayPal to get the verification rather than waiting for PayPal to post to you.
See also this integration guide, specifically chapter 7 "order processing", which explains how to do this:
https://www.paypalobjects.com/webstatic/en_GB/developer/docs/pdf/hostedsolution_uk.pdf
The separate round-trip to PayPal is to prevent someone from constructing a false transaction ID (and status information) and posting to your return URL to try to convince you they made a payment when they had not in fact done so.

How can I cancel a PayPal Billing Agreement via an API call

I'm using PayPal NVP API to do reference transactions with express checkout. I create billing agreements and charge using the agreements in sandbox and in a production environment, however when I try to call BAUpdate (METHOD=BillingAgreementUpdate in the NVP API) I get the a response with error code 81002 and description
Method specified is not Supported
I can't find anywhere in PayPal's docs if this method is deprecated or if I need to send something else.
The proper call is BillAgreementUpdate (confusing, I know). That should let you cancel your billing agreement.

No shipping info with adaptive payments

I have been able to get a PayPal adaptive payments payment to work with a simple payment call.
But I want to get shipping details.
I have tried setting action type to create, then using the payKey returned sending a SetPaymentOptions call setting RequireShippingAddressSelection = True, then using the returned url from the payment call as before but still no shipping info.
I have seen others with this problem but without an answer.
Thanks
I have the same problem and here's what I got from PayPal Tech Support.
It is not possible for you to supply a shipping address as part of an
Adaptive Payments transaction. However, you can request that the
customer selects a shipping address from the addresses existing on
their PayPal account when they checkout using the embedded flow.
Details of the embedded flow are available here:
https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/integration-guide/APIntro/
(Search for Embedded Payments)
If you think this is an option you would also be required to implement
another API call, SetPaymentOptions, which would be sent after the Pay
API request. Within the SetPaymentOptions API request you would add
the parameter requireShippingAddressSelection. Details of the
SetPaymentOptions API are located here:
https://developer.paypal.com/webapps/developer/docs/classic/api/adaptive-payments/SetPaymentOptions_API_Operation/
If your application requires that you supply a custom shipping address
to PayPal at the time of payment then you will need to consider using
Express Checkout instead of Adaptive Payments.
Are you sure the shipping info isn't passing? I don't think it's anything you'll see during the checkout process, but it will show up in the transaction details of the payment in your PayPal account.
I spent hours researching this and it appears to be an API bug from 2011 (great job PayPal!).
Unfortunately, you have to request the shipping info from the user before redirecting them to PayPal.
Source link