PayPal Missed Billing Cycles

I’ve been using s2member with PayPal Pro for years now. Recently, I’ve noticed that subscriptions are set to stop collecting after two missed billing cycles. Given that I sell monthly, quarterly and annual subs, this means users can theoretically get a full year without paying.

How do I change the “stop collecting after x missed billing cycles” to be 1 rather than 2, please? (And sincere apologies if this has been asked/answered elsewhere, or if it’s really straightforward: I couldn’t see anything in the s2member options)


I don’t think that’s the best solution.

Sadly it’s something I asked for (instant demotion when payment fails). Ideally we’d like our sites to demote users when their payments fail, right away or after a set interval with a notification to the user (24 hours is reasonable, but we should be able to set that).

The collection limit should be set to zero, so PayPal continues trying to collect every five days from everybody that owes you, instead of suspending the process.

Right now I have to do all that manually. Once I receive the “you didn’t get your payment” I demote the user manually.

When PayPal suspends the subscription I have to open their recurring profile and re-activate their account there, so PayPal continues trying to collect indefinitely. I recovered tons of users this way, otherwise you’re “soft cancelling” them if they have a problem with their card for a week, a month or a few, and that can be a considerable amount of lost revenue.

Additionally, it would be nice if s2Member reupgraded those users upon late payment. When I demote a user they are made aware they must contact me if a late payment happens so I can reupgrade them manually as well, but that’s not the best solution, of course.

I wish @clavaque has time to overhaul this part of the plugin sometime soon, since at least on my end it’s the area that is more concerning since I started using it two years ago and I am not technically qualified to build something to fix it, sadly (I should be able to learn, but my brain is fried and I could not concentrate enough to learn enough basic php to do it).

Yes best would be to demote on missed payments, then upgrade again later. Right now it’s demoting after the 3rd failure, so usually 2-4 weeks. When PayPal tries again is an algo.

Its not after 2 missed cycles. I have complained about this already 10 years ago…

When setting up a subscription within PayPal, it is possible to define the number of missed cycles, but in s2member it is not.

It feels like this is “simply” (and I appreciate things are rarely as simple as first meets the eye) a case of an additional parameter.


If that’s the case, could I hire a developer to add this function? What unforeseen side effects am I overlooking?

No you cannot change that parameter on subscription creation. At least it used to be impossible.