Developer Resources
ValidateAccountNumber sends a zero-dollar authorization transaction to check if the credit/debit card is valid. If the card is valid, you may return a permanent token to keep on file for repeated use by setting StoreCard=1.
Use the following request parameters when integrating to ValidateAccountNumber:
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder's address, line 1.
Maximum Length: 30
Data Type: String
Field Dependence: Optional
Sensitive: No
Description: The cardholder's address, line 2.
Maximum Length: 30
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s city.
Maximum Length: 30
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s two-character country code. Use ISO-3166 official country codes.
Maximum Length: 2
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s first name.
Maximum Length: 20
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s last name.
Maximum Length: 20
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s ZIP or postal code.
Maximum Length: 10
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s region name. For U.S. addresses, use the two-character state code.
Maximum Length: 30
Data Type: String
Field Dependence: Required
Sensitive: No
Description: API username.
Maximum Length: 32
Data Type: String
Field Dependence: Required
Sensitive: Yes
Description: The credit/debit card number or token of the card number to be authorized.
Maximum Length: 19
Data Type: Integer
Field Dependence: Required
Sensitive: No
Description: Identifies the type of device being passed to the API.
Maximum Length: 1
Possible Values:
1 - Credit card (credit card number)
2 - Temporary token
3 - Permanent token
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The identification number assigned by your acquirer.
Maximum Length: 36
Data Type: Numeric
Field Dependence: Conditional
Sensitive: Yes
Description: The credit/debit card security code (e.g., CVV2 for MC and Visa or CID for American Express). If PaymentSource=PPD, this field is not required.
Maximum Length: 4
Data Type: Numeric
Field Dependence: Required
Sensitive: Yes
Description: The credit/debit card expiration date. The format is MMYY.
Maximum Length: 4
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The identification number associated with the merchant account.
Maximum Length: 20
Data Type: String
Field Dependence: Optional
Sensitive: No
Description: The unique data element created to identify a customer, such as a billing account number.
Maximum Length: 64
Data Type: String
Field Dependence: Required
Sensitive: Yes
Description: API password.
Maximum Length: 64
Data Type: String
Field Dependence: Optional
Sensitive: No
Description: The description of the transaction. Used for tracking purposes and to identify the transaction when contacting Support.
Maximum Length: 128
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The source of the transaction.
Possible Values:
PPD - Use this to specify that the transaction has been prearranged. This is used when the credit/debit card number has been validated or already had a successful charge against it. When this option is used, the CVV is not required.
TEL - Use this to specify that the transaction has been taken over a telephone through a call center or interactive voice response (IVR) system.
WEB - Use this to specify that the transaction has been taken over the Web, the mobile Web, a native mobile application, or a hybrid-mobile application.
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The XML string containing risk-related data. See the Risk Information XML and contact your Integration Specialist for details.
Maximum Length: N/A
Data Type: Boolean
Field Dependence: Optional
Sensitive: No
Description: Indicates if the credit/debit card number needs to be exchanged for a permanent token.
Maximum Length: N/A
Possible Values:
0 - Do not exchange card number for a permanent token
1 - Exchange card number for a permanent token
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The unique identification number used to track the transaction.
Maximum Length: 36
Data Type: Integer
Field Dependence: Required
Sensitive: No
Description: The framework used for stored tokens or credit/debit card numbers. This framework corresponds to Visa's Stored Credential Transaction Framework and is required when storing credentials. Failure to identify the transaction with the appropriate indicator may result in fees/fines or other penalties.
Maximum Length: 15
Possible Values:
1 - Initial Customer Initiated Transaction (CIT) Recurring
2 - Initial CIT Unscheduled Card on File (UCOF)
3 - Subsequent Merchant Initiated Transaction (MIT) Recurring
4 - Subsequent MIT UCOF
5 - Subsequent CIT UCOF
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The WebSessionID generated by the GetSessionTags API for the current transaction. This is used for device fingerprinting.
Maximum Length: 4000
ValidateAccountNumber returns the following response parameters:
Data Type: Integer
Sensitive: No
Description: Returns the result from the Address Verification Service (AVS) check.
Maximum Length: N/A
Possible Values:
5 - AVS not performed.
6 - No address supplied.
7 - AVS data invalid.
8 - Foreign address match.
9 - Foreign address mismatch.
10 - AVS not available.
11 - AVS postal code and locale match.
12 - AVS locale match.
13 - AVS postal code match.
14 - AVS not matched.
16 - Foreign issuer AVS not available.
24 - AVS system unavailable.
39 - AVS partial match.
4096 - Name, address, and postal code match.
Data Type: String
Sensitive: No
Description: Returns the response from your acquirer's address verification service (AVS) check.
Maximum Length: 6
Data Type: String
Sensitive: No
Description: Returns the approval code for approved transactions.
Maximum Length: N/A
Data Type: String
Sensitive: No
Description: Returns the response from your acquirer's card verification value (CVV) check.
Maximum Length: 6
Data Type: String
Sensitive: No
Description: Returns your acquirer's response code.
Maximum Length: 3
Data Type: String
Sensitive: No
Description: Returns the description of the response code.
Maximum Length: 255
Data Type: Integer
Sensitive: No
Description: Returns the details about a transaction declined for non-sufficient funds (NSF).
Maximum Length: N/A
Possible Values:
1 - Non-sufficient funds
Data Type: Numeric
Sensitive: No
Description: Returns the first six digits of the credit/debit card number processed.
Maximum Length: 6
Data Type: Numeric
Sensitive: No
Description: Returns the last four digits of the credit/debit card number processed.
Maximum Length: 4
Data Type: Integer
Sensitive: No
Description: Returns the issuer type for the credit/debit card number processed.
Maximum Length: N/A
Possible Values:
1 - AAFEES
3 - American Express
4 - Visa
5 - MasterCard
6 - Discover
7 - Diners Club
9 - Carte Blanche
25 - Dankort
27 - Electron
34 - Lasercard
35 - Maestro
98 - Unknown
Data Type: String
Sensitive: No
Description: Returns the unique identification number for the transaction, if available.
Maximum Length: 36
Data Type: Integer
Sensitive: No
Description: Returns the response from the card verification value (CVV) check.
Maximum Length: N/A
Possible Values:
15 - CVV invalid.
17 - CVV match.
19 - CVV not matched.
20 - CVV check not processed.
22 - CVV should be available (was not supplied).
23 - CVV not supported by issuer.
45 - CVV not sent.
Data Type: String
Sensitive: No
Description: Returns the unique data element for identifying a customer.
Maximum Length: 64
Data Type: String
Sensitive: No
Description: Returns the name of the acquirer that processed the transaction.
Maximum Length: 64
Data Type: String
Sensitive: No
Description: Returns the identification number to track the transaction.
Maximum Length: 12
Data Type: Integer
Sensitive: No
Description: Result of the authorization request.
Possible Values:
1 - Bank denied.
3 - Fraud denied. This can occur if our platform has determined that this transaction is too risky to process, or the customer is not reliable.
6 - Authorization communication error. The transaction did not complete. Re-run the transaction. If the problem persists, contact Support.
10 - Successful validation.
13 - Business rules denied.
Data Type: String
Sensitive: No
Description: Returns a permanent token for the credit/debit card number when StoreCard=1.
Maximum Length: 19
Data Type: Integer
Sensitive: No
Description: Returns a 0 for success or a non-zero code for failure to process the API. See Response Codes for the possible non-zero code returned by the ValidateAccountNumber API.
Maximum Length: N/A
Data Type: String
Sensitive: No
Description: Returns a description for non-zero Response Codes.
Maximum Length: 1024
Data Type: Integer
Sensitive: No
Description: Returns the decision code from the decision engine when the transaction is denied or pended.
Maximum Length: N/A
Possible Values:
1701 - Score exceeds risk system thresholds.
1702 - Insufficient information for risk system to approve.
1703 - Insufficient checking account history.
1704 - Suspended account.
1705 - Payment method type is not accepted.
1706 - Duplicate transaction.
1707 - Other payment(s) still in process.
1708 - SSN and/or address did not pass bureau validation.
1709 - Exceeds check amount limit.
1710 - High risk based upon checking account history (EWS).
1711 - Declined due to ACH regulations.
1712 - Information provided does not match what is on file at bank.
1713 - Information on file does not match what is on file.
1714 - Try again with a new debit/credit card.
1715 - Phone verification requested.
1716 - Additional information needed for verification.
Data Type: String
Sensitive: No
Description: Returns the description of the decision code from the decision engine when the transaction is denied or pended.
Maximum Length: N/A
Each API call returns a numeric response code. If the response code is zero, the API transaction completed successfully without errors; however, the status of the transaction may not be complete. If the response code is non-zero, an error message is included with the response code.
Note: When non-zero response codes are returned, the response fields might not be returned correctly. Review the error messages associated with non-zero response codes and take appropriate steps to resolve the error conditions. Most of the non-zero response codes indicate a system configuration or integration issue. Before production deployment, you should resolve these issues during the testing phase.
Suggested Customer Message: Transaction completed.
Note: Not an error condition.
Suggested Customer Message: System not available. Please try again later.
Note: A low-level error message that may indicate a communication problem, a timing problem, an intermittent failure to contact an acquirer, or another condition not captured by the other response codes. If this response code is returned after repeated attempts, contact Support.
Note: No value was sent for a required parameter. Check all required parameters are included in the API call.
Note: A required parameter contains too many characters. Check the length does not exceed the maximum length value specified for the parameter.
Note: A general type-mismatch error. Check the required parameters are being populated correctly.
Note: The parameter is empty. Check the parameter that fills this field.
Suggested Customer Message: Please select a correct value.
Note: The input value does not match one of the multiple-choice values provided.
Suggested Customer Message: Please check your credit card information.
Note: The credit/debit card number must contain 13 to 19 digits.
Suggested Customer Message: System not available. Please try again later.
Note: Authentication failed. Check your credentials and try again, or contact Support.
Suggested Customer Message: Transaction not found.
Note: Credit/debit card number must contain 13 to 19 digits.
Suggested Customer Message: Please check your credit card information.
Note: The credit/debit card number provided does not pass basic length and format validation. Mod-10 is a basic numeric check to see if it meets the minimum rules to be valid. Usually, this occurs when the credit/debit card number has been mistyped.
Suggested Customer Message: System not available. Please try again later.
Note: Indicates a problem with the merchant's account. Contact Support.
1006 Account not setup for this API call.
Suggested Customer Message: We were unable to process this transaction. Please try again later.
Note: An acquirer is required to complete this transaction. If the problem persists, contact Support.
Suggested Customer Message: We cannot process this type of card. Please select a credit/debit card with a Visa, Discover, American Express, or MasterCard logo.
Note: Your configuration only supports debit transactions. The customer provided a credit card.