With no changes on our side and perhaps related to POODLE/SSL3 our PayPal API call to PPIPNMessage::validate is now failing with.
SSL routines:SSL3_READ_BYTE
I have same error while check IPN with PayPal. Here is the solutions of issue
I was worked with PHP 5.3 and PHP 5.3 is no longer support for SSL version 3. I have upgrade with PHP version with 5.4 and added below line of code. It's work for me.
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_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
#curl_setopt($ch, CURLOPT_SSLVERSION, 4);
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
I second that. Lost hours trying to figure it out. On my IPN listener I had to remove 'force ssl v3'. From that moment on my IPN start working again.
Just do a curl -v https://paypal.com
It shows: SSL connection using TLS_RSA_WITH_AES_256_CBC_SHA