Stripe 'Your Card Was Declined' (generic_decline, do_not_honor)
Workaround available Web, iOS, Android Updated November 13, 2026Based on 4 user reportsHow we research
Quick answer
generic_decline and do_not_honor come from the card issuer or Stripe Radar and carry no detail. The customer has to contact their bank, or try another card; as a merchant, check Radar blocks before assuming the issuer refused.
Most likely fix: Read the exact decline code
How to fix it
Try these in order — the most common fix is first.
1. Read the exact decline code
- Open the payment in the Dashboard and read the decline code and outcome reason
- Do not show fraud-related reasons (fraudulent, lost_card, stolen_card, merchant_blacklist) to the customer; show a generic message instead
Did this fix it?2. Check whether Radar blocked it
- In the payment details look for a Radar rule or risk level
- Review your custom block rules and the Radar review queue
Did this fix it?3. Match the next step to the code
- insufficient_funds, withdrawal_count_limit_exceeded: use another payment method
- incorrect_cvc, incorrect_number, incorrect_zip, expired_card: re-enter or use a different card
- generic_decline, do_not_honor, call_issuer, card_velocity_exceeded: customer contacts the issuer
- processing_error, issuer_not_available, reenter_transaction: retry the payment, then contact the issuer if it persists
- testmode_decline: use a real card in live mode
Did this fix it?4. Reduce avoidable declines
- Offer Apple Pay, Google Pay and bank debit as alternatives
- Let customers retry with another card without leaving checkout
Did this fix it?
Symptoms
Checkout shows 'Your card was declined' with decline code generic_decline, do_not_honor, card_velocity_exceeded or similar.
Why it happens
- Issuer declined for an unstated reason (generic_decline, do_not_honor, call_issuer)
- Radar or Adaptive Acceptance blocked the payment
- Card limits exceeded (card_velocity_exceeded, withdrawal_count_limit_exceeded)
- Insufficient funds or expired card
- Wrong CVC, number or postal code
- Stripe test card used in live mode (testmode_decline)
This guide also covers
- stripe card declined
- stripe generic_decline
- stripe do_not_honor
- your card was declined stripe
- stripe card_velocity_exceeded
Still not working?
If Stripe keeps failing, you're not alone. See every Stripe problem users report or the alternatives people switch to.
Need a custom web app or internal tool? Our small team builds it, on your domain or hosted by us. Price agreed together.
Get a quoteOther Stripe errors
- Stripe Account Under Review: What to Do
- Stripe Payouts Paused or Pending: Why and How to Fix
- Stripe authentication_required / 3D Secure Decline
- Stripe Webhook Signature Verification Failed
- Stripe Webhooks Not Firing or Failing (302, 400, 500, Timeout)
- Stripe Dispute Lost: What Happens and Can You Appeal
- Stripe Account Restricted: Verification Information Required
- Stripe Radar Blocking Legitimate Payments