PayPal Instant Payment Notification Warning

I installed Pro Sites v. 3.0.3 on our test site over a week ago and just received this message from PayPal today:

Please check your server that handles PayPal Instant Payment Notifications (IPN). IPNs sent to the following URL(s) are failing:

http://mytestdomain.tld/wp-admin/admin-ajax.php?action=psts_pypl_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.

I have confirmed the IPN url is entered exaclty as it is shown in my Pro Sites settings, and that admin-ajax.php is in the wp-admin directory but I searched that file and did not find any psts_pypl_ipn action? Am I doing something wrong? Why would I get this IPN error? Will it affect my PayPal payments from buttons on other sites?

Registration is turned off on the site since I use it only for testing purposes. I have received payments from other sources prior to receiving this message, but not since. Thais may just be a coincidence but I'd love some advice as to how I should address this issue.

Thanks!

    Barry

    Is the domain accessible over the internet? I'm assuming that you've changed the one in the error message so I can't check that to see if there is anything wrong with the ipn.

    Can you login to you PayPal account and view the IPN history log on your account. It will list the last few attempts that PayPal made and the error codes that were returned. If you click on the details for the last few then it will give more information on the server response.

    jcnjr

    Yes, the domain is tripawds.net, I wasn't sure about the security of exposing the IPN url because of PayPals note about others using IPN on my behalf. I also understand now that IPN has nothing to do with successful delivery of payments, only notifications.

    The response code for all of the failed message IDs is 401. The IPN hisory shows 5 failures in the past 14 days, and 43 sent with response code 200. Hope this helps, please advise if there's anything I should do to troubleshoot this further or resolve the matter.

    Thanks!

    jcnjr

    Update: I'm continuing to get this error notification from PayPal so I disabled notifications for now by checking the option "Do not receive IPN messages (Disabled)" in my PayPal account since we are not running ProSites on any of our live sites yet. I'm considering turning off IPN altogether but left it on for anyone who may be able to help me troubleshoot this issue.

    IPN History continues to indicate http error code 401 for all failed notifications.

    Could the issue have anything to do with Supporter running on our other sites? I haven't updated to Pro Sites yet, because I understand I need to set up an IPN url forwarder as described in another topic for it to work at multiple domains. <sigh>

    Looking forward to getting this sorted out since I'm planning to install Membership and Pro Sites on yet another new domain ASAP.

    Thanks in advance for any help.

    jcnjr

    I have now created an IPN Forwarder URL following Aaron's instructions here, and am waiting to see if notifications are working.

    Are there any other server level configuration or file/directory permissions issues that may cause the 401 error? I do not see the psts_pypl_ipn action anywhere in admin-ajax.php, and if I load that URL I only get a blank page with a single "0" at top left. Guess I don't understand how that URL works.

    Looking forward to getting this IPN issue resolved so we can upgrade to Pro Sites on multiple networks, and launch Membership on another.

    jcnjr

    OK, hoping someone will reply here...

    After configuring the IPN Forwarder as instructed by Aaron, my PayPal IPN history indicates that all notifications over the past five days have been sent successfully with response code 200.

    My concern is this:

    The forwarder resides at a different domain than the one that threw the warning I started this topic with. Would PayPal report delivery errors from domains configured within the forwarder? If not, how can I confirm that IPN is functioning properly.

    I NEED to determine this ASAP so I can update numerous sites from Supporter to Pro Sites and install Membership on another. Thanks in advance for any feedback.

    Aaron

    The forwarder is coded to return an error code to paypal if it encounters an error when forwarding. It's wierd that you were getting only occassional 401 errors though. From the log when those same ones were resent did they eventually go through (200)?

    Those "No valid prefix:" lines in your log are pretty normal, as a copy of every single PayPal transaction (not just pro sites), so those other ones will be skipped with that message.

    Note that if IPNs are not working, the symptom would be a site's pro status not automatically extended when their scheduled payments are made.

    jcnjr

    No new errors tell me the IPNs are forwarding properly. Weird indeed, how they were failing without the forwarder. :-\

    Unfortunately, PayPal does not let me change the notification url for IPNs already sent, so resending those result in failure. Guess I'll set up a sandbox account or wing it and hope for the best.

    the symptom would be a site's pro status not automatically extended when their scheduled payments are made.

    So it would not prohibit the initial payment upon registration or site upgrade to go through only upon subscription renewal? If so, I suppose I could proceed with my projects and deal with that if/when it occurs later.

    Again, thank you for the prompt reply!

    Aaron

    so resending those result in failure.

    You will get a 401 because you have INC_PASS defined. That may have been the cause of the previous ones if you defined it before setting up the forwarder.

    So it would not prohibit the initial payment upon registration or site upgrade to go through only upon subscription renewal?

    In almost all cases, yes. Occassionaly paypal will put a payment in pending status or hold for things like echecks and in those cases it will rely on IPNs.