I just had the opposite experience to http://drupal.org/node/1055390#comment-6360680. With a site migrated from a previous system to Drupal, PayPal was sending IPNs to the old systems URL as well as Drupal, since the old system's URL was still in the PayPal IPN settings on PayPal. When PayPal complained that the IPNs were bouncing, I disabled IPNs via the PayPal preferences at PayPal. This stopped IPNs appearing on Drupal as well, even though the notify_url was being specified by Commerce PayPal. The IPNs visible in PayPal IPN History were all marked Disabled.

It appears that the instructions at http://drupal.org/project/commerce_PayPal are incorrect, or perhaps there is confusion between having IPN turned on at PayPal being described as 'enabled' when there is distinct PayPal setting for Receive IPN messages (Enabled) or Do not receive IPN messages (Disabled). In my experience, the latter does prevent IPN messages reaching Commerce PayPal.

Comments

rszrama’s picture

Title: Clarify PayPal settings » Clarify IPN settings with PayPal support
Category: bug » task

To the best of my knowledge, the documentation on the project page is correct. According to PayPal's own API documentation, the only thing that should matter is the notify_url sent in with the API request. Your IPN settings can be turned off in your account and IPNs should still be sent if an API request specifies a notify_url. For what it's worth, this is how I have configured my own site, RealMilkCheese.com, and PayPal IPNs are coming through correctly.

I did hear this from one other person, though, so perhaps there's some nuance from account to account causing this to work oddly. All I can really say at this point is someone's going to have to contact PayPal support and find out what's going on, and it's gotta be someone whose account isn't working as documented. Is this something you can do?

jasen’s picture

Please note that if you are using a development website that isn't in the DMZ and/or has a domain name that won't resolve outside of your network, then you won't be recording transaction information coming from PayPal via IPN.

And I can confirm what Ryan has stated, you don't need the IPN settings turned on in your PayPal account to receive them when sent via an API request.

Adam Wood’s picture

Issue summary: View changes

We've confirmed this with PayPal in the last week after having issues with PayPal IPNs on a project and they confirmed that IPNs will not be sent if set to 'Disabled', so the documentation is incorrect. Whilst you don't have to setup IPNs if you've never used them ('Off'), if they have been enabled but are currently disabled they will not work.

We'd dismissed the IPN settings having read that however after changing the settings from 'Disabled' to 'Off' they worked immediately.

This is from a support ticket with PayPal:

"We have 3 status of IPN.
1. Off
2. On
3. Disabled

If the Status is Disabled there will no IPN sent out at all."

Edit: Having reviewed there documentation, this is clarified at the bottom of this page: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNSetup/

"Note: The IPN message will always be sent to your notification URL unless receiving IPNs have been disabled."