Developer Resources
Conditional.
ChargePaymentRequest checks the potential risk associated with a transaction and if you can guarantee it before authorizing the transaction with your gateway/acquirer. If you have already authorized the transaction, use the ChargePaymentFraudRequest API instead.
ChargePaymentRequest sends the transaction information and obtains the risk information before our platform makes the authorization call for you.
AutoDisposition=0, our platform must receive your decision to settle or cancel the transaction using the Disposition API or the transaction will not complete.AutoDisposition=1, our platform automatically completes the transaction and makes the decision to settle or cancel the transaction based on the risk score.
Use the following request parameters when integrating to ChargePaymentRequest:
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder's address, line 1. Required when AccountNumberIndicator=4 and to guarantee a transaction unless explicitly exempted by our platform.
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. Required to guarantee a transaction unless explicitly exempted by our platform.
Maximum Length: 30
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s two-character country code. Use the ISO-3166 official country codes. Required to guarantee a transaction unless explicitly exempted by our platform.
Maximum Length: 2
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s first name. Required to guarantee a transaction unless explicitly exempted by our platform.
Maximum Length: 20
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s last name. Required to guarantee a transaction unless explicitly exempted by our platform.
Maximum Length: 20
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The cardholder’s ZIP or postal code. Required when AccountNumberIndicator=4 and to guarantee a transaction unless explicitly exempted by our platform.
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. Required to guarantee a transaction unless explicitly exempted by our platform.
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, token or the BIN plus Last4 of the credit/debit card number/ApplePay Encrypted Payment Token to be authorized. If AccountNumberIndicator=4, then the value entered must be either 10 digits or 4 digits: BIN = First 6 digits of the credit/debit card number and Last4 = Last 4 digits of the credit/debit card number.
Maximum Length: 19
Data Type: Integer
Field Dependence: Required
Sensitive: No
Description: The type of account number being sent to the API.
Maximum Length: 1
Possible Values:
1 - Credit card (credit card number)
2 - Temporary token
3 - Permanent token
4 - BIN + Last4
5 - ApplePay Encrypted Payment Token
Data Type: DataSet
Field Dependence: Conditional
Sensitive: No
Description: The details for the additional charges on the transaction, such as surcharges.
Child Parameters:
Data Type: Currency
Field Dependence: Conditional
Sensitive: No
Description: The amount of money in the charge added to the transaction.
Maximum Length: 12
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The type of additional charge added to the transaction.
Maximum Length: 12
Possible Values:
Surchrg - Surcharge
Tax - Tax
Data Type: Currency
Field Dependence: Required
Sensitive: No
Description: The amount of money sent for authorization.
Maximum Length: 12
Data Type: Boolean
Field Dependence: Conditional
Sensitive: No
Description: Indicates if the transaction uses one step (post-authorization) or two step (pre-authorization and post-authorization) request processing.
Maximum Length: N/A
Possible Values:
0 - Two step ChargePaymentRequest, Disposition
1 - One step ChargePaymentRequest, Disposition
Data Type: Boolean
Field Dependence: Required
Sensitive: No
Description: Indicates if the transaction uses one step (post-authorization) or two step (pre-authorization and post-authorization) request processing.
Maximum Length: N/A
Possible Values:
0 - Two step ChargePaymentRequest, Disposition
1 - One step ChargePaymentRequest, Disposition
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: String
Field Dependence: Conditional
Sensitive: No
Description: The identification number assigned by your acquirer.
Maximum Length: 36
Data Type: String
Field Dependence: Optional
Sensitive: No
Description: The fraud or Revenue Assurance (RA) gateway user account name.
Maximum Length: 128
Data Type: Numeric
Field Dependence: Conditional
Sensitive: Yes
Description: The credit/debit card expiration date. Required when AccountNumberIndicator=4. The format is MMYY.
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: Integer
Field Dependence: Conditional
Sensitive: No
Description: The number of installments.
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: Optional
Sensitive: No
Description: The payment plan used for the transaction.
Possible Values:
0 - Onetime, Non-Installment Payment
1 - Monthly Installment Principal Only
2 - Monthly Installment Principal and Interest
3 - Monthly Installment Interest Only
Data Type: String
Field Dependence: Optional
Sensitive: No
Description: The attribute-based XML blob that contains information the merchant wishes to report on for the specific transaction. The information does not affect processing. It is passed through to use in reporting and PRT search functionality.
Maximum Length: N/A
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: String
Field Dependence: Conditional
Sensitive: No
Description: The shipping zip or postal code for the transaction.
Maximum Length: 12
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: Conditional
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
ChargePaymentRequest returns the following response parameters:
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: Complex
Field Dependence: Optional
Description: Returns the details for the additional charges on the transaction, such as surcharges.
Child Parameters:
Data Type: Currency
Field Dependence: Optional
Description: The amount of money in the charge added to the transaction.
Maximum Length: 12
Data Type: String
Field Dependence: Optional
Description: The type of additional charge added to the transaction.
Maximum Length: 12
Possible Values:
Cashback - The amount to give the cardholder in cash.
LedgerBal - The 'posted' balance for this transaction.
OrigReqAmount - The amount of money originally requested.
Surchg - The surcharge amount applied to the transaction.
Data Type: String
Sensitive: No
Description: The type of account associated with the additional charge.
Maximum Length: 15
Possible Values:
Checking
Credit
Prepaid
Savings
SpendingPower
Universal
Unknown
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: Currency
Sensitive: No
Description: Returns the amount of money authorized by your gateway/acquirer. This amount may be less than the original requested amount.
Maximum Length: 12
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 unique identification number for the transaction, if available.
Maximum Length: 36
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: 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: Boolean
Sensitive: No
Description: Returns whether our platform can guarantee the transaction.
Maximum Length: N/A
Possible Values:
0 - Payment cannot be guaranteed
1 - Payment can be guaranteed
Data Type: Boolean
Sensitive: No
Description: Returns whether the transaction is a shadow payment (not actually guaranteed).
Maximum Length: N/A
Possible Values:
1 - This is a shadow payment and so not actually guaranteed.
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: Integer
Sensitive: No
Description: Returns our platform's decision to guarantee the payment.
Maximum Length: N/A
Possible Values:
1 - Guaranteed payment
2 - Non-guaranteed payment
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.
Maximum Length: N/A
Possible Values:
1 - Bank denied.
2 - Pending. This can occur if Vesta has determined that additional insight could help determine the risk of this transaction. See the response parameter PendResolutionMethods for the resolution method that was used for the transaction.
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.
5 - Authorized.
6 - Authorization communication error. The transaction did not complete. Re-run the transaction. If the problem persists, contact Support.
10 - Successful payment.
51 - Pre-Authorization completed.
52 - Post-Authorization completed.
61 - Pre-Authorization communication failure. The transaction did not complete. Re-run the transaction. If the problem persists, contact Support.
62 - Post-Authorization communication failure. The transaction did not complete. Re-run the transaction. If the problem persists, contact Support.
Data Type: Integer
Sensitive: No
Description: The method Vesta used to gather additional insights on the transaction to resolve the Pending status.
Maximum Length: N/A
Possible Values:
20 - Silent Pending. See Silent Pending.
21 - Manual Review. See Manual Review.
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 ChargePaymentRequest 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
Data Type: Integer
Sensitive: No
Description: Returns the level of risk associated with accepting the requested transaction.
Maximum Length: N/A
Possible Values:
1 - High Risk
2 - Mild Risk
3 - Average
4 - Safe
5 - Very Safe
Data Type: Integer
Sensitive: No
Description: Returns the risk score associated with the transaction. Valid values are 0-100; the higher the score, the greater the fraud risk associated with the transaction. This score is only presented if the Fraud Score feature is enabled.
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.
Note: The full customer information and address must be provided.
Note: The full customer address must be provided.
Note: The full customer information must be provided.
1033 Parameter {Amount} exceeds maximum transaction amount of [MaxTransactionAmount].
1034 Parameter {AutoDisposition} value is not valid for the requested transaction.
1035 Amount must be greater than 0.
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.
1069 Account not eligible to use AccountNumberIndicator value provided in request.