stolen_cardhighAffects MRR

Stripe stolen_card Error — Causes, Fix & MRR Impact

The Stripe stolen_card error occurs when the card has been reported stolen by the cardholder and the issuer declines all transactions, causing failed charges and MRR risk for SaaS businesses processing subscription payments.

What this means

The bank says this card was reported stolen and is blocked. Show a generic decline message and ask the customer to use another card or update their payment method.

Why it happens

Cardholder reported card stolen

The customer reported the card stolen to their bank; the issuer blocks all new charges on that card.

New card not yet on file

The customer received a replacement card but has not updated it in your billing system, so renewals still hit the old card.

Recurring charge on cancelled card

Saved payment method is the stolen card; the customer must add the replacement card to continue their subscription.

Issuer block after fraud report

The issuer declined based on their internal fraud or block list; no further detail is provided to the merchant.

MRR Impact

Charges fail until the customer adds a new card. Generic messaging and a clear update flow protect MRR and security.

Stolen card declines require a new card on file; generic handling and strong update flows protect MRR and security.

Avg. recovery rate: Recovery depends on prompting card update; avoid exposing 'stolen' to the customer.

Urgency: within 24h

How to fix it

  1. 1

    Treat as generic decline in UI

    When decline_code is stolen_card, do not show this to the customer. Display a generic message: 'Your card was declined. Please try another card or update your payment method.'

  2. 2

    Offer payment method update

    Provide a direct link or modal to add a new card or choose another payment method. Make the flow simple so the customer can fix the issue quickly.

  3. 3

    Send neutral dunning email

    Email the customer that the payment could not be completed and ask them to update their payment method. Do not mention stolen or lost card.

  4. 4

    Do not retry the same card

    Retries will not succeed. The only path to recovery is the customer adding a new card or another payment method.

  5. 5

    Log internally only

    Store decline_code in logs and analytics for reporting; never expose stolen_card in customer-facing content or support scripts.

Detect stolen_card automatically

Track stolen_card volume with lost_card for card-lifecycle analytics; keep messaging generic in all touchpoints.

Monitor your Stripe health free →

FAQ

What does Stripe stolen_card mean?
The stolen_card decline code means the cardholder reported the card as stolen to their issuer. The bank blocks the card. Stripe recommends you do not show this reason to the customer; display a generic decline message and ask them to use another card or update their payment method to protect security and UX.
Should I retry a stolen_card decline?
No. The same card will keep declining. Recovery requires the customer to add a new card or use a different payment method. Send a neutral dunning email and in-app prompt to update payment without mentioning stolen card.
How does stolen_card affect my SaaS MRR?
Each failed charge reduces MRR until the customer updates their payment method. By showing a generic message and making the update flow easy, you maximize the chance they add a new card and retain their subscription.
Can I use stolen_card in support or logs?
Use it only in internal logs and analytics. Do not display it in the UI, in emails to the customer, or in support scripts that might be read aloud. This avoids security and privacy issues.

Related errors