Skip to main content
Payments

Credit Card Decline Codes: The Complete Merchant Guide to Soft vs. Hard Declines

KD

Kaleb Dickhaut

Founder, ClickWerxs

June 18, 2026
13 min read
Extreme macro photo of a single credit card snapped in two on matte black, the left half glowing soft teal and the right half in hard red-edged shadow.

TL;DR: A decline is not a final answer — it's a code. Soft declines are temporary and recoverable with the right retry logic. Hard declines are permanent, and retrying them triggers Visa and Mastercard fines. This guide gives you the complete code reference, the network retry rules, and a decision tree for the first 60 seconds after a decline.


What is a credit card decline code?

When a customer's card is declined, your terminal or payment gateway doesn't just say "no." It returns a response code (typically two digits, sometimes alphanumeric) that tells you exactly why the authorization failed. That code originates from the card issuer — the customer's bank — and travels back through the card network (Visa, Mastercard, Amex, Discover) to your processor, then to your terminal.

The standard is ISO 8583, the international financial messaging protocol. Field 39 of the authorization response carries the decline code. Your processor translates it into whatever your terminal displays.

Most merchants see the word "Declined" and move on. That's a mistake. The code behind the word tells you whether this sale is recoverable, whether retrying will help or hurt, and, most importantly, whether the problem is on the customer's side or yours.

What's the difference between a soft decline and a hard decline?

Soft decline: A temporary condition. The card is not blocked. The problem may resolve on its own — a spending limit resets, the issuer's system comes back online, or funds clear. Retrying a soft decline correctly recovers real revenue.

Hard decline: A permanent condition. The card is blocked, invalid, reported stolen, or otherwise ineligible for transactions. No amount of retrying will change the outcome. And retrying a hard decline doesn't just waste time — it costs you money.

We review decline reports across our merchant portfolio regularly. The most expensive mistake we see isn't a hard decline — it's a soft decline the merchant treated as permanent and never retried. The second most expensive is the reverse: a hard decline that got retried ten times because the terminal just said "Declined" with no context.

The code tells you which situation you're in.

Which decline codes are soft — and when can you retry them?

51 — Insufficient Funds The cardholder's available balance is less than the transaction amount at the moment of authorization. The most common soft decline in card-present environments.

Action: For in-person transactions, ask if the customer wants to use a different card or split the payment. For recurring billing, wait 24–48 hours before retrying. The balance is unlikely to change in the next 30 seconds — a same-day retry almost never clears.

65 — Exceeds Withdrawal Frequency Limit The cardholder has hit a daily or weekly transaction count limit set by their bank. The card isn't blocked; the limit resets.

Action: Ask the customer to call their bank to temporarily raise the limit, or present a different card. For recurring billing, retry the following day.

61 — Exceeds Withdrawal Amount Limit Triggered by a dollar amount limit rather than transaction count. Common with debit cards that carry daily spend caps.

Action: Same path as 65. Offer a split payment if the customer agrees.

19 — Re-enter Transaction A processing error, not a card problem. The terminal or gateway had a communication issue.

Action: Retry immediately. This clears on the second attempt in most cases.

28 — File Temporarily Unavailable The issuing bank's authorization system was momentarily unreachable.

Action: Retry after a 30–60 second delay. If it fails a second time, request a different payment method.

05 — Do Not Honor The most misunderstood code in payment processing. The issuer declined without specifying a reason. Triggers include fraud scoring, insufficient funds, velocity flags, or a dozen other temporary conditions the issuer isn't required to disclose. A sudden wave of small-dollar declines is often card testing fraud, not random bad luck.

Action: Do not retry immediately. Do not retry more than twice. Ask the customer to call their bank for a straight answer. For recurring billing, space retries at least 24 hours apart and stop after the second attempt.

Code 05 is the edge case. Visa classifies it as Category 2 — technically retryable, up to 15 times in 30 days. But operationally, repeated 05 declines on the same card usually mean the issuer's fraud system has flagged the transaction. More than two retries rarely succeeds and starts to look like excessive authorization activity on your account.

Which decline codes are hard — and why retrying them can cost you?

