Answers · B2B SaaS
Stripe Failed Payments: When a Declined Card Cancels the Subscription and Lands in the Churn Report
Does Stripe cancel a subscription after a failed payment? Only when one setting says so. Stripe retries the charge on a schedule — its recommended default is 8 tries within 2 weeks — and when the last retry fails, the subscription follows the failed-payment setting in the Dashboard: cancel it, mark it unpaid, leave it past due, or pause it where eligible. With the first option, a card that expired on a paying account ends as a canceled subscription, and the monthly churn chart counts it next to the customers who chose to leave. Stripe itself keeps the difference on the record. This guide sets out what Stripe’s documentation says, re-read on October 17, 2026, what runs before the last retry and what does not, how to count last quarter’s failed-payment cancellations from the company’s own Stripe account, and which setting suits a sales-assisted B2B account.
By Tamara Stepanyan, founder of Lumina Business Advisory · Updated · Sources checked · Editorial standards
What Stripe does after a failed payment
Free self-check · two taps · no email
Hand-off 5 of 6 · Invoice → Payment
Choose the answer that sounds like your business.
That was one of six hand-offs where money changes hands, from first inquiry to collected cash. The other five take about three minutes and end in a dated sheet that names where to start.
A subscription payment that fails does not end the subscription on the spot. The subscription moves to past due, and Stripe Billing retries the charge. Stripe’s page on payment retries says its Smart Retries policy can be set to a number of tries within one week, 2 weeks, 3 weeks, one month or 2 months, and that “The recommended default setting is 8 tries within 2 weeks.” A custom schedule of up to three retries is the alternative.
Some failures are never retried. The same page lists the cases where Stripe does not retry: no payment method is available, the issuer returned a hard decline code, the card is India-issued, or a Connect account was disconnected. The hard decline codes include incorrect_number, lost_card, stolen_card and revocation_of_authorization; for these, scheduled retries continue but only execute once a new payment method is on file.
Then comes the decision that matters. In Stripe’s words, “If recovery fails, the subscription transitions according to your settings.” There are four outcomes:
- Cancel the subscription — the status becomes canceled after the last day of the retry schedule.
- Mark the subscription as unpaid — the subscription stays in place, invoices keep being generated and stay in draft, and no payment is attempted.
- Leave the subscription past due — invoices keep being generated and charged according to the retry settings.
- Pause the subscription — for eligible subscriptions, no new invoices are generated until it resumes.
“After the final payment attempt, Stripe makes no further payment attempts,” the page adds, and changing the setting affects only future retries. Whatever happened last quarter happened under the setting in force then.
Why “Cancel the subscription” turns a failed card into churn
Stripe’s subscription overview calls canceled “a terminal state that can’t be updated.” Canceling stops automatic collection of the outstanding invoices from that subscription, and a customer who wants to come back needs new payment details and a new subscription. On a monthly plan that is one lost charge; on a sales-assisted account it can be the end of a relationship nobody decided to end.
The good news is in the record itself. Every canceled subscription carries a cancellation_details field, and its reason separates three cases: cancellation_requested, “Canceled explicitly through the API or Dashboard”; payment_disputed, after a dispute was opened; and payment_failed, “Canceled automatically after payment failure, according to your billing settings.” Stripe knows which cancels were a decision and which were a declined card.
A churn chart built on status alone does not. If the report that reaches the founder counts canceled subscriptions, a customer who emailed to leave and a customer whose corporate card was reissued look the same. The first is a product or fit conversation. The second is a collections task that had a deadline — the last retry — and passed it with nobody assigned.
What runs before the last retry, and what does not
Stripe offers several recovery switches, and each one is optional. Its revenue recovery page names Smart Retries, customer emails, no-code automations and automatic card updates among them.
- Failed payment emails: with “Send emails when card payments fail” turned on, Stripe emails the customer after each failed payment, with a link to update the payment method.
- Expiring card emails: with “Send emails about expiring cards” turned on, Stripe sends an email “1 month before your customer’s card on file expires.”
- Automatic card updates: Stripe works with the card networks to update saved cards when an issuer replaces one. Its cards page says this is widely supported in the United States, that support abroad varies, and that “It isn’t possible to identify cards that support automatic updates.”
- Automations: Stripe publishes a recipe for annual subscribers — Smart Retries up to 8 times within 2 months, then an optional 7-day delay “as an additional grace period for manual outreach,” then cancel.
Every item on that list either retries a card or sends an email. None of them calls anyone. On a B2B account the email goes to whatever billing address sits on the customer record, which may belong to someone who changed roles since the contract was signed. Stripe’s own annual-subscriber recipe leaves a gap for manual outreach; whether a person fills it is a question for the company, not for Stripe.
How to count Stripe failed-payment cancellations in the company’s own account
The count takes an afternoon with read-only access, and it answers a narrower question than any benchmark: how much of last quarter’s churn was a declined card, and did anyone speak to those accounts first?
- List every subscription canceled last quarter, with its plan, billing interval and monthly amount.
- Split them by cancellation reason: payment_failed, cancellation_requested, payment_disputed. The field sits on each subscription record; a developer can pull it through the API with a restricted key that can only read.
- For each payment_failed cancel, note the final invoice, its attempt count and the decline: a hard decline needed a new card, a soft one might have cleared on a later try.
- Note whether the failed-payment and expiring-card emails were switched on at the time. Stripe keeps email logs on the Customers page for the last 60 days, so check recent cases first.
- From the CRM, take the date of the last human touch — call, email from a person, meeting — before the cancel date.
- Add the subscriptions sitting in unpaid or past due today: they have not churned yet, and they are the ones a person can still reach.
Illustrative example: a company finds 40 canceled subscriptions last quarter. Thirty were cancellation_requested; ten were payment_failed, worth $6,000 in monthly recurring revenue together. Four of the ten were annual accounts, and for none of them does the CRM show a human touch between the first failed charge and the cancel. The figure that matters is not ten cancels; it is $6,000 a month that left without a decision, and four phone calls that were never on anyone’s list.
Which setting fits a sales-assisted B2B account
There is no universal right answer, and Stripe does not offer one. Each outcome trades one risk for another. Cancel keeps the books clean and the product locked, at the price of ending accounts automatically. Unpaid keeps the subscription in place without charging it; Stripe’s overview says to revoke product access when a subscription is unpaid, and invoices keep generating as drafts that someone must later collect or mark uncollectible. Past due keeps billing and retrying, which suits a customer who will fix the card and can leave a departed customer accumulating open invoices. Pause stops new invoices for eligible subscriptions until the customer resumes.
Invoiced customers follow a different track. For subscriptions with collection method send_invoice, Stripe’s documentation describes reminders and an optional action 30, 60 or 90 days after an invoice becomes past due: cancel, mark unpaid or leave past due. An annual contract paid by invoice can be canceled by that setting just as a card plan can by the retry setting.
What a founder-led company can decide is who owns the window between the first failure and the last retry. One workable rule: any failed payment above a set monthly amount, or on an annual plan, goes to a named person the same day, with the account’s contract owner copied. Stripe’s automations can email the team when a high-value invoice is overdue; the call itself is still a person’s job.
How do you reduce SaaS churn from failed payments?
Reduce it by working failed payments before the last retry: let Stripe’s recovery tools collect what they can, and have a named person reach the accounts they cannot. Stripe describes Smart Retries as a way to retry failed payments “to prevent involuntary churn due to temporary issues,” and its Dashboard already shows which of the remaining accounts are worth a call.
Stripe’s revenue recovery overview in the Dashboard shows where the leak sits: failed payments and the failure rate on first attempts, the recovery rate, recovered volume split into retries, emails and other methods, and the top five decline codes. It also lists the top customers in recovery, whose payments failed and are still being retried, with the amount and how long each has been a customer. Stripe’s advice on that table: “Consider reaching out to these customers manually depending on their value to potentially save revenue.”
Switching the failed-payment setting from cancel to unpaid does not shrink the churn figure. Stripe’s Billing analytics counts a subscription that is canceled or marked unpaid as churn and takes it out of MRR, which includes only active and past due subscriptions. Unpaid keeps the account open to collection: Stripe’s API reference says that after a customer sends updated payment information, the company may choose to reopen and pay the closed invoices. Leaving subscriptions past due keeps them in MRR and in the active subscriber count while the invoice is still uncollected. A sequence that fits a founder-led company:
- Set a baseline: this quarter’s failure rate and recovery rate from the revenue recovery overview, plus the payment_failed count and the unpaid subscriptions from the count described above.
- Check the switches: where the recovery rate is lower than expected, Stripe’s own suggestion is to turn on its retries and failed payment emails, so confirm both are on before adding anything else.
- Give the table an owner: one named person opens the top customers in recovery table each week and calls the accounts above the company’s set threshold while Stripe is still retrying them.
- Compare next quarter: the same four figures side by side, before deciding whether the setting or the staffing needs to change.
When an outside review is not worth it — and where ours fits
If last quarter’s payment_failed cancels are zero or a rounding error, there is nothing here to buy. If the founder can run the count above in an afternoon, the founder should: the six steps need no consultant, and the answer belongs to the company either way. A dedicated failed-payment tool is a separate decision; it works continuously on what it is connected to, and it is a fine choice when the volume of small card failures is the whole problem.
Our Revenue Review is for a wider question. It reads one company’s own records once — Stripe or Chargebee, HubSpot, Salesforce or Pipedrive, and product analytics — through read-only access, and follows accounts across all six hand-offs, from the trial that ended with no human conversation to the card that failed and the renewal nobody worked. For a B2B SaaS RevOps consultant that is the job: a monthly dollar figure on each leak, a ranked list of fixes and a 90-day plan. It installs nothing and changes no Stripe setting. It takes two weeks, and the report is the company’s to keep. There are no client case studies on this site yet, and we would rather say so than invent one.
If the numbers suggest it, the next step is a free 20-minute call. Bring the payment_failed count; it is the fastest way to tell whether the rest of the Review is worth the fee.
Before any next step
What should you do next?
- Fix it yourselves.
- If the cause is clear, it lives inside one process, and one person can own it — take the play from this page and run it. That outcome is fine with us; it is why the play is published in full.
- Order one bounded build.
- If the fix is known but needs configuration or integration inside your stack — a cadence wired into your own system, an alert, a handoff — scope that one build, with us or with anyone you trust. The six systems we build show what bounded looks like.
- Start with the Review.
- If the causes are debatable, the problem crosses departments or systems, or the economics are unclear — diagnose before anyone builds. The Revenue Review: $4,500 fixed, two weeks, computed from your own records. Read a sample finding before you decide — free, no email.
Asked right after
- Does Stripe automatically cancel a subscription after a failed payment?
- Only if the failed-payment setting says so. After the last retry, Stripe moves the subscription to canceled, unpaid, past due or paused, depending on the option chosen in the Dashboard’s failed-payment settings. A subscription canceled this way carries the cancellation reason payment_failed, which separates it from a customer’s own request.
- How many times does Stripe retry a failed payment?
- It depends on the retry policy. Stripe’s documentation, read October 17, 2026, gives a recommended default of 8 tries within 2 weeks for Smart Retries, with windows from one week to two months. A custom schedule allows up to three retries. Stripe does not retry when there is no payment method or the issuer returned a hard decline.
- What is the difference between past due and unpaid in Stripe?
- Past due means payment on the latest invoice failed or was not attempted; invoices keep being generated and charged according to the retry settings. Unpaid is set only when the Dashboard setting selects it: the subscription stays in place, new invoices stay in draft, and Stripe attempts no payment. Stripe advises revoking product access for unpaid subscriptions.
- Why didn’t Stripe retry a failed payment?
- Stripe lists four cases: no payment method available, a hard decline code from the issuer, an India-issued card, or a disconnected Connect account. Hard declines include lost, stolen and incorrect-number cards. Retries stay scheduled, but they only execute after a new payment method is added.
- Does Stripe email the customer before a card expires?
- Only if “Send emails about expiring cards” is turned on. Stripe then emails the customer one month before the default card on file expires. Separately, automatic card updates through the card networks can replace a reissued card without any email, though Stripe says it cannot tell in advance which cards support that.
- How do you calculate SaaS churn rate?
- Divide what was lost during a period by what you had at its start: customers lost over customers at the start is logo churn, and monthly recurring revenue lost to cancellations and downgrades over starting MRR is revenue churn. For example, a company that starts a month with 200 customers and $50,000 in MRR, then loses 6 customers worth $1,500 and $500 more to downgrades, has 3% logo churn and 4% revenue churn. Stripe’s Billing analytics uses its own versions: subscriber churn rate divides subscribers churned in the past 30 days by active subscribers 30 days earlier plus new subscribers in those 30 days, so it comes out lower than a sheet that divides by starting customers only whenever new subscribers joined, and churned revenue adds churned MRR to contraction MRR. To see how much churn was a declined card, run the same division on payment_failed cancellations plus subscriptions marked unpaid, which Stripe counts as churn although they were never canceled.
Keep reading
Related answers
Sources
- Automate payment retries (Smart Retries) · Stripe Docs, 2026
- How subscriptions work (subscription statuses) · Stripe Docs, 2026
- The Subscription object (cancellation_details) · Stripe API Reference, 2026
- Revenue recovery · Stripe Docs, 2026
- Automate customer emails · Stripe Docs, 2026
- Cards overview (automatic card updates) · Stripe Docs, 2026
- Automation recipes · Stripe Docs, 2026
- Collection methods (failed recurring charges) · Stripe Docs, 2026
- Revenue recovery analytics · Stripe Docs, 2026
- Billing analytics (metric definitions) · Stripe Docs, 2026
The next step
Bring us the process that keeps getting stuck.
A 20-minute conversation about the workflow, the teams and the systems involved — and a straight answer on whether The Revenue Review is the right next step. If it is not, we say that on the call.
A real person answers or calls you back the same business day.