Stripe Decline Code · Glossary
restricted_card fires when the issuing bank has placed a specific restriction on the card that prevents it from being used for this particular type of transaction — the card is physically active and the account may have funds, but the bank has programmatically blocked it from processing charges that match your merchant category, billing model, or transaction characteristics.
What It Means
What It Means
restricted_card fires when the issuing bank has placed a specific restriction on the card that prevents it from being used for this particular type of transaction — the card is physically active and the account may have funds, but the bank has programmatically blocked it from processing charges that match your merchant category, billing model, or transaction characteristics. Unlike do_not_honor (situational) or stolen_card (permanent), restricted_card is a policy-level block — structural, but not necessarily permanent.
Not sure if this code is recoverable for your specific situation? Use the Stripe Failure Lookup →
Why It Happens
Why It Happens
What NOT to Do
What NOT to Do
✕ Don't retry the same card on the same billing model
restricted_card is a policy block — not a timing issue, not a funds issue, not a temporary system glitch. Retrying the identical charge with the same card under the same subscription billing flag will produce the exact same failure every time until the underlying restriction is lifted. Retry cycles are entirely wasted effort here and burn your merchant health signal with no recovery upside.
✕ Don't ask the customer to "contact their bank to authorize the charge"
While this sometimes works for do_not_honor, it rarely works for restricted_card. The restriction is often baked into the card product policy or corporate card configuration — the customer's bank may not even allow exceptions at the cardholder request level. Sending customers down this path wastes their time, damages trust, and delays the real solution: a different payment method.
✕ Don't default to a card update prompt asking for the same card type
If a customer is paying with a corporate card, government card, or regional debit card that triggered restricted_card, asking them to "update their credit card" will likely result in them entering the same restricted card type again. Your update flow must explicitly offer non-card payment alternatives — bank transfer, PayPal, UPI, wire — as primary options for this decline code specifically.
Retry Timing
Retry Timing
restricted_card is a zero-retry, payment-method-switch-first code. The recovery path is entirely about capturing an unrestricted payment method, not about timing a retry.
Recovery Benchmark
Recovery Benchmark
| Metric | Result |
|---|---|
| Overall recovery rate | 25–40% |
| Recovery via alternate payment method | 30–45% of those who receive a tailored email |
| Recovery from corporate card customers | 20–30% (budget approval or alternate card needed) |
| Recovery from regional debit card customers | 35–50% (adding UPI/bank transfer as options performs strongly) |
| Recovery with generic card update email | 8–12% |
| Recovery with BIN-targeted, method-specific outreach | +20–25% lift over generic email |
A 35%+ recovery rate on restricted_card is achievable when your recovery flow leads with non-card payment methods and your email copy explicitly acknowledges that their card type may not support subscription billing — without making the customer feel at fault. Teams that send generic "update your payment method" emails without offering alternatives consistently underperform at 10–15% recovery.
At Scale
At Scale
Automated
Manual Escalation
FAQs
FAQs
What does the Stripe restricted_card decline code mean?
restricted_card means the issuing bank has placed a policy-level restriction on the card that prevents it from being used for this type of transaction. The card may be active and the account may have funds, but the bank has blocked it from processing charges that match your merchant category, billing model, or geographic origin. It is a structural block, not a timing or funds issue.
What are the most common causes of a restricted_card error in Stripe?
Common causes include a Merchant Category Code block preventing the card from transacting with SaaS or digital goods merchants, a bank restriction on recurring or subscription billing, a geographic or cross-border restriction on domestic-only cards, corporate card expense policy enforcement, and card product-level limitations on prepaid, student, or basic debit cards.
Should I retry a payment after a Stripe restricted_card decline?
No. restricted_card is a policy-level block and retrying the same card will always fail. Add it to your no-retry segment immediately. All recovery effort should focus on getting the customer to switch to an unrestricted payment method — bank transfer, PayPal, UPI, or a different credit card without subscription billing restrictions.
How do I recover a payment after a restricted_card decline?
The recovery path for restricted_card is entirely through alternate payment methods, not retries. Use a BIN lookup on the failed card to identify the card type, then send a targeted email leading with non-card payment options — bank transfer, PayPal, or local payment methods like UPI for Indian customers. Generic card update emails without alternate method offers typically recover only 8–12% of restricted_card failures.
What is the recovery rate for Stripe restricted_card failures?
With BIN-targeted, payment-method-specific outreach, recovery rates of 30–45% are achievable. Regional debit card customers offered UPI or local bank transfer recover at 35–50%. Corporate card customers typically recover at 20–30% depending on whether an alternate expense method or invoicing option is available. Generic outreach without alternate payment method CTAs recovers only 8–12%.
What to do next
You are here
restricted_card
Decline code reference
Check recoverability
Stripe Failure Lookup
See what's recoverable — and what isn't →
Then
Sign up for Recurflux
Automate recovery for every decline code →
Before you retry
Before you retry
Most restricted_card failures are retried on the wrong schedule — which recovers the payment about 30% of the time. The other 70% leaves permanently. See what this code is actually costing at your MRR before deciding how to handle it.
Stop leaving revenue on the table
Recurflux handles code-specific retry scheduling, adaptive dunning, and dispute intelligence across all 30 Stripe decline codes. Connect in under 5 minutes.