Validate
Real-Time Account Validation
Overview
Validate is a bank account verification service that authorizes the status of a bank account using the routing and account numbers associated with an EFT or check. These preauthorization checks occur automatically for subscribing merchants and require no additional request fields.
Validate Account Verification
Validate consults proprietary databases and services to check for the following:
- Bad routing numbers (i.e., blacklisted TRN)
- Invalid checksums (i.e., check-digit algorithm failures)
- Does the account exist?
- Is the account open and valid?
The response to a transaction request indicates if the account is open and valid, closed, NSF, or one of the other conditions listed in the table below. Charges are only assessed for transactions involving participating banks (most Tier I and II banks participate, but some local banks and smaller credit unions may not). Transactions that do not receive a definitive response may then be checked against the national negative check database. Note that the status of the account may change between the bank’s report and settlement.
Using Validate
Validate transactions yield up to four additional response fields (see below). The most important field is pg_preauth_result
/preauth_result
, which indicates the result of the verification. POS
indicates a positive response from the verification service and NEG
indicates a negative response. UNK
indicates that nothing is known about the account (for various reasons). The following fields may display in the transaction response when performing Validate transactions. NOTE: The first field listed is for legacy SOAP API transactions and the second field listed is for REST API transactions.
pg_preauth_result
/preauth_results
: The value in this field may cause a transaction to be declined, depending upon the setup. Potential values for this field include the following:POS
,NEG
, orUNK
.pg_preauth_description
/preauth_desc
- This field displays the current state of the account as provided by the verifying agent.pg_preauth_neg_report
- This field indicates negative database responses and normally contains the negative report details and (usually) the name and phone number of the reporting entity.
Response Values
Forte returns the following values in the result and description fields listed above. Sandbox normally generates a POS
result for any account (as participating banks are not actually consulted). The test account numbers below may be used on Sandbox (with any valid ABA number) to force the indicated response.
Result | Description | Test Account # |
---|---|---|
NEG
|
P15:HIGH RISK | 99915 |
UNK
|
P50:NO INFO | 99950 |
POS
|
P70:VALIDATED | 99970 |
POS
|
P71:LOW RISK APPROVAL | 99971 |
POS
|
P73:MEDIUM RISK APPROVAL | 99973 |
UNK
|
P80:PREAUTH VENDOR BUSY | 99980 |
UNK
|
P90:PREAUTH VENDOR UNAVAIL | 99990 |
UNK
|
P91:PREAUTH VENDOR ERROR | 99991 |
UNK
|
P92:PREAUTH SERVER UNAVAIL | 99992 |
NEG
|
P99:DECLINE |
Approval and Validate
Validate only runs for sale
, authorize
, and verify
transactions (AGI transaction types 20
, 21
and 26
). Transactions with a NEG
result are declined. Those with UNK
and POS
results are not declined but may be subject to other checks. If the merchant only uses verify
, the pg_preauth_result
/preauth_result
value may be used for decisioning rather than simply declining all NEG
responses, .
Authorization and Validate
Unlike Validate+, Validate does not allow merchants to configure approve/decline decisioning in their merchant configurations. If the final response is positive, UNK
, or the account is not found, the transaction will be APPROVED in all cases. If the final response has negative reports, the transaction will be DECLINED in all cases.