Stripe stolen_card — recovery guide

Like lost_card, but with an added need for tact. The customer has been through something stressful. Your email should help, not pester.

TL;DR

Do not retry. Send a gentle email acknowledging the customer probably has bigger things on their mind. Include a one-click Billing Portal link. Wait longer between follow-ups than you would for other codes (~72h between steps).

What stolen_card means

stolen_card means the customer reported their card stolen to their issuing bank, and the bank has blocked it. Any further charge attempt will be refused permanently. The customer will receive (or has already received) a replacement card with a new number.

Importantly: stolen_card means the legitimate cardholder reported the theft. If a fraudster had access to the card to use on your service, the bank wouldn't know to flag it. The person behind the account is almost certainly the real customer.

Why tone matters more here

Customers dealing with a stolen card are usually juggling:

A firm "YOUR PAYMENT FAILED, UPDATE NOW" email lands badly. A gentle "no rush, here's the link for when you're ready" email is strictly better — customers who feel respected recover at higher rates than customers who feel pressured.

Recovery playbook

  1. +1h: gentle email, acknowledge the situation, Billing Portal link.
  2. Disable auto-retry — never retry a stolen_card.
  3. +72h: second email (longer gap than other codes, they need time).
  4. +7d: SMS — only if no response yet.
  5. +10d: final email + subscription pause.

The 72-hour gap (vs 24–48h for most codes) matches the typical replacement-card delivery window.

What to tell the customer

Hi [name], the card we had on file for [product] was reported stolen, so we won't be able to charge it again. Sorry you've had to deal with that — no rush on your end. When your replacement card arrives, it takes 20 seconds to update:

[Add new card →]

We'll keep your account active for the next 10 days while you sort it out.

Related decline codes

Decline-code-aware messaging, out of the box

RecoverKit's AI uses the right tone for each decline code — firm for typos, gentle for stolen_card. $19/mo.

Start Free Trial →