Jump to content

[Paypal] Send with CURL method failed ! Error: SSL connection timeout


Recommended Posts

Bonjour à tous,

 

 

Nous rencontrons un problème avec paypal depuis l'activation du module eBay.

 

Infos boutique :

Prestashop v1.4.4.1

Paypal v2.8.5

 

Info serveur :

OS : Debian

Curl : installé

OpenSSL : installé

 

 

curl

cURL support enabled

cURL Information 7.25.0

Age 3

 

Features

AsynchDNS No

Debug Yes

GSS-Negotiate Yes

IDN Yes

IPv6 Yes

Largefile Yes

NTLM Yes

SPNEGO No

SSL Yes

SSPI No

krb4 No

libz Yes

CharConv No

Protocols dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, pop3s, rtmp, rtsp, scp, sftp, smtp, smtps, telnet, tftp

Host x86_64-pc-linux-gnu

SSL Version OpenSSL/1.0.1

ZLib Version 1.2.6

libSSH Version libssh2/1.4.0

 

 

 

Règles IPtables

 

iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT

 

Erreur Prestashop

 

L'AUTORISATION À PAYPAL A ÉCHOUÉ

 

Merci de vous reférer aux logs :

 

Making new connection to 'api-3t.paypal.com/nvp'

Connect with CURL method successful

Sending this params:

METHOD=SetExpressCheckout&VERSION=60.0&PWD*********************************************

Send with CURL method failed ! Error: SSL connection timeout

Connect failed with fsockopen method

PayPal response:

0 ->

->

PayPal a retourné une erreur

 

Qu'en pensez-vous ?

Merci d'avance

Link to comment
Share on other sites

Je m'auto réponds afin de passer le sujet en résolu.

 

Le problème se pose sur les systèmes debian/ubuntu utilisant la dernière version du paquet OpenSSL en v1.0.1 au niveau de l'échange des certificats.

 

Il faut donc soit ne pas utiliser cette version du paquet soit préciser aux methodes curl/fsockopen de passer la demande de connexion en SSL v3.

 

Pour se faire, il faut aller éditer le fichier paypalconnect.php du repertoire `/modules/paypal/api` :

 

Dans la méthode _connectByCURL($url, $body) ajouter : @curl_setopt($ch, CURLOPT_SSLVERSION, 3); (en dessous de @curl_setopt($ch, CURLOPT_URL, 'https://'.$url); par exemple)

 

Dans le méthode _connectByFSOCK($host, $script, $body) modifier la ligne $fp = @fsockopen('ssl://'.$host, 443, $errno, $errstr, 4); en $fp = @fsockopen('sslv3://'.$host, 443, $errno, $errstr, 4);

 

 

Et tout fonctionnera pour le mieux.

Le rapport d'erreur (ubuntu) est disponible à cette adresse : https://bugs.launchp...ssl/+bug/966980

 

Patch disponible sur le tracker prestashop : http://forge.prestashop.com/browse/PNM-129

Link to comment
Share on other sites

  • 1 month later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...