Download Payment Account Validation API Reference
The Payment Account Validation API allows applications to run validations of the payment account before processing a transaction ensuring greater probability of success and allowing for a more seamless transaction flow.
Perform validations of the payment account
Request body for Card Validation
acquirerCountryCode required | string 3 characters The clients must provide a 3-digit numeric ISO country code in this field. Example: "string" | ||||||||||||||||||||
acquiringBin required | string [ 6 .. 11 ] characters This field must contain an acquiring BIN. This requirement applies to all users of this API.
Requests that do not contain a valid Acquirer BIN will be rejected beginning [1 April 2025] | ||||||||||||||||||||
primaryAccountNumber required | string [ 13 .. 19 ] characters The primary account number for which account validations are being performed Example: "string" | ||||||||||||||||||||
accountType | string This is used to identify the account type of the primaryAccountNumber in the request. Below are the possible values. | ||||||||||||||||||||
object Contains the address of the cardholder to be verified with the card issuer. | |||||||||||||||||||||
object The cardAcceptor is the merchant, funds transfer originator or Visa internal application submitting the Payment Account Validation request. | |||||||||||||||||||||
| |||||||||||||||||||||
cardCurrencyCode | string 3 characters Use a 3-character alpha or numeric currency code for the currency of the card. Example: "string" | ||||||||||||||||||||
cardCvv2Value | string [ 3 .. 4 ] characters The cvv2Value value provided by the account holder for the primaryAccountNumber in the request. Example: "string" | ||||||||||||||||||||
cardExpiryDate | string 7 characters This field must contain tThe expiration date for the primaryAccountNumber in the request. The date is in yymm numeric format, where yy = year (00-99) and mm = month (01-12). The date should not be a past date. Example: "string" | ||||||||||||||||||||
cardHolderEmailAddress | string [ 1 .. 99 ] characters Card holder Email Address verified with the issuer. Example: "string" | ||||||||||||||||||||
object API calls have to be MLE enabled to be able to send in this data. | |||||||||||||||||||||
cardHolderPhoneNumber | string [ 1 .. 16 ] characters Card holder Phone Number verified with the issuer. Example: "string" | ||||||||||||||||||||
object This is an optional field. This is used to validate the cardholder identity of the primaryAccountNumber in the request.Supported only in the LAC region. API calls have to be MLE enabled to be able to send in this data. | |||||||||||||||||||||
object Note: For a CardPresent Transactions, this field is required. | |||||||||||||||||||||
| |||||||||||||||||||||
object Contains a code identifying transaction conditions at the point-of-sale or point of service. For messages that follow an original request, this code identifies the type of processing being done. | |||||||||||||||||||||
| |||||||||||||||||||||
retrievalReferenceNumber | string 12 characters This is an optional field. It is recommended that the clients of Funds Transfer APIs provide retrievalReferenceNumber for tie the calls with a single funds transfer transaction. Example: "string" | ||||||||||||||||||||
systemsTraceAuditNumber | string 6 characters This is an optional field. It is recommended that the clients of Funds Transfer APIs provide systemsTraceAuditNumber for tie the calls with a single funds transfer transaction. Example: "string" | ||||||||||||||||||||
tavv | string 40 characters The token authentication verification or token cryptogram value provided by the token provider for the card token in the request. dtvv in cardCvv2Value or tavv is required to be placed when Token is entered in primary account number. This field should be in hexabinary format. Example: "string" |
Card Validation Response
actionCode required | string 2 characters The results of the transaction request. Example: "string" | ||||||||||
responseCode required | string 1 characters The source for the response; typically, either the recipient issuer or a Visa system. Example: "string" | ||||||||||
transactionIdentifier required | string 15 characters The VisaNet reference number for the transaction. Example: "string" | ||||||||||
addressVerificationResults | string 1 characters Results of the Address Verification Service (AVS) validation for the PrimaryAccountNumber in the request. Example: "string" | ||||||||||
approvalCode | string 6 characters The authorization code from the issuer. Example: "string" | ||||||||||
cardAuthenticationResults | string 1 characters A Visa-defined code indicating Online Card Authentication Method results. Example: "string" | ||||||||||
cardholderAuthenticationVerificationResults | string 1 characters If TAVV is provided in the request, its validation result will be provided in this field. Example: "string" | ||||||||||
cardHolderEmailAddressVerificationResults | string 1 characters Card holder Email Address Verification Results from the issuer. Example: "string" | ||||||||||
object Optional Service enabling verification of the cardholder name.API calls have to be MLE enabled to be able to send in this data. | |||||||||||
| |||||||||||
cardHolderPhoneNumberVerificationResults | string 1 characters Card holder Phone Number Verification Results from the issuer. Example: "string" | ||||||||||
cardVerificationResults | string 1 characters A Visa-defined code indicating Card Verification Value (CVV), iCVV (Integrated Chip Card CVV) or dCVV (dynamic CVV) verification results. Example: "string" | ||||||||||
cvv2ResultCode | string 1 characters Results of the CVV2 validation for the primaryAccountNumber in the request. When dtvv is provided in cardCvv2Value in the request, cvv2ResultCode will be sent in response along with tokenVerificationResult Example: "string" | ||||||||||
object Cardholder identity validation results for the primaryAccountNumber in the request.Supported only in the LAC region. | |||||||||||
|
© Copyright Visa. All Rights Reserved.
NOTICE: The software and accompanying information and documentation (together, the “Software”) remain the property of and are proprietary to Visa and its suppliers and affiliates. The Software remains protected by intellectual property rights and may be covered by U.S. and foreign patents or patent applications. The Software is licensed and not sold.
By accessing the Software you are agreeing to Visa's terms of use (developer.visa.com/terms) and privacy policy (usa.visa.com/legal/global-privacy-notice.html). In addition, all permissible uses of the Software must be in support of Visa products, programs and services provided through the Visa Developer Program (VDP) platform only (developer.visa.com). THE SOFTWARE AND ANY ASSOCIATED INFORMATION OR DOCUMENTATION IS PROVIDED ON AN “AS IS,” “AS AVAILABLE,” “WITH ALL FAULTS” BASIS WITHOUT WARRANTY OR CONDITION OF ANY KIND. YOUR USE IS AT YOUR OWN RISK.
Sandbox server
{- "systemsTraceAuditNumber": "743720",
- "cardCvv2Value": "022",
- "cardAcceptor": {
- "address": {
- "country": "US",
- "zipCode": "94404",
- "city": "fostr city",
- "state": "CA"
}, - "idCode": "111111",
- "name": "ABC Corp",
- "terminalId": "12345678"
}, - "acquirerCountryCode": "840",
- "primaryAccountNumber": "4957030420210462",
- "acquiringBin": "408999",
- "retrievalReferenceNumber": "015221743720",
- "cardExpiryDate": "2020-10",
- "addressVerificationResults": {
- "street": "801 Metro Center Blv",
- "postalCode": "94404"
}
}
{- "actionCode": "string",
- "approvalCode": "string",
- "responseCode": "string",
- "cvv2ResultCode": "string",
- "identityVerification": {
- "identities": [
- {
- "identityType": "string",
- "identityVerificationResult": "string"
}
]
}, - "transactionIdentifier": "string",
- "cardVerificationResults": "string",
- "cardAuthenticationResults": "string",
- "addressVerificationResults": "string",
- "cardHolderNameVerificationResult": {
- "nameResult": "string",
- "nameMatchDecision": "string",
- "lastNameAccountMatchDecision": "string",
- "firstNameAccountMatchDecision": "string",
- "middleNameAccountMatchDecision": "string"
}, - "cardHolderPhoneNumberVerificationResults": "string",
- "cardHolderEmailAddressVerificationResults": "string",
- "cardholderAuthenticationVerificationResults": "string"
}