Paypal IPN Verify Fails Without SSL in Sandbox
How to fix PayPal sandbox IPN verification failures by using HTTPS instead of HTTP.
I was testing a new module I am writing. It is designed to receive IPN (instant payment notification) postbacks from PayPal. And when the code receives an IPN postback, it in turn calls PayPal again and asks PayPal to verify that the given IPN is real and not fake. PayPal is supposed to look at the IPN data and reply with a string “VERIFIED”.
This was working until a few days back, and is not working anymore. After struggling with it for several hours, I found out that PayPal sandbox does not like my code to connect to it in non-SSL mode on port 80.
I had to replace the plain HTTP connection back to PayPal with HTTPS (SSL) connection on port 443, and everything started working again.