Un-canceling a Stripe subscription

stripe cancel subscription
stripe update subscription
stripe subscription api
stripe cancel invoice
stripe subscription example
stripe update subscription quantity
stripe change subscription date
cancel stripe account

Suppose a user wants to cancel their subscription, so I issue a command like this:

stripe_subscription.delete(at_period_end: true)

Later, though—before the period ends—the user changes their mind. Is there a call I can issue to undo the scheduled cancellation?

If not, what's the best way to implement this? My best guess looks like this:

new_subscription = stripe_customer.subscriptions.create(plan: stripe_subscription.plan.id, trial_end: stripe_subscription.current_period_end)
stripe_subscription.delete()   # if permitted
self.stripe_subscription = new_subscription
save!

Is there something better I can do?

If the subscription is still active, you just have to update the current subscription and pass the plan id once again and it would resume the subscription.

In PHP you would do:

$customer = Stripe_Customer::retrieve("cus_XXX");
$subscription = $customer->subscriptions->retrieve("sub_YYY");
$subscription->plan = "myPlanId";
$subscription->save();

This is covered in one of Stripe's support article in more details here.

Un-canceling a Stripe subscription, In the Stripe API docs, under the "canceling" section, there's actually a spot about reactivating canceled subscriptions, and it's really interesting! It says that if you  But if the subscription is set to cancel immediately, pending prorations will be removed. By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription.

Not sure if the accepted answer is an old one, but for the latest version of Stripe you have to do this (in PHP):

$sub->cancel_at_period_end = false;
return $sub->save();

Reactivate/Un-cancel my Subscription! > Stripe Level 2 , The use-case I am considering is if a user cancels their subscription once you cancel a subscription in stripe, there's no way to un-cancel it. How to Cancel a Subscription in Stripe. Search for and open the customer record in Stripe; Scroll to Active Subscriptions . Click on the ‘’ to the right of the subscription to cancel and choose Cancel Subscription. Once you have cancelled their subscription, make sure to adjust the student's expiry date in Thinkific accordingly

From the dashboard. Go to your Subscription details and click Edit Details top corner right. A modal untitled "Reactivate subscription" should pop saying

This subscription is set to cancel at the end of the period. You can reactivate the subscription and it'll continue as usual.

Click Reactivate

EDIT

It seems that the actions now appear on mouse over the remaining days before cancellation:

Note that it wont show if the subscription is already canceled.

Reactivating a canceled subscription that hasn't hit the end of , How to Cancel a Subscription in Stripe. Search for and open the customer record in Stripe. Scroll to Active Subscriptions. Click on the '' to  Check if a user has a subscription with dj-stripe in Django templates. python,django,stripe-payments. It turns out that there is a dj-stripe solution to this already (that I hadn't found in my Google searches).

As per the above answer from Supersan, this solution also works for C# using the latest Stripe.net library 21.4.1

 var items = new [] { new SubscriptionItemUpdateOption() { Id = i.Id, PlanId = i.Plan.Id } }.ToList();
 var updateOptions = new SubscriptionUpdateOptions { Items = updatedItems, CancelAtPeriodEnd = false };
 await subscriptionService.UpdateAsync(externalSubscriptionId, updateOptions);

Where I've just set the Id and Plan Id to whatever they were before. Not sure if these are necessary if you aren't using multiple plan subscriptions.

Resubscribe after cancel · Issue #333 · dj-stripe/dj-stripe · GitHub, Subscription cancellation is final and a new subscription will need to be created. Subscription expiration is not final and is generally So, if someone cancels, they can't un-cancel.And that's a bummer! In the Stripe API docs, under the "canceling" section, there's actually a spot about reactivating canceled subscriptions, and it's really interesting! It says that if you use the at_period_end method of canceling, and the subscription has not yet reached the period end, then reactivating is easy: just set the subscrip

How to Cancel a Subscription in Stripe – Thinkific, A canceled subscription can be reactivated in Chargebee's web interface or using the 'Reactivate a subscription' API. Pausing subscriptions. You can pause a subscription through the API or in the Dashboard. When viewing a subscription in the Dashboard, click the three dots at the top right to pause payment collection. You can pause it indefinitely or choose a custom date. You can also select the invoice behavior.

How do I undo a subscription cancellation? – Fusebill Support, Cancelled subscriptions can't be reactivated from the WordPress admin area. There's potential to go against the customer's wishes, for one thing (  This subscription is set to cancel at the end of the period. You can reactivate the subscription and it'll continue as usual. Click Reactivate. EDIT. It seems that the actions now appear on mouse over the remaining days before cancellation: Note that it wont show if the subscription is already canceled.

Reactivation: Reactivate Subscriptions, If you cancel from Stripe, you have the option to cancel immediately or at UN-​CANCEL: If you want to un-cancel app subscription before the  Change subscriptions. Learn how to change existing subscriptions. Self-serve portal In addition to using the API and Dashboard to change subscriptions, you can also implement the self-serve portal to provide a Stripe-hosted dashboard where customers can manage their subscriptions and billing details.

Comments
  • The linked support article calls out that this can also be done via the Stripe Dashboard in case it's a one-off and not worth implementing via the API.
  • Updated permalink to Stripe's subsection on reactivating canceled subs: stripe.com/docs/subscriptions/…
  • It appears (based on both my testing and the docs) that if a subscription has reached the end of its cancellation date (meaning it either got canceled immediately or its cancellation date has passed) then you cannot reactivate it, you must create a brand new.
  • That link was very helpful. Thanks. For what it's worth, if you want to do this, you probably don't want to run the delete method on a Stripe subscription to cancel it, but instead do an update on the Stripe subscription and set the cancel_at_period_end argument to true.
  • To my mind that would suggest that the subscription would be cancelled immediately rather than at the end of the period. Is this accurate? Could you be more specific about the 'latest version' you refer to?
  • In my testing I have seen that the subscription is active until the renewal date is reached. When that happens, the API checks if this flag called "cancel_at_period_end" is set to true or false. If true, it does not renew and cancels it instead. OTOH if set to false it renews. So IMO this is just a flag and for the API to decide whether to cancel or renew and it only affects at the time of actual renewal.
  • I should never have doubted you, the same is true for the C# solution which I'll add separately but you get my vote!
  • Indeed. C# was the same (stripe.com/docs/billing/subscriptions/canceling-pausing). subscriptionService.Update( subscriptionId: ss.Id, new SubscriptionUpdateOptions { CancelAtPeriodEnd = false, } );
  • Can't seem to find this. Screenshots would help.
  • This doesn't seem to actually exist
  • I have added a screenshot. Note that it wont show if the subscription is already canceled.