Stripe 'Your Card Was Declined' (generic_decline, do_not_honor)

Share
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. 1. Read the exact decline code

    1. Open the payment in the Dashboard and read the decline code and outcome reason
    2. 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. 2. Check whether Radar blocked it

    1. In the payment details look for a Radar rule or risk level
    2. Review your custom block rules and the Radar review queue
    Did this fix it?
  3. 3. Match the next step to the code

    1. insufficient_funds, withdrawal_count_limit_exceeded: use another payment method
    2. incorrect_cvc, incorrect_number, incorrect_zip, expired_card: re-enter or use a different card
    3. generic_decline, do_not_honor, call_issuer, card_velocity_exceeded: customer contacts the issuer
    4. processing_error, issuer_not_available, reenter_transaction: retry the payment, then contact the issuer if it persists
    5. testmode_decline: use a real card in live mode
    Did this fix it?
  4. 4. Reduce avoidable declines

    1. Offer Apple Pay, Google Pay and bank debit as alternatives
    2. 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 quote
Fixed it? Share this guide

Other Stripe errors

All 12 Stripe errors and fixes →