As of two weeks ago, the IPN listeners in two of our PayPal accounts suddenly stopped being accessed on both staging and production. "Please check your server that handles PayPal Instant Payment Notifications (IPN). IPNs sent to the following URL(s) are failing:" etc. The site is a Laravel app selling two products (thus the two checkouts/PP accounts), the postback URL is a route to a method that runs the validation and IPN listener. Logs indicate that the method isn't even being hit -- the very first line is a Log::info that is no longer firing. IPN is enabled, and the URL is correct. No firewalls, no filters. I have many log statements all over the place for troubleshooting, and none are firing when PayPal sends its payload back to the site. I'm NOT running this in Sandbox mode. One product is rarely bought, so I'm not going to take the risk of Sandbox introducing another issue. when i look at the IPN History page on PayPal, every entry has a status code of nothing. Not 200, not 4xx, not 5xx -- a blank space. PayPal says "if you see no server response, check to make sure the server is running." It's definitely running. BUT i can take the payload from any entry in that IPN History page, paste it into Postman, send it to the postback URL, and get a successful postback and correct post-processing, along with all my log statements firing. The site code hasn't been changed in 11 months, other than the log statements I've added in the past three days. (Git verifies this.) There's no evidence of breach or malware. The site operates perfectly otherwise -- just suddenly no IPN validation to kick off my post-sale processing. The server was built in 1/2021. Running PHP7.1. the app is a few years old but still working correctly except for this. What parts of my code or server config can I provide, that will help get me pointed in the right direction on what's happened here?
... View more