Developer Resources
Conditional.
Use the CheckPaymentFraudRequest API if you have already authorized the transaction with your gateway/acquirer and received the authorization results. Otherwise, use the CheckPaymentRequest API.
CheckPaymentFraudRequest determines the risk associated with the transaction and checks if it can be guaranteed before deciding to settle or cancel the transaction.
Note: This API acts as a combination of the CheckPaymentRequest and AuthResult APIs. Authorization results from your gateway/acquirer must be provided to use this API.
Use the following request parameters when integrating to CheckPaymentFraudRequest:
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The card/check holder's address, line 1. Required if the merchant is indemnified.
Maximum Length: 30
Data Type: String
Field Dependence: Optional
Sensitive: No
Description: The card/check holder's address, line 2.
Maximum Length: 30
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The card/check holder’s city. Required if the merchant is indemnified.
Maximum Length: 30
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The card/check holder’s two-character country code. Use the ISO-3166 official country codes. Required if the merchant is indemnified.
Maximum Length: 2
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The card/check holder's birth date.
Maximum Length: 10
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The card/check holder’s first name.
Maximum Length: 20
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The card/check holder’s last name.
Maximum Length: 20
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The card/check holder's phone number on file with the bank.
Maximum Length: 20
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The card/check holder’s ZIP or postal code. Required if the merchant is indemnified.
Maximum Length: 10
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The card/check holder’s region name. For U.S. addresses, use the two-character state code. Required if the merchant is indemnified.
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 account number or token of the check to be authorized. If the AccountNumberIndicator=6, then this value should be set with a Plaid processor token.
Maximum Length: 60
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 - Check number
2 - Temporary token
3 - Permanent token
6 - Plaid processor token
Data Type: String
Field Dependence: Optional
Sensitive: No
Description: The result code from the acquirer authorizing the transaction.
Maximum Length: N/A
Data Type: Currency
Field Dependence: Required
Sensitive: No
Description: The amount of money sent for authorization.
Maximum Length: 12
Data Type: Boolean
Field Dependence: Optional
Sensitive: No
Description: Indicates if the transaction is declined by the bank and eligible for a Bank Decline appeal.
Maximum Length: N/A
Possible Values:
0 - Not eligible
1 - Eligible for Bank Decline Appeal
Data Type: Boolean
Field Dependence: Optional
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 CheckPaymentFraudRequest, Disposition
1 - One step CheckPaymentFraudRequest, Disposition
Data Type: Numeric
Field Dependence: Conditional
Sensitive: No
Description: The routing number for the bank on the check. Required when the AccountNumberIndicator is not equal to 6 (Plaid).
Maximum Length: 9
Data Type: String
Field Dependence: Required
Sensitive: No
Description: The check type used for the transaction.
Maximum Length: N/A
Possible Values:
P - Personal checking account
S - Savings account
C - Company check
Data Type: String
Field Dependence: Optional
Sensitive: No
Description: The fraud or Revenue Assurance (RA) gateway user account name.
Maximum Length: 128
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.
Maximum Length: N/A
Possible Values:
PPD - Accept, use as entered
TEL - Accept, modify routing
WEB - Deny, routing number not found (retired)
Data Type: Integer
Field Dependence: Required
Sensitive: No
Description: Indicates if the payment is a one-time or recurring payment.
Maximum Length: N/A
Possible Values:
1 - One-time payment
2 - Recurring payment
Data Type: String
Field Dependence: Conditional
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: 3000
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The XML string containing risk-related data. See the Risk Information XML and contact your Integration Specialist for details. Required if the merchant is indemnified and for Guaranteed transactions. Optional for non-Guaranteed transactions.
Maximum Length: N/A
Data Type: Boolean
Field Dependence: Optional
Sensitive: No
Description: Indicates if the check number needs to be exchanged for a permanent token.
Maximum Length: N/A
Possible Values:
0 - Do not exchange check number for a permanent token
1 - Exchange check 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: String
Field Dependence: Conditional
Sensitive: No
Description: The WebSessionID generated by the GetSessionTags API for the current transaction. This is used for device fingerprinting as part of the PaymentSource=WEB transactions. Required if the merchant is indemnified.
Maximum Length: 4000
CheckPaymentFraudRequest returns the following response parameters:
Data Type: Numeric
Sensitive: No
Description: Returns the last four digits of the check number processed.
Maximum Length: 4
Data Type: Numeric
Sensitive: No
Description: Returns the new routing number for the payment number when RoutingNumberUpdate=1.
Maximum Length: 9
Data Type: Integer
Sensitive: No
Description: Returns the result of the check validation outcome.
Maximum Length: 2
Possible Values:
1 - Accept, use as entered
2 - Accept, modify routing
3 - Deny, routing number not found (retired)
4 - Deny, routing number invalid (fraud)
5 - Transaction denied, account number invalid
6 - Transaction denied, account number is not accepted by acquirer
7 - Transaction denied, account at high risk for possible fraud
8 - Merchant configuration error, contact Support.
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: 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: Returns the result of the authorization transaction.
Maximum Length: N/A
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.
5 - Authorized.
6 - Suspended account.
10 - Successful payment.
51 - Pre-Authorization completed.
52 - Post-Authorization completed.
61 - Pre-Authorization communication error. The transaction did not complete. Re-run the transaction. If the problem persists, contact Support.
62 - Post-Authorization communication error. The transaction did not complete. Re-run the transaction. If the problem persists, contact Support.
Data Type: String
Sensitive: No
Description: Returns a permanent token for the credit/debit card number when StoreCheckAccount=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 CheckPaymentFraudRequest 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 - Bounced check(s), NSFs, or account closed.
1713 - Information on file does not match what is on file at the bank.
1799 - Declined by bank.
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
Data Type: DataSet
Field Dependence: Conditional
Sensitive: No
Description: The set of risk decision codes and associated text.
Child Parameters:
Data Type: Numeric
Field Dependence: Conditional
Sensitive: No
Description: The risk decision code provided by the fraud engine.
Maximum Length: 10
Data Type: String
Field Dependence: Conditional
Sensitive: No
Description: The description of the risk decision code.
Maximum Length: 1024
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: 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.
1007 Account is not set up for Permanent Tokens.
1020 Routing number not found.
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].
1035 Amount must be greater than 0.
1039 Parameter {StoreCheckAccount} is invalid for AccountNumberIndicator.
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.
1071 Unable to retrieve account details using Plaid Processor Token.
1106 The support guarantee eCheck payments using Plaid is not configured for merchant.