Verify a bank account

Verifies a bank account before initiating a payout. Use this to confirm the account exists, is open, and optionally that the account holder identity or business registration matches. Reduces failed payouts and helps with reconciliation. Currently supported for South Africa (ZAR); use the same bank codes as for ZAR payouts.

Authentication

AuthorizationBearer
OAuth 2.0 access token

Request

This endpoint expects an object.
accountNumberstringRequired
Bank account number to verify
bankCodestringRequired

Bank identifier. For ZAR use a supported bank code (e.g. absa, standard_bank, fnb). See South Africa payout guide for the full list.

countryenumRequired

3-letter ISO country code (e.g., ZAF for South Africa)

Allowed values:
merchantIdstringRequired
Merchant ID for the verification request
accountTypeenumOptional

Optional account type; verified if provided

Allowed values:
accountHolderobjectOptional

Optional account holder details. When provided, the API verifies that the account matches (e.g. name, identity or business registration).

Response

Bank account verification result
verifiedboolean

Overall verification result. True if the account is valid and open, and any provided identity/name/registration matched.

accountHolderNamestring
Account holder name as returned by the bank, when available
accountExistsboolean
Whether the account exists at the bank
identityMatchboolean

Whether the provided identity document or business registration matched the account holder (only when accountHolder was provided)

accountOpenboolean
Whether the account is still open at the bank
accountAcceptsCreditsboolean

Whether the account can receive credits (e.g. payouts)

Errors

400
Bad Request Error
401
Unauthorized Error
422
Unprocessable Entity Error
500
Internal Server Error