Validate

Real-Time Account Validation


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 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.

 

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, or UNK.
  • 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.

 

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
NEG P41:NEGATIVE INFO 99941
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  

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, .

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.