User GuidesSubscriptions

Subscriptions

If your store sells recurring products, each shopper’s recurring arrangement is a subscription, billed on schedule through your store’s own Stripe account. This guide covers the day-to-day admin actions: pausing, resuming, cancelling, and the handful of one-off recovery actions. For the underlying states and webhooks, see Concepts → Subscription lifecycle.

A paused subscription’s status stays “active.” Pause is carried by a separate pause_collection flag, not a status of its own — see Concepts → Subscription lifecycle for why, and don’t gate anything on status === 'paused'.

Find a subscription

  1. Go to Commerce → Subscriptions in the left nav.
  2. Click a subscription to open its detail view: plan, status, amount, MRR, customer, renewal date, and the lifecycle actions below.

Pause collection

On the subscription detail page, under Lifecycle actions:

  1. Choose when it resumes: Indefinitely, a preset (1 month / 2 months / 3 months), or a custom date. Picking a preset clears any typed date and vice versa — the two controls can’t disagree.
  2. Click Pause collection.

Stripe keeps calculating renewals but voids the invoices, so the customer isn’t charged while paused. Remember: the subscription’s status still reads active while paused (see the callout above) — check the pause indicator, not the status badge, to tell whether it’s actually collecting.

Resume collection

Once paused, the same card shows Resume collection in place of the pause controls. Click it to clear the pause and return to normal billing.

Cancel a subscription

Under Lifecycle actions, choose a Cancel mode, optionally add a Reason (operator note / churn reason), then click Cancel subscription. A confirmation dialog opens before anything happens — review the mode’s description and confirm.

Two modes:

  • At period end (default) — the customer keeps access until the current period ends, then billing stops. Nothing changes immediately.
  • Immediate — access ends right away and there’s no final invoice. Any unused time is credited to the customer’s account balance in Stripe — it is not refunded to their card. If you owe the customer an actual card refund, that’s a separate, manual step outside this flow.

Both modes are permanent once confirmed.

For a paused or canceled subscription (with an email on file), the detail page shows Send reactivation link. It emails a single-use, signed link (expires in 7 days) using the existing win-back template. For a canceled subscription, you can optionally check Apply current product price to re-bind the reactivated subscription to the product’s current price instead of the price it had when canceled — leave it unchecked to honor the original price.

Resend a gift subscription email

If the subscription was purchased as a gift and hasn’t been redeemed yet, the detail page shows Resend gift email. It re-fires the recipient notification with a freshly minted redemption link; the previous link stops working.

Re-sync from Stripe

The detail page’s summary rail shows Last Stripe sync — the time of the most recent Stripe webhook event applied to this subscription. If a billing-active subscription’s period has lapsed with no recent event, it’s flagged Out of sync. Click Re-sync from Stripe to pull the subscription’s current state directly from Stripe rather than waiting on the next webhook.

Common questions

  • I paused a subscription but its status still says “active.” Expected — see the callout above. Check the pause badge / resume date, not the status field.
  • Does an immediate cancel refund the customer’s card? No. It credits unused time to their Stripe account balance, not their card. See Cancel a subscription.
  • A subscription looks stale — renewal date in the past, no recent activity. Check Last Stripe sync on the detail page; if it’s flagged Out of sync, use Re-sync from Stripe.

Next: see subscriptions on a shopper’s Customer profile, or the state machine behind all of this in Concepts → Subscription lifecycle.