Skip to the tool
MoveAheadPayments Toolbox

Stripe decline code: stolen_card

Stripe's wording: "The payment was declined because the card is reported stolen." As with a lost card, do not report the detail to your customer — present it in the same manner as a generic decline.

stolen_cardHard decline

Retrying the same request will fail the same way.

What it means

The issuer holds a stolen-card report against this number. It is a permanent decline, the counterpart of ISO 8583 field 39 value 43, and no retry will ever succeed. Stripe's handling instruction is identical to `lost_card` and `fraudulent`: the reason is for your logic, not for your customer-facing message.

Common causes

  • The cardholder reported the card stolen.
  • The issuer classified the card as compromised during a fraud investigation.
  • A stored credential still charging a card that has since been reported.

How to fix it

  1. Show a generic decline message and nothing more specific.
  2. Detach the stored PaymentMethod and stop all retries against it.
  3. Where this is one of several fraud-related declines on the same customer, review the account rather than the individual payment.

Tools that help

Frequently asked questions

Is a stolen_card decline ever a false positive?
It can be, but not in a way you can act on. The report is held by the issuer, so the only route to correcting it is the cardholder contacting their bank. From your side it is permanent, and the right response is to stop attempting the card.