Paypal Express, Paypal Standard and Paypal Website Payments Pro all use a mechanism called “IPN” to communicate its actions back to your website (and to our plugins). IPN is an acronym for “Instant Payment Notification”.
IPN is critical for handling recurring orders. This is because it is the way that PAYPAL figures out when an order needs to be re-billed, does the re-billing and then notifies your website about the rebilling action. It also notifies your website about order cancellations and other similar actions.
In order for IPN to work, the plugin creates a special URL that is handed to Paypal with every order. Whenever something happens to that order – a re-bill, cancellation, credit card expiration etc – a notification is sent to the special URL.
Our plugin sees that notification, examines the payload from Paypal and updates the membership system as required.
So, if Paypal is not able to send its IPN notifications to that URL or if that URL is not working for some reason (eg: caching), you might find strange behavior such as the following:
If you see these kinds of strange behavior in your system, below are some troubleshooting tips that should help you resolve the issue.
The easiest way to do this is to contact Paypal and have them verify that the IPN service is turned on. By default it should be – but if you’ve been using the Paypal account for a while it might have been turned off for some reason. So best to verify this before moving on to other troubleshooting steps.
Many sites use caching plugins. Its important that the IPN URL is not cached. The URL is something like this:
https://yourdomain.com/wp-admin/admin-ajax.php?action=ipnhandler
You might need to have chat with your host technical support to verify that they are allowing paypal to access the IPN url.
If you did then any old orders sent to Paypal will have the old IPN URL and not your new domain. This will cause any IPN calls to fail.
If you did, then chances are that the old plugin’s IPN url is what Paypal is trying to reference. This will also cause any IPN calls to fail for those imported subscriptions.
The email address in the Simple:Press Member Subscriptions admin area must match the one in your Paypal account!
Paypal maintains a history of IPN calls along with the results of those calls. Reviewing that history can provide clues as to why the calls might not be working properly.
Learn how to view the IPN log.
You can get an email notification about every IPN call to your website. You can do this by adding the following line into your wp-config.php file.
define('SPMS_IPN_DEBUG', true);
An email will be sent to the admin email address every time Paypal sends and IPN message to your site.
You can change the email address that will receive those messages:
define('SPMS_IPN_DEBUG', 'newemailaddress@yourdomain.com');