Soft vs Hard Declines: Which Decline Codes to Retry and When

Paysight thumbnail for "Soft vs Hard Declines: Which Decline Codes to Retry and When": two glowing payment cards, one with a retry icon and one with a stop icon, with a comparison badge between them.

Most subscription brands I talk to have a retry schedule. Far fewer have a decline policy. The schedule says "try again on day 1, 3 and 7". The policy says which declines deserve those retries, which ones need different card data first, and which ones you are not allowed to touch again.

That difference now costs real money. Visa and Mastercard both charge for retries that break their rules, and both publish the signals you need to stay inside them: Visa groups every decline response code into four categories, and Mastercard attaches a Merchant Advice Code (MAC) that tells you whether and when to try again. Most gateways pass these through. Many billing setups ignore them.

This guide is the reference I wish every ops team had pinned: the soft vs hard decline split, the codes that matter for renewals, the network retry limits as of October 2026, and a retry plan that recovers revenue without paying fees for it. For the wider picture on preventing and recovering failed payments, see our guides on how to reduce failed payments in ecommerce and improving ecommerce payment approval rates.

Key takeaways

  • A soft decline is a temporary "not now" from the issuer and can be retried within limits. A hard decline means the issuer will not approve this card for this payment, and retrying it breaks network rules.
  • Visa sorts decline codes into four categories. Category 1 codes (04, 07, 12, 14, 15, 41, 43, 46, 57, R0, R1, R3) must never be retried. Categories 2–4 allow up to 20 attempts per card in 30 days.
  • Mastercard's Merchant Advice Codes tell you what to do next: 03 and 21 mean stop, 01 means get new card details, 02 and 24–30 mean retry later, with 24–30 giving the exact wait.
  • Code 05 "do not honor" is Visa's generic Category 4. It can be retried, but treat it as a soft decline with a short leash, not a free pass.
  • Moving a hard decline to another gateway or MID does not make it soft. Use extra routes for outages and processing errors, not to get around an issuer's answer.

Soft vs hard declines: the short version

Every card decline comes back with a response code from the issuer (or from the network acting for it). Two numbers matter for subscriptions: the response code, which says why, and the advice code, which says what to do next. Your gateway may translate both into its own names. Stripe, for example, maps them into decline codes such as insufficient_funds plus an advice_code of do_not_try_again, try_again_later or confirm_card_data, and also exposes the raw network_decline_code and network_advice_code.

Soft declineHard decline
What the issuer is saying"Not right now" or "not with these details""Never for this card and payment"
Typical causesInsufficient funds, issuer unavailable, system error, velocity limits, wrong or outdated dataLost or stolen card, closed account, invalid card number, cardholder revoked the recurring payment
Can you retry the same card?Yes, spaced out and within network limitsNo. Visa Category 1 and Mastercard MAC 03 or 21 rule it out
Best next step for a renewalScheduled retries; refresh the card through an account updater if the data is staleAsk the customer for a new payment method; stop billing if they revoked the agreement
Cost of getting it wrongFees once you pass the retry limits; issuer may start treating you as riskyA network fee from the first retry, plus a customer who sees repeated failed charges

The labels "soft" and "hard" are informal. The networks use more precise buckets, and that is where the useful detail sits.

How Visa groups decline codes

Visa's rules put every decline response code into one of four categories, and the category decides whether you may reattempt. The current version of these rules took effect in April 2021. The allowance for Categories 2–4 rose from 15 to 20 attempts in 30 days in May 2025, so documentation that still says 15 is out of date. Visa also keeps separate counters for customer-initiated and merchant-initiated transactions, so a subscription renewal (merchant-initiated) has its own budget.

Visa categoryMeaningExample codesReattempts allowedWhat to do
1. Issuer will never approvePermanent for this card and payment04, 07, 12, 14, 15, 41, 43, 46, 57, R0, R1, R3NoneStop. Get a new payment method from the customer
2. Issuer cannot approve at this timeTemporary condition03, 19, 51, 59, 61, 62, 65, 75, 78, 86, 91, 93, 96, N3, N4Up to 20 in 30 daysRetry on a spaced schedule
3. Issuer cannot approve with these detailsData quality problem54, 55, 70, 82, 1A, 6P, N7Up to 20 in 30 days, after fixing the dataRefresh or correct the card details, then retry
4. GenericNo more specific code applies05 and any code not listed aboveUp to 20 in 30 daysA few spaced retries, then contact the customer

