To determine the status of any Visa Direct API call, use the combination of the HTTP status code returned in the response, error code from Visa Direct or the platform, and other information included in the response message in order to apply the correct processing logic and communicate with customers. The following table provides additional guidance on how to interpret and act upon status responses.
| HTTP Status Code | Error Code | Error Description | Recommended Handling |
|---|---|---|---|
| 200 | None | Transaction processed successfully. The Action Code returned in the response indicates the outcome of the transaction (e.g. Approved, Declined, etc.) | Map the value in the Action Code field to an appropriate customer-facing message (e.g. "Transaction Completed Successfully" or "Transaction Declined by Recipient Issuer"). |
| 202 | None | The POST transaction timed out. If the API is not able to complete the transaction within 30 seconds (default) or within the timeout duration set in the HTTP header, it will respond with an 202 HTTP Status Code and a statusIdentifier value that can be used in the GET operation as the statusIdentifier in the URI. | Wait an appropriate amount of time and then submit a GET transaction using the statusIdentifier received in the POST response in the URL. The GET URL is valid for 24 hours and can be resubmitted as many times as needed until a successful response is returned. Consider providing a "Please Wait" type response to the customer while waiting for the transaction to complete and remind the customer not to retry the transaction because the initial request is still being processed. |
| 303 | None | The API detected a duplicate transaction. | A duplicate transaction was detected when re-submitting a POST transaction with the same header (e.g. X-Client-Transaction-ID) and details while the original transaction is still being processed. Use the GET response URL to retrieve details of the original transaction that is still in process. |
| 400 | 3001 | The transaction was rejected by Visa due to a message validation error. | The message contains invalid data. Investigate the source of the invalid data before resubmitting the transaction. Consider placing the transaction in an exception queue and providing a suitable "Try Again Later" message to the customer if the problem cannot be resolved immediately. |
| 400 | 8001 | Velocity Limit Exceeded | Established velocity limit by the service provider for transaction count, amount etc. has been reached. |
| 401 | None / 9123 / 9124 | This is returned if user credentials are wrong. | Resubmit with valid user credentials |
| 401 | 9125 | This is returned due to client certificate does not |
Use the valid client certificate |
| 403 | None / 9611 | Revalidate the URL and the Resource before resubmitting the transaction. | |
| 404 | None | The URL is invalid or the Resource could not be found. | Revalidate the URL and the Resource before resubmitting the transaction. Consider placing the transaction in an exception queue and providing a suitable "Try Again Later" message to the customer if the problem cannot be resolved immediately. |
| 404 | 3001 | The message contains an invalid Primary Account Number (PAN) | Display an appropriate message to the customer and ask them to correct the sender or recipient PAN and resubmit the request. |
| 500 | 1001 / 2001 | These are returned when an internal server error occurs. | Contact your Visa production support contact for investigation and assistance. |
| 503 | This may be due to |
Contact your Visa production support contact for investigation and assistance. Recommend not to re-post |
|
| 504 | Timeout which may be due to |
Contact your Visa production support contact for investigation and assistance. Recommend not to re-post |
Following are additional 400 Error Codes
| HTTP Code | OCT Error Code | OCT V2 Error Message | Description | Cause |
| 400 | 3001 | API Validation Error: 3001. SourceCurrencyCode is missing. | SourceCurrencyCode is missing | Source currency code missing when source amount provided |
| 400 | 3001 | API Validation Error: 3001. SourceAmount is missing. | SourceAmount is missing | Source amount missing when source currency code provided |
| 400 | 3001 | API Validation Error: 3001. Field 'IrfType' is missing or has invalid content. | Field 'IrfType' is missing or has invalid content | Invalid Mexico IRF type value |
| 400 | 3001 | API Validation Error: 3001. Field 'AccountType' is missing or has invalid content. | Field 'AccountType' is missing or has invalid content | Invalid Mexico account type value |
| 400 | 3001 | API Validation Error: 3001. Field 'SenderPostalCode' is missing or has invalid content. | Field 'SenderPostalCode' is missing or has invalid content | Invalid sender postal code |
| 400 | 3001 | API Validation Error: 3001. Field 'integratedCircuitCardData' is missing or has invalid content. | Field 'integratedCircuitCardData' is missing or has invalid content | Invalid integrated circuit card data format |
| 400 | 3001 | API Validation Error: 3001. Field 'recipientDateOfBirth' is missing or has invalid content. | Field 'recipientDateOfBirth' is missing or has invalid content | Invalid recipient date of birth format |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'AcquiringBin' is missing or has invalid content. | Mandatory field 'AcquiringBin' is missing or has invalid content | Missing or invalid acquiring BIN |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'AcquirerCountryCode' is missing or has invalid content. | Mandatory field 'AcquirerCountryCode' is missing or has invalid content | Missing or invalid acquirer country code |
| 400 | 11011 | API Validation Error: 11011. merchantId value associated with Sender Token is either missing or invalid. | merchantId value associated with Sender Token is missing or invalid | Invalid sender merchant ID for PCI token |
| 400 | 11012 | API Validation Error: 11012. merchantId value associated with Recipient Token is either missing or invalid. | merchantId value associated with Recipient Token is missing or invalid | Invalid recipient merchant ID for PCI token |
| 400 | 3001 | API Validation Error: 3001. nationalReimbursementFee is not in the correct format to be transformed. | nationalReimbursementFee is not in the correct format to be transformed | Invalid decimal format for national reimbursement fee |
| 400 | 3001 | API Validation Error: 3001. Amount is not in the correct format to be transformed. | Amount is not in the correct format to be transformed | Invalid decimal format for various amount fields (surcharge misc amounts tax amounts) |
| 400 | 3001 | API Validation Error: 3001. SourceAmount is in the wrong format or has invalid minor digits | SourceAmount is in the wrong format or has invalid minor digits | Source amount decimal places exceed currency minor unit |
| 400 | 3001 | API Validation Error: 3001. nationalReimbursementFee is not in the correct format to be transformed. | ReimbursementFee is not in the correct format to be transformed | Invalid Mexico reimbursement fee format |
| 400 | 3001 | API Validation Error: 3001. ReimbursementFeeTax is not in the correct format to be transformed. | ReimbursementFeeTax is not in the correct format to be transformed | Invalid Mexico reimbursement fee tax format |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'RetrievalReferenceNumber' is missing or has invalid content. | Mandatory field 'RetrievalReferenceNumber' is missing or has invalid content | Invalid retrieval reference number format or date range (must be 1-366) |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'Amount' is missing or has invalid content. | Mandatory field 'Amount' is missing or has invalid content | Invalid transaction amount format or amount not greater than surcharge |
| 400 | 3001 | API Validation Error: 3001. Field 'SharingGroupCode' has invalid content. | Field 'SharingGroupCode' has invalid content | Invalid sharing group code characters |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'TransactionCurrency' is missing or has invalid content. | Mandatory field 'TransactionCurrency' is missing or has invalid content | Invalid or lowercase transaction currency code |
| 400 | 3001 | API Validation Error: 3001. 'SourceCurrencyCode' does not exist | SourceCurrencyCode' does not exist | Invalid or non-existent source currency code |
| 400 | 3001 | API Validation Error: 3001. SourceAmount cannot be zero. | SourceAmount cannot be zero | Source amount is zero or negative |
| 400 | 3001 | API Validation Error: 3001. Invalid country code [%s]. | Invalid country code | Invalid sender or recipient country code |
| 400 | 3001 | API Validation Error: 3001. Field has invalid content | Field has invalid content | Invalid cross-border country field values (senderNationality recipientNationality senderCountryOfBirth recipientCountryOfBirth) |
| 400 | 3001 | API Validation Error: 3001. Field 'visaMerchantIdentifier' has invalid content. | Field 'visaMerchantIdentifier' has invalid content | Invalid visa merchant identifier format (non-numeric) |
| 400 | 3001 | API Validation Error: 3001. Invalid PAN. | Invalid PAN | Invalid primary account number format |
| 400 | 3001 | API Validation Error: 3001. Invalid Signature. | Invalid Signature | Invalid signature verification failed |
| 400 | 3001 | API Validation Error: 3001. Invalid PAN or TOKEN. | Invalid PAN or TOKEN | Invalid PAN or network token |
| 400 | 3001 | API Validation Error: 3001. Invalid Account. | Invalid Account | Invalid account number |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'RetrievalReferenceNumber' is missing or has invalid content. | Mandatory field 'RetrievalReferenceNumber' is missing or has invalid content | Invalid retrieval reference number for deferred OCT queries/cancels |
| 400 | 3001 | API Validation Error: 3001. Invalid value for transactionStartDate and/or transactionEndDate | Invalid value for transactionStartDate and/or transactionEndDate | Invalid date format in deferred OCT queries |
| 400 | 3001 | API Validation Error: 3001. Validation failed for transactionStartDate and transactionEndDate. Either both dates must be present or none of them should be present | Validation failed for transactionStartDate and transactionEndDate | Various deferred OCT date validation failures |
| 400 | 10001 | API Validation Error: 10001. Recipient Payment Credential Reference value is invalid. | Recipient Payment Credential Reference value is invalid | Invalid PayName credential reference |
| 400 | 10003 | API Validation Error: 10003. Recipient Payment Credential Reference value not found. | Recipient Payment Credential Reference value not found | PayName not found |
| 400 | 11001 | API Validation Error: 11001. Payment Credential Reference value is invalid. | Payment Credential Reference value is invalid | Invalid PCI token credential reference |
| 400 | 11006 | API Validation Error: 11006. Sender Payment Credential Reference value is invalid. | Sender Payment Credential Reference value is invalid | Invalid sender PCI token reference |
| 400 | 12001 | API Validation Error: 12001. Payment Credential recipientPaymentCredentialReference.type not supported. | Payment Credential recipientpaymentCredentialReferenceReference.type not supported | Unsupported alias credential reference type |
| 400 | 12002 | API Validation Error: 12002. Payment Credential recipientPaymentCredentialReference.filters has invalid content. | Payment Credential recipientpaymentCredentialReferenceReference.filters has invalid content | Invalid alias filters |
| 400 | 12005 | API Validation Error: 12005. Recipient Payment Credential Reference value not found. | Recipient Payment Credential Reference value not found | Alias not found |
| 400 | 12007 | API Validation Error: 12007. Recipient Payment Credential Reference value is invalid. | Recipient Payment Credential Reference value is invalid | Invalid alias credential reference |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'Name' is missing or has invalid content. | Mandatory field 'Name' is missing or has invalid content | Missing or invalid card acceptor name |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'TerminalId' is missing or has invalid content. | Mandatory field 'TerminalId' is missing or has invalid content | Missing or invalid terminal ID |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'IdCode' is missing or has invalid content. | Mandatory field 'IdCode' is missing or has invalid content | Missing or invalid card acceptor ID code |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'CardAcceptor City' is missing or has invalid content. | Mandatory field 'CardAcceptor City' is missing or has invalid content | Missing or invalid card acceptor city |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'Country' is missing or has invalid content. | Mandatory field 'Country' is missing or has invalid content | Missing or invalid card acceptor country |
| 400 | 3001 | API Validation Error: 3001. The MerchantCategoryCode field is missing or has invalid content. | The MerchantCategoryCode field is missing or has invalid content | Missing merchant category code |
| 400 | 3001 | API Validation Error: 3001. One of Payment Credential Reference, PAN or Network Token is expected. | One of Payment Credential Reference PAN or Network Token is expected | Both recipient token ID and recipient primary account number provided or neither provided |
| 400 | 3001 | API Validation Error: 3001. The State field is missing or has invalid content. | The State field is missing or has invalid content | Invalid state field for US/Canada addresses |
| 400 | 3001 | API Validation Error: 3001. The ZipCode field is missing or has invalid content. | The ZipCode field is missing or has invalid content | Invalid zip code format for US/Canada addresses |
| 400 | 3001 | API Validation Error: 3001. ColombiaNationalServiceData is expected only when country code is Colombia | ColombiaNationalServiceData is expected only when country code is Colombia | Colombia national service data provided for non-Colombia country |
| 400 | 3001 | API Validation Error: 3001. MexicoNationalServiceData is expected only when AcquirerCountryCode is Mexico. | MexicoNationalServiceData is expected only when AcquirerCountryCode is Mexico | Mexico national service data provided for non-Mexico acquirer country |
| 400 | 3001 | API Validation Error: 3001. Duplicate idType value found in 'cardAcceptor.paymentFacilitator.additionalAcceptor.ids' | Duplicate idType value found in 'cardAcceptor.paymentFacilitator.additionalAcceptor.ids' | Duplicate ID type in additional acceptor IDs |
| 400 | 8002 | Financial Transactions Blocked: 8002. API transactions are blocked as per your sponsoring bank. Please contact your sponsoring bank for more details. | API transactions are blocked as per your sponsoring bank | Transaction control block by sponsoring bank |
| 400 | 3001 | API Validation Error: 3001. Field 'visaMerchantIdentifier' should not be present in the request, please contact your Visa representative. | Field 'visaMerchantIdentifier' should not be present in the request | Visa merchant identifier present when not allowed |
| 400 | 3001 | API Validation Error: 3001. Field 'integratedCircuitCardData' includes sensitive information. | Field 'integratedCircuitCardData' includes sensitive information | Sensitive ICC tags present in card data |
| 400 | 3001 | API Validation Error: 3001. Transaction to Recipient Card Country is restricted by the Sender Institution | Transaction to Recipient Card Country is restricted by the Sender Institution | Country filter restriction violation |
| 400 | 3001 | API Validation Error: 3001. Transactions to '%1$s' card and '%2$s' platform code are not permitted. Please contact your sponsoring bank for more details. | Transactions to card and platform code are not permitted | Velocity card type and platform restriction |
| 400 | 3001 | API Validation Error: 3001. Transactions to '%1$s' cards not permitted. Please contact your sponsoring bank for more details. | Transactions to cards not permitted | Velocity card type restriction |
| 400 | 3001 | API Validation Error: 3001. limitType Limit Exceeded. Please contact your sponsoring bank for more details. | Limit Exceeded | Velocity limit exceeded for transaction |
| 400 | 3001 | API Validation Error: 3001. Unable to retrieve PAN from Token. | Unable to retrieve PAN from Token | Token to PAN conversion failed |
| 400 | 3001 | API Validation Error: 3001. Invalid Token Requester Id. | Invalid Token Requester Id | Invalid token requester identifier |
| 400 | 3001 | API Validation Error: 3001. Token expired or deactivated. | Token expired or deactivated | Network token expired or deactivated |
| 400 | 3001 | API Validation Error: 3001. Transactions to recipients with card billing currency other than those specified by the acquirer sponsor not permitted. Contact your sponsoring bank for more details | Transactions to recipients with card billing currency other than those specified by the acquirer sponsor not permitted | Currency restriction by acquirer sponsor |
| 400 | 3001 | The value sent in retrievalReferenceNumber is reserved for Visa's internal use | The value sent in retrievalReferenceNumber is reserved for Visa's internal use | Reserved retrieval reference number used |
| 400 | 10004 | API Validation Error: 10004. One of recipient's Payment Credential Reference, PAN or Network Token is allowed. | One of recipient's Payment Credential Reference PAN or Network Token is allowed | Multiple payment credentials provided for PayName |
| 400 | 10005 | API Internal Error: 10005. Unable to resolve the Payment Credential Reference, please try after sometime. | PayName service unavailable due to circuit breaker | PayName service circuit breaker activated |
| 400 | 10006 | API Internal Error: 10006. Unable to resolve the Payment Credential Reference. | PayName request timeout | PayName service timeout |
| 400 | 10007 | API Validation Error: 10007. Client does not have permission to use the provided Visa+ payname. | Client does not have permission to use the provided Visa+ payname | PayName authorization failure |
| 400 | 11002 | API Internal Error: 11002. Unable to resolve the Payment Credential Reference. | PCI Token service unavailable | PCI tokenization service unavailable |
| 400 | 11003 | API Validation Error: 11003. One of recipient's Payment Credential Reference, PAN or Network Token is allowed. | One of recipient's Payment Credential Reference PAN or Network Token is allowed | Multiple payment credentials for PCI token recipient |
| 400 | 11004 | API Internal Error: 11004. Unable to resolve the Payment Credential Reference, please try after sometime. | PCI Token service unavailable due to circuit breaker | PCI token service circuit breaker |
| 400 | 11005 | API Validation Error: 11005. One of sender's Payment Credential Reference, PAN or Network Token is allowed. | One of sender's Payment Credential Reference PAN or Network Token is allowed | Multiple payment credentials for PCI token sender |
| 400 | 11007 | API Internal Error: 11007. Unable to resolve the Payment Credential Reference. | PCI Token request timeout | PCI tokenization service timeout |
| 400 | 11008 | API Validation Error: 11008. Client profile for provided Merchant ID does not have permission to perform the detokenization. Please contact your Token Service Provider support team. | Client profile does not have permission to perform detokenization | PCI token forbidden - insufficient permissions |
| 400 | 11009 | API Validation Error: 11009. Client profile for provided Merchant ID is unavailable. Please contact your Token Service Provider support team. | Client profile for provided Merchant ID is unavailable | PCI token failed dependency - merchant profile unavailable |
| 400 | 12003 | API Validation Error: 12003. Multiple values for CURRENCY_CODE not supported. | Multiple values for CURRENCY_CODE not supported | Multiple currency codes in alias filters |
| 400 | 12004 | API Validation Error: 12004. One of recipient's Payment Credential Reference, PAN or Alias is allowed. | One of recipient's Payment Credential Reference PAN or Alias is allowed | Multiple payment credentials for alias recipient |
| 400 | 12006 | API Internal Error: 12006. Unable to resolve the Payment Credential Reference, please try after sometime. | Unable to resolve the Payment Credential Reference, please try after sometime. | Unable to resolve the Payment Credential Reference, please try after sometime. |
| 400 | 12008 | API Validation Error: 12008. Alias can not be resolved for the given search criterion. | Alias can not be resolved for the given search criterion. | Alias can not be resolved for the given search criterion. |
| 400 | 1001 | API Internal Error: 1001. Please contact your Visa Representative. | Please contact your Visa Representative | Internal system error or unexpected VIP response |
| 400 | 2001 | API Internal Error: 2001. Please contact your Visa Representative. | Please contact your Visa Representative | Internal server error or system unavailable |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'localTransactionDateTime' is missing or has invalid content. | Mandatory field 'localTransactionDateTime' is missing or has invalid content. | Time is outside 3 days past or future window. |
| Http Code | Error Code | AFT Error Message | Cause | Description |
| 400 | 3001 | API Validation Error: 3001. PinData is expected only in a Card present card read AFT transaction. | PinData is expected only in a Card present card read AFT transaction. | PinData is expected only in a Card present card read AFT transaction. |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'SenderCurrencyCode' is missing or has invalid content. | Mandatory field 'SenderCurrencyCode' is missing or has invalid content. | Mandatory field 'SenderCurrencyCode' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'Surcharge' is missing or has invalid content. | Mandatory field 'Surcharge' is missing or has invalid content. | Mandatory field 'Surcharge' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'ForeignExchangeFeeTransaction' is missing or has invalid content. | Mandatory field 'ForeignExchangeFeeTransaction' is missing or has invalid content. | Mandatory field 'ForeignExchangeFeeTransaction' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. ReimbursementFee is not in the correct format to be transformed. | ReimbursementFee is not in the correct format to be transformed. | ReimbursementFee is not in the correct format to be transformed. |
| 400 | 3001 | API Validation Error: 3001. Field 'track1Data/track2Data' is missing. | Field 'track1Data/track2Data' is missing. | Field 'track1Data/track2Data' is missing. |
| 400 | 3001 | API Validation Error: 3001. Field 'track1Data/track2Data' is missing or has invalid content. | Field 'track1Data/track2Data' is missing or has invalid content. | Field 'track1Data/track2Data' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'track1Data' has invalid content. | Field 'track1Data' has invalid content. | Field 'track1Data' has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'track2Data' has invalid content. | Field 'track2Data' has invalid content. | Field 'track2Data' has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'PinBlockFormatCode' has invalid content. | Field 'PinBlockFormatCode' has invalid content. | Field 'PinBlockFormatCode' has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'ZoneKeyIndex' has invalid content. | Field 'ZoneKeyIndex' has invalid content. | Field 'ZoneKeyIndex' has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'MotoECIIndicator' has invalid content. | Field 'MotoECIIndicator' has invalid content. | Field 'MotoECIIndicator' has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'PosTerminalType' has invalid content. | Field 'PosTerminalType' has invalid content. | Field 'PosTerminalType' has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'PosTerminalEntryCapability' has invalid content. | Field 'PosTerminalEntryCapability' has invalid content. | Field 'PosTerminalEntryCapability' has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'PosTerminalType/PosTerminalEntryCapability' has invalid content. | Field 'PosTerminalType/PosTerminalEntryCapability' has invalid content. | Field 'PosTerminalType/PosTerminalEntryCapability' has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'PanEntryMode/PosConditionCode/MotoECIIndicator' has invalid content. | Field 'PanEntryMode/PosConditionCode/MotoECIIndicator' has invalid content. | Field 'PanEntryMode/PosConditionCode/MotoECIIndicator' has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'posTerminalType,posTerminalEntryCapability' is missing or has invalid content. | Mandatory field 'posTerminalType,posTerminalEntryCapability' is missing or has invalid content. | Mandatory field 'posTerminalType,posTerminalEntryCapability' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'recipientDateOfBirth' is missing or has invalid content. | Field 'recipientDateOfBirth' is missing or has invalid content. | Field 'recipientDateOfBirth' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Field 'senderDateOfBirth' is missing or has invalid content. | Field 'senderDateOfBirth' is missing or has invalid content. | Field 'senderDateOfBirth' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'posTerminalType' is missing or has invalid content. | Mandatory field 'posTerminalType' is missing or has invalid content. | Mandatory field 'posTerminalType' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'posTerminalEntryCapability' is missing or has invalid content. | Mandatory field 'posTerminalEntryCapability' is missing or has invalid content. | Mandatory field 'posTerminalEntryCapability' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. Mandatory field 'localTransactionDateTime' is missing or has invalid content. | Mandatory field 'localTransactionDateTime' is missing or has invalid content. | Mandatory field 'localTransactionDateTime' is missing or has invalid content. |
| 400 | 3001 | API Validation Error: 3001. ColombiaNationalServiceData is expected only when country code is Colombia. | ColombiaNationalServiceData is expected only when country code is Colombia. | ColombiaNationalServiceData is expected only when country code is Colombia. |
| 400 | 3001 | API Validation Error: 3001. ArgentinaNationalServiceData is expected only when AcquirerCountryCode is Argentina. | ArgentinaNationalServiceData is expected only when AcquirerCountryCode is Argentina. | ArgentinaNationalServiceData is expected only when AcquirerCountryCode is Argentina. |
| 400 | 3001 | API Validation Error: 3001. Duplicate idType value found in 'cardAcceptor.paymentFacilitator.additionalAcceptor.ids'. | Duplicate idType value found in 'cardAcceptor.paymentFacilitator.additionalAcceptor.ids'. | Duplicate idType value found in 'cardAcceptor.paymentFacilitator.additionalAcceptor.ids'. |
| HTTP Code | Error Code | AFTR Error Message | Description | Cause |
| 400 | 3001 | Original transaction is not found. | Original transaction is not found. | Original transaction is not found. |
| 400 | 3001 | adjustmentType is not allowed. | adjustmentType is not allowed. | adjustmentType is not allowed. |
| HTTP Code | Error Code | Adjustment Error Message Missing | Description | Cause |
| 400 | 3001 | Mandatory field 'TransactionCurrencyCode' is missing or has invalid content Test | Mandatory field 'TransactionCurrencyCode' is missing or has invalid content | Invalid or non-existent transaction currency code when corrections enabled |
| 400 | 3001 | Mandatory field 'messageReasonCode and transactionTypeCode' is missing or has invalid content | Mandatory field 'messageReasonCode and transactionTypeCode' is missing or has invalid content | Both message reason code and transaction type code missing for non-whitelisted clients |
| 400 | 3001 | Mandatory field 'messageReasonCode' is missing or has invalid content | Mandatory field 'messageReasonCode' is missing or has invalid content | Missing message reason code for non-whitelisted clients |
| 400 | 3001 | Mandatory field 'transactionTypeCode' is missing or has invalid content | Mandatory field 'transactionTypeCode' is missing or has invalid content | Missing transaction type code for non-whitelisted clients |
| 400 | 3001 | Field 'messageReasonCode and transactionTypeCode' should not present in the request | Field 'messageReasonCode and transactionTypeCode' should not present in the request | Message reason code and transaction type code present for whitelisted clients |
| 400 | 3001 | Field 'messageReasonCode' should not present in the request | Field 'messageReasonCode' should not present in the request | Message reason code present for whitelisted clients |
| 400 | 3001 | Field 'transactionTypeCode' should not present in the request | Field 'transactionTypeCode' should not present in the request | Transaction type code present for whitelisted clients |
| 400 | 3001 | Mandatory field 'PointOfServiceData' is missing or has invalid content | Mandatory field 'PointOfServiceData' is missing or has invalid content | Missing point of service data when required for non-whitelisted clients |
| HTTP Code | Thin Layer Error Code | Query API Error Message | Description | Cause |
| 400 | 3001 | Field queryParams is invalid query parameter. | Enrich Core API Query Params , if initial Params are empty | Query parameters are empty |
| 400 | 3001 | Field '%s' is invalid query parameter. | Before making DB call the request params are validated | Query parameters value is invalid |
Additionally, there is a specific HTTP header variable for timeout exception handling which Originators may consider to use if it is applicable to their projects. The following table lists the header details.
| HTTP Header Variable | Description |
|---|---|
| X-Transaction-Timeout-MS | This is an optional variable. Elapsed time in milliseconds (ms) in which an API will respond back. If no value is specified then it defaults to 30000 ms (i.e. 30 seconds), which is the maximum value allowed. If the set value is greater than the maximum value then timeout will not occur. The API will respond with HTTP 202 ACCEPTED if the processing has not yet completed. If the processing completes within the designated timeout period, then the API will return HTTP 200 OK and the XML- or JSON-formatted response, based on the Content-Type value. |
| HTTP STATUS CODE | ERROR MESSAGE | RECOMMENDED HANDLING |
|---|---|---|
| 400 | 597 - Consistency Err: Multiple Duplicate Requests | This request was identified as Duplicate, but the ‘SystemTraceAuditNumber Number’ is different from original request. Re-submit the transaction with the unique values for retrievalReferenceNumber, acquiringBin, cardAcceptor.terminalId or cardAcceptor.idCode to avoid the duplicate transaction and consistency errors. |
| 400 | 600 - Consistency Err: Acct Nbr Inconsistent | This request was identified as Duplicate, but the ‘Account Number’ is different from original request. Re-submit the transaction with the unique values for retrievalReferenceNumber, acquiringBin, cardAcceptor.terminalId or cardAcceptor.idCode to avoid the duplicate transaction and consistency errors. |
| 400 | 601 - Consistency Err: Trans inconsistent w/Trans history
|
This request was identified as Duplicate, but the ‘Amount’ is different from original request. Re-submit the transaction with the unique values for retrievalReferenceNumber, acquiringBin, cardAcceptor.terminalId or cardAcceptor.idCode to avoid the duplicate transaction and consistency errors. |