2016-01-22 5 views
7

Hallo ich benutze Paypal PHP SDK, um mit Paypal Api zu kommunizieren.Paypal ssl handshake faliure

2 Tage vor jeder Sache funktionierte gut. Aber jetzt bekomme ich diesen Fehler auf meinen Entwicklungsservern.

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

ich folgende ROTATION Optionen bin mit während anfordernden:

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', 
); 

Dieses Problem tritt nur auf Live-Modus unter Verwendung von Sandbox-Modus auftretenden alles funktioniert einwandfrei.

Jeder Körper weiß, warum das passiert?

Vielen Dank

+0

Möglicherweise können diese Links Ihnen helfen .... http: //stackoverflow.com/questions/26385603/facebook-sdk-for-php-error-curlexception-35-error14094410ssl-routinessl3 2..http: // stackoverflow.com/questions/26379773/paypal-ipn-acknowledgements-failing-with-ssl-routinessl3-read-bytessslv3-aler –

Antwort

3

Ich habe den gleichen Fehler erlebt. Es ist aufgrund der jüngsten Updates, die PayPal gemacht haben:

curl_setopt($ch, CURLOPT_SSLVERSION , 1);

oder

CURLOPT_SSL_SSLVERSION => 1

EDIT: Komplette Arbeits https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ1766

Sie es, indem Sie diesen in Ihre ROTATION Optionen beheben Einstellungen

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); 
+0

Hallo, Vielen Dank für Ihre Antwort, aber ich habe es bereits versucht. Ich denke, nach dem Link, den Sie gegeben haben, muss ich meinen Server aktualisieren. –

+0

Ich bin nicht sicher, dass Sie, versuchen Sie, dies zu entfernen: CURLOPT_SSL_CIPHER_LIST => 'TLSv1' und CURLOPT_SSL_SSLVERSION => 1 hinzufügen –