Code lists as published in processor documentation of the Visa Rules (Kalixa, Adyen, PayPal), October 2026. Code 14 (invalid account number) sits in both Category 1 and Category 3: you may not retry the same card number, and it also counts toward Visa's data-quality monitoring.

Two details catch subscription brands out. First, Category 3 is not a free retry: Visa expects you to revalidate the card data before trying again, and processors report a data-quality fee once a merchant passes 25,000 card-not-present Category 3 declines in 30 days. Second, a retry has to be the same transaction. Processor guidance on the Visa rules is to keep the original data elements consistent across reattempts rather than changing them to coax a different answer.

Diagram mapping Visa decline categories and Mastercard Merchant Advice Codes to four actions for a declined subscription renewal: stop, fix the data, retry later, or treat as generic.
How to read a declined renewal: Visa's four decline categories and Mastercard's Merchant Advice Codes each point to one action. Stop on Visa Category 1 or MAC 03/21, fix the card data on Category 3 or MAC 01, retry later on Category 2 or MAC 02/24–30, and treat anything else as a generic decline.

Mastercard Merchant Advice Codes

Mastercard takes a different approach. Instead of fixed categories, the issuer (or Mastercard) can attach a Merchant Advice Code to the decline. For recurring billing, the MAC is often more useful than the response code, because it tells you directly what to do.

MACMeaningWhat to do with a renewal
01New account information availableGet the updated card details (account updater or customer) before the next attempt
02Cannot approve at this time, try again laterRetry later; processor guidance suggests waiting about 72 hours
03Do not try againStop. Ask the customer for another payment method
04Token requirements not fulfilled for this token typeAsk the customer for another payment method
21Payment cancellationStop. The cardholder has cancelled the recurring payment with their bank
24–30Retry after 1 hour (24), 24 hours (25), 2 days (26), 4 days (27), 6 days (28), 8 days (29) or 10 days (30)Wait exactly that long before the next attempt. These come with insufficient-funds declines
40, 41Non-reloadable prepaid card, or single-use virtual cardThe card will not work for future renewals. Ask for a replacement payment method

Mastercard also pairs three card-not-present response codes with MACs: 79 (lifecycle), 82 (policy) and 83 (security). With MAC 01, new card details may be available, so check your account updater before the next attempt. With MAC 03, do not retry. Response 83 with MAC 03 signals suspected fraud.

Retry limits and fees, side by side

Both networks charge the acquirer for retries that break their rules, and acquirers pass those fees on, sometimes with a markup. Exact amounts vary by region and are published mostly through processor bulletins rather than by the networks themselves, so treat these as indicative and check your own processor's schedule.

VisaMastercard
Never retryCategory 1 codesMAC 03 and 21 (card-not-present)
Retry limit20 attempts per card in 30 days for Categories 2–4Fees once declines on the same card at the same merchant pass 10 in 24 hours or 35 in 30 days
Fee for breaking it (US, as reported in 2026)$0.10 per domestic reattempt; $0.25 per cross-border (interregional) reattempt since 25 April 2026, up from $0.15$0.50 per excess attempt; a separate small fee for resubmitting after MAC 03 or 21 within 30 days
Separate countersCustomer-initiated and merchant-initiated transactions counted separatelyCounted per card number, merchant and amount

Per-retry fees look small, but they scale with your subscriber base, and they are the visible part of the cost. The bigger one is issuer trust. Stripe warns that issuers can read extra retries as potential fraud, which can lead to more declines on legitimate charges. If you also watch your dispute ratios under Visa VAMP and Mastercard ECM, note that a customer who sees five failed charges on a cancelled card is a likely chargeback.

The decline codes subscription brands see most

You do not need to memorize 60 codes. A small set covers most renewal failures. Here is how to read them, using Visa response codes with the Stripe decline code your dashboard is likely to show.

