PayPal IPN (Instant Payment Notifications) works by sending messages directly between PayPal and your website. Using this channel of communication, your site can automatically be updated when transactions are completed.
Without IPN, your website has no way to know that payment has been made, and you’ll need to manually log in to PayPal and check before approving transactions on your website.
Note: A PayPal business account is required in order to enable IPN support (see instructions below). Any of our themes that utilize recurring payments also depend on IPN.
The following instructions are based on the PayPal Classic layout. If you’ve enabled the newer layout, the steps may be slightly different.
How to Enable IPN
- Log into your PayPal account
- Under My Account, click Profile > My Selling Tools
- Under the “Getting paid and managing my risk” section, you’ll see “Instant payment notifications”. Click the “Update” link to the right
- Click the “Choose IPN Settings” orange button
- Enter your website URL into “Instant Payment Notification Preferences” and select the “Receive IPN messages” radio button.
- Click “Save”. PayPal IPN is now enabled.
PayPal also has some screenshots on their install page which may help you as well.
How to Test Your IPN
PayPal provides an IPN simulator so you can test transactions to troubleshoot or even before opening you website for business.
- Visit the IPN simulator page
- Enter your IPN url in the “IPN handler URL” field
- Select “Web Accept” in the Transaction type drop-down
- A bunch of fields will automatically appear below. You can leave the default values
- Scroll down and click the “Send IPN” button
- This will send a transaction message to your website’s IPN listener
If all goes well, you’ll see the transaction in your wp-admin “Payments” log section. If not, there could be several reasons why. PayPal has assembled a list of common reasons.
Multiple IPN Listeners
Some customers are running several different AppThemes websites and need to setup multiple listeners. This may seem like a problem since PayPal only supports one IPN listener URL (as setup in the steps above), however it’s not.
PayPal allows us to dynamically set the IPN listener URL by passing a hidden field with each outbound transaction. Essentially, our themes (and most, if not all) Marketplace plugins have this already built-in so there’s no change required by you.
You can keep the IPN listener URL set the way it is in PayPal as the dynamic IPN listener URL takes priority. Basically the URL you set in PayPal is a fallback.
Upgrade to a Business Account
In order to use IPN, you need to upgrade to a free business account.
- Log in to your PayPal account
- On your Account overview page, click the “Upgrade” link next to “Account Type”
- On the next page, click “Upgrade now”
Like this tutorial? Subscribe and get the latest tutorials delivered straight to your inbox or feed reader.