In this step-by-step tutorial you will find detailed instructions on how to fix PayPal Instant Payment Notification Warning:
If you have ever faced a PayPal Notification problem, for sure you have received the following message:
“Please check your server that handles PayPal Instant Payment Notification(IPN). IPNs sent to the following URL(s) are failing: http://yourstore.com/paypal/ipn/. 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.”
First you need to check what your current settings are.
Step 1:
In your PayPal Account, go to my account –> profile – my setting tools – instant payment notifications – update – choose IPN settings.
Step 2:
Paste the notification URL given and enable the option “* Recive IPN messages”.
If using the same merchant PayPal account on multiple stores:
Even though many IT specialists recommend to set up PayPal account for each stores, this is not a reasonable solution. Much more practically is to connect one PayPal account to multiple stores.
Is not mandatory to set in PayPall Account an PayPall IPN URL. Each Shop System, during the payment, sends to PayPal its own IPN URL which overrides URL, set on PP Account.
Step 1:
A blank page needs to be created in order to fix the problem with IPN send after the transaction.
The empty page will do nothing and the URL needs to be set as default PayPall IPN URL.
Step 2:
URL to this blank page needs to be set as default PayPal IPN URL. In that case all payments coming from other stores will be sent to this blank page, and you will not be notified that IPN will be disabled soon.
If you follow these steps you should not receive warning notification from PayPal.
Comments
9 comments
Hi Welt... Your solution of creating a blank CMS page... only gets rid of the warning from PayPal by giving a fake "ok" It doesn't solve the root issue. We need IPN to work fully. We had it working fine before we updated to Magento 2.2
Please if anyone knows the real fix can you let me know at: emily@divegearexpress.com ? thanks! We are despite to get IPN working properly again.
If only using IPN with Magento, you should not experience any issues. Check if IPN was not disabled in your PayPal account, sometimes after a number of warnings it is automatically disabled.
The blank page is necessary when you are selling on multiple channels via PayPal. Whenever you are selling via a 3rd party channel, Magento vill be notified via IPN leading to warnings as the sale was not done via Magento store. For this reason PayPal dev team recommended us solution from the article.
Hi Welt, I am operating two websites which point to one paypal... as you mentioned above.
I am trying to set up the IPN for the websites, but where you say to create a blank page, I am unsure as to which website this is to be created on. I have an ecommerce website www.908ltd.co.uk for engraving materials and an ecommerce website www.gardenlabelling.co.uk which is for garden labels. I dont want to put in a URL in the notification URL space in paypal settings only for a customer from one website to be sent back to a website they are not ordering from.. if that makes sense.
I just really want to know what the URL is that I need to put in there.
Thanks in advance - email address = luke.holliday@908ltd.co.uk
Luke,
You can create the page on any of your websites.
Hi, thank you for your reply.
Sorry I do not understand what you mean. I am willing to create a page but is this page going to be viewable by my visitors?
Hi there!
Full Disclosure - I have worked for PayPal integrations and technical teams for nearly 10 years.
Unless your Magento code is heavily modified, there is no requirement to specify an IPN URL on your PayPal account when using Magento. Because Magento pass this URL in their code (in the DoExpressCheckoutPayment API call) - which overrides all account settings.
Adding this URL on your PayPal account is actually counterproductive as the default setting "Off" will actually be overridden by code (as many shopping carts do)
It's not required and it will actually just cause problems.
Your note "If only using IPN with Magento, you should not experience any issues" doesn't really cover all the events that could be sent to your Magento site.
The Magento IPN listener code reacts with a HTTP 500 error if it receives an unexpected IPN message (based on 'txn_type' value)
For example - if you send money from your business account to another account (I saw an example of this today for a live merchant) then PayPal send an event with 'txn_type=send_money' to your "http://yourstore.com/paypal/ipn/" URL. Magento looks for an invoice number, doesn't find it, sends back HTTP 500 error. if you get enough of these errors PayPal will start emailing you "IPNs sent to the following URL(s) are failing: http://yourstore.com/paypal/ipn/"
So in many (but obviously not all) cases the cause of this error is actually this article (surfaced on the front page of google when you search "PayPal Magento IPN"
If merchants leave the PayPal account at its default settings (no IPN URL) then this will work well with a single store instance, multi-store instance, everything.
It's only when code has been heavily modified that you might need to think about a strategy for sending all IPN events to Magento.
Could you please review the detail of the article (I'd be happy to help you with that) as it's a bit misleading, although not fully incorrect it doesn't cover the default scenario 99% of merchants have so it may not be helpful there. This sort of advice has been generating support tickets at PayPal for some time now so I'd like to help you clarify certain details.
I believe what's really happening here is people have multiple email addresses associated with their Paypal account. If you don't use your primary email address, the Magento extension sees a mismatch and returns a 500 error. You can find it in your exception.log:
I wish I had realized this before setting my IPN as instructed here.
@David Brennan: How do we reset our IPN to nothing? It sounds like turning off IPN is the way to reset it to its default setting. But before I start making more changes, the way to undo this change is to select "Do not receive IPN messages (Disabled)"?
Hi Danny - so sorry I missed your message.
The primary and secondary email issue is something definitely related, but not necessarily the same problem that everybody has when they get the email from PayPal with subject "Instant Payment Notification (IPN) Warning".
The reason for this email is that PayPal have received something other than a HTTP 200/201 (Good) response from the IPN URL - and PayPal are notifying the customer to ensure they resolve this. for example in a bespoke (non-Magento) website this would be a good indicator that it's time to check the Apache/Nginx/whatever server logs (as well as Magento exception logs if debug logging is enabled) - the reason for the problem can be quite varied. but setting the IPN URL on the account can actually causes more problems than it fixes (for Magento merchants at least). We need a more holistic approach to troubleshooting on this.
For this particular email from PayPal - I would look at why Magento is getting IPNs it doesn't expect (invoice number not there, txn_type unexpected etc.) but I'd also check the logs to see if there's some other reason why your system might be giving a 50x type error (or 4xx for that matter) - it could be overloaded at times for example, and give a 503 ? There are a lot of checks required to troubleshoot this fully.
To answer your question about HOW to set your IPN to "nothing" - we would do this in the following way (if you already have IPN set to "on" with a specific URL):
a. mouse over your name on the top right and click Account Settings
b. click on Notifications and then Update beside Instant Payment Notifications
c. Turn Off IPN (this is not the same as DISABLED)
I would generally say though - just be very careful, plan this ahead of time, test in PayPal sandbox on a clone of your site before doing this on live, etc.
"OFF" looks like this:
but you want to fully avoid "DISABLED"
and please note - that if PayPal receive enough failed responses from your server, the system will automatically set your IPN to DISABLED - so you may have to re-enable, and then set to OFF. The UI / messaging is not very clear here I'm afraid. But I hope this helps others having similar issues.
@David Brennan It is even worse for the German version of the Paypal site. Because both dialogs (off and disabled) have been translated to the same word, "deaktivieren".
PS. I arrived here because IPN has stopped working in the sandbox without plausible cause. Somewhere between 14.July and 17.July 2022. The IPN History Page (of the sandbox user) only shows transactions from 14.July the latest, even though I initiated some payments to it after that date. So I believe the issue is somewhere on the paypal side.
PPS. About the original post: Configuring a blank page seems quite a weird fix. A bit like fixing an error by deleting the logfile that shows the error.
Please sign in to leave a comment.