PayPal Acks Results and Error Codes - References - paypal

I'm trying to do some documentation and testing for several PayPal implementations and I'm having trouble tracking down the reference material for the various API responses.
1) For Express checkout What are the possible Ack values (I think Success, Successwithwarning, Failure)
2) For Express Checkout what are all the Error codes
3) For Express Checkout USING PAYFLOW what are all the result codes
4) For Payflow advanced and pro the Results are in the Payflow Getway Developer Guide and Reference (https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/payflowgateway_guide.pdf)

1) Check out the NVP overview, specifically the Common Response Fields, which shows the following possible values:
Success
SuccessWithWarning
Failure
FailureWithWarning
2) Check the API Error and Warning Codes documentation any time you need more details about a specific error code.
3) Check the PayFlow Express Checkout documentation. Search for "Search Responses" and it'll take you to Page 45 where it lists the result codes.
4) Not sure I see a question here..??

Related

Paypal Array returning success message but payment not getting process i am using laravel and express-checkout

PayPal retuning me the success array but the payment not getting ** processed** please help me.
enter image description here
Why are you using the classic express checkout API? That is almost 20 years old. You should be using the v2/checkout/orders API, with the Checkout-PHP-SDK or similar. See the information and links for a server integration within Set up standard payments.
The problem with your "payment not getting processed" is that no payment has been executed or captured. After payer approval, it is required to execute a DoExpressCheckoutPayment API call (classic API) -- or similarly with the current API, an orders capture API call.

PayFlow Pro error -104 "Unexpected transaction state"

I develop for a credit card processing application that works with PayFlow Pro (among other processors). One of our customers is seeing a "Unexpected transaction state" result when submitting an authorization to PayFlow Pro.
I've found the result listed in the developer docs here, but it does not provide any information as to the cause or how to fix it. Is there anywhere that I can find more information on this issue? PayPal doesn't seem to provide a way to contact them directly regarding development questions, and just points me here.
According to PayFlowPro guide there is a communication result value with this error code (-104). Check the firewall status in the user computer, is the most common issue.
It turns out the customer had entered the wrong URL for the PayflowPro gateway. It should be "https://pilot-payflowpro.paypal.com" not "https://pilot-payflowlink.paypal.com".

Which paypal solution to use?

I just noticed that paypal now has a number of solutions to accept payment, and per this own page, it doesn't really compare their difference in a nice way:
https://developer.paypal.com/docs/accept-payments/
Does anyone happen to know (I am using C#/.net, but JS is also OK), if I want to have a customized checkout, in which I can customize the look and feel, and allow customers to enter/select shipping address (which is saved in the site's own database), which paypal method I should use?
Thanks! (also if any document that explain better the differences of the above different ways of accept payment, it would be great!)
If you want to completely customize everything then the PayPal Payments Pro Payflow Edition is a viable solution.
Here is the link to Sample Code C# is one of the programming languages offered in the Sample Payflow Code.
You will need to build your form/shopping cart and then the Sample Code can be used to make the payment request to process the payments. The Entire Transaction will take place place on your website from start to finish.
If you want PayPal to handle the payment portion with a customer leaving your site to use PayPal as the Payment method and then returning to your site to complete the payment, Express Checkout is the other option that will work.
You can make an API call to PayPal to get the Shipping information from PayPal and then store the shipping info in your own database.
Here is the Express Checkout Sample Code

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.

Check if PayPal API/Service is available/up

I am integrating PayPal into a Java payment service and was wondering if there is easy way to tell if PayPal API is up and running. I checked the documentation and found the error code 10101 - This API Temporarily Unavailable but couldn't find a method that should be used to poll the service. The idea is if the API is down I won't show PayPal as available payment option. The actual integration is Express checkout.
It's very, very rare that Paypal live APIs go down (in 2009 PayPal was doing $3,000 per second in transactions so a downtime costs them LOTS of money). I don't know that I would make an API call just to see if it's down. Just handle the errors when they happen.