FlyCode vs
Stunning
Stunning is dunning software for Stripe: you write up to eight failed payment emails and SMS, it sends them on a schedule alongside Stripe's retries, and you pay a flat monthly fee tied to your MRR. FlyCode is a revenue recovery platform that replaces the retry logic from the first attempt with per-merchant machine learning trained on Visa and Mastercard network data, retries backup cards automatically, and sends email and SMS only when the retries need help.
In partnership with

Quick answer
Stunning is failed payment recovery software for Stripe, in market since 2012, with Foxy and Subbly supported at a reduced feature set. It replaces Stripe's one failed payment email with up to eight of your own, adds SMS, an in-app notice, pre-dunning for expiring cards, a card update page on your domain and a win-back sequence after Stripe marks a subscription unpaid, and charges a flat monthly fee based on MRR rather than a share of recovery. It keeps Stripe's retries on and adds its own on top over up to 21 days, has no per-merchant machine learning, no card network partnerships, backup cards only if the customer adds a second one, no trial recovery and no cancellation flows, and publishes lifetime totals rather than a rate above a baseline. FlyCode is a revenue recovery platform for failed payments and involuntary churn: Recover, Reach, Retain and AI Agents. It replaces the retry engine from the first attempt with per-merchant ML trained on Visa and Mastercard network data, retries other valid cards already on file, coordinates email and SMS with the retries, and charges only on revenue recovered above your baseline, with results of 19% to 27% above the Stripe Smart Retries baseline. It also includes Trial Recovery, the only product in the industry that recovers the first payment when a free trial converts and the charge fails, and runs on Stripe, Chargebee, Shopify, Recharge, Skio and Loop.
FlyCode vs Stunning
| What matters | FlyCode | Stunning |
|---|---|---|
| Best for | SaaS, AI and eCommerce subscription businesses on Stripe, Chargebee, Shopify or Recharge that want a measurable lift in recovered revenue and pay only on results | Small and mid-size Stripe subscription businesses that want to write their own failed payment emails and SMS, pay a flat monthly fee, and keep Stripe's retries as they are |
| Scope | Revenue recovery platform for failed payments and involuntary churn: Recover, Reach, Retain and AI Agents | Dunning software for Stripe: up to eight emails and SMS per failure, pre-dunning for expiring cards, a card update page, win-back emails after Stripe gives up, plus lifecycle emails. Also Foxy and Subbly with fewer features |
| Model | Per-merchant ML trained on your own transactions and on Visa and Mastercard network data through FlyCode's partnerships with both networks. The network data is what the model learns from; compliance with their retry rules comes with it | Template and schedule rules you configure. No per-merchant machine learning and no card network partnerships |
| Retry engine | Replaces the native retry schedule with its own decision layer | Stacked. Stunning says to keep Stripe's retries on; its own retries run on top of them over up to 21 days, which is the over-retry pattern issuers penalize |
| Backup payment method | Yes. Retries other valid cards on file when the primary fails | Only if the customer adds a second card. Stunning asks for one with a discount you fund, then switches to it when the main card fails |
| Free trial payment recovery | Yes. Trial Recovery catches the first failed charge when a trial converts. The only product in the industry built for trial payment recovery | No. Stunning sends a reminder before a trial ends but does nothing specific when the first charge after a trial fails |
| Dunning compliance | Built in. Because the model is trained on Visa and Mastercard data, every retry already fits their rules: one attempt count per card across your stack, issuer-aware timing, no excessive-reattempt fees | Not addressed. Stunning adds retry attempts on top of Stripe's schedule, so staying within Visa and Mastercard retry limits is on you |
| High-value and extended recovery | Priority Recovery surfaces the highest-value failures first with a live VIP queue and human-in-the-loop. Dynamic Recovery extends past the billing platform's fixed window and carries invoices over | Partly. High-value customers can be flagged and get their own templates, and a win-back sequence continues after Stripe marks the subscription unpaid. No value-based retry prioritization |
| Revenue leak monitoring | AI agent watching your billing 24/7 for misconfigured plans, discounts that never expired, entitlement gaps and refund spikes, with auto-fix and human-in-the-loop | Not offered. Slack alerts and a weekly report cover failed payments only |
| Customer outreach | Email and SMS from your domain, timed to the customer's local time and coordinated with the retry schedule, plus reactivation win-back after a cancellation and AI agents for complex cases | The core product: up to eight emails and eight SMS written by you, an in-app notice, CCs to billing contacts, abandoned-page follow-ups. Sent on a fixed schedule, not coordinated with retry outcomes |
| Cancellation flows | No. Keep your existing cancel flow tool | No. Sends a confirmation when a customer cancels, but no cancel flow or save offers |
| Billing systems | Stripe, Chargebee, Shopify, Recharge, Skio, Loop, plus multi-processor orchestration | Stripe through Stripe Connect, plus Subbly and Foxy with a reduced feature set. No Chargebee, Shopify, Recharge, Skio or Loop |
| Pricing | Pay only on revenue recovered above your baseline. No seats, no minimums | Flat monthly fee based on your MRR, from about $60 a month, no percentage of recovery. Managed Recovery is a separate monthly fee after a paid audit |
| Published recovery results | 19% to 27% above the Stripe Smart Retries baseline depending on segment, with 5% to 9% ARR lift. Case studies: Capsho 63% to 91%, Gardencup 62% to 82%, GitBook 8% ARR | Stunning cites $13 billion recovered across 14 years and says customers recover 10 to 30 times what they pay. No recovery rate against the Stripe baseline is published |
| Setup | Stripe app, Chargebee app or API keys. Most customers go live in hours | Connect Stripe, edit the email templates, turn off Stripe's own failed payment emails. 15-day free trial |
Updated November 2026. Stunning details come from stunning.co, including the features page, the Stripe versus Stripe plus Stunning table, the flat MRR-based pricing slider, the Managed Recovery and audit pages, and the $13 billion and 10 to 30 times figures as stated there. FlyCode figures come from the FlyCode Stripe failed payment recovery benchmark. Stunning's exact monthly price depends on your MRR; verify directly.
What each product does
FlyCode is a revenue recovery platform for failed payments and involuntary churn: Recover, Reach, Retain and AI Agents. Recover replaces the native retry schedule with a per-merchant model trained on your own transaction history and on Visa and Mastercard network data, retries other valid cards on file when the primary fails, catches failed trial conversions, and enforces network retry rules. Reach coordinates email and SMS with the retry schedule and wins back cancelled customers. Retain prioritizes high-value accounts, extends recovery past the billing platform’s window and sets the rules for what happens when recovery runs out. AI Agents watch your billing around the clock for revenue leaks and route payments across providers. It runs on Stripe, Chargebee, Shopify, Recharge, Skio and Loop, and pricing is on recovered revenue above your existing baseline.
Stunning is dunning software for Stripe that has been in market since 2012, with Foxy and Subbly supported at a reduced feature set. Its advice is to keep Stripe’s retries on and switch Stripe’s customer emails off: Stunning then sends up to eight failed payment emails and SMS you write yourself, each more urgent than the last, CCs every billing contact, shows a notice inside your app, warns about expiring cards at 30, 15 and 7 days, links to a card update page on your own domain, and keeps sending a win-back sequence for months after Stripe marks the subscription unpaid. It can ask customers to add a backup card in exchange for a discount and charge it when the main card fails, and it adds its own retries on top of Stripe’s over up to 21 days. Pricing is a flat monthly fee tied to your MRR with no share of recovery, and a Managed Recovery service has Stunning’s team run it for you after a paid audit. There is no per-merchant model, no card network partnership, no trial recovery and no cancellation flow, and the published figures are lifetime totals rather than a rate above a baseline.
When Stunning is the better fit
Pick Stunning if the messages are your problem. A small Stripe business whose customers get one generic Stripe email and ignore it will see an improvement from eight well-written ones, SMS and an in-app notice, and the flat fee is easy to budget. It is also one of the few options on Foxy or Subbly, and the Managed Recovery service suits a team that wants a person watching the inbox. The trade is that the retries, which recover most failed payments silently, stay exactly as Stripe runs them, and Stunning’s extra attempts stack on top of that schedule rather than improving it.
When FlyCode is the better fit
Pick FlyCode if you want the failed payment recovered before anyone has to read an email. A model trained on your transactions and on Visa and Mastercard network data decides each retry from the first attempt, other valid cards already on file are tried without asking the customer to add one, and email and SMS go out only when the retries need help, timed to the customer’s local time. That moves the recovery rate on the silent majority, keeps one schedule within network rules, and is charged only on the lift above your baseline. It is also the only option of the two for trial recovery, high-value prioritization, revenue leak monitoring, and billing through Chargebee, Shopify, Recharge, Skio or Loop.
Can you run both?
Not for retries. Stunning’s retries would stack on FlyCode’s schedule the same way they stack on Stripe’s, and two systems retrying the same card is what issuers penalize. Keeping Stunning for its email templates alone is possible, but FlyCode’s Reach already sends email and SMS coordinated with the retry outcome, which a fixed sequence cannot do, so most teams switch rather than combine.


















