Simple:Press Documentation

Troubleshooting IPN Issues With Paypal

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 PAYPAL that figures out when an order needs to be re-billed, does the rebilling 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:

  • Recurring subscription orders NOT showing up in the orders list.
  • Emails about failed payments NOT being sent to your members.
  • Cancellations at PayPal NOT canceling memberships in Simple:Press.
  • PayPal Standard checkouts NOT updating a user’s membership after payment clears in PayPal.

If you see these kinds of strange behavior in your system, below are some troubleshooting tips that should help you resolve the issue.


Troubleshooting Tips

Make sure that IPN is turned on

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.

Make sure that the IPN URL is not being cached

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

Verify that your host is not blocking paypal from accessing the url

You might need to have chat with your host technical support to verify that they are allowing paypal to access the IPN url.

Did you switch your site’s domain?

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.

Did you import subscriptions from another plugin?

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.

Is your business email address set correctly?

The email address in the Simple:Press Member Subscriptions admin area must match the one in your Paypal account!

View the Paypal IPN History Log

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.

Get Notified About Every IPN Call

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', '[email protected]');