MAC (Merchant Advice Code)
Last updated:September 11, 2025
You run a successful online store. Orders come in, and your system quietly handles payments in the background — subscriptions, recurring purchases, saved cards. One morning, your system tries to charge a card for a monthly subscription. The transaction is declined. No explanation. No shopper to ask. Just a failed payment.
Your retry logic kicks in. You try again later that day. Then again the next morning. Still declined. Eventually, the transaction is dropped. The sale is lost. And your system has logged three failed attempts — each one costing you time, network fees, and a hit to your approval rate.
But here’s the part most merchants never see: the issuer had already sent a signal. With the first decline, they include a small code — a Merchant Advice Code (MAC). It might've said: “Don’t retry right now. Wait.” Or, “This account is closed. Stop trying.” But your system didn’t act on it. Not because it ignored the advice — but because it didn’t understand it. That’s what MACs are: quiet, actionable messages from the issuer, passed through the card network, meant to guide your next move. They're not just technical metadata. They're a way to make smarter retry decisions, reduce unnecessary retries, and avoid higher fees that can come from repeated failed attempts.
MAC is how issuers talk to you.
MAC Control is how you learn to listen.
What is a MAC?
A short code sent by the issuer in the decline response to tell the merchant what to do next (retry, wait, or stop).Think of it as “issuer guidance for your next move”.
What do the card networks do?
The card schemes - like Visa and Mastercard - don't create Merchant Advice Codes. But they play a critical role in how MACs work:- They define the MAC rules and codes
- They deliver the MAC from issuer to acquirer to merchant
- They enforce the rules - including applying higher fees if MAC guidance is ignored
Why MACs matter to you?
Card schemes like Visa and Mastercard use Merchant Advice Codes to help merchants make better decisions after a decline. Here’s how:- They reduce unnecessary retries that waste time and rack up costs
- They improve approval rates by guiding you toward the right next step
- They help you avoid higher fees that can result from retrying when you shouldn’t
Unified MAC codes with retry restrictions & fees
Here are the simple rules for merchants:- 🔴 Don’t retry — the issuer has clearly indicated the transaction shouldn’t be attempted again. Retrying may lead to higher costs.
- 🟠 Fix the issue first — something needs attention (e.g., expired card, insufficient funds). Retry only after resolving it.
- 🟡 Wait before retrying — the timing isn’t right. Retrying too soon could result in additional fees or lower approval rates.
MAC | Likely decline reason | Description (Issuer advice) | Fee Rules |
---|---|---|---|
🟠MAC01 | Account needs update or Strong Customer Authentication (SCA) required | Retry with updated card info or 3DS |
![]() ![]() |
🟡MAC02 | Credit limits issue, insufficient funds | Retry after 72 hours |
![]() ![]() |
🔴MAC03 | Account closed or fraud suspected | Do not retry. Obtain new payment method |
![]() ![]() |
⚪MAC04 | Token setup issue | Retry with correct token configuration |
![]() ![]() |
🔴MAC21 | Customer canceled recurring agreement | Do not retry. Cardholder opted out | ![]() |
🟠MAC22 | Merchant not eligible for installment product | Do not retry |
![]() ![]() |
🟡MAC24 | Temporary funding issue | Retry after 1 hour | ![]() |
🟡MAC25 | Temporary funding issue | Retry after 24 hours | ![]() |
🟡MAC26 | Temporary funding issue | Retry after 2 days | ![]() |
🟡MAC27 | Temporary funding issue | Retry after 4 days | ![]() |
🟡MAC28 | Temporary funding issue | Retry after 6 days | ![]() |
🟡MAC29 | Temporary funding issue | Retry after 8 days | ![]() |
🟡MAC30 | Temporary funding issue | Retry after 10 days | ![]() |
⚪MAC40 | Consumer non-reloadable prepaid card used | Informational only | ![]() |
⚪MAC41 | Single-use virtual card used | Informational only | ![]() |
⚪MAC42 | Sanctions screening triggered | Do not retry. Cardholder or transaction matched a sanctions list or exceeded a sanctions scoring threshold | ![]() |
⚪MAC43 | Multi-use virtual card is usedt | Informational only. May appear on approved or declined transactions | ![]() |
How MAC Control solves the problem for merchants
Let’s go back to that moment — a transaction is declined, and your system is left to decide: retry or not? You received a 🔴MAC03 — the account is closed. Or maybe 🟡MAC02 — insufficient funds. Or 🟠MAC01 — the card needs updating.
Now what?
You could build logic to interpret each MAC. You could track scheme rules, retry windows, and fee thresholds. And yes — it is the merchant’s responsibility to follow issuer advice. But MAC Control simplifies this by automating the complexity. Once enabled, MAC Control reads the MAC, understands the issuer’s advice, and makes the decision for you — instantly.
Here’s how MAC Control acts on common MACs:
- 🔴MAC03 / 🔴MAC21 “Do not retry”, MAC Control blocks the transaction immediately and prevents retries for 30 days
- 🟡MAC02 / 🟡MAC24-30 “Retry after delay”, MAC Control blocks the transaction temporarily.
- 🟠MAC01 “Update account info”, MAC Control blocks retries for 7 days unless credentials are refreshed via account updater or network token lifecycle events
- 🟠MAC01 “Strong Customer Authentication (SCA) required”, MAC Control blocks retries for 7 days to allow you enable 3DS on your channel
- 🟠MAC22 “Not eligible for a product”, MAC Control blocks retries for 30 days allowing time to review eligibility with the scheme"
You make smarter retry decisions — based on issuer signals, not guesswork.
You reduce unnecessary costs — by avoiding retries that lead to higher fees.
You focus on your business — not on interpreting obscure decline codesYou stay compliant.
Where MAC Control applies
Every time your system sends a transaction — whether it’s a saved card, a subscription renewal, or a digital wallet payment — MAC Control is quietly watching. It doesn’t act on everything. Only when it matters.
- When a transaction involves a PAN, DPAN, or network token, and a MAC is present, MAC Control steps in. It applies to a wide range of authorization types — from pre-auths and debits to rebills, fast refunds, online reversals, and credits.
- MAC Control checks the MAC and determines the next step: retry, wait, or stop. It’s designed to work across acquirers — but only where MAC support is available. Not all acquirers expose MACs today, so MAC Control applies selectively based on acquirer capabilities.
How MAC Control decides to block or allow a retry
Account-Level Issues
MAC Control blocks retries when the issue is tied to the cardholder’s account or the merchant’s eligibility — not the specific transaction. These include:
- 🟠 MAC01 – Cardholder account needs update or Strong Customer Authentication (SCA) required
- 🔴 MAC03 – Cardholder account closed or fraud suspected
- 🟠 MAC22 – Merchant not eligible for installment product
Why?
- The cardholder's account is expired or closed
- The merchant isn’t eligible for the product (e.g., installments)
- Strong Customer Authentication (SCA) is required but hasn't been completed
Example:
- The card expired → No retry will succeed until it’s updated
- Strong Customer Authentication (SCA) required → Retry is blocked until authentication is completed
Transaction-Level Issues
Some MACs point to issues tied to the specific transaction — such as the amount, order, or recurring agreement. These include:
- 🟡 MAC02 / MAC24–30 – Credit limits or insufficient funds
- 🔴 MAC21 – Customer canceled a recurring agreement
Why?
- The cardholder might have added funds
- A smaller amount might succeed
- A new order or updated agreement may be valid
Example:
- Retry is allowed later for a new order or different amount
- Identical retries of the same transactions are blocked to avoid unnecessary costs