Visa Direct Error Codes

Error Codes and Exception Handling

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 matched with the one issued by Visa.  Use the valid client certificate
403 None / 9611 The URL access is not permitted. 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 network connectivity issue. Contact your Visa production support contact for investigation and assistance. Recommend not to re-post transaction and check settlement report.
504   Timeout which may be due to network connectivity issue. Contact your Visa production support contact for investigation and assistance. Recommend not to re-post transaction and check settlement report.

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.

Consistency Check Handling Associated with Duplicate Processing

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.

Timeout Exception Handling

Timeout exception handling diagram

Repost transaction with different Retrieval Reference Number (RRN)

Original transaction has been processed by Visa

Original transaction diagram

Original transaction is being processed by Visa

Original transaction diagram 2

GET Request with Different Responses

Retry GET request if response is timeout

Original transaction diagram 3

Incorrect URL or GET request has already been sent

Original transaction diagram 4

Transaction status is not known

Original transaction diagram 5