How to fix PayPal Instant Payment Notification (IPN) Warning [SOLVED]

Follow

Comments

7 comments

  • Avatar
    emily

    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.

    0
    Comment actions Permalink
  • Avatar
    Support

    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.

    0
    Comment actions Permalink
  • Avatar
    Luke Holliday

    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

    0
    Comment actions Permalink
  • Avatar
    Support

    Luke,

    You can create the page on any of your websites. 

     

    0
    Comment actions Permalink
  • Avatar
    Luke Holliday

    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?

     

    0
    Comment actions Permalink
  • Avatar
    David Brennan

    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.

    0
    Comment actions Permalink
  • Avatar
    Danny

    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:

    [2021-11-29 07:27:48] main.CRITICAL: The requested "primary@gmail.com" and the configured "secondary@gmail.com" merchant emails don't match. {"exception":"[object] (Exception(code: 0): The requested \"primary@gmail.com\" and the configured \"secondary@gmail.com\" merchant emails don't match. at magento/vendor/magento/module-paypal/Model/Ipn.php:123)"} []

    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)"?

    0
    Comment actions Permalink

Please sign in to leave a comment.