Hard declines are final decisions. The issuer has made a determination about the card or the transaction that isn't going to change on retry. Retrying these triggers network fines — detailed in the next section — and can flag your merchant account for excessive authorization attempts.

41 — Lost Card, Pick Up The cardholder reported the card lost. The issuer is instructing you to retrieve it.

Action: Decline the transaction. In a card-present environment, follow your processor's card retrieval procedures. Do not retry. Do not run any other transaction on this card.

43 — Stolen Card, Pick Up The card was reported stolen. Elevated fraud risk.

Action: Same as 41. Retrieval procedures apply if card-present. No retry under any circumstances.

04 — Pick Up Card (General) The issuer wants the card retrieved — it may be compromised, expired, or restricted.

Action: Retrieve the card if you can do so safely. Decline the transaction. No retry.

14 — Invalid Card Number The card number doesn't match a valid account. Common with manual entry errors.

Action: Ask the customer to re-enter the card number. If it fails again, the card itself is the problem.

54 — Expired Card The card's expiration date has passed.

Action: Ask for a current card. For recurring billing, Account Updater — a Visa and Mastercard service that automatically refreshes stored card credentials when a card expires — is the right tool here. Do not retry the same expired card number.

82 — Incorrect CVV The security code doesn't match.

Action: Ask the customer to re-enter their CVV once. If it fails again, request a different card. Multiple CVV failures on the same card flag the transaction for fraud review at the issuer and at your processor.

R0 / R1 — Stop Recurring Payment The cardholder contacted their bank and specifically asked that recurring charges from your business stop.

Action: Stop all recurring charges on that card immediately. This is not temporary. Continuing to charge after an R0 or R1 is a violation of Visa's network rules and grounds for merchant account suspension. Update your billing records the same day you receive this code.

57 — Transaction Not Permitted to Cardholder The card's terms of use prohibit this transaction type. Common with corporate cards that restrict certain merchant category codes.

Action: Ask the customer to use a personal card or one without category restrictions.

The 60-second decision tree: What to do when a transaction declines

The moment you see "Declined":

Step 1: Get the code. If your terminal shows only a text message, log in to your gateway portal or call your processor for the numeric code. The number matters. The description often doesn't tell you enough.

Step 2: Is it a hard decline? Hard decline codes: 04, 07, 14, 15, 41, 43, 46, 54, 57, 82, R0, R1, R3

  • If yes: Don't retry. Tell the customer they need to contact their bank or use a different card. For codes 41 and 43, follow retrieval procedures if you have the card.
  • If no: go to Step 3.

Step 3: Is the code 51, 61, or 65?

  • 51 (Insufficient Funds): Offer a different card or split payment. For recurring billing, retry in 24 hours.
  • 61 / 65 (Limit Exceeded): Ask the customer to call their bank or use a different card. Retry the next day.

Step 4: Is the code 19 or 28?

Retry once, immediately. These are network or system errors, not card problems.

Step 5: Is the code 05?

Ask the customer to call their bank. Retry once after 24 hours. Stop there.

Step 6: Unknown code or anything else?

Contact your processor before retrying. An unknown code retried blindly can become an excessive authorization flag on your account.

Running this takes under 60 seconds once it's familiar. Without it, merchants either give up on soft declines that would have cleared, or hammer hard declines until the fines show up on their statement.

How do Visa and Mastercard's retry rules work — and what do violations cost?

Both networks have formal rules governing how many times you can attempt an authorization after a decline. Most merchants don't know these rules exist until the fees appear on their statement.

Visa (effective April 17, 2021; fine enforcement expanded April 2022, US and Canada):

Visa divides all decline codes into four categories based on whether and how merchants may retry:

  • Category 1 — Never Retry: Codes 04, 07, 12, 14, 15, 41, 43, 46, 57, R0, R1, R3. Retrying any Category 1 code is a violation on the first reattempt.
  • Category 2 — Retry Allowed: Temporary declines. Maximum 15 reattempts within any 30-day period, per card.
  • Category 3 — Data Quality Issue: Retry after correcting the data error that caused the decline.
  • Category 4 — Generic: Retry allowed, subject to the same 15-in-30-days limit as Category 2.

