latest stable versions: v150827 (changelog)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Payment notifications not firing

Home Forums Community Forum Payment notifications not firing

This topic contains 5 replies, has 3 voices. Last updated by  Cristián Lávaque 3 years, 7 months ago.

Topic Author Topic
Posted: Sunday May 26th, 2013 at 3:52 pm #50662
Steve
Username: sberardino

I have a custom API Payment Notification handler that seems to work completely fine on the signup/first payment, but it’s not getting fired for any recurring payments that go through.

I have the email transaction log activated, and I’m not even getting an email when a recurring payment is sent.

I’ve confirmed that the IPN was sent, so the problem isn’t there.

I’m using PayPal Pro with Payflow, and the Pro Forms in s2member.

Is there any reason why s2member wouldn’t fire the notification handlers if an IPN was sent?

List Of Topic Replies

Viewing 5 replies - 1 through 5 (of 5 total)
Author Replies
Author Replies
Posted: Monday May 27th, 2013 at 12:39 pm #50714
Steve
Username: sberardino

I’ve been looking into this more, and found out that it’s an issue with the “custom” variable being set:

's2member_log' => 
  array (
    0 => 'IPN received on: Mon May 27, 2013 4:27:35 pm UTC',
    1 => 's2Member POST vars verified through a POST back to PayPal®.',
    2 => 'Unable to verify `$_SERVER["HTTP_HOST"]`. Please check the `custom` value in your Button Code. It MUST start with your domain name.',
  ),
  'subscr_gateway' => 'paypal',
  

When the user signs up, the log has the “custom” variable set properly, but on all the recurring payment IPNs, that “custom” variable is empty (”) — any idea why this would happen? Is that the problem?

Posted: Monday May 27th, 2013 at 3:42 pm #50720
Steve
Username: sberardino

Just as a test, I created a filter in s2-hacks.php that sets empty “custom” variables to the proper domain, but then when I go into PayPal and resend an IPN, I get this log statement:

's2member_log' => 
  array (
    0 => 'IPN received on: Mon May 27, 2013 6:30:32 pm UTC',
    1 => 's2Member POST vars verified through a POST back to PayPal®.',
    2 => 's2Member originating domain ( `$_SERVER["HTTP_HOST"]` ) validated.',
    3 => 'Ignoring this IPN request. The `txn_type/status` does NOT require any action on the part of s2Member.',
  ),
  

Why would it ignore an IPN?

The transaction type is “web_accept” — which after doing some investigation of the PayPal API, it sounds like this txn_type is for “buy now” type of stuff (and not recurring payments).. but then after more investigation, it looks like PayPal Pro with Payflow doesn’t support IPNs directly? So, instead it sends these “web_accept” transaction types for recurring payments?

Posted: Tuesday May 28th, 2013 at 11:19 pm #50784
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

Why would it ignore an IPN?

The transaction type is “web_accept” — which after doing some investigation of the PayPal API, it sounds like this txn_type is for “buy now” type of stuff (and not recurring payments).. but then after more investigation, it looks like PayPal Pro with Payflow doesn’t support IPNs directly? So, instead it sends these “web_accept” transaction types for recurring payments?

When s2Member receives information for a recurring payment, there is no action taken. You could, in fact, not even pass these IPN notifications to s2Member at all and that would be perfectly okay. The things you do absolutely need to let s2Member know about are:

  • The beginning of a recurring payment, so s2Member can upgrade/create accounts, and/or send a User an email to give them access to create an account.
  • Subscription Modifications so s2Member can update account levels/Custom Capabilities
  • Subscription Cancellations so s2Member can set the End of Term date for the next payment date.
  • and Refunds/Reversals so s2Member can immediately demote a User

Otherwise, s2Member does not need to take any action.

Posted: Tuesday May 28th, 2013 at 11:57 pm #50787
Steve
Username: sberardino

But, I have an API Payment Notification handler set up, so s2member SHOULD be taking action: it should send that API Notification Email (which I have enabled) AND it should call my notification handler in the mu-plugins. It does both of those on the first payment, but not on the recurring payments. That’s my problem.

Posted: Thursday May 30th, 2013 at 1:00 am #50896

3 => ‘Ignoring this IPN request. The `txn_type/status` does NOT require any action on the part of s2Member.’,

Ignoring that IPN doesn’t mean that the payment notification should not be sent, I think notifications just aren’t entered into the log.

You should be getting a payment notification with each successful payment s2Member is aware of. That’s what the payment notification’s description says:

This is marked `Payment`, because the URLs that you list below, will be notified each time an actual payment occurs. […] this will be triggered on all future payments that are received for the lifetime of the Subscription. […] a Payment Notification occurs anytime funds are received, no matter what.

If this is not working as described and you don’t see any problems in the log entries for the payments, then I’d try these first: Knowledge Base » Common Troubleshooting Tips

Viewing 5 replies - 1 through 5 (of 5 total)

This topic is closed to new replies. Topics with no replies for 2 weeks are closed automatically.

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.