Payment declines
Credit card decline codes: decide what to stop, retry, or route.
A decline code is useful only when it leads to a safe next action. Merchants need to distinguish customer-fixable input, issuer decisions, authentication failures, merchant configuration problems, technical errors, and responses that should stop further attempts.
Plain-English answer
Treat a decline code as a routing signal, not a universal diagnosis.
Keep the original provider response, then map it to the party who can act: the customer, issuer, merchant, payment provider, or an automated retry workflow explicitly supported for that response. A code can be translated or grouped by a gateway before the merchant sees it, and the issuer may not disclose a detailed reason. Two providers can therefore use different labels or recommended actions for similar failures.
The safe objective is not to force every authorization through. It is to resolve correctable input, request required authentication, stop attempts that should not continue, and give the customer a useful next step without exposing fraud signals or inventing an explanation.
Start with the action owner, not the wording
| Action class | Typical examples | Merchant response |
|---|---|---|
| Customer can correct input | Expired card, invalid number, incorrect postal code, or missing data when the provider identifies it. | Ask for the specific field again through the secure checkout. Never collect full card details in chat, email, logs, or support notes. |
| Customer or issuer must act | Generic issuer decline, restricted card, insufficient funds, suspected fraud, or issuer contact required. | Use a neutral message. Ask the customer to contact the issuer or choose another approved payment method. Do not claim to know the issuer's undisclosed reason. |
| Merchant must fix the setup | Unsupported currency, invalid amount, inactive merchant configuration, integration validation, or authentication configuration. | Pause customer retries, preserve the request and response IDs, and correct or escalate the merchant configuration. |
| Controlled retry may be allowed | A temporary processing condition or a soft decline that the provider currently marks as retryable. | Use the provider's retry schedule, limits, and advice. Check the existing transaction state and use idempotency so a delayed success cannot become a duplicate charge. |
| Stop | Provider no-retry advice, lost or stolen card, revoked authorization, canceled subscription, or another required stop condition. | Do not make another authorization attempt. Route the case to the appropriate customer, support, risk, or subscription workflow. |
“Do not honor” is not a complete diagnosis
Stripe describes do_not_honor as a card issuer decline with an unknown reason and directs the customer to contact the issuer. Adyen likewise documents refusal reasons returned through its platform and notes that some issuer responses are generic. A merchant should not translate a generic decline into “insufficient funds,” “fraud,” or another definite explanation without evidence.
A useful customer message is: “Your bank did not approve this payment. Please contact your bank or try another payment method.” That states the result without exposing internal risk logic or blaming the customer. Support can retain the provider, merchant account, transaction ID, response code, timestamp, amount, currency, checkout version, and correlation ID for investigation without storing prohibited card data.
Hard decline vs. soft decline is a workflow decision
Braintree's processor-response documentation separates hard and soft declines for its own platform and warns merchants to use the provider response rather than an invented interpretation. In practice, a hard decline is treated as non-retryable with the same credentials, while a soft decline might be recoverable after time, authentication, or customer action. That distinction is not a universal card-network code table.
Ask the provider whether it exposes network or merchant advice, a normalized code, a raw response, and a recommended action. Braintree's separate Merchant Advice Code documentation is one example of provider guidance that can indicate whether to update account information, retry later, or stop recurring attempts. Use advice only when it is present for the specific transaction and current provider integration.
Separate issuer declines from other payment failures
Issuer or processor decline
The authorization reached payment participants and was refused. Preserve the response and follow the provider's recommended customer or retry action.
Gateway or merchant rejection
The request may have failed validation or a merchant rule before reaching the issuer. Fix the data, integration, or rule instead of asking the bank.
Authentication failure
EMV 3-D Secure can exchange data among merchant and issuer systems and may require customer authentication. An authentication result is not the same as guaranteed authorization.
Technical or unknown state
A timeout or delayed callback does not prove failure. Query the provider's authoritative transaction state before submitting another request.
Use a retry runbook that cannot create duplicate charges
- Identify the original attempt. Join the order, payment intent or transaction, amount, currency, merchant account, payment method reference, and provider response.
- Check authoritative state. Determine whether the original request failed, remains pending, later succeeded, was reversed, or has an unknown outcome.
- Honor stop conditions. Stop after cancellation, authorization withdrawal, provider no-retry advice, a replacement payment, or any required compliance or risk hold.
- Fix before retrying. Correct validation, authentication, customer input, merchant configuration, or integration errors rather than repeating the same request.
- Retry only through approved logic. Apply the provider's current timing and attempt guidance for the merchant's region, payment method, and billing model.
- Use an idempotent payment design. Repeated client clicks, network timeouts, and webhook redelivery should reconcile to one intended charge, not create independent sales.
- Record the outcome. Link each attempt, response, customer message, order state, and final payment or abandonment result.
Give customers a message they can act on
| Situation | Safer message pattern |
|---|---|
| Correctable input | “Check the highlighted payment details and try again securely.” Name only the field the provider identifies. |
| Issuer decline | “Your bank did not approve this payment. Contact your bank or use another payment method.” |
| Authentication not completed | “Authentication was not completed. Return to checkout and follow your bank's prompt, or choose another method.” |
| Merchant or technical issue | “We could not complete the payment. We have not confirmed a charge. Please wait while we check the transaction status.” |
Avoid telling the shopper a card is fraudulent, empty, blocked, or invalid unless the provider safely exposes that exact customer-facing reason. Keep internal risk signals out of customer messages. If the result is uncertain, do not invite another attempt until the merchant verifies whether the first request succeeded.
Recurring billing needs stricter stop conditions
For subscriptions, a recovery sequence must respect the customer's authorization and current account state. Do not retry after cancellation, revoked authorization, a provider stop-billing instruction, or replacement payment. Update the retry plan when the customer supplies a new payment method, and keep the invoice, subscription, notices, attempts, and final status in one audit trail.
Use the subscription payment processing guide for consent and cancellation controls. Provider-supported account updater, network token, or dunning features can be part of a program, but availability and outcomes depend on the provider, network, issuer, region, and approved setup.
Measure decline recovery without hiding the cost
Track unique orders and customers separately from authorization attempts. Useful measures include initial approvals, issuer declines, merchant or gateway rejections, authentication failures, technical unknowns, retries by response class, recovered orders, customer-updated methods, duplicate attempts blocked, duplicate charges, refunds, disputes, and support contacts.
A lower decline percentage does not by itself prove a better provider or safer retry strategy. Compare consistent cohorts by country, payment method, new versus returning customer, subscription versus one-time sale, authentication path, amount, issuer region, and provider route. Count final paid orders and downstream refunds or disputes, not only successful authorization attempts.
Questions to ask the provider
- Does the API expose a normalized code, raw processor response, network or merchant advice, and a customer-facing message separately?
- Which responses are retryable for this payment method, country, merchant account, and recurring or one-time model?
- Which response or advice requires stopping future attempts?
- How should the integration resolve a timeout or unknown authorization state before retrying?
- Which identifiers and logs are safe and useful for support without retaining sensitive card data?
- How are authentication failures distinguished from authorization declines?
- Can reports separate unique orders, initial attempts, retries, final approvals, duplicate blocks, refunds, and disputes?
No decline-code guide can guarantee recovery, authorization, pricing, settlement, or uninterrupted processing. Code labels, mappings, detail, retry rules, authentication flows, and advice availability can change and vary across providers, acquirers, networks, issuers, regions, and use cases.
Sources and further reading
Frequently asked questions
Payment declines FAQ
What does a credit card decline code mean?
It is a provider's representation of why an authorization did not succeed. The label, detail, and recommended action can differ by gateway, processor, acquirer, network, issuer, region, and transaction type, so merchants should preserve the exact provider response and follow that provider's current guidance.
What does do not honor mean?
It is a generic decline response rather than a reliable explanation of the issuer's internal reason. Do not tell the customer that the bank found fraud or insufficient funds unless the provider explicitly returned that information. Ask the customer to contact the issuer or use another approved payment method, and avoid blind repeated attempts.
What is the difference between a soft decline and a hard decline?
They are operational categories, not universal code definitions. A soft decline may be recoverable through an allowed retry, authentication, or customer action; a hard decline generally requires different credentials or a stop. The provider's current mapping and advice control the actual workflow.
Should every declined payment be retried?
No. Some responses require corrected data, customer or issuer action, merchant configuration work, or a complete stop. Honor provider and network advice, cancellation and authorization state, and any stop-billing instruction before retrying.
Important limitations
PayFresco provides application-preparation and payment-routing support. Provider availability, approval, pricing, reserves, settlement, payment methods, and integrations vary by region, business model, underwriting, and technical setup. This page is general operational information, not legal, regulatory, tax, or financial advice.