Pastor cancels ITW Premium subscription
Persona
A pastor who has been using ITW Premium for 6–12 months but decides to pause. Budget constraints, congregation didn't use illustrations as much as hoped, or found another resource. They expect a clean cancellation, their saved Favorites and Collections preserved, and a simple reactivation path when they return.
Entry points
- Profile page —
/profile→ "Manage Subscription" → Stripe Customer Portal. - Stripe Customer Portal — Email link from previous Stripe receipt.
- Support email — Pastor requests cancellation; support replies with portal link.
Click-through flow
Steps
-
Initiate cancellation via Stripe Customer Portal — Reached via
/profile"Manage Subscription" button or email link. Stripe shows current subscription (ITW Premium $9.95/mo or annual), next billing date, "Cancel subscription" option. Clicking it shows end date and confirms "You can reactivate anytime." Stripe setscancel_at_period_end = trueand firescustomer.subscription.updatedwebhook. -
Receive cancellation confirmation and dashboard banner — Confirmation email: "Your ITW Premium subscription will end on [DATE]. Your access continues until then. All your Favorites and Collections are saved. Reactivate anytime at illustratetheword.com/pricing." Profile page shows persistent amber banner: "Your plan cancels on [DATE] — [Reactivate]."
-
Access during remaining billing period — All features work normally. Favorites and Collections load. Premium illustrations show full content. No service degradation. Premium badge on profile still shows. Pastor can browse one last time, add final favorites.
-
Transition to cancelled state and reactivation — At billing period end, Stripe fires
customer.subscription.deleted. Subscription status sets tocancelled. Profile page: "Cancelled" badge, "Manage Subscription" becomes "Reactivate." Service ended email: "Your Favorites and Collections are still saved — reactivate anytime and pick up right where you left off."Favorites/Collections state: Pages still load; saved items visible. Detail pages show gate: "This is a premium illustration — Unlock with Premium $9.95/mo." Favorites preserved indefinitely.
Reactivation: Click "Reactivate" →
/pricing. Choose any plan (not forced to same one). Stripe checkout; no new trial; charged immediately. After payment: subscription restored, "Welcome back" email sent. All Favorites and Collections immediately accessible.
Acceptance spec
Canonical: knowledge/acceptance/cancelled.md (CX-1 through CX-17).
ITW-specific adjustments:
- No chatbot/voice — "offline messaging" doesn't apply; access is simply gated by subscription status.
- Favorites and Collections preserved indefinitely; no auto-delete policy.
- Reactivation: no second trial, immediate access restore.
Success criteria
- Cancel via Stripe Customer Portal without support intervention.
- Confirmation email clearly states end date; access continues until then.
- Dashboard shows amber banner reminding of cancellation date (no pressure).
- After end date, Favorites and Collections still visible (data preserved).
- Premium illustrations show gate; saved items list remains intact.
- Reactivation one click away — all Favorites and Collections immediately accessible.
Known failure modes
-
Win-back email cadence unverified. Spec defines win-back at 7 and 30 days. Verify ITW's MailerLite campaigns are configured for these triggers.
-
Newsletter subscription interaction. Cancellation should NOT auto-unsubscribe from "This Sunday's top illustrations" MailerLite campaign. Stripe cancellation only affects the subscription; newsletter is separate.
-
Reactivation must not create a second trial. Stripe subscription object on reactivation must have
trial_period_days: 0. Verify this is enforced. -
Multiple cancellation cycles. After 2+ cycles, win-back emails should be suppressed per spec (CX-23). Monitor
cancellation_countin user metadata.