Paypal ssl handshake faliure

Hi I am using Paypal PHP SDK to communicate with Paypal Api.

2 days before every thing was working fine. But now I am getting this error on my development servers.

error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

I am using the following CURL options while requesting:

public static $DEFAULT_CURL_OPTS = array(
    CURLOPT_SSLVERSION => 1,
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_TIMEOUT        => 60,   // maximum number of seconds to allow cURL functions to execute
    CURLOPT_USERAGENT      => 'PayPal-PHP-SDK',
    CURLOPT_HTTPHEADER     => array(),
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 1,
    CURLOPT_SSL_CIPHER_LIST => 'TLSv1',
);

This problem only occuring using SANDBOX mode on live mode every thing works fine.

Any body knows why this is happening?

Thank You


I've experienced the same error. It's due to recent updates that PayPal have made: https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ1766

You can fix it by adding this to your CURL options:

curl_setopt($ch, CURLOPT_SSLVERSION , 1);

or

CURLOPT_SSL_SSLVERSION => 1

EDIT: Complete working settings

curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
curl_setopt($ch, CURLOPT_SSLVERSION , 1);
链接地址: http://www.djcxy.com/p/31630.html

上一篇: 在DirectPipelineRunner上使用自定义的DataFlow无限源

下一篇: 贝宝ssl握手faliure