Everything worked before the TLS 1.2 sandbox update.
But I've confirmed that my server is using TLS 1.2. PayPal's TLS test is successful. And my IPN script can correctly receive PayPal's handshake and data.
But when sending the postback data, it always gets invalid, with no other error message. This is in the sandbox using the IPN simulator.
Using the exact same code as PayPal's example IPN listener for PHP.
I've tried all the IPN troubleshooting I could find, including:
- Set purchase date to NULL
- Set curl_setopt($ch, CURLOPT_SSLVERSION, 6);
- Set IPN data to UTF-8 in paypal's settings
- Sending postback to https://ipnpb.sandbox.paypal.com/cgi-bin/webscr
- Sending data with cmd=_notify-validate and file_get_contents('php://input')
Any ideas?