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.
Free · no Stripe connection · about a minute
Already sold? Connect Stripe — ~10 min setup, 14-day Pro trial.
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

Connect Stripe once. Everything below runs automatically.
One Stripe Connect grant wires up everything below. No webhooks to host and nothing to build. 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.
Per-decline-code insights + mix forecast
A past-due dashboard with one-click actions on every open campaign.
Cancels
Your “Manage subscription” button opens a hosted save flow. Branch on the survey reason, then make a real offer, with 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 couple of weeks after someone leaves, Backstop emails them a link that drops them back onto their old plan. Their card is still on file, so there is 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.
The retention loop needs one snippet on your side. Pick whichever fits your stack; recovery and win-back run server-side with nothing to 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 and 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.
Everything else it does.
The three loops above are the product. These are the parts that make them usable in a real business, and every one ships on the $79 plan — there is no “Growth” tier holding the good parts back.
Revenue you already earned, kept
On the dashboard
Recovered-vs-lost over time, a decline-mix donut, and a ranked recovery feed. Your figures fill in from your own Stripe activity.
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
Fits 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.
$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
Check us out first.
We are asking for access to your live revenue, which is a lot to ask from a company you met five minutes ago. So everything below is something you can verify yourself instead of taking our word for it.
You're not charged until it pays for itself
Add your card and you are not charged. Backstop bills nothing until it has recovered at least $79 for you — we hold the subscription open automatically for as long as that takes, so if it never earns its fee, you never pay it. You don't have to take our word for whether it worked: your dashboard shows the recovered figure, and it counts only payments Backstop actually brought back — retries and card updates — not invoices that would have cleared on their own. If you are ever billed before that bar is met, email hello@trybackstop.com and we'll refund it in full.
See the numbers before you connect
Run the audit on your own Stripe export and get your real failed-payment figure. It is parsed in your browser and never uploaded — there is no upload endpoint on that page at all.
Run the free auditWatch it run before you sign up
A populated recovery dashboard and a working save-flow builder, on sample data, with no account. Toggle an offer and the customer-facing flow changes in front of you.
Open the live demoExactly what the grant does
It retries invoices and applies the offers you configure, on your account. It cannot pay us. It is encrypted at rest, never logged, and you can revoke it from Stripe's connected-apps page in one click without asking us.
Read the security pageOr don't use OAuth at all
Paste a restricted Stripe key you scope yourself. Set refunds, payouts, balance and transfers to No access and Backstop is technically unable to touch them — enforced by Stripe, not merely promised by us.
How scoped keys workWe're new, and we'd rather say so.
Backstop launched recently, so there is no logo wall here and no testimonials. We could have borrowed some — plenty of tools our size do — but a quote you can't verify is worth less than an empty space you can trust. What we can offer instead is a product you can inspect before paying: a free audit that needs no account, a demo that needs no signup, a documented security posture, and flat $79/mo pricing with no revenue share and no annual contract, so leaving costs you nothing but a click.
Compared with 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, without 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, with 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.
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, saving 20%), no revenue share, ever. The features that matter are all here: A/B-tested save offers, dunning, custom domain, locale-aware versioning. 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 grant, 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. On the OAuth path we store no credential at all — only your Stripe account id; if you connect with a scoped key instead, that key is encrypted at rest and never logged. 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.
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
