churnhook recovers the revenue Stripe loses.
What churnhook does
churnhook recovers the revenue your Stripe subscriptions lose, across three flows:
- Failed payments — when an invoice can't be charged, a dunning sequence follows up until it's paid, then stops on its own. See the Stripe dunning guide.
- Scheduled cancellations — when a still-live subscription is set to end at period close, a Leaving sequence can offer to keep the plan, apply a coupon, or pause billing before that date arrives.
- Voluntary cancellations — Stripe’s Customer Portal collects why they leave. A Leaving sequence can keep them; a win-back can start after they go. See the win-back guide.
Everything runs on your own Stripe account, through Stripe Connect. churnhook reads your customers and subscriptions, reacts to Stripe events, and never writes anything without your action.
Why Stripe-first
Most revenue-recovery tools try to support every billing platform at once. churnhook does the opposite: it only supports Stripe, and builds every mechanic — the connection, the decline-code logic, the win-back checkout — directly around what Stripe already exposes.
That trade-off shows up in the connection itself: churnhook uses Stripe Connect (OAuth), not an API key. You authorize access from Stripe and can revoke it at any time; no secret key from your account is ever stored.
How the recovery flow works
- You connect Stripe — a two-click OAuth, test mode first if you'd rather start there.
- A recovery event fires — a failed invoice starts Unpaid, a scheduled cancel starts Leaving, a hard cancel can start Win-back, once that flow is active.
- The customer gets an email on your brand, from your own domain once you verify it, linking to a page hosted by churnhook — updating a card, confirming they'll stay, claiming an offer, or confirming a pause.
- The goal is met when the invoice is paid, when the customer confirms they're staying, or when they pay the win-back checkout — and the sequence stops immediately.
Trust & security
No Stripe secret key ever touches churnhook's servers — the Connect OAuth flow is the only path in, and it can be revoked from your own Stripe dashboard at any moment. Before connecting a live account, a built-in simulation lab lets you run the entire recovery cycle — failed payments, saves, win-backs — against a Stripe test-mode account, so nothing goes live until you've seen it work end to end.
