IPN failure

This topic contains 13 replies, has 3 voices, and was last updated by  Stephen Harris 3 years, 4 months ago.

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #12625

    Hello,

    I have consistently had issues with the IPN for the website – Paypal keeps sending failure notifications. The site resides in a folder but the url for pages etc does not show the directory – it is a standard directory install. I have tried setting the IPN to both

    http://mysite.ie/?eo-listener=ipn&eo-gateway=paypal
    and also to
    http://mysite.ie/thesubdirectoryitisinstalledin/?eo-listener=ipn&eo-gateway=paypal

    but both cause the ipn failure notice.

    After a certain period paypal discontinues sending the IPNs and the paid for events are not registered on the backend, which is confusing. I want to correct the listener – can you confirm what it should be? It is annoying because other than getting the failure notices it is working fine (until Paypal turns the IPN off and I have to enable the IPN again).

    Thanks

    Charlotte Kitto
    #12627

    Hi Charlotte,

    The url that should be used is the url to the WordPress installation with (?eo-listener=ipn&eo-gateway=paypal appended).

    So if you’re wp-admin url is www.mysite.com/some-folder/wp-admin/ you would expect the IPN url to be www.mysite.com/some-folder?eo-listener=ipn&eo-gateway=paypal. You do not need to set this. Event Organiser tells PayPal the url to use, and that will over-ride any setting in your PayPal account.

    You mention

    other than getting the failure notices it is working fine (until Paypal turns the IPN off)

    Does that mean bookings are being correctly confirmed?

    What is the listener url as PayPal reports it? (If you have a PayPal business account, (it’s free), PayPal will log the IPN notifications). And what do PayPal report as being the reason for the failure?

    Stephen Harris
    #12642

    Hi Stephen

    Thanks for the response I have been on to paypal and what they are saying is that:

    http://mysite.ie/?eo-listener=ipn&eo-gateway=paypal – returns a 200 okay response

    http://mysite.ie/thesubdirectoryitisinstalledin/?eo-listener=ipn&eo-gateway=paypal – returns a 404 error

    Paypal are saying that the cart is over-riding the http://mysite.ie/?eo-listener=ipn&eo-gateway=paypal with the one with the 404 error.

    The site is set to top level despite being in a folder – you know the standard way in the main wordpress settings.

    So that I think I need to change the “notify_url” in the cart to fix the error.

    Is that feasible?

    regards
    Charlotte

    Charlotte Kitto
    #12643

    Sorry in answer to your other question – yes the bookings are being correctly confirmed.

    Copy and paste from the paypal messages in case you need it (URL changed obviously): – I also have the curl test result if you needed to see that….

    <hr />

    The one set in the profile is http://mysite.ie/?eo-listener=ipn&eo-gateway=paypal.

    However this gets overridden by the shopping cart, still passing http://mysite.ie/directory/?eo-listener=ipn&eo-gateway=paypal as “notify_url” on a transaction basis.

    <hr />

    Response Via Email (Pablo)09/17/2014 07:23 AM
    Hi,

    I posted to http://mysite.ie/?eo-listener=ipn&eo-gateway=paypal and got a HTTP 200 OK response.

    Response Via Email (Pablo)09/17/2014 06:57 AM
    Hi Charlotte,

    Thank you for contacting PayPal Merchant Technical Services.

    Unfortunately failure notifications can’t be stopped. We do disable the IPN service after a certain number of failures for the reliability of our system.

    According to your client’s IPN history, the URL http://mysite.ie/directory/?eo-listener=ipn&eo-gateway=paypal is returning a HTTP 404 error. I got the same result with a curl post

    I’m afraid the cart is not using the IPN service to update the orders as no one has been successful.

    Charlotte Kitto
    #12644

    Hi Charlotte,

    Thanks, I’m going to look into this. Would you mind telling me the address of the IPN listener? (You can do so privately via this form if you prefer). You can manually change the notify url with the following:

    add_filter( 'eventorganiser_gateway_checkout_paypal', 'set_my_notify_url', 10, 2 );
    function set_my_notify_url( $url, $paypal_args ){
         $url = add_query_arg( 'notify_url', '...new url....', $url );
         return $url;
    }

    But the fact that bookings are being confirmed suggests its the right url but the wrong headers are being returned (hence I’d like the url to check them!)

    Stephen Harris
    #12646

    Sorry for the stream of messages – but should line 43 of paypal-standard.php

    $this->listener = add_query_arg( array( ‘eo-listener’ => ‘ipn’, ‘eo-gateway’ => ‘paypal’ ), trailingslashit( site_url() ) );

    actually say

    $this->listener = add_query_arg( array( ‘eo-listener’ => ‘ipn’, ‘eo-gateway’ => ‘paypal’ ), trailingslashit( home_url() ) );

    to make it reference the right URL?

    Charlotte Kitto
    #12647

    Yes, but I think site_url() is generally speaking the correct one as home_url() could point to a non-wordpress generated page for example, it’s whatever you set as the “site url” in the settings (yes, confusing naming!) – see my reply above which I think crossed paths with your last post 🙂

    Stephen Harris
    #12648

    I sent you the listeners – I’ll not add the function until I hear from you.

    Charlotte Kitto
    #12649

    Thanks Charlotte,

    I can confirm there is a problem with incorrect headers being set (though I can’t replicate the 404 – instead I get a 301, but then I can’t obviously, send a valid PayPal payload 😉 ). I’m fairly certain that 1.8.3 (which I’ll release today) will fix this issue.

    Stephen Harris
    #12650

    Okay – I’ll look out for it. Thanks for looking into it.

    Charlotte Kitto
    #12651

    Just to let you know, 1.8.3 has just been released.

    Stephen Harris
    #12653

    Hi Stephen,

    I have just done a full upgrade to all the software on the site and I put through an order so I can confirm that the IPN issue is fixed – the IPN history says sent instead of failed or retrying.

    Thanks a million

    C

    Charlotte Kitto
    #38902

    I know this is an old post. But I really had a hard time finding what the IPN url should be that is entered in Paypal. Maybe I missed something but I didn’t see any reference to it in the plugin settings or in the documentation.

    Brett Hall
    #38987

    Hi Brett,

    You shouldn’t need to enter an IPN url in PayPal. If you’re having issues with payments with PayPal please follow the “Debugging PayPal IPN” at the bottom of this page: http://docs.wp-event-organiser.com/bookings/gateways/paypal/

    Stephen Harris
Viewing 14 posts - 1 through 14 (of 14 total)
To enable me to focus on Pro customers, only users who have a valid license for the Pro add-on may post new topics or replies in this forum. If you have a valid license, please log-in or register an account using the e-mail address you purchased the license with. If you don't you can purchase one here. Or there's always the WordPress repository forum.