s2Member sending request to Cancel Subscription to Stripe

I don’t know what happens but there’s one specific subscription that was fine (modification from free to paid), then s2Member sent Stripe a cancellation request and cancelled the subscription.

I had to override it by manually creating another subscription on Stripe.

A few hours later, around midnight, s2Member sends ANOTHER cancellation request and attacks my manually created subscription, for no apparent reason. :sob:

I know the user did not cancel because I don’t use cancel links or buttons on my site as it’s much more reliable to have the user email me instead, so I know it’s not caused by the user.

Hi @clavaque! Since now you have full access to my database, I’d like to let you know this problem happened once again today, user subscribed, s2Member cancelled the subscription a minute later.

I do NOT have any cancellation button as I prefer to ask my subscribers to email me directly instead, so I can double check their subscriptions are actually cancelled, therefore preventing unwanted charges, but this problem is the opposite, the user resubscribes/modifies, s2member likely cancels it thinking it’s a double subscription or something like that. :thinking:

I think you have an anti duplicate subscription routine that fails and triggers when it should not. It would be nice to have at least a temporary flag in the settings to disable it, I prefer to cancel duplicity subscriptions manually instead. Would it be possible? Or is it possible to disable that routine with a filter or should I edit the code manually somewhere? I’d rather have the plugin NEVER CANCEL any subscription under any circumstance at payment processor’s level. I prefer to do it always manually. If it happens with PayPal, for example (didn’t see the issue with PayPal) it’s unrecoverable without the user paying again. EOT on wordpress is ok and easy to deal with, of course.

Hi Sim.

That’s not a normal behavior. I don’t know that s2 would do that except for the cancellation button… Maybe also with a non-recurring subscription, or with a set number of installments subscription…

I took a look at s2’s stripe-api log, and see some entries that say “[recurring_times] => -1”…

What user is this? How can I find his entries in the logs?

Could you show me the shortcode he used to subscribe?

I know you said you created a subscription manually on Stripe’s side, but how did you tie it to the user on the site? Maybe there were details from the previous attempt in the db tied to the user (i.e. signup vars).

I tie it to the user by manually filling the cus_ and sub_ codes.

I manage a bunch of things manually because the plugin is broken or isn’t properly designed for customer retention, dunning routines, downgrading when payments fail and reupgrading when they happen later on etc. I would likely have less than half of the subscribers I do if I just let the system do its thing, plus people would be getting free access for far too long. I recover a lot of users sometimes after weeks or even a couple of months trying to collect. Only a few users take action to fix a subscription when a payment doesn’t go through but they surely contact me when it does and they’re not properly reupgraded. :smirk:

Oh, and shouldn’t recurring times be -1 normally, since it’s a recurring subscription towards infinity? I wonder if any other subscription without a set term is different… :thinking:

Sorry for the out of topic paragraph above. Anyways, I can send you a DM with the user name so you can see her.