CodeMeaningTypeWhat to do on a renewal
51 (insufficient_funds)Not enough funds or creditSoft (Visa Cat. 2)Retry over several days; on Mastercard, follow MAC 24–30 timing
05 (do_not_honor / generic_decline)Issuer declined without a specific reasonGeneric (Visa Cat. 4)Two or three spaced retries, then ask the customer to check with their bank or update the card
54 (expired_card)Card expiredFix data (Visa Cat. 3)Refresh through an account updater or ask for the new expiry; do not retry the old date
14 (incorrect_number / invalid_account)Card number not validHard (Visa Cat. 1)Stop retrying this number; request new card details
41, 43 (lost_card, stolen_card)Card reported lost or stolenHard (Visa Cat. 1)Stop. Show the customer a generic decline message, never the reason
57 (transaction_not_allowed)Card not permitted for this type of purchaseHard (Visa Cat. 1)Ask for a different card
61, 65 (card_velocity_exceeded, withdrawal_count_limit_exceeded)Amount or frequency limit hitSoft (Visa Cat. 2)Retry after the limit resets, usually the next day
91, 96 (issuer_not_available, processing_error)Issuer or system unavailableSoft (Visa Cat. 2)Retry soon; a different route can help if the problem is on the processing side
1A (authentication_required)Issuer wants the cardholder to authenticateFix data (Visa Cat. 3)Bring the customer on-session to authenticate; do not keep retrying off-session
R0, R1, R3 (stop_payment_order, revocation_of_authorization, revocation_of_all_authorizations)Cardholder asked the bank to stop the recurring paymentHard (Visa Cat. 1)Stop billing that agreement and treat it as a cancellation signal

Codes 05 and 51 deserve a note. "Do not honor" shows up constantly because it is the issuer's catch-all, and Stripe notes that issuers categorize most declines as generic. It is retryable under Visa's rules, but a card that returns 05 three times in a row is telling you something: move to the customer. Insufficient funds is the opposite case. It has a clear cause and a fair chance of clearing later, so it is where a good retry schedule earns its keep.

Build a retry plan that respects the rules

A compliant plan is not complicated. It needs four rules, applied in this order.

1. Classify before you retry

Store the raw network response code and advice code with every failed renewal, not only your gateway's friendly label. Then route each decline into one of four buckets: stop, fix the data, retry later, or generic. The diagram above is the mapping.

2. Stop immediately on hard declines

Visa Category 1 codes and Mastercard MAC 03 or 21 end the attempt on that card. Send the customer a payment-update request instead. For R0, R1 and R3, or MAC 21, the customer has told their bank to stop paying you, so the right move is to pause or cancel the subscription and, if you want, run a win-back flow. Retrying these is both a rules breach and a fast route to a dispute.

3. Fix data before retrying Category 3 declines

Expired cards and replaced card numbers are the most fixable failures in subscriptions. A card account updater can return new details for many of them before the next attempt, and Mastercard's MAC 01 tells you specifically when new details exist. We covered how updaters work in Card Account Updater is now live in Paysight.

4. Space soft-decline retries and cap them well below the limit

Twenty attempts in 30 days is a ceiling, not a target. Stripe recommends a maximum of eight retries for charges that permit them, and Recurly's April 2026 analysis found about 90% of recovered transactions come back within the first 10 days after the failure. A front-loaded schedule of five or six retries over roughly two weeks, followed by a direct request to the customer, captures most of the recoverable revenue and leaves plenty of headroom.

Timeline of a sample retry plan for a soft-declined subscription renewal: six retries on days 1, 3, 5, 7, 10 and 14, inside Visa's 20-attempts-in-30-days allowance.
A sample retry plan for a soft decline: six retries on days 1, 3, 5, 7, 10 and 14, front-loaded into the first 10 days, where Recurly sees about 90% of recoveries. It uses 6 of Visa's 20 allowed attempts per card in 30 days, then hands over to the customer with a payment-update link.

Where Mastercard gives a MAC 24–30, its timing replaces yours for that attempt. Some brands also line insufficient-funds retries up with common paydays; if you do, keep the total count inside the same cap.

Does retrying on another gateway or MID help?

Sometimes, and it depends on who said no. If the failure came from the processing side (a timeout, a gateway outage, a processing_error), sending the next attempt through another connected gateway is a sensible redundancy step. That is what multiple routes are for.

If the issuer said no, a new route does not change the answer. The issuer is deciding about the card, not about your gateway. Visa's rules do not permit reattempting a Category 1 decline, Mastercard's MAC 03 says do not try again, and neither makes an exception for a different MID. Routing around an issuer's refusal is the kind of behavior these retry rules exist to stop. Treat extra gateways as resilience and approval-rate tools, not as a way to reset the retry counter.

What to measure

Recurly estimates that involuntary churn (subscribers lost to failed payments) accounts for 20% to 40% of total churn across subscription businesses (April 2026). To know whether your decline policy works, track a few numbers by decline type rather than in aggregate:

  • Recovery rate by code: of renewals that failed with 51, 05, 54 and so on, how many were eventually paid. This shows where retries help and where they do not.
  • Attempts per recovered renewal: if this creeps up, your schedule is retrying cards that will not clear.
  • Hard-decline retries: the target is zero. Any non-zero count is a rules breach and a fee.
  • Retries per card per 30 days: the highest count in your data should sit well below 20.
  • Time to recovery: if most recoveries happen in the first week, late retries are adding cost for little return.

Where Paysight fits

Paysight is a platform for launching and managing subscriptions on the gateways and merchant accounts you connect, such as Stripe, NMI, Finix or your own MIDs. It does not process payments or decide approvals; the issuer still makes that call.

What it does is keep subscription, transaction and customer data in one place, so your team can see which renewals failed, with what response, and what happened next. On top of that, Paysight runs retries and routing across the gateways you connect, a card account updater for expired and replaced cards, and customer care portals where subscribers can update their payment method themselves. The aim is the policy in this guide: retry the declines that can recover, fix the data on the ones that need it, and hand the hard declines to the customer quickly.

See how Paysight handles failed renewals
Book a demo to see retries, card updating and customer care portals working across the gateways you already use.
BOOK A DEMO

Sources

FAQs
What is the difference between a soft decline and a hard decline?

A soft decline is a temporary refusal, such as insufficient funds or an issuer system being unavailable, and the payment may succeed if you retry later. A hard decline means the issuer will not approve that card for that payment, for example because it was reported lost or stolen or the account is closed. Soft declines can be retried within network limits; hard declines should not be retried at all.

Which decline codes should never be retried?

Visa's Category 1 codes must not be reattempted: 04, 07, 12, 14, 15, 41, 43, 46, 57, R0, R1 and R3. On Mastercard, a Merchant Advice Code of 03 (do not try again) or 21 (payment cancellation) means stop. In each case, ask the customer for a new payment method instead, and treat R0, R1, R3 or MAC 21 as a sign the cardholder has stopped the recurring payment.

How many times can you retry a declined card payment?

As of October 2026, Visa allows up to 20 reattempts per card in 30 days for decline Categories 2, 3 and 4, and none for Category 1. Mastercard charges fees once declined attempts on the same card at the same merchant pass 10 in 24 hours or 35 in 30 days. Stripe recommends no more than eight retries, and most recoveries happen within about 10 days.

Is do not honor (code 05) a soft or hard decline?

Code 05 is Visa's generic Category 4 decline, so it can be retried within the 20-in-30-days limit. It gives no reason, though, and repeated 05 responses usually mean the issuer will keep declining. A sensible approach is two or three spaced retries, then asking the customer to contact their bank or update their card.

What should I do when a subscription renewal fails for insufficient funds?

Insufficient funds (code 51) is a soft decline, so schedule spaced retries over the following days rather than retrying immediately. If the card is a Mastercard and the decline includes a Merchant Advice Code from 24 to 30, wait the interval it specifies, from 1 hour to 10 days. If the retries fail, send the customer a link to update their payment method.

Can I retry a hard decline through a different payment gateway or MID?

No. The issuer is declining the card, not your gateway, so a different route does not change the answer, and Visa's rules do not permit reattempting a Category 1 decline on any route. Extra gateways are useful when the failure is on the processing side, such as a timeout or outage, not as a way around an issuer's refusal.

What is a Mastercard Merchant Advice Code?

A Merchant Advice Code (MAC) is a code Mastercard returns with a decline to tell you what to do next. MAC 01 means new card details are available, 02 means try again later, 03 means do not try again, 21 means the cardholder cancelled the payment, and 24 to 30 tell you exactly how long to wait before retrying an insufficient-funds decline.

Tags
Decline Management
Recurring Payments
Payment Recovery
Involuntary Churn
Card Account Updater
Payments
Subscriptions
Soft vs Hard Declines: Which Decline Codes to Retry and When
Pedro Teixeira, Head Account Executive at Paysight
Pedro Teixeira
Pedro works closely with ecommerce founders, helping merchants make practical decisions about MIDs, subscriptions, payment infrastructure, and growth.
Share this post
Take control of your
payments and revenue.
Connect with processors, acquirers, and platforms you already use.
BOOK A DEMO