New to the community? Welcome! Please read our Community Rules and Guidelines
I just posted a similar post in the REST API category by mistake so do apologise for posting a similar question here in the riteful category.
Up until just recently Aug. 30th paypal transactions were working fine on the website. We use a customised buy now button. I understand IPNs are received and posted back to Paypal following any transaction.
I can see in the server logs the previous IPN that worked fine both ways looked like this:
"POST /ipn.php HTTP/1.1" 200 3 "-" "PayPal IPN ( https://www.paypal.com/ipn )"
Payments still seem to go through OK to paypal and we receive transaction receipts but our backend functions are no longer triggering even though no changes have been made to the site. But the logs now show a different IPN as follows:
"POST /ipn.php HTTP/1.1" 200 407 "-" "PayPal IPN ( https://www.paypal.com/ipn )" //note the 407 as opposed to a 3
I spoke with my host and they suggested it may be a 'false-positive' triggered by the mod-security module and they white listed certain rules. But still the orders are not writing to database following payment and we are now seeing a different IPN in the server logs as follows:
"POST /ipn.php HTTP/1.1" 200 422 "-" "PayPal IPN ( https://www.paypal.com/ipn )"
There must be a link to the IPN messages as to why the backend functions have stopped working - even though on the surface - the transaction appears to working fine paypal's end. I don't understand why we previously posted back a '200' followed by a 3 which worked fine. And now suddenly we are posting back a 200 followed by a 407 or a 422 which does not work...can any one please help?
I don't have an answer for you, but I'm convinced something on PayPal's end changed within the last month or so (unless there was some major change to all webhosts). If you look around this forum, you'll see that many of us are experiencing the same issue with IPN. I haven't looked at my server logs like you. Maybe I'll do that today.
My IPN Listener always logs to the database when it's "hit" with a POST. The last successful log was Sept. 5. However, the IPN Simulator works, and I see those logs from the Listener. But anything from PayPal's production IPN does not even show up in my logs.
If you look at the WooCommerce forums, you'll see there's a lot of people there with issues, too. I'm using PrestaShop, so you can see that it spans different eCommerce suites.