Stripe recovery + retention
Keep the revenue you already earned.
Backstop recovers failed Stripe payments and saves canceling subscribers — smart retries, dunning, a hosted save flow, and one-click win-backs. Flat $79/mo. No revenue share, ever.
~10 min setup · no sales call · 14-day Pro trial

What your customer sees
A save offer on your brand, the moment they go to cancel.
When a subscriber hits cancel, they land on a hosted flow wearing their brand, not ours: a short survey, an optional proof step, then a targeted offer — a Stripe coupon or a paused subscription. Accept it and they’re saved on the spot. And because it’s Easy-cancel compliant (ROSCA + state auto-renewal laws), a one-tap exit is on every step.
- Steps
- survey → offer → confirm
- Branding
- your logo + domain
- Exit
- one-tap cancel

How it works
Connect Stripe once. Three loops run automatically.
One Stripe Connect grant wires up every loop below. No webhooks to host, no engineering — recovery, retention, and win-back all run off the same connection.
Failed payments
Decline-code rules you can read — not a black-box model. Soft declines get the +3 / +5 / +7 retry cadence; hard codes get one polite retry, then dunning.
Smart retries, decline-aware
Capped at 6 attempts in 30 days, inside Visa safe-harbor.
4-touch dunning · days 0 / 3 / 7 / 14
Sent from your own verified domain (SES / Resend).
Hosted card-update on every link
Auto-closes the moment invoice.paid lands mid-flight.
Cancels
Your “Manage subscription” button opens a hosted save flow. Branch on the survey reason, then make a real offer — no webhook wiring. The cancel exit stays one tap away.
Survey → Save Stories → Offer → Confirm
A short proof step before the ask. Branch by reason.
Discount, pause, gift months, or plan-switch
Stripe coupons + pause_collection, applied for you.
Cancel-as-easy-as-signup by default
A one-tap “Cancel anyway” on every step — no dark patterns.
The ones who left
A cancel doesn’t have to be the last word. A couple weeks out, Backstop emails the customer a link that drops them back onto their old plan — their card is still on file, so there’s nothing to re-enter. The ones who come back show up in your numbers.
Back on their old plan in one tap
A signed link in the email re-subscribes them — no signup flow, no card re-entry.
The email knows why they left
Too pricey, a missing feature, off to a competitor — the copy adapts, and a second touch follows.
Reactivations land in your dashboard
Who came back, when, and what it was worth — attributed automatically.
Wire it in your way
The retention loop needs one snippet on your side. Pick whichever fits your stack — the other two loops run server-side with no install.
embed.js modal
One line of JS — the save flow opens on your own domain.
Hosted redirect
No SDK. Point a link at the hosted portal and you are done.
AI-agent prompt
Paste our prompt into Claude Code or Cursor; it wires the snippet.
A scoped, read_write Connect grant — so the loops can actually act.
Recovery and retention have to retry invoices, apply coupons, pause, and switch plans — that needs write access, not read-only. We never see your secret key, the grant is encrypted at rest and never used to move money to us, and you can revoke it from Stripe's connected-apps page in one click.
The whole kit
One loop: recover, retain, win back.
Everything below ships on the $79 plan — no “Growth” tier holding the good parts back. Stripe-native, read in via webhooks, acting through a scoped read_write Connect grant you can revoke from Stripe in one click.
Smart retries that respect the card networks
Soft declines get the +3 / +5 / +7-day cadence; hard codes get one polite retry, then escalate to dunning. Capped at 6 attempts in 30 days so you never trip Visa's safe-harbor. “Smart” means decline-code rules you can read, not a black box.
- Decline-category aware schedules
- 4-touch dunning at days 0 / 3 / 7 / 14
- Hosted card-update on every email link
- Auto-cancel when invoice.paid lands mid-flight
- Per-decline-code insights + mix forecast
- A past-due dashboard with one-click actions
Revenue you already earned, kept
On the dashboard
Recovered-vs-lost over time, decline-mix donut, and a ranked recovery feed — your figures fill in from your own Stripe activity.
One tap to reactivate after they leave
The post-cancel email carries a no-login reactivate link — one click restarts the subscription on the same plan. You see who came back, when, and which reason they left with.
- No-login reactivate link in the post-cancel email
- Win-back tracking: who reactivated, when, why
Emails send from you, not from us
Verify a send domain and recovery + win-back mail goes out with auto-DKIM/SPF from your address. Brand the copy, edit it per variant, and ping Slack or Discord on every save and loss.
- Verified send domain, auto-DKIM/SPF
- Email branding + per-variant copy editor
- Slack / Discord alerts for saves + losses
Three ways in — pick one
- embed.js modalOne line, opens on your own domain.
- Hosted redirectNo SDK — link out to a hosted page.
- AI-agent promptPaste into Claude Code or Cursor; it wires the snippet.
Built to run alongside the rest of your stack
- REST API: campaigns, customers, sessions
- Outbound webhooks for every event
- API tokens with rotate + per-token rate limits
- Audit log for every admin action
- GDPR per-customer data export
- Workspace health score (0–100 composite)
- Multi-currency display + static FX
- Connect grant encrypted at rest, revocable
New workspaces start on a 14-day Pro trial; the free tier then covers 10 recovery campaigns / month — a campaign is one failed-invoice recovery sequence. The full list above is included on $79. See how it works.
Pricing
$79 flat. 0% of your revenue.
Churnkey's entry tier is $250/mo— five percent of your MRR if you're at $5k. Paddle Retain is “free” only if Paddle becomes your merchant of record and takes a cut of every transaction. Stunning's UI is from 2013. We charge seventy-nine bucks, whether you recover $200 or $20,000. If we don't earn that fee back, you should fire us.
Free
$0forever
For trying Backstop on a side project. Same recovery + retention loop, capped at the volume a hobby SaaS actually generates.
- 10 recovery campaigns / month
- Decline-aware smart retries + 4-touch dunning
- Hosted card-update pages
- Backstop-branded send domain
- Email + Slack support
Pro
the full kit$79/ mo, flat
or $759/yr — save 20%
Every feature, no revenue share, no per-seat charges, no “Enterprise” upsell. New workspaces start on a 14-day Pro trial.
- Unlimited recovery campaigns
- Unlimited cancel flows + A/B-tested save offers
- Custom send domain + custom portal domain
- Hosted portal that replaces Stripe’s billing portal
- Outbound webhooks + REST API
- Audit log + GDPR export + cohort retention
The math
Same recovery + retention outcomes. What the incumbents charge to get there:
Publicly listed pricing, mid-2026. Enterprise tiers may differ.
No card for the free tier · 14-day Pro trial · cancel in one click
vs Churnkey
Same loop. Honest about the trade.
Churnkey set the bar for recovery plus cancel flow, and it goes wider than we do. We run the same loop, lean Stripe-native, and undercut the price. Here's where each tool actually pulls ahead — no spec-sheet padding.
Backstop’s edge
- A full hosted portal that replaces Stripe’s billing portal — pause, switch plan, update card, and cancel all route through your save flow.
- Recovery + dunning email sent from your own verified domain, included on the $79 plan.
- $79/mo flat with a real free tier (10 recovery campaigns/mo) — no $250 floor, no annual contract to start.
- Stripe-only, so setup is one OAuth click and about ten minutes — no processor matrix to configure.
Churnkey’s edge
- Multi-processor: Stripe, Chargebee, Paddle, Braintree, Maxio — not Stripe-only (though only Stripe gets their failed-payment recovery).
- SMS in the dunning mix, which Backstop deliberately doesn’t ship.
- AI Adaptive Offers that auto-tune discounts, plus an Account Agent and Feedback AI.
- An open-source SDK (MIT) and a free MCP server for developers.
Frequently asked
What founders ask before signing up.
The straight answers on cost, your Stripe data, and how fast you can ship. No revenue share, no sales call.
How is this different from Churnkey or ProsperStack?
Same recovery + retention loop, dramatically smaller bill. Churnkey starts at $250/mo (and scales with MRR); ProsperStack quotes annual contracts. We charge a flat $79 (or $759/yr — save 20%), no revenue share, ever. The features that matter — A/B-tested save offers, dunning, custom domain, locale-aware versioning — are all here. One thing even Churnkey doesn’t do: we ship a full hosted customer portal that replaces Stripe’s billing portal, so pause / switch-plan / update-card / cancel all route through your save flow.
Do you take a percentage of recovered revenue?
No — never a cut of what you recover. (Paddle Retain runs on Paddle’s merchant-of-record pricing — 5% + 50¢ per transaction.) We charge the same flat $79 whether you recover $200 or $20,000 — you did the work to get the customer. If we don’t earn that fee back, you should fire us.
What happens to my Stripe data?
We mirror customers + subscriptions into our database via webhooks, so we don’t proxy reads at runtime. We hold a read_write Connect token — used only to take the recovery and retention actions you configure (retry an invoice, apply a coupon, pause, cancel, switch a plan), never to move money to us. It’s encrypted at rest. Disconnect any time from Stripe’s connected-apps page; that revokes our access immediately.
How long does setup take, and how do I install it?
About ten minutes end-to-end: ~5 for the Stripe OAuth, ~3 to pick a starter template, ~2 to wire it into your app. Three install paths, your pick — a one-line embed.js modal on your own domain, a no-SDK hosted redirect link, or an AI-agent prompt you paste into Claude Code / Cursor. Then verify a send domain (plus DNS). Most operators ship their v1 cancel flow same-day. Backstop is Stripe-only — no SMS, no other billing systems.
Is the cancel page Easy-cancel compliant (ROSCA + state auto-renewal laws)?
Yes. Every step of the flow shows a one-tap “Never mind / Cancel anyway” exit. We don’t allow flows that bury the cancel button behind required survey answers — that’s the whole point of easy-cancel (ROSCA, state auto-renewal laws, and the EU cancel button), and it’s enforced in the builder.
What does the $79 plan actually include?
Everything we ship: A/B-tested save offers (2–4 arms, per-arm save-rate readout), one-click win-back reactivation, the Save Stories proof step, offers (discount / pause / gift free months / downgrade / schedule call), the hosted portal that replaces Stripe’s billing portal, custom portal domain, locale-aware versioning, outbound webhooks, REST API, audit log, and GDPR export. Every new workspace gets a 14-day Pro trial; the free tier then covers 10 recovery campaigns/month. No “Growth” or “Enterprise” tier holds anything back.
Have a question we didn’t answer? Send it our way — we read everything.
Get started
Stop leaking revenue you already earned.
Connect Stripe, pick a template, and your recovery loop and save flow are live. Flat $79/mo — no revenue share, ever.
~10 min setup · no sales call · 14-day Pro trial