Another problem. User downgraded from level 3 to level 2 on stripe. New payment was made at level 2 after 30 days on level 3 ended (trial period, since that’s what I use to charge extra on the first month to minimize subscription churning). User was not demoted to level 2, but stayed at level 3.
2 customer.subscription.updated events sent by stripe on Nov 17
1 customer.subscription.trial_will_end event sent by stripe on Dec 14
1 invoice.created event on Dec 17 (level 2 amount, level 2 plan, webhook ignored on log)
1 customer.subscription.updated event sent by stripe on Dec 17 (webhook ignored on log)
1 invoice.paid event on Dec 17 (again, at level 2 amount) (webhook ignored on log)
1 invoice.payment_succeeded event on Dec 17 (again, at level 2, log shows s2member updated last payment date)
All with status OK (200) on Stripe. Only one event was taken into consideration by s2Member to update the payment date.
User stayed on Level 3 after all that. It’s been 3 days, so the system won’t likely do anything about it because it doesn’t seem to be a cron issue.
Not sure it happens on PayPal too, never had a down/upgrade on PayPal before.
This is the first one I caught, and the sad part is that Stripe doesn’t send email notifications for things like that (they won’t even let me know when a payment fails, I have to check it daily), because they assume our systems read their webhooks and act on them