Skip to main content

ISO 8583 Response Codes

ISO 8583 is the international standard for financial transaction card-originated messages. When a credit or debit card transaction is processed, the card issuer returns a response code that indicates the outcome of the authorization request. Understanding these codes helps you optimize your payment flow and provide better customer experiences.



Overview

When EBANX processes a card transaction, the issuing bank returns an ISO 8583 response code. EBANX translates these technical codes into user-friendly descriptions in the API response. However, understanding the underlying ISO codes can help you make better decisions about retry logic, customer messaging, and fraud prevention.

Important Considerations

ISO 8583 response codes are broad definitions that may be interpreted differently by card brands, banks, and regions. Authorization systems are built upon each banking institution's understanding of the rules, so the same code may have different meanings depending on the country or issuer. EBANX maintains direct relationships with the main banks in each region, and our status descriptions already take into account the regional understanding of each code. For the most accurate guidance, rely on the EBANX description field in your API responses.

The response codes are returned in the payment.transaction_status object:

{
"payment": {
"transaction_status": {
"acquirer": "EBANX",
"code": "NOK",
"description": "Not accepted",
"iso_code": "51",
"mac_code": "02"
}
}
}

Info

The iso_code and mac_code fields are returned only for declined transactions. If you need these fields in your API responses, contact your EBANX Account Manager to enable them.

Tip

ISO 8583 response codes are available for card transactions processed in Argentina, Brazil, Chile, Colombia, Dominican Republic, Mexico, and Peru.

Mexico

In Mexico, card brand schemes have less control over the local payment industry compared to other regions. As a result, ISO response codes may not be strictly enforced, and some banks may use codes differently than the standard definitions. For Mexican transactions, rely primarily on the EBANX description field for accurate decline reasons.


Understanding the MAC Code

For Mastercard transactions, issuers may return an additional MAC code (Merchant Advice Code) alongside the ISO code. The MAC code provides more granular information about why a transaction was declined and specific guidance on retry behavior.

MAC code availability depends on the processing path. Not all Mastercard transactions will include a MAC code. When a mac_code is present, use it to determine retry logic. When no MAC code is available, use the ISO code guidance from the tables below.

When a mac_code is present, it takes precedence over the iso_code for determining retry logic. The MAC code indicates whether you should request updated card information, retry after a specific delay, or not retry at all.

The mac_code field is only returned for Mastercard transactions when the issuer provides this additional information. For Visa and Elo transactions, only the iso_code is returned.


Response Code Categories

ISO 8583 response codes fall into several categories that determine how you should handle the transaction outcome. The following tables apply to all card brands. For Mastercard transactions, if a mac_code is present in the response, refer to the Mastercard MAC Codes section below for more specific retry guidance.

Approved Transactions

This code indicates successful authorization.

CodeDescriptionAction
00ApprovedTransaction successful

Hard Declines - Should Not Retry

Hard declines indicate permanent issues that are unlikely to succeed on retry. Retrying these transactions may result in additional fees and can negatively impact your authorization rates.

Note

Elo is a Brazilian card brand. Codes marked with 'Elo' apply exclusively to transactions processed in Brazil.

CodeDescriptionBrandsReason
04Pick up cardVisa, MastercardCard may be reported lost or stolen
07Pick up card, special conditionVisa, MastercardFraud account suspected
12Invalid transactionVisa, Mastercard, EloTransaction type not supported
13Invalid amountEloAmount format or value invalid
14Invalid card numberVisa, Mastercard, EloCard number does not exist
15No such issuerVisa, MastercardCard BIN not recognized
19Re-enter transactionEloTransaction cannot be processed
23Unacceptable feeEloFee structure not accepted
30Format errorEloMessage format invalid
41Lost cardVisa, Mastercard, EloCard reported as lost
43Stolen cardVisa, Mastercard, EloCard reported as stolen
46Closed accountVisa, Mastercard, EloAccount has been closed
56No card recordEloCard not found in issuer system
57Transaction not permitted to cardholderVisa, Mastercard, EloCard restrictions apply
58Transaction not permitted to terminalEloTerminal restrictions apply
64Original amount incorrectEloAmount mismatch
76Invalid accountEloAccount number invalid
77Invalid accountEloAccount number invalid
83Security declineEloSecurity validation failed
R0Stop payment orderVisaCustomer requested stop payment
R1Revocation of authorizationVisaAuthorization has been revoked
R3Revocation of all authorizationsVisaAll authorizations revoked
FMFraud monitoringEloTransaction blocked by fraud systems

