PayPal TLS 1.2

ATTENZIONE: Da fine gennaio 2016 la versione sandbox e dal 17 giugno 2016 30 giugno 2017 la versione di produzione consentiranno connessioni solo con TLS 1.2 e HTTP/1.1 per questioni di sicurezza. Questo vuol dire che i server sui quali sono ospitati i siti che utilizzano PayPal (e il plugin PayPal Pro Italia) hanno bisogno di una versione di OpenSSL che supporti TLS 1.2, quindi dalla versione 1.0.1c in su.

L’assenza della libreria OpenSSL con il supporto per TLS 1.2 comporta che alla ricezione delle notifiche IPN e PDT da parte di PayPal Pro (HSS) si ottenga un errore simile a questo (vedere il log):

02-10-2016 @ 18:33:46 - IPN Response: WP_Error Object
(
 [errors] => Array
  (
   [http_request_failed] => Array
    (
     [0] => error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
    )
  )
 [error_data] => Array
  (
  )
)

Tutto ciò si traduce nell’impossibilità di modificare lo stato dell’ordine.
Per questo motivo è importante che entro giugno 2016 2017 tutti i sistemi che utilizzano PayPal abbiano la OpenSSL aggiornata.

To check PHP, in a shell on your production system, run:

$ php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch));'

On success, PayPal_Connection_OK is printed.
On failure, bool(false) will be printed.
You can get the specific error with curl_error($ch):

php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'

Maggiori informazioni sul problema a questi link:

Per poter utilizzare il form dei commenti di Disqus è necessario accettare l'utilizzo dei cookie di terze parti.