High-Priority: s2member broken for new format Paypal IPN message

Paypal now sends several variables as either
name_1
or name_1_1

(I also have option_selection_1 vs option_selection_1_1 plus of course option_selection_2 vs option_selection_2_1)

s2member cannot cope with the newer format. that’s the only difference I found and it seems with the newer format paypal choses to ignore the IPN.

see also:

Officially this is since July 13 - however I can trace back this format to July 07. Needs fix ASAP as s2member does not send s2member notification email, sets EOT to empty on renewals - and does not change user role on renewal (e.g. if account already subscriber - it’s not updated to s2member_level1). Also any kind of invoicing tool therefore will fail if it depends on s2member fully processing the IPN first.

(It’s not the only bug - I got some more s2member ignoring the IPN - but they are very rare - I will try to find out if I can find out why they are lost. However for those cases resending the IPN means that s2member will correctly work it down - while resending the new format IPN messages will fail no matter how often it’s resent).

Other plugins have this problem too:

however It is really annoying that again noone reacts to my messages here (other thread) - anyone cares if paypal button payments go wayside? Also I’m not surprised that again it’s me stumbling on a payment gateway bug…

I posted this to GitHub to ensure the devs see it ASAP. You can follow the GitHub issue if you’d like.

jason is reading here to - and I don’t think there are any more devs on s2member anymore…
The notation usually belonged to shopping carts - however paypal changed something in the checkout - and now users may check a simple web accept as cart instead once they are on paypal - and many many do.

7days since I put a log that shows the problem. 40 hours days since I pinned down the problem - reaction from s2member devs so far - none. well - s2member really seems at the end of it’s life span.

Thank you, I am investigating this.

@openmtbmap @JediShark Thank you for reporting. This is now a confirmed bug, which, as you noted, seems to be caused by an unannounced change in the NVP keys sent by PayPal’s IPN service

I found a few scattered reports of this, as you did, and while nothing has been posted by PayPal for developers to review, I have contacted PayPal MTS for some clarity.

IPN data in a number-suffixed format is often associated with a ‘cart’ transaction at PayPal. s2Member doesn’t send users to a PayPal ‘cart’, so a numbered suffix is unexpected. This is the first report that I’ve seen of this, but based on the logs I just reviewed from some s2Member users, it looks like this has been sporadic. Affecting some sites, and only some users, while not affecting others.

Meanwhile, I am working this issue here as we can workaround this without much trouble. I will post further updates on this bug at GitHub once a workaround is in place. Referencing the issue @JediShark opened here: https://github.com/websharks/s2member/issues/1112

1 Like

Fixed! See: https://github.com/websharks/s2member/issues/1112#issuecomment-316001220
~ Patch instructions have been provided there for those in urgent need.

2 Likes

This is awesome! Great job on turning around a patch so quickly, team!

Any idea as to when the next full update will be released?

Trying to gage whether or not to install the patch or just wait until next release.

s2Member v170722 has been released and includes changes from this Issue. See the v170722 announcement for further details.