PayPal IPN Instant Payment Notification Warning from PayPal

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
6 years ago
Does anyone know the correct URL for the PayPal IPN for nopCommerce 4.00 using PayPal Direct Checkout?

Currently I have https://shop.phredinstruments.com/Plugins/PaymentPayPalDirect/IPNHandler


https://shop.phredinstruments.com is my website URL

Thanks!

-Freddy
6 years ago
Here's the message from PayPal

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

https://shop.phredinstruments.com/Plugins/PaymentPayPalDirect/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. If this problem continues, IPNs may be disabled for your account.

Thank you for your prompt attention to this issue.

Thanks,

PayPal

--------------
Anyone have any idea what could be?
6 years ago
So, I still haven’t resolved this issue. Not sure of the approach to take. Anyone have any insight into how to troubleshoot this?  

PayPal IPN was working ok in nopCommerce 3.80.

Seems like something may have changed in 4.00?
5 years ago
We're running version 3.6 and have been for a few years with no issues and now suddenly PayPal has sent us the IPN warning. We have changed nothing so can anyone tell me why it has stopped working? Have Google changed their policies so it no longer works with the 3.6 Nop IPN URL or is there something else I need to check?
5 years ago
PayPal will stop using plain HTTP for IPN from June 30th. Only HTTPS will be supported after this date. They are currently in the phase of switching over to HTTPS for some hours at random times as a warning for all who are not aware of this change.
Maybe you are observing this phenomenon.

https://www.paypal-notice.com/en/IPN-Verification-Postback-to-HTTPS/
5 years ago
Thank you Libor. I will get SSL set up on the website and see if that remedies the problem.
5 years ago
libor wrote:
PayPal will stop using plain HTTP for IPN from June 30th. Only HTTPS will be supported after this date. They are currently in the phase of switching over to HTTPS for some hours at random times as a warning for all who are not aware of this change.
Maybe you are observing this phenomenon.

https://www.paypal-notice.com/en/IPN-Verification-Postback-to-HTTPS/


Hi libor, could you help me? I have ssl already installed and I set up on paypal de ipn url with https, but I get an error on nopcommerce log:

Mensajes corto:  PayPal IPN failed.
Mensaje completo: Nop.Core.NopException:
URL de la página: http://www.store.com/plugins/paymentpaypalstandard/ipnhandler

As you can see on page url, it shows http instead of https, do I have to put on paypal plugin on ipn handler url field the url with https, now I have it blank.

Thank you.
5 years ago
Hi,

Are you using version 4.0 and the paypal standard plugin 1.42 ?
It is the Plugin itself that sends paypal the callback URLs for both IPN and PDT notifications (these are the two messages coming back from PayPal whether the payment was successful). The plugin uploads this value to the PayPal API during each payment, so it overrides any value that is set in the PayPal administration page.

In the plugin code it looks so:
["return"] = $"{storeLocation}Plugins/PaymentPayPalStandard/PDTHandler",
["notify_url"] = $"{storeLocation}Plugins/PaymentPayPalStandard/IPNHandler",

I suppose the storeLocation variable is not initialized to the https variant of your URL, please check the values in Configuration Stores for  1. Store URL begins with https:// 2. SSL enabled set to true.
5 years ago
libor wrote:
Hi,

Are you using version 4.0 and the paypal standard plugin 1.42 ?
It is plugin that sends paypal the callback URLs for both IPN and PDT notifications (these are the two messages coming back from PayPal whether the payment was successful). The plugin uploads this value to the PayPal API , so it overrides any value that is set in the PayPal administration page.

In the plugin code it looks so:
["return"] = $"{storeLocation}Plugins/PaymentPayPalStandardLibor/PDTHandler",
["notify_url"] = $"{storeLocation}Plugins/PaymentPayPalStandardLibor/IPNHandler",

I suppose the storeLocation variable is not initialized to the https variant of your URL, please check the values in Configuration Stores for  1. Store URL begins with https:// 2. SSL enabled set to true.


Hi thank you for reply so soon,

I am using version 3.5, and yes paypal standard plugin 1.21, and after 29th of June we suddenly get that error, and the orders are not been marked as payed.

In configuration, stores I have the store url with http, but then in secure url I have it with https.

At the beggining I thought it was because in paypal I haven't got activated IPN, I activated and I put the url with https in paypal, and in paypal plugin the field ipn url was blank, maybe it was getting the http url by default, I don't know...

And also when I finish the payment in paypal it redirects to store homepage not to order completed...

But we didn't make any changes, and it was working perfect.
5 years ago
I suggest to set the IPN link in the plugin settings to https://www.store.com/Plugins/PaymentPayPalStandard/IPNHandler   and give it a try.

My (newer) version of the plugin does not have this setting, so I can't check it now, my plugin sends the store URL with the callback address by default so this setting was left out.

Another thought:
If you can set the whole page to SSL only by setting 'Force SSL for all site pages' to true. (a pure SSL site is becoming a good point nowadays in SEO rating anyway)  then I would suggest to include an URL rewrite rule in your server configuration to direct all non-SSL traffic to the correspoding https address.  This would perhaps direct the paypal callbacks to their ssl variants even if you can't set it to https.

I am running IIS 10 on a windows server 2016, this is what I use in the web.config for the URL rewrite: (you should have the URL Rewrite module installed first)  insert this between the system.webServer tags.
<rewrite>
<rules>
  <rule name="HTTP/S to HTTPS Redirect" enabled="true" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAny">
          <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
  </rule>
</rules>
</rewrite>

PS. The good point in this error that your payments are still processed, you are just not getting the markings 'Paid' which you can do manually in the meantime.  In our case with the direct module we were facing complete blackout.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.