Paypal cancel notifications do not work

Hey there,
i try to build a membership website with subscription for one month. The registration process works fine, but if have a problem with cancel notifications from paypal.

When a user check out for Level 1 everything works fine. User pays at paypal and s2member receives a payment notification. User gets automatically upgraded to Level 1. Perfect.

But when the user logs into paypal and cancel the subscription nothing happens in s2member. In the paypal IPN history i can see that a notification is sent to my website. And i think the correct behaviour would be that s2member sets a EOT automatically to the user. But this does not happen. The s2member logs does not show any notification.

The wp cron seems to work fine. When i add a EOT manually to the past, s2member demote this user to Level 0.

I hope anybody has an idea how i can solve my problem.

Has the Member reached the end of the subscription they signed up for? s2Member, by default, does not demote Members on cancellation until the subscription is due to expire. This should happen whether an EOT is shown in the profile or not.

Ok i see. And that is correct behaviour. But shouldn’t i see in der “Users” area that the EOT for this user is set? And shouldn’t i see a cancel notification from paypal in the s2member logs?

BTW: If i refund the payment to the user nothing happens to s2member too. And in this case s2member should demote the user immediately right?

Anybody any idea what could cause the problem?

That depends on what you have told s2Member to do here: WP Dashboard → s2Member → PayPal Options → Automatic EOT Behavior. Check your setting for Refunds/Partial Refunds/Reversals (Trigger Immediate EOT)?. If you want an immediate demotion, select the last option in the list (everything triggers an immediate EOT).

1 Like

Trigger immediate EOT is set to “everything triggers an immediate EOT”.

But that is not the point. My problem is that i do not receive the ipn from paypal when a payment is canceled or refounded. The s2member log shows just nothing. And this should happen anyway right? A payment is canceled, paypal sends an ipn but s2member does not receive anything.

If the user pays via paypal everything works fine. Level 1 Status is granted. s2member log shows the received ipn. Everything fine. But nothing happens when paypal sends a cancelation. I thought either both ipns fail or both ipns will be received successful. Really strange isn’t it?

Any ideas how to debug this problem? Tried a clean wordpress (theme twenty seventeen) environment with s2member as my only plugin.

If PayPal is not sending notifications for cancellations you should talk to PayPal about that. There is nothing you, me, or anyone at WebSharks can do if notifications are not being sent from PayPal…

1 Like

Sorry, maybe i was not precise. Paypal ipn log says that a cancelation was sent. But s2member does not handle any.

Isn’t it strange that Payment subscription works fine but cancelation does not?

Thank you very much for your help Jedi! I thought i found the perfect plugin for my member website but handle cancelations manuelly is a killer to me :frowning:

I’d definitely say that was imprecise if you meant that there were cancellations in the log and they were not being handled.

If there are cancellation from PayPal in the s2Member logs, are there any indications that s2Member was not going to handle them? There are often lines saying something along the line of “nothing to be done here”. Anything like that in the logs?

There is just a cancel notification in the paypal log (on paypal.com --> IPN Overview). Which means, everything fine on paypal side (i guess).
In the s2member logs on my website there is nothing. Nothing received, nothing handled, nothing ignored.

Any idea where the ipn could be lost? What about the payment notification? When the payment notification is sent from paypal to my website and is handled correct, why not the cancel notification? Payment notifications are not lost. Totally strange isn’t it?

Are there any IPN actions at all in the s2Member logs? If not, it sounds like you have an incorrect webhook URL at PayPal. If so, I’m as perplexed as you are.

Yes. Payment IPNs appear in s2member log and are handled correctly. So the webhook is correct isn’t it?

Yes. Sounds like it is. You might want to open a GitHub issue here: https://github.com/websharks/s2member/issues.

Be as specific as possible, being especially clear that only cancellation notifications aren’t hitting the s2Member IPN logs.

Reported an issue on github.

1 Like