MAC Control
Last updated:August 5, 2026
Use this playground to see how MAC Control reacts when a declined transaction is retried.
When the issuer returns a Merchant Advice Code, MAC Control checks the advice before the next attempt is allowed. Depending on the MAC, the retry may be allowed, temporarily blocked, or stopped to avoid unnecessary retry costs and compliance risk.
In this playground, you can:
- choose a decline scenario
- trigger a specific MAC response
- attempt a retry
- see whether MAC Control allows or blocks the retry
- understand the reason behind the decision
The focus here is simple: should this retry happen now, or should it be stopped?
Every use case below walks through this same decision, with a different MAC code and outcome.
- All examples use the DB (debit) payment type for simplicity.
- MAC Control supports other types: pre-auths, rebills, refunds, reversals, and credits.
- MAC Control applies only when MACs are exposed by the acquirer and present in the issuer response.
- MAC Control works across PANs, wallet DPANs, and network tokens.
Use cases
Account closed (MAC 03)
How it works
1. The merchant initiates a payment
Initiate a server-to-server POST request with the required payment data. Use an amount ending in .03 to simulate MAC 03.
resultDetails.MerchantAdviceCode. That's the only new field on this initial decline, the processingDetails.macControl history described in step 2 only appears once a retry is actually attempted and blocked.Sample request:

2. The merchant attempts a retry
Retry the same transaction using the same account. Changing the amount, currency, or merchant transaction ID won’t help. The issue is structural, not transactional. MAC Control blocks the retry for 30 days.
Merchant recommendation:
- Do not retry with the same account
- Prompt the customer to provide a new payment method
700.601.003, status 76 (REJECTED_MAC), reason 76.20 (do not retry), and its response carries processingDetails.macControl.originalTxId, linking it back to the original declined transaction. See Result codes for the full list.Sample request:

Recurring cancelled (MAC 21)
How it works
The merchant initiates a recurring payment
The transaction gets declined with MAC 21 (Customer cancelled recurring agreement).
1. The merchant initiates a payment
Initiate a server-to-server POST request simulating a recurring payment. Use an amount ending in .21 to simulate MAC 21.
resultDetails.MerchantAdviceCode. That's the only new field on this initial decline, the processingDetails.macControl history described in step 2 only appears once a retry is actually attempted and blocked.Sample request:

2. The merchant attempts a retry
Retry the same transaction using the same account, amount, currency, and merchantTransactionId. MAC Control blocks the retry for 30 days.
Merchant recommendation:
- Do not retry the same recurring transaction
- Notify the customer that their recurring agreement has been cancelled
- Offer reactivation options (e.g., opt-in again, re-subscribe)
- Consider switching to a one-time payment if the customer still wants to complete the transaction
700.601.021, status 76 (REJECTED_MAC), reason 76.20 (do not retry), and its response carries processingDetails.macControl.originalTxId, linking it back to the original declined transaction. See Result codes for the full list.Sample request:

Insufficient funds (MAC 02, MAC 24-30)
How it works
The merchant initiates a payment
The transaction gets declined with MAC 02 / 24-30, credit limits or insufficient funds.
1. The merchant initiates a payment
Initiate a server-to-server POST request simulating a payment. Use an amount ending in .02, .24, .25 etc to simulate MAC 02, 24-30.
resultDetails.MerchantAdviceCode. That's the only new field on this initial decline, the processingDetails.macControl history described in step 2 only appears once a retry is actually attempted and blocked.Sample request:

2. The merchant attempts a retry
Retry the same transaction using the same account, amount, currency, and merchantTransactionId. MAC Control blocks it for the advised delay.
Merchant recommendation:
- Do not retry immediately - respect the issuer-advised delay
- Wait for the delay window before retrying the same transaction
- Optionally retry with a modified transaction (e.g., lower amount)
- Notify the customer about the failed payment and offer alternative payment methods
700.600.002 (MAC 02) through 700.600.030 (MAC 30), status 76 (REJECTED_MAC), reason 76.10 (retry after delay), matching the exact window advised for that code. Its response also carries processingDetails.macControl.originalTxId, linking it back to the original declined transaction. See Result codes for the code-by-code breakdown.Sample request:

Update account info (MAC 01)
How it works
The merchant initiates a payment
The transaction gets declined with MAC 01, cardholder account needs update.
1. The merchant initiates a payment
Initiate a server-to-server POST request simulating a payment. Use an amount ending in .01 to simulate MAC 01.
resultDetails.MerchantAdviceCode. That's the only new field on this initial decline, the processingDetails.macControl history described in step 2 only appears once a retry is actually attempted and blocked.Sample request:

2. The merchant attempts a retry
Retry the same transaction using the same account. Changing the amount, currency, or merchant transaction ID won’t help. The issue is structural, not transactional. MAC Control blocks it for 7 days unless credentials are refreshed.
Merchant recommendation:
- Do not retry with the same outdated credentials
- Wait for credential refresh via Real Time Account Updater or Network Token rails
- Prompt customer to update their card details if no automatic update is avaialble
- Consider offering alternative payment methods
700.601.001, status 76 (REJECTED_MAC), reason 76.20 (do not retry), and its response carries processingDetails.macControl.originalTxId, linking it back to the original declined transaction. See Result codes for the full list.Sample request:

SCA required (MAC 01)
How it works
The merchant initiates a payment
The transaction gets declined with MAC 01, Strong Customer Authentication (SCA) required.
1. The merchant initiates a payment
Initiate a server-to-server POST request simulating a payment. Use an amount ending in .11 to simulate MAC 01.
resultDetails.MerchantAdviceCode. That's the only new field on this initial decline, the processingDetails.macControl history described in step 2 only appears once a retry is actually attempted and blocked.Sample request:

2. The merchant attempts a retry
Retry the same transaction using the same account Changing the amount, currency, or merchant transaction ID won’t help. The issue is structural, not transactional. MAC Control blocks it for 7 days.
Merchant recommendation:
- Do not retry without authentication
- Enable EMV 3DS on your merchant channel and account
700.601.001, status 76 (REJECTED_MAC), reason 76.20 (do not retry), and its response carries processingDetails.macControl.originalTxId, linking it back to the original declined transaction. See Result codes for the full list.Sample request:

Not eligible for installment (MAC 22)
How it works
The merchant initiates a payment
The transaction gets declined with MAC 22, merchant not eligible for installment product.
1. The merchant initiates a payment
Initiate a server-to-server POST request simulating a payment. Use an amount ending in .22 to simulate MAC 22.
resultDetails.MerchantAdviceCode. That's the only new field on this initial decline, the processingDetails.macControl history described in step 2 only appears once a retry is actually attempted and blocked.Sample request:

2. The merchant attempts a retry
Retry the same transaction using the same account Changing the amount, currency, or merchant transaction ID won’t help. The issue is structural, not transactional. MAC Control blocks it for 30 days.
Merchant recommendation:
- Do not retry with the same product and account
- Review your eligibility for the installment program with your acquirer or scheme
- Switch to a standard payment product if installment is not supported
- Notify the customer and offer alternative payment options (e.g., pay in full, use a wallet).
700.601.022, status 76 (REJECTED_MAC), reason 76.20 (do not retry), and its response carries processingDetails.macControl.originalTxId, linking it back to the original declined transaction. See Result codes for the full list.Sample request:

Result codes
Every blocked retry returns a dedicated result code, so merchants always know exactly why a retry was stopped and, where applicable, when to try again. All of them carry status code 76 (REJECTED_MAC) and one of two reason codes: 76.10 (retry after delay) or 76.20 (do not retry). The blocked retry's own response also carries processingDetails.macControl.originalTxId, linking it back to the original declined transaction. Codes below are pulled live from the platform, so this list stays current automatically as codes are added or changed.
| Result code | Description |
|---|---|
| 700.600.002 | Retry blocked (Retry after 72 hours) |
| 700.600.024 | Retry blocked (Retry after 1 hour) |
| 700.600.025 | Retry blocked (Retry after 24 hours) |
| 700.600.026 | Retry blocked (Retry after 2 days) |
| 700.600.027 | Retry blocked (Retry after 4 days) |
| 700.600.028 | Retry blocked (Retry after 6 days) |
| 700.600.029 | Retry blocked (Retry after 8 days) |
| 700.600.030 | Retry blocked (Retry after 10 days) |
| 700.600.031 | Auto Retry blocked. Max retries exceeded. |
| Result code | Description |
|---|---|
| 700.601.001 | Retry blocked (Update card info or use 3D Secure before retrying) |
| 700.601.003 | Retry blocked (Account closed or flagged for fraud. Request a new payment method) |
| 700.601.021 | Retry blocked (Recurring payment canceled by cardholder. Stop billing and remove card) |
| 700.601.022 | Retry blocked (Merchant not eligible for product. Contact your acquirer) |
For every other result code family beyond MAC Control, see Result codes, section 4.5.
Configuration
- Requires a commercial agreement and support team activation.
Please log in to view and manage MAC Control configuration settings.