Soft Declines - Retry Possible

Soft declines are temporary issues that may succeed if retried. These are typically caused by temporary issuer system issues or transaction limits that may reset. However, be mindful of retry limits to avoid penalties.

CodeDescriptionBrandsRecommended Action
03Invalid merchantVisa, MastercardRetry after verifying merchant configuration
04Pick up cardEloRetry after a short delay
05Do not honorVisa, MastercardRetry after a short delay
06ErrorVisa, Mastercard, EloRetry after a short delay
13Invalid amountVisa, MastercardRetry with corrected amount
19Re-enter transactionVisa, MastercardRetry the transaction
38Exceeded PIN triesEloAdvise customer to wait before retrying
39No credit accountVisa, MastercardRetry with different payment method
51Insufficient fundsVisa, Mastercard, EloAdvise customer to use a different card or try again later
52No checking accountVisa, MastercardRetry with different account type
53No savings accountVisa, MastercardRetry with different account type
58Transaction not permittedVisa, MastercardRetry after verifying terminal configuration
59Suspected fraudVisa, Mastercard, EloReview transaction and retry if legitimate
61Exceeds withdrawal limitVisa, Mastercard, EloRetry with a lower amount or advise customer to try again later
62Restricted cardVisa, Mastercard, EloRetry may succeed. Card has geographic or merchant restrictions
64Original amount incorrectVisa, MastercardRetry with corrected amount
65Exceeds withdrawal frequencyVisa, Mastercard, EloAdvise customer to try again later
74PIN errorVisa, MastercardAdvise customer to verify PIN
75PIN tries exceededVisa, Mastercard, EloAdvise customer to wait before retrying
76Invalid accountVisa, MastercardRetry with corrected account information
78Card not activatedVisa, Mastercard, EloAdvise customer to activate their card first
81Cryptographic errorVisa, MastercardRetry the transaction
86Cannot verify PINVisa, MastercardRetry the transaction
91Issuer or switch inoperativeVisa, Mastercard, EloRetry after a short delay
92Routing errorVisa, MastercardRetry after a short delay
93Violation of lawVisa, MastercardReview transaction and retry if compliant
94Duplicate transmissionVisa, MastercardVerify transaction status before retrying
96System malfunctionVisa, MastercardRetry after a short delay
N0Force STIPVisaRetry the transaction
N3Cash service not availableVisaRetry the transaction
N4Cash request exceeds issuer limitVisaRetry with a lower amount
5CCard not on fileVisaVerify card enrollment status
9GContact card issuerVisaAdvise customer to contact their bank

Data Quality Issues

These codes indicate problems with the transaction data that require customer correction before retrying.

CodeDescriptionBrandsRecommended Action
54Expired cardVisa, Mastercard, EloAdvise customer to use a different card or update expiration date
55Incorrect PINVisa, Mastercard, EloAdvise customer to verify PIN
63Security violationEloAdvise customer to verify card security features
70PIN data requiredVisa, MastercardAdvise customer that PIN entry is required
82CVV mismatchVisa, Mastercard, EloAdvise customer to verify security code
1AAdditional customer authentication requiredVisaRedirect customer to complete additional verification
6PPIN requiredVisaTransaction requires PIN entry
N7CVV mismatchVisaAdvise customer to verify security code

Brand-Specific Codes

Some response codes are specific to certain card brands. Understanding these can help you provide more accurate customer messaging.

Visa-Specific Codes

CodeDescriptionCategoryRecommended Action
1AAdditional customer authentication requiredData QualityRedirect to 3D Secure or additional verification
5CCard not on fileSoft DeclineVerify card enrollment status
6PPIN requiredData QualityTransaction requires PIN entry
9GContact card issuerSoft DeclineAdvise customer to contact their bank
B1Surcharge not permittedGenericRemove surcharge from transaction
B2Surcharge not supportedGenericRemove surcharge from transaction
N0Force STIPGenericRetry the transaction
N7CVV mismatchData QualityAdvise customer to verify security code
N8Cryptographic failureGenericRetry the transaction
R2Issuer system unavailableGenericRetry after a short delay
Z5Fallback not allowedGenericUse chip or contactless instead of magnetic stripe

Mastercard MAC Codes

For Mastercard transactions, the mac_code field provides specific retry guidance. When present, the MAC code determines the recommended action regardless of the ISO code. When no MAC code is available, use the ISO code guidance from the tables above.

MAC CodeDescriptionCategoryRecommended Action
01Updated information requiredSoft DeclineRequest updated card information from customer
02Try again laterSoft DeclineRetry after a short delay
03Account closed or fraudulentHard DeclineDo not retry
04Issuer cannot approve nowSoft DeclineRetry after a short delay
21Cancelled cardholder agreementHard DeclineDo not retry
24Retry in 1 hourTimed RetryRetry after 1 hour
25Retry in 24 hoursTimed RetryRetry after 24 hours
26Retry in 2 daysTimed RetryRetry after 2 days
27Retry in 4 daysTimed RetryRetry after 4 days
28Retry in 6 daysTimed RetryRetry after 6 days
29Retry in 8 daysTimed RetryRetry after 8 days
30Retry in 10 daysTimed RetryRetry after 10 days
40Consumer non-reloadable prepaid cardInformationalMay appear in approved or declined transactions
41Consumer single-use virtual card numberInformationalMay appear in approved or declined transactions
Note

When processing Mastercard transactions, always check for the presence of a mac_code. If present, use the MAC code guidance for retry decisions rather than the ISO code alone. If no MAC code is available, use the ISO code guidance from the tables above. Note that MAC codes 40 and 41 are informational and may appear even in approved transactions.


Elo-Specific Codes (Brazil Only)

Elo is a Brazilian card brand, so these codes apply exclusively to transactions processed in Brazil.

CodeDescriptionCategoryReason
FMFraud monitoringHard DeclineShould not retry. Transaction blocked by Elo fraud systems

Retry Limits by Brand

Card brands enforce limits on how many times you can retry a declined transaction. Exceeding these limits may result in penalties. EBANX enforces the following retry thresholds:

BrandMaximum Retry AttemptsTime Window
Visa20 attempts30 rolling days
Mastercard7 attempts (24h) / 35 attempts (total)24 hours / 30 rolling days
Elo (Brazil only)15 attemptsCalendar month

After reaching these limits for soft declines, further retry attempts will be blocked until the time window resets.


Best Practices for Handling Response Codes

When implementing your payment flow, consider these best practices for handling ISO 8583 response codes.

Implement smart retry logic. Not all declines should be retried. Retrying hard declines wastes resources and can negatively impact your authorization rates. Focus retry attempts on soft declines and respect the retry limits per brand.

Check for MAC codes on Mastercard transactions. When a mac_code is present, use it to determine retry behavior. MAC codes provide more specific guidance than ISO codes alone, including exact retry timing for timed retry codes. When no MAC code is available, use the ISO code guidance.

Provide clear customer messaging. Translate technical decline reasons into actionable customer messages. Instead of showing "Code 51", display "Your card has insufficient funds. Please try a different payment method."

Monitor decline patterns. Track your decline rates by response code to identify issues. A sudden increase in specific codes may indicate fraud attacks, integration issues, or changes in issuer policies.

Use 3D Secure for authentication-related declines. If you see frequent 1A (additional authentication required) codes, consider implementing 3D Secure 2.0 to reduce these declines.

Contact EBANX support for persistent issues. If you experience high decline rates or unusual response codes, our support team can help investigate and optimize your integration.


Still need help?

Help Image

We hope this article was helpful. If you still have questions, you can explore the following options: