OpenCart PayPal Standard Error after March 31st 2017 Update
PayPal did an update on 31/03/2017 that has broken a lot of checkouts with customers seeing a message like:
"Things don't appear to be working at the moment. Please try again later."
Apparently PayPal sent round an email about this a couple of months before the update was due, but despite this applying to me, I didn't receive one and many of our clients didn't receive one. After discussing with PayPal by phone, they did send me the email and here it is below:
Most integrations work with this new PayPal checkout automatically. However, some integrations have issues that cause the user experience to fail. Some of the most common reasons for failed validation checks are:
- Passing currency symbols ("$", "£", etc.) or values other than integers (1, 2, 3, etc.) and decimal points (“.”) in the amount field. For example, "1234.50" is correct, but "$1,234.50" isn't allowed.
- Passing country code values greater than two letters. For example, "FR" is correct, but "France" or "fr_FR" isn't allowed.
- Passing more than 127 characters in the item number field. For example, don't use the item_number field for "Note to Buyer" information.
- Passing more than 64 characters in the option fields (on0, on1, etc.).
- Passing duplicate empty parameters.
- Passing address_override=1 without passing an address.
Solution
This error may be occurring only for certain transactions. If you have many items for sale, only some of them may exceed character limitations or pass invalid values as part of the transactions. You may need to test all available options to identify which ones lead to an error message. Once you find the affected transactions, review the HTML Variables for PayPal Payments Standard to troubleshoot your integration.
- The original author or web developer who created your page with PayPal checkout buttons may be the best person to investigate and resolve these problems. Please contact them if they're available.
- If you use third-party shopping cart software, such as a hosted shopping cart or software that you installed on your web server, the developer of that software may need to correct a problem in their code. Contact your cart provider directly and have them review this guide.
- For websites that use static HTML, examine your HTML directly to see if there are problems in the values being directed to PayPal. For example, in the following code, the value of the amount field is "$1,000.00," which contains invalid "," and "$" symbols. It should be updated to "1000.00."
- For more complex websites, such as those that use JavaScript or server-side software before redirecting the customer to PayPal, you may need to log the variables sent to PayPal. You can do this in your own code, or you can try using a browser tool, such as Google Chrome. Here’s how:
- Go to Developer Tools > Network, clear the log, and enable the Preserve Log option.
- Click a page action that would redirect a customer from your site to PayPal.com. If this opens a second window, you may need to enable Preserve Log in that window and then go back and redo the same page action in the original window.
- Once you have a list of events, look for the first event named webscr, select it, then check the section titled Form Data.
Note: For more help resolving this issue, visit our Merchant Integration Technical Support Community.
As an example, on one of our client sites, one of the issues was option values were longer than the 64 charactes described above.
Are you having the same issue? Do you know of an update to the gateway for older versions of OpenCart that might help some users? Please comment below!
blog comments powered by Disqus