Fine for Category 1 violations: $0.10 per reattempt on domestic transactions, plus $0.05 per reattempt for cross-border. These appear on your processing statement as "VS RAF Excessive Reattempts." For any billing system running automated retries without code-based logic, Category 1 violations add up fast.

Mastercard:

Mastercard uses Merchant Advice Codes (MACs) — an additional signal layered on top of standard decline codes. The two that matter most:

  • MAC 03 — Do Not Try Again: No retry, ever.
  • MAC 21 — Payment Cancelled: Cardholder cancelled; no retry.

For any card-not-present transaction where Mastercard returns MAC 03 or MAC 21, retrying the same card for the same amount within 30 days triggers a violation fee. Mastercard raised that fine to $0.50 per violation in January 2025 (up from $0.10 in 2022).

Not every processor surfaces MAC values in your gateway dashboard. If yours doesn't, ask them to enable it. Flying blind on MAC codes is how recurring billing systems accumulate $0.50 penalties transaction by transaction.

For a full breakdown of what these fees look like on your statement alongside other line items you might be missing, see our guide to reading your merchant processing statement.

What does a pattern of declines tell you about your processor setup?

One decline is a customer issue. A pattern of declines might be a processor configuration problem. Most merchants never make that distinction.

High rate of Code 05 on new cards: Often means your MCC is triggering elevated fraud scoring at the issuer level. Some merchant category codes carry higher baseline fraud risk scores, and issuers apply more aggressive friction. Your processor should be able to pull your decline rate by code. If Code 05 is running above 2–3% of your volume, that's a conversation worth having with your account manager.

High rate of Code 57: Your terminal or gateway may be submitting incorrect transaction type codes. This is a configuration problem; one call to your processor's technical support usually fixes it.

Recurring Code 12 on specific transaction types: A gateway configuration issue — the terminal is sending a transaction format the issuer doesn't recognize. Code 12 is a Visa Category 1 code, so the specific transaction that received it cannot be retried as-is. Fix the configuration first, then submit a fresh transaction. The recurring pattern is fixable; each individual Code 12 is not retriable.

Frequent Code 91 (Issuer Unavailable) during normal business hours: Can indicate your processor is routing authorizations to issuer systems that are consistently congested. Processors with intelligent routing shift attempts to alternate paths when primary routes are slow. Processors without it just fail.

Smart routing also catches something less obvious: some transactions declined on one routing path will approve through an alternate path. Across the accounts we manage, intelligent soft-decline retry routing recovers roughly 8% of declines that would otherwise be treated as final. For a merchant doing $50,000/month with a 5% decline rate, that 8% recovery translates to roughly $200 in additional revenue per month — with no manual effort once the routing logic is in place.

If your processor can't give you a decline breakdown by code, or doesn't offer any form of retry or routing optimization, that gap is worth addressing. Our analysis of 7 signs you're overpaying for payment processing covers decline rate as one of the clearer indicators that something is off. And if you're evaluating your current setup, understanding what's in a merchant account is a useful starting point.

For a custom look at your decline rate and processing setup, see clickwerxs.com/payments/merchant-accounts.

Frequently Asked Questions

What's the difference between Code 05 and Code 51 from a retry standpoint?

Both are technically retryable — Visa lists them both as Category 2. But they behave very differently in practice. Code 51 (Insufficient Funds) has a clear cause and a clear fix: the balance is low, and retrying in 24–48 hours often works once funds clear. Code 05 (Do Not Honor) has no disclosed reason. It could be insufficient funds, a fraud flag, a velocity limit, or something else entirely. Because you don't know the cause, aggressive retrying on a 05 can make things worse — issuers can escalate a fraud flag to a hard block if the same card keeps hitting their system. With 51: retry once in 24–48 hours. With 05: ask the customer to call their bank before retrying at all.

What happens if my automated billing system retries a hard decline?

You'll be charged per violation, and the line items appear on your monthly processing statement. Visa's Category 1 violations show up as "VS RAF Excessive Reattempts Domestic" at $0.10 per reattempt (US and Canada, effective April 2022). Mastercard's excessive authorization violations appear separately at $0.50 per violation as of January 2025. For a subscription business cycling 50 failed transactions per month through automated retries without code-based logic, that's $25 in Mastercard fees alone before anyone notices — and the charges compound as long as the billing system keeps cycling. The fix is configuring your retry logic to check the decline code before attempting any reattempt.

How do I know if my processor is surfacing Merchant Advice Code (MAC) values?

Run a declined card-not-present transaction and check the raw response in your gateway dashboard or batch report. If you see a "Merchant Advice Code" or "MAC" field alongside the standard decline code, your processor is passing it through. If you see only a standard code and message, MAC values are being received at the network level but not shown to you. Ask your processor's technical support to enable MAC pass-through. Without it, you can't tell whether a Mastercard decline is a MAC 03 (never retry) or a retriable temporary condition — and every mistaken retry on a MAC 03 is a $0.50 fine.

How do I find my decline rate broken down by code?

Through your payment gateway's reporting dashboard, or by requesting a decline analysis report from your processor directly. Most gateway portals show failed authorizations with numeric response codes when you look beyond the default summary view. If yours doesn't, or if your processor can't produce a breakdown, that's a reporting gap worth flagging. Your decline rate by code is one of the clearest diagnostic signals in your entire processing setup.

What is Account Updater and does it reduce declines?

Account Updater is a Visa and Mastercard service that automatically refreshes stored card credentials when a card expires or is replaced. When a cardholder gets a new card number or expiration date, the network pushes the updated credentials to enrolled merchants before the next billing cycle runs. For subscription businesses, Account Updater typically cuts Code 54 declines by roughly a third in the first billing cycle after enrollment, based on patterns across the accounts we've set it up for. Ask your processor whether your account is enrolled; it's not on by default.

Is a high decline rate a sign I should switch processors?

Not automatically. If most declines are Code 51 (insufficient funds), Code 54 (expired cards), or R0/R1 (stop-payment requests), that's a customer-mix issue your processor can't fix. If you're seeing elevated rates of Code 05, Code 57, or Code 12, those can indicate routing misconfigurations, MCC mismatches, or retry logic problems that a better processor or gateway setup would reduce. Diagnose the code breakdown before making any switch decision. Our guide to how to read your merchant processing statement shows exactly where to find that data.


ClickWerxs facilitates merchant account applications and provides ongoing account management as an authorized representative of our banking and processing partners. Approval, rates, and terms are determined by the issuing processor and acquiring bank — ClickWerxs does not guarantee approval for any merchant account application. Processing rates and fee structures cited in this post reflect publicly available industry data and general ranges; your actual rate depends on your industry, volume, and card mix. This post is not legal or financial advice. For a custom quote, see clickwerxs.com/payments/get-a-quote.


Kaleb Dickhaut | Founder, ClickWerxs Kaleb built ClickWerxs from the ground up — from payment processing ISO to the ClickWerxs Command Center platform to the AI SEO methodology the blog runs on. He has onboarded hundreds of small businesses onto payment and CRM systems. linkedin.com/in/kaleb-dickhaut


Sources

  1. Processing rates, fee ranges and effective-rate figures in this post are industry-typical ranges compiled from published network schedules and from accounts reviewed in the ClickWerxs ISO portfolio. They are not quoted rates. Interchange itself is set by Visa and Mastercard on published schedules that change twice yearly; your actual cost depends on card mix, MCC, ticket size and volume.
  2. Federal Reserve Board, Regulation II debit card interchange fee standard — covered issuers may not receive more than $0.21 plus 0.05% of transaction value, plus a $0.01 fraud-prevention adjustment where eligible. federalreserve.gov
  3. ClickWerxs ISO portfolio, aggregate observation — patterns described from merchant accounts under ClickWerxs management. Anonymized and reported in aggregate; individual account terms vary. Operator data.

ClickWerxs facilitates merchant account applications and provides ongoing account management as an authorized representative of our banking and processing partners. Approval, rates, and terms are determined by the issuing processor and acquiring bank — ClickWerxs does not guarantee approval for any merchant account application. Processing rates and fee structures cited in this post reflect publicly available industry data and general ranges; your actual rate depends on your industry, volume, and card mix. This post is not legal or financial advice. For a custom quote, see clickwerxs.com/payments/get-a-quote.

Ready to Stop Overpaying on Payment Processing?

Get a free rate comparison and see how much you can save with interchange-plus pricing.