Having some issues with the PayPal sandbox and the PHP SDK, which had been working fine up until now (or at least the past 2 or 3 days). I'm contacting the sandbox via the SDK (which is using cURL).
error:140740BF:SSL routines:SSL23_CLIENT_HELLO:no protocols available
As I understand it, PayPal just recently (Jan 19-20th 2016) updated their sandbox to only accept TLS 1.2 (in preparation for the same change to their production enviroment scheduled several months down the road).
I'm on Ubuntu 12.04, and here's what I've tried
- Upgrading openssl to the latest version available
- Upgrading PayPal PHP SDK version
- Upgrading cURL version (was 7.22, built 7.46 from source and confirmed PHP is using that version by checking "curl_version();" output.
- changing to the following PayPal SSL config values
CURLOPT_SSLVERSION => 6
CURLOPT_SSL_CIPHER_LIST => 'TLSv1'
Previously CURLOPT_SSLVERSION was set to "3" (old, deprecated SSL v3). I was getting this message:
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
After updating CURLOPT_SSLVERSION to "6" (TLS 1.2), I get the error I first mentioned ("no protocols available").
I've done hours of extensive Google searching on this today, and haven't been able to make any progress. I'm not sure if this is an issue on PayPal's side of things or on mine. If anyone has any ideas that might be able to point me in the right direction, that would be wonderful.
Thanks