lost_cardhighAffects MRR

Stripe lost_card Error — Causes, Fix & MRR Impact

The Stripe lost_card error occurs when the cardholder has reported the card as lost and the issuer has frozen it, causing declines and potential MRR loss for SaaS businesses processing subscription payments.

What this means

The bank says this card was reported lost, so it's blocked. Don't tell the customer the exact reason; ask them to use another card or update payment method.

Why it happens

Cardholder reported card lost

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

Replacement card not yet updated in your system

The customer may have a new card but has not updated it in your app, so you are still charging the old (lost) card.

Recurring charge on old card

Subscription or saved payment method is still the lost card; the customer needs to add the new card.

Issuer proactively blocked after loss report

The issuer declined based on their internal flag; no additional detail is needed for the merchant.

MRR Impact

Charges fail until the customer updates to a new card. Presenting a generic decline and strong update flow protects MRR.

Lost and stolen card declines are common; handling them as generic and driving card updates protects MRR and reduces confusion.

Avg. recovery rate: Recovery depends on prompting card update; many customers will add a new card if the flow is clear.

Urgency: within 24h

How to fix it

  1. 1

    Map lost_card to generic decline in UI

    In your error-handling logic, when decline_code is lost_card (or stolen_card), do not display that reason. Show a generic message such as 'Your card was declined. Please try another card or update your payment method.'

  2. 2

    Prompt for new payment method

    Provide a clear path to add a new card or select another payment method. Link to your billing or payment settings page and pre-fill the context (e.g. 'Update payment to keep your subscription active').

  3. 3

    Send one-time dunning email

    Send an email that the payment did not go through and ask the customer to update their payment method. Do not mention lost or stolen card; keep the message neutral and action-oriented.

  4. 4

    Do not retry the same card

    Unlike insufficient_funds, retrying the same card for lost_card will not succeed. Only recovery path is the customer adding a new card or method.

  5. 5

    Log for analytics only

    Log decline_code for internal analytics and recovery reporting, but never expose lost_card or stolen_card in customer-facing copy or support scripts.

Detect lost_card automatically

Track volume of lost_card (and stolen_card) to monitor card turnover; use for forecasting and dunning strategy.

Monitor your Stripe health free →

FAQ

What is the Stripe lost_card decline code?
lost_card means the cardholder has reported the card as lost to their bank. The issuer freezes the card and declines new charges. Stripe recommends you do not show this specific reason to the customer; present a generic decline message and ask them to try another card or contact their bank.
Why should I not show lost_card to the customer?
Displaying that the card was reported lost can confuse customers who have already replaced their card or create unnecessary concern. It can also signal to bad actors that a card is compromised. A generic message protects UX and security while still prompting a card update.
How do I recover revenue when I get lost_card?
Treat it like other card declines: ask the customer to use a different payment method or update their card. Send a billing update link and dunning email. Do not retry the same card; recovery depends on the customer adding a new card.
Does lost_card affect my Stripe Radar or dispute rate?
Lost card declines are issuer-driven and do not by themselves increase your dispute rate. Handling them with a generic message and clear update flow keeps chargebacks low and helps recover MRR through card updates.

Related errors