Skip to content

BankValidatorServices

BankValidatorServices is a public class in SAIF.Business that wraps the external bank-validation service used by EFT workflows.

Purpose

  • Validates routing numbers and bank account numbers against the configured external bank-validation service.
  • Retrieves bank-name metadata for valid routing numbers.
  • Applies environment-specific behavior so development environments avoid chargeable live verification calls.

Context

  • Namespace: SAIF.Business
  • Assembly/package: SAIF.Business

Public members

Member Signature Purpose
IsServiceAvailable Public Shared Function IsServiceAvailable(ByVal inBankValidatorXMLDocument As XDocument) As Boolean Checks whether the configured bank-validation service can be reached.
IsValidBankAccountNum Public Shared Function IsValidBankAccountNum(ByVal inBankValidatorXMLDocument As XDocument, ByVal inRoutingNum As String, ByVal inAccountNum As String, ByRef outAccountNumStatus As String) As Boolean Validates a bank account number and returns a status message when the service rejects the account.
IsValidBankRoutingNum Public Shared Function IsValidBankRoutingNum(ByVal inBankValidatorXMLDocument As XDocument, ByVal inRoutingNum As String) As Boolean Validates a routing number through the configured bank-validation service.
RetrieveBankName Public Shared Function RetrieveBankName(ByVal inBankValidatorXMLDocument As XDocument, ByVal inRoutingNum As String) As String Retrieves the bank name associated with a routing number.
IsVerifiedBankRoutingNum Public Shared Function IsVerifiedBankRoutingNum(ByVal inBankValidatorXMLDocument As XDocument, ByVal inRoutingNum As String) As Boolean Performs live routing-number verification in test, QA, and production environments.

Behavioral notes

  • Development environments short-circuit service calls to avoid external dependencies and per-use charges.
  • Service-login failures are treated as availability or validation failures instead of surfacing raw connection exceptions to callers.
  • Account-status handling maps known vendor status codes into SAIF validation outcomes and localized error messages.

Constraints and usage notes

  • Callers must provide an XDocument containing the BankValidator configuration element and required credential and endpoint values.
  • IsVerifiedBankRoutingNum only performs live verification in test, QA, and production environments.
  • RetrieveBankName throws an ApplicationException for unexpected errors other than known service-logon failures.

Sources

  • Business\SAIF.Business\BankValidatorServices.vb