Skip to Content
Supported subscriptionsOverview

Supported subscriptions

This is the reference for which Stripe subscription shapes Unchurn handles automatically, which ones route to a manual cancellation request, and which retention offers apply where. For the rationale behind the rules, see Eligibility; this page lists the rules without re-explaining them.

What gets checked

Every cancel session is checked twice — once when the flow opens, again when we apply the change on Stripe. The result is one of three states:

StateWhat happensCustomer sees
Eligible for retention offersWidget renders the eligible offers in waterfall order. Customer accepts one (or declines through to cancel).Discount, pause, plan-switch, or trial extension tiles — only the ones that are safe for this subscription.
Not eligible for offers, eligible for automated cancelWidget skips the offer waterfall and goes straight to cancel confirmation.”Your subscription will end on <date>.”
Not eligible for automated cancelWidget records a manual cancellation request and surfaces it to your team.”Your cancellation request has been received.”

The third state is what most cancel-flow tools get wrong — they tell the customer they’re cancelled when no Stripe call ran. See Manual cancellation request below.

Where to look

  • Per-offer eligibility — one table per offer (cancel, discount, pause, plan switch, trial extension) listing the conditions a subscription must satisfy.
  • Blocked subscription shapes — the full list of shapes blocked from automated cancel, with the Stripe-side reason for each.

Manual cancellation request

When a subscription shape isn’t safe for an automated cancel, the cancel button doesn’t call Stripe. Instead Unchurn records a cancellation request and surfaces it to your team.

What the customer sees:

  1. The cancel button in the widget.
  2. A confirmation screen: “Your cancellation request has been received.” You can include a contact link via the optional support_url configuration.
  3. A confirmation email, sent immediately, retried in the background until delivered.

The screen never says “your subscription is canceled” for blocked shapes — we don’t make claims about Stripe state we didn’t change.

What you receive:

  • A task in your dashboard with the subscription ID, customer ID, the reason automated cancel was blocked, and a timestamp.
  • The cancellation request is logged distinct from automated cancels in your analytics, so your save-rate math stays honest. Outbound webhooks to your own server are on the roadmap.

What does not happen:

  • No Stripe API call to cancel the subscription. You handle the cancellation directly in Stripe within your legal SLA.
  • The session is not counted as a save or as an automated cancel — it’s its own outcome.

Double-clicks and retries collapse to a single request. The customer can’t accidentally trigger duplicate notifications by clicking again.

What each offer does on Stripe

The five offers map to these Stripe calls. Full per-offer eligibility on the per-offer page.

OfferWhat Unchurn calls on StripeWhere it applies
CancelSchedules a cancellation at the end of the current periodAll subscription shapes Stripe can safely cancel
DiscountCreates a single-use coupon and attaches it to the subscriptionAny cadence
PausePauses billing with new invoices voided during the windowMonthly subscriptions only
Plan switchSwaps the subscription to a cheaper pre-approved plan with no prorationMonthly downgrades only
Trial extensionExtends the trial-end date by the configured number of daysTrialing subscriptions only

For the Stripe API specifics — calls, field names, official references — see Token format and the linked Stripe docs in the per-offer page.

Roadmap

Annual pause, broader plan-switch transitions, discount stacking, and scheduled-cancel support are on the roadmap. The supported set today is what the per-offer and blocked-shapes pages describe.