Updated June 2026

Stripe Failed Payment Rate: What's Normal and How to Reduce It

Stripe payment failures are a revenue leak in every subscription business. Here are the benchmarks, the decline codes to know, and the actions that actually move the number down.

9-15%

Of payments fail monthly

~35%

Are soft declines (retryable)

20-30%

Recovered by Stripe retries

57%

Recovered with dunning

Benchmarks

What is a normal Stripe failed payment rate?

Industry estimates consistently put the overall SaaS subscription failure rate at 9-15% of MRR per month. The range is wide because it depends heavily on your customer type, card mix, and average plan price.

Segment
Monthly failure rate
Primary driver
B2C SaaS
11-15%
Consumer card expiry, low billing awareness
B2B SaaS (SMB)
7-10%
Card limit changes, business closures
B2B SaaS (Enterprise)
3-6%
Corporate card replacement cycles
Annual billing
2-4% per renewal
Cards expired since last charge
Low ACV (<$20/mo)
Higher
Consumer debit cards, prepaid cards
High ACV (>$200/mo)
Lower
Credit cards, AP-managed billing

Decline codes

The most common Stripe decline codes

Stripe returns a decline code on every failed charge. The code tells you whether the failure is retryable or requires customer action. Here are the most frequent ones and how to handle each.

generic_declineSoft

Retry in 24-48h. Usually a temporary bank block.

insufficient_fundsSoft

Retry when card likely replenished (3-5 days). Email customer.

do_not_honorSoft

Bank rejected without reason. Retry once; if fails, email customer.

card_velocity_exceededSoft

Too many charges in a short period. Retry after 24h.

expired_cardHard

Card past expiry date. Customer must update card — send email immediately.

incorrect_cvcHard

Customer entered wrong CVC. Send card update link.

card_not_supportedHard

Card type not supported. Customer must use different card.

lost_card / stolen_cardHard

Do not retry. Customer must use a different payment method.

fraudulentHard

Flagged by issuer. Customer must contact bank and update card.

Stripe's built-in retries

How Stripe Smart Retries work

Stripe Smart Retries is a free feature that automatically retries failed payments using ML-optimized timing. It analyzes the decline code, time of day, card type, and historical patterns to pick the best retry window.

Smart Retries recovers roughly 20-30% of failed payments. It is a necessary foundation but not sufficient on its own because it has no customer-facing component: if the failure requires a card update, retries alone will not fix it.

Configure in Stripe: Settings > Billing > Retry schedule

Enable Smart Retries (ML-optimized) or set a fixed schedule (Day 1, Day 3, Day 5, Day 7 is a common starting point).

Set what happens if all retries fail: cancel subscription immediately, or leave in past_due state so your dunning tool can continue outreach.

Recommendation: set final action to "Leave subscription past_due" so your email sequences have time to reach the customer before the subscription is canceled.

Reduce your rate

How to reduce your Stripe failed payment rate

01

Enable Smart Retries

Free. Recovers 20-30% of failures automatically. Required baseline. Enable in Stripe Settings > Billing.

02

Send branded dunning emails

Day 1/3/7 emails from your domain with a clear card update link. Adds another 20-30% recovery on top of retries. Deliverability matters: Stripe's built-in emails come from stripe.com and hit spam filters.

03

Host a card update page

A page where customers can update their card and trigger an instant retry. Reduces time-to-recovery from days to minutes for customers who respond to email.

04

Add trial ending reminders

Send an email 3 days before a free trial ends prompting customers to add their card. Prevents the initial billing failure that causes many subscription cancellations.

05

Send renewal reminders for annual plans

Email 14 days before an annual renewal so customers can update expired cards before the charge hits. Prevents hard failures on high-value billing events.

06

Use card updater services

Visa Account Updater and Mastercard Automatic Billing Updater automatically refresh card details when issuers reissue cards. Stripe enables this by default for eligible cards.

Start recovering more failed payments today.

SubRevival automates the full recovery sequence: retry on card update, branded Day 1/3/7 emails, card update page, trial and renewal reminders. From $19/mo.

Start Recovering Revenue$19/mo flat. 5-minute setup. 21-day guarantee.

FAQ

Stripe failed payment rate: FAQ

What is the average Stripe failed payment rate for SaaS?

Most SaaS businesses see between 9-15% of subscription payments fail each month. B2C is higher (11-15%) because consumer cards expire more frequently and customers don't notice failed payments as quickly. B2B is lower (5-9%) because corporate cards are more stable and billing teams are attentive.

Which Stripe decline code is most common?

The most common decline codes are generic_decline, insufficient_funds, and do_not_honor. Generic declines are often temporary bank blocks that resolve on retry. Insufficient funds and do_not_honor tend to be harder to recover and usually require customer action to update their payment method.

Does Stripe retry failed payments automatically?

Yes. Stripe Smart Retries uses ML to pick optimal retry timing based on the failure reason. By default it tries up to 4 times over a configurable period (3-30 days). You can configure the retry schedule in Settings > Billing. Smart Retries alone recover roughly 20-30% of failed payments.

How long does Stripe wait between retries?

Stripe's retry timing is dynamic and based on the decline code. For soft declines (likely to clear), it retries sooner. For hard declines, it waits longer. The default dunning schedule is Day 1, Day 3, Day 5, Day 7 — but with Smart Retries enabled, the actual timing is ML-optimized per transaction.

Can I see my failed payment rate in the Stripe dashboard?

Yes. Go to Billing > Subscriptions and filter by status to see past_due and incomplete subscriptions. You can also go to Payments > All payments and filter by outcome to see declined charges. The Revenue Recognition report shows involuntary churn as a line item if you have access to it.

What is the difference between a soft decline and a hard decline?

A soft decline is a temporary failure where the card could work if retried — common codes include insufficient_funds, do_not_honor, and generic_decline. A hard decline is a permanent failure where retrying will not help — common codes include card_not_supported, invalid_account, and stolen_card. Soft declines can be recovered with retries and emails; hard declines require the customer to update their payment method.

Related guides

Turn failed payments into recovered revenue.

SubRevival handles the full sequence so you do not have to: retries, emails, card update page, renewal reminders. 5-minute Stripe setup.

Start Recovering Revenue$19/mo flat. 5-minute setup. 21-day guarantee.