You should not set the IPN URL in your PayPal settings when using Paid Memberships Pro with any of the various PayPal gateways. This is a change from our previous recommendations, so continue reading to better understand why you do not need to set an IPN URL in your PayPal settings.


Paid Memberships Pro includes the “notification URL” via the API.

We include your site’s “notification URL” through the various APIs when creating payments and subscriptions. PayPal uses this URL when sending back IPN data, and PMPro acts on those notifications (as long as there aren’t other issues with PayPal accessing the IPN – some troubleshooting tips here).

If you also set an IPN URL in the PayPal settings, PayPal will not use this URL for PMPro payments and subscriptions. It will however send IPN notices for other PayPal transactions (other software using the API or invoices and payments you are otherwise creating in PayPal) and PMPro will discard those notices. Having these other transactions sent to the PMPro IPN handler is okay in most cases, but can sometimes cause issues that it’s best to avoid.

So again, we are updating our recommendation. You do not need to set the IPN URL in your PayPal settings for PMPro to properly receive IPN messages.


How Do I Check If I Have an IPN URL Set, And How Can I Disable It?

To check if you have an IPN URL set in PayPal and disable it, follow the steps below.

  1. Log in to www.paypal.com.
  2. Go to Profiles –> My Selling Tools, and click on “Update” next to the IPN Settings.
  3. Click “edit” and then check to disable the IPN URL  (unless you have it pointing somewhere else for other software).
  4. Click “save”.
  5. Do NOT click on the “turn off IPN” button.

PayPal’s wording makes this confusing, but you want to “disable” the IPN URL.

paypal_ipn_disable_ipn

… but you don’t want to turn off the IPN notifications.

paypal_ipn_turn_off_ipn

 

If you aren’t having issues with PayPal or IPN and have this set, feel free to keep it set. If it ain’t broke, don’t fix it.

On the other hand, if you have the IPN disabled and messages in your IPN History have the status “Disabled”, then it seems PayPal deactivated the notifications we setup via the API. I’m not aware of a way to have these set back up and enabling the IPN will likely get those messages sent again. Double check the IPN URL to make sure it points to the URL on the PMPro payment settings page.

If you are using another gateway (Stripe, Braintree, Authorize.net) you will still want to setup their web hooks and silent post URLs. Consult the documentation on the websites of those gateways.

If you are still having IPN issues, this may be due to something with your hosting or WP setup or a bug in our code. We have some IPN troubleshooting tips here. And if you make a post in our member forums, we can follow up with you to get it resolved.

Thanks!

 


I would like to know between free and paid difference. Some source prefer to use free version and keep stick for simple membership purpose because it’s worth and suit to startup. But I have simple website to provide sports betting picks on different membership plugin than yours but I don’t know what plugin they use on their platform.

Please let me know your thought

I am having IPN issues and I tried this, but PayPal doesn’t allow me to clear out the url field. They want me to put a vaild url in the field. Any suggestions?

Thanks,
Brian

Hi again Jason. I already had a PayPal IPN set up for aweber because of an item I have available for purchase on my site that is not connected to the paid memberships, which added the email addresses to a special list for those folks who purchased that item. I did add the AWeber/PMP integration plugin, which seemed to cause some problems (which I’m still in the middle of sorting out), but I wondered how you would recommend I go about this so that I’m collecting email addresses of my paid subscribers on one aWeber mailing list, and purchasers of a separate product to another… I suppose I could NOT use the AWeber/PMP app/plug in but by the sounds of it any kind of PayPal IPN is NOT a good idea with PMP? Please advise as soon as possible! I’m still on a time crunch here, so thanks in advance.

Hi Jason, i’m trying to enable ipn on my account, but i could only find the “Edit Instant Payment Notification (IPN) settings” page, where i have a blank url and “Do not receive IPN messages (Disabled)” checked;
i can’t find the other page to enable ipn, can you help please?

I believe you can put any URL in there (maybe just the main site URL) and then leave the “Do not receive IPN messages (Disabled)” option checked) and click save. If you lave the URL blank, it won’t let you turn IPN. This way you should get the magic setup of IPN turned on but disabled. 🙂

in the plugin settings there is:
“To fully integrate with PayPal, be sure to set your IPN Handler URL to: ” and my url, i just don’t mind this?

Hi Jason, thanks for reply, on my paypal account i activated ipn with the IPN Handler URL of wordpress, and after that i checked “Do not receive IPN messages (Disabled)” option. Is this the right way of setting it up?couse members are not created after payment. Sandbox account worked like a charm

last question, if i visit “my_url/wp-admin/admin-ajax.php?action=ipnhandler” the timestamp at the beginning is updating on every page load but i get this too ” FP! VERIFIED ERROR: receiver_email (N/A) and business email (N/A) did not match” is it some kind of problem?

thanks for your help

That’s normal behavior for visiting the URL directly. The timestamp should update every visit (showing you you’re not getting a cached version) but you’ll get that error RE verification because you’re not sending the data that PayPal sends. PayPal will also send info about the transaction, including the receiver email, and if it all matches, it will process the request. If you see the “receiver_email (N/A) and business email (N/A) did not match” in your IPN reports emailed to you which have other PayPal info in them, then you might have a problem.

We have recurring payments setup via Paypal and I just started getting emails from Paypal:

“Please check your server that handles PayPal Instant Payment Notification (IPN) messages. Messages sent to the following URL(s) are not being received:

http://www.mysite.com/wp-admin/admin-ajax.php?action=ipnhandler

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.

Once you or your service provider fix this problem, you or your service provider can resend the failed messages from the IPN History page. If this problem continues, PayPal may disable the IPN feature for your account.”

This has come up a few times. It’s really odd. The most likely candidate seems to be hosts that are somehow blocking access from specific IP addresses (like PayPals) from the site. So maybe check with your host.

Also, if you go into PayPal, you can find the “IPN History” report (see https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNOperations/) which will give you more details on these errors. If you post this information into a post on our member forums, we can help you to figure it out.

Any reason why I would be getting the following error when attempting to hit the ipnhandler url?

Problem with the SSL CA cert (path? access rights?)

Everything else seems to work fine. If I use paypal standard everything works it’s only when using the paypal express setting

Does your SSL certificate work otherwise on the site? Can you have your host double check that it is installed correctly. (There is a step where a CA certificate sometimes needs to be installed.)

Otherwise, I can’t really tell what is going on from here. I would first make sure that the SSL cert is working in general. From there we might be able to help you in the member forums if you are still having trouble. We can get info from you to take a look at the site.

Hi Jason,
Quick question, I’m setting up PMPro to manage the membership for a local non-profit. They have existing recurring subscriptions on Paypal. I’ve already imported the members into WordPress/PMPro. For those members that have existing recurring payments established in PayPal I’m wondering the following: If I do a second import to overlay/add the membership_payment_transaction_id and membership_subscription_transaction_id to those members with existing PayPal subscriptions, will the PayPal IPN report future payments for those members to PMPro, and PMPro subsequently update the member’s records? Or do I need to somehow tell PayPal to start reporting those member’s subscriptions to the PMPro installation? Thanks!

I think you guys (Colemans) know the answer to a question I have regarding Paypa’s IPN feature and one URL overshadowing another. Here it is:

First, is this true and accurate? If “Message delivery is Disabled”, then IPN messages will only get sent for payments which specifically request that they be sent, as ALL PMPro charges do, and recurring payments will be notified via IPN through the URL registered by the charge when the subscription was set up.

If I’m wrong about the above, please clarify.

If I’m right, then is this also true? If “Message Delivery is NOT Disabled”, then IPNs will still be sent to the URL specified, but only in initial payments, but recurring payments will be reported to the URL specified in the Paypal settings.

If you confirm my conclusion, then we here at The Dollar vigilante will be happy, as that explains everything. If I’m wrong, then perhaps you can help explain why some IPNs, as reported by Paypal’s history page, go to our WP site, and some go to a URL at Zapier.com (which we set up thinking it would help us track stuff).

Thanks!

Hi XBT, They never replied. I suspect Paypal is not very tolerant of or responsive to the kind of testing required to really nail down the answers. Anyway, someone else has taken over that work for me, so I didn’t and won’t follow up much.

This may help.

I have experienced my own trouble with PayPal and IPN.

Here are my notes:

Golden Rule: Use a sandbox account to test.

1. I found no need to set any url in PayPal to have it work with PMPro because the url is hard coded into the plugin.
2. this was also true for my recurring payments, I do NOT have a url set in PayPal.
3. PalPal took 10+ hours to update my initial payments, but the recurring payments processed faster (weird right?)
4. PayPal is slow, and you should wait a couple days before deciding if your changes worked…I wasted time on wrong assumptions simply because I wasn’t patient enough with PayPal.
5. I used PayPal Express as this is the best PayPal option for future proofing your site.
6. I switched to Stripe, and wow brother what a difference!
7. Reading PayPal IPN documentation has been known to cause migraines.
8. the IPN url in PayPal can be used to send to only 1 url (only 1 IPN handler)…that’s probably why the best plugins hard code their IPN into the plugin code. Try deleting the IPN url setting in PayPal and seeing what happens over the next 2 or 3 days. Be patient.

Look into Stripe if you haven’t yet. They have some big momentum and seems to me they might crush PayPal sooner than later. Does Zapier.com tell you to use an IPN url? If so, I’d use that in the PayPal settings asking for the url. PMPro communication with IPN is all handled in the code… In any case, I’d recommend you give 48 hours between changes minimum to trouble shoot your installation. Good luck!

Thanks a lot for detailed experience.

So I enabled the IPN and deleted IPN handler URL, but since PayPal needs a valid URL anyways, I just left http://www.mywebsite.com in it. However when I go to IPN History, I see that Status of notifications as Disabled. Is it normal?

You wrote “If you also set an IPN URL in the PayPal settings” but that isn’t clear. The next sentence assumes that said IPN URL is for PMPro, but it needn’t be, and if it isn’t, then it causes no problems with PMPro because only payments that PMPro did NOT initiate will be notified at that URL. It’s actually ideal to get notice of any NON-PMPro payment. If I understand correctly. Just thought this clarification might be useful.

After weeks of being unable to determine why Paypal wasn’t hitting the IPN URL, I went into the Paypal account, enabled IPN and put in the IPN URL, and it WORKED!! This is for Paypal Standard, one-time payment.

Seems that now Paypal will not SAVE the IPN setting unless there is something IN the URL field. Try it, can not save the setting with an “empty” field.
If I select: TURN ON IPN
and then: “Do not receive IPN messages (Disabled)”

We get this error:
“You must enter a properly formatted URL into the Notification URL field in order to activate Instant Payment Notification.”

And IPN remains OFF.

Leave a Reply

Your email address will not be published. Required fields are marked *