Skip to content

Validate any bank account

Request

Checks with the destination bank that an account exists and that the holder name matches, so you can catch a bad account before you pay out to it rather than after a failed transfer.

Identify the account in one of two ways, and only one: pass the id of a bank account already saved against a beneficiary, or pass the account details inline. When id is present the inline fields are ignored.

Validation is chargeable. The request is rejected with 400 before the provider is called if your balance does not cover the validation fee, unless fee collection is deferred on your account. You are charged only when the provider completes the check; a check it could not complete is not charged.

status is not the verdict on the account and is not whether you were charged. It reports whether the provider returned a usable response at all. A check that completes and does not confirm the holder name still comes back as status: success. Read the verdict from validation_message, which carries the match score, and read fee_charged to see whether a fee was actually taken.

Security
JWT
Bodyapplication/jsonrequired
One of:
countrystring, (iso-3166-1-alpha-3)required

The country where the customer is located. Country should be sent as a ISO 3166-1 alpha-3 code, case-insensitive.

Example:"Ind"
holder_namestringrequired

The name of the account holder.

Example:"John Doe"
account_numberstringrequired

The account number of the bank account as provided by the bank.

Example:"987654321001"
bic_primarystringrequired

The primary BIC of the bank account. This is the BIC of the bank where the account is held. This is also known as the SWIFT code.

Example:"QWERIN000"
bic_secondarystringrequired

The local routing code or domestic clearing code of the bank account. For reference, this is the IFSC code in India, SORT in UK, ABA in the US, etc.

Example:"YESB0000002"
curl -i -X POST \
  https://api.glomopay.com/api/v1/bank_account_validation \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "country": "Ind",
    "holder_name": "John Doe",
    "account_number": "987654321001",
    "bic_primary": "QWERIN000",
    "bic_secondary": "YESB0000002"
  }'

Responses

Bank account validation successful

Bodyapplication/json
idstringread-only

The unique identifier for the bank account validation.

Example:"aval_5JU9yv0lGSUP"
statusstring

The status of the bank account validation. This does not mean the bank account is valid or invalid. It means the validation process was successful or failed.

Enum:"success""failed"
validation_messagestring

The message returned by the bank account validation process.

Example:"The account is registered to John Doe"
fee_chargedobject or null

The fee charged for the bank account validation. null when no fee was charged.

Response
{ "id": "aval_5JU9yv0lGSUP", "status": "success", "validation_message": "The account is registered to John Doe", "fee_charged": { "cents": 100, "currency_iso": "USD" } }