Documentation

Validate Account & Routing Number

A stand alone endpoint that allows for account and routing number validation.

📘

Authentication Route

This route is secured with processor and vendor token authentication.

GrailPay provides a standalone Account and Routing Number Validation API, allowing businesses to verify bank account details before onboarding an entity or processing transactions. Using this validation helps prevent failed transactions, failed payouts, and other payment issues by ensuring that the account and routing numbers provided are legitimate.

How It Works

When submitting an account number and routing number, you must specify the validation version you wish to use. GrailPay currently offers two versions of account and routing number validation:

V1 – Basic Validation

Returns a simple string response indicating whether the account and routing number are:

  • valid – The account and routing number are recognized as valid.
  • invalid – The account and routing number are not recognized as valid.
  • not_validated – GrailPay was unable to determine the validity.
  • This version provides a quick and straightforward way to assess the legitimacy of the provided account details.

V2 – Enhanced Validation with Risk Scoring

Returns a comprehensive response, including:

  • GrailPay Proprietary Risk Score – A numerical score assessing the potential risk of the account.
  • Confidence Level – A measure of certainty regarding the validation result.
  • This version provides deeper insights, helping businesses make more informed decisions when assessing the risk of an account.

Why Use This API?

  • Prevent Failed Transactions – Avoid processing payments to invalid accounts.
  • Reduce Operational Risk – Minimize issues such as failed payouts and returned ACH transactions.
  • Improve Onboarding Decisions – Use risk scoring to determine whether to proceed with an entity.

GrailPay’s validation API gives businesses the tools to verify, assess risk, and ensure smoother transactions, reducing friction in payment processing.


Endpoint

   /3p/api/v1/bank-account/validate

 

Request Payload

{
  "version": 1,
  "account_number": "0123456789",
  "routing_number": "9876543210"
}
FieldsTypeIs RequiredDescription
versionintegerYesValidation Version
account_numberstringYesAccount Number
routing_numberstringYesRouting Number

Response Object

{
    "status": true,
    "message": "Account successfully validated.",
    "data": {
        "uuid": "9bb541c4-05bc-48f8-8bcd-fd0fe5c903d7",
        "account_number": "0123456789",
        "routing_number": "9876543210",
        "version": 1,
        "validated_at": "2024-04-02 03:19:07",
        "validity": "valid"
    },
    "errors": []
}
{
    "status": true,
    "message": "Account successfully validated.",
    "data": {
        "uuid": "9bb541c4-05bc-48f8-8bcd-fd0fe5c903d7",
        "account_number": "0123456789",
        "routing_number": "9876543210",
        "version": "2",
        "validated_at": "2024-04-02 03:19:07",
        "risk_score": 0.73,
        "confidence_level": "high"
    },
    "errors": []
}