For all Magento stores, Paypal is the most popular payment method between store owners and customers. However, there is a prevalent problem that a lot of Magento sites have been facing is the error “Unable to communicate with the PayPal gateway” when checking out by Paypal. This problem causes difficulties for customers to complete their checkout process and it can make customers leave their cart without checking out, and of course, this will increase abandoned cart rates for stores. Therefore, we need to find the best solutions for the error as soon as possible otherwise we have to put up with losses of revenue and customer satisfaction.
To solve this issue, you can follow these instructions as below:
1. Disable SSL verification
You go to the Magento backend, then choose rSystem-> Configuration-> Payment Methods and find PayPal Express Checkout
You click to “Configure” button, then expand “Advanced settings” section and you’ll see “Enable SSL verification” option that you need to disable. Let’s turn it to “No.”
2. In Sanbox mode
The reason is that Paypal has removed the support to protocol lower than tls 1.2 for their sandboxes. Therefore, you should update your curl and libcurl packages and specify the version in the Magento code: CURL_SSLVERSION_TLSv1_2 (6)
Firstly, you have to disable SSL verification
Secondly, you update the curl library from 7.19 to 7.40 (or later version) by running the following command from ssh:
curl -v -s https://api-3t.sandbox.paypal.com/nvp
Sometimes, if the server does not run (SSL error), you can follow this question in Stackoverflow.com to update curl library:
http://stackoverflow.com/questions/28495444/how-to-upgrade-php-curl-to-version-7-36-0
Besides, in case you don’t have the access permission to update curl, use this hotfix:
You open: app/code/core/Mage/Paypal/Model/Api/Nvp.php
In line 945, you make the change in the Paypal Nvp module instead of the libraries by finding:
try { $http = new Varien_Http_Adapter_Curl();
After that, you insert the following code snippet to this line:
$http->addOptions(array(CURLOPT_SSLVERSION => 6));
Finally, you have solved the “Unable to communicate with the PayPal gateway” error when checking out by Paypal in Magento” and your customers can checkout successfully without any obstacles.
If you are still confused about this tutorial, please contact us for more explanation and detailed instructions. We contain talented developer in Web development and Magento extensions which are always willing to support you.
References:
- http://stackoverflow.com/questions/35087951/paypal-sandbox-exception-unable-to-communicate-with-the-paypal-gateway-magento
- http://magento.stackexchange.com/questions/99411/m1-tls-1-2-paypal-express-nvp-curl-connection-error-35-ssl-connect-error