This week I spent a couple of hours figuring out why I was receiving the following notifcation from PayPal via e-mail:
Please check your server that handles PayPal Instant Payment Notifications (IPN). IPNs sent to the following URL(s) are failing:
If you do not recognize this URL, you may be using a service provider that is using IPN on your behalf. Please contact your service provider with the above information. If this problem continues, IPNs may be disabled for your account.
The solution was quite simple
Apparently, WooCommerce has a bug that allows you to set permalinks for products to: “/%product_cat%”. Basically, this breaks the WooCommerce API page in which it receives notifications from PayPal. It basically creates a 404 error, page not found. To fix it, is easy. Just include a bit of text before this tag: “products/%product_cat%”. Then the page will work again. You can also write some custom code to redirect WP to your product pages properly using the Rewrite API/add rewrite rule.
I did come across another suggestion.
You can check the Language Encoding for PayPal buttons (Profile and Settings > Selling Tools > PayPal button language encoding > More Options.
You then need to check the characters being sent to PayPal with yours and if it matches it should work.
Neither of these solutions work?
Make sure your running SSL 🙂
Find the error log to check what is going on
If this is not the problem then you can check your error log to see what is being communicated with PayPal. Usually you can find the error log:
- in your server’s root folder, called
public_htmlor similar folder, called
var/logsor similar, called
- additionally, if you have debugging enabled in WordPress and you have it saved to a file, it will be in the
wp-contentfolder, and called
- If you are having trouble finding the file then insert the following code into your template somewhere:
<?php phpinfo(); ?>and search the page for the