Decline code
Restricted Card
Stripe declined this payment because the card carries a restriction placed on it by the issuing bank, closely related to a lost or stolen card block but framed as a card-level limitation rather than a physical pickup instruction. Stripe's official definition reads: "the customer can't use this card to make this payment (it's possible it was reported lost or stolen)." Functionally, `restricted_card` and `pickup_card` describe the same underlying situation from slightly different angles. Where `pickup_card` is the network's instruction to physically retrieve the card, `restricted_card` is the issuing bank saying the card itself is restricted from further use. The practical result is identical: this card will not work.
Why it happens
As with `pickup_card`, this shows up on recurring billing when a card that previously worked has since been reported lost or stolen, or has otherwise been flagged by the issuing bank for a restriction (a security concern, a compliance hold, an account-level issue on the cardholder's side). The customer's subscription itself is usually unaffected in intent, they still want the service, but their specific card has been cut off by their own bank.
How to fix it
No. This is a hard restriction from the issuer, not a temporary hold. Retrying the same card will keep failing and offers no path to success. Stop retrying immediately. Given the overlap with lost and stolen card scenarios, run the same quick account check before reaching out: account age, how recently the subscription started, whether other cards on the account were also declined, and whether usage looks normal. If nothing looks off, ask the customer to add a new card with a straightforward, non-accusatory message. If something looks off, route it to manual review before any customer contact goes out.
How Foxhound recovers it
Fraud and security declines are never retried, silently or otherwise. Foxhound sends a gentle, clearly worded email sequence across 30 days that names the situation plainly and points the customer to their card issuer, rather than repeating the same charge against a flag the issuer already raised.
Questions
See what this looks like on your account
The free audit shows what Stripe already recovered and what is still dying, no signup required.
Run your free audit