Do Not Contact Stripe Decline Code Explained

do not contact stripe decline

Do Not Contact Stripe Decline Code Explained

4 min readApril 5, 2026

Do Not Contact Stripe Decline Code Explained

The do_not_honor decline code is a generic card issuer response indicating that a transaction has been refused without a specific explanation, meaning the issuing bank has actively blocked the payment but has not disclosed the underlying reason to the merchant or payment processor.

What the Do Not Honor Code Means

When Stripe returns a do_not_honor decline code, the card-issuing bank has evaluated the transaction and decided to reject it based on internal criteria. This is one of the most common decline codes in payment processing, accounting for an estimated 20–30% of all card declines across the payments industry. The issuer provides no actionable detail about why the card was declined—it could be insufficient funds, suspected fraud, account restrictions, or internal risk policies.

According to Stripe's documentation, this code falls under the category of issuer declines that merchants cannot override or retry without customer intervention.

Why Banks Issue Do Not Honor Declines

Card issuers use the do_not_honor response for multiple scenarios:

  • Insufficient funds: The cardholder's account balance cannot cover the transaction amount
  • Fraud prevention triggers: The issuer's fraud detection system flagged the transaction as suspicious based on spending patterns, location, or transaction velocity
  • Account restrictions: The card may have spending limits, temporary holds, or other restrictions applied by the bank
  • Internal risk policies: Banks apply proprietary risk models that may decline transactions deemed high-risk without explaining their criteria

The generic nature of this code protects the issuer's internal security measures while still communicating a definitive rejection.

How Stripe Reports This Decline

In the Stripe API, a do_not_honor decline appears in the charge object under outcome.type as "issuer_declined" with decline_code set to "do_not_honor". The full error structure includes:

{
  "outcome": {
    "type": "issuer_declined",
    "reason": "do_not_honor",
    "network_status": "declined_by_network"
  }
}

Stripe surfaces this information in the Dashboard under the payment details, clearly attributing the decline to the card issuer rather than Stripe's systems.

What Merchants Should Do

Merchants cannot resolve do_not_honor declines directly. The appropriate action is to:

  1. Inform the customer immediately: Display a message indicating their bank declined the transaction
  2. Request bank contact: Advise the customer to contact their card issuer for specific reasons and resolution
  3. Offer alternative payment methods: Suggest using a different card or payment method to complete the purchase
  4. Do not retry automatically: Repeatedly attempting the same card will likely result in continued declines and may trigger additional fraud flags

Retrying the same card without the customer addressing the underlying issue has a success rate of less than 5%, according to industry payment retry studies.

Difference from Other Generic Declines

The do_not_honor code differs from similar generic responses:

  • generic_decline: An even broader decline where the issuer provides no information at all
  • card_not_supported: The card type or brand is not accepted for this transaction type
  • processing_error: A temporary technical issue rather than an active decision to block

Unlike technical errors or temporary network issues, do_not_honor represents a deliberate issuer decision that requires cardholder intervention.

Impact on Subscription Businesses

For recurring billing and subscription services, do_not_honor declines pose specific challenges. When Stripe encounters this code during an automatic subscription renewal, the payment is marked as failed and enters the retry schedule defined in Stripe Billing settings.

However, because this is an issuer decline, standard retry logic often fails. Subscription businesses should:

  • Send immediate dunning emails requesting the customer update their payment method
  • Provide self-service links to the Stripe Customer Portal for payment method updates
  • Consider the subscription at risk after the first do_not_honor decline, as resolution requires customer action

The median time-to-recovery for subscriptions declined with do_not_honor is approximately 7–10 days, based on payment recovery benchmarks, significantly longer than technical declines.

Prevention Strategies

While merchants cannot prevent issuer-level declines entirely, certain practices reduce their frequency:

  • Clear descriptor optimization: Ensure the statement descriptor clearly identifies your business to reduce fraud flags
  • Network tokenization: Using Stripe's network tokens can improve authorization rates by 2–4 percentage points
  • AVS and CVC collection: Collecting complete verification data signals legitimacy to issuer fraud systems
  • Incremental authorization: For high-value transactions, consider splitting into smaller amounts when possible

These measures address some issuer risk concerns but cannot eliminate do_not_honor declines tied to account-level issues like insufficient funds.

Free diagnostic

See exactly what's happening in your Stripe account

Connect your Stripe account and get a breakdown of every failed payment — which ones can be retried, which ones need customer outreach, and how much is recoverable. Takes 5 minutes. No credit card required until we recover $49.

Run free diagnostic