All recovery guides

Failed-payment guideStripe decline reason: card_declined

How to recover generic card_declined failed payments in Stripe

The bank said no and won't say why. How to work generic card declines: what to rule out, when to ask for another card, and the recovery email to send.

What card declined means

The catch-all decline: the issuing bank refused the charge without a specific reason Stripe can share. It can be fraud heuristics, a frozen card, a spending limit, or a bank-side rule about recurring charges.

Why it happens

  • The bank's fraud model blocked an online or cross-border recurring charge.
  • The card was frozen, reported, or hit a spending control.
  • Some issuers decline merchant categories or foreign merchants by policy.

What Stripe does on its own

Stripe retries generic declines on its smart schedule, and some clear on their own once the bank's block lifts. Repeated identical declines mean the bank's answer is settled — more retries won't change it.

The recovery playbook

  1. Let one Stripe retry pass. If it fails again, the bank is saying no on purpose.
  2. Email the customer and name the likely fix directly: call the bank to approve the charge, or use a different card via the invoice link.
  3. Suggesting 'contact your bank or try another card' outperforms asking them to guess what went wrong.
  4. Watch for the same customer declining across multiple months — that pattern is a retention-risk signal, not just a payment problem.

Middling recovery odds that improve sharply when the email offers two concrete paths (bank call or new card) instead of a generic 'please update billing'.

The email to send

This is the exact template MRRdue's recovery assistant suggests for card_declined cases — copy it, swap the details, and send it from your own address.

Subject: Action needed to keep your subscription active

Hi Alex,

Your $49.00 subscription payment is still unpaid, and we want to help you avoid an interruption.

You can use Stripe's secure payment page to update the payment method and retry the invoice:
https://invoice.stripe.com/i/…

If anything looks wrong, reply to this email and we will take a look.

Thanks,
Your SaaS

More variants (and retention-risk templates) in the free recovery email template gallery.

Stop working declines from a spreadsheet

MRRdue imports your failed payments with a read-only Stripe key, ranks them by recoverable dollars and decline reason, and drafts this email for every case — you stay the sender.

View live demo Estimate your leak