v1

latestOpenAPI 3.0.32026-07-26214048.5 KB
General

Verify account

Resolves the account holder name when available. For some fiat corridors (e.g. KES M-Pesa), data may be "OK" when the account is valid but no display name is returned — supply your own accountName on the order in that case.

post/verify-account

Request body

institutionstring required

Institution code (SWIFT code or custom PayCrest code ending with 'PC'). See Code Standards for details.

accountIdentifierstring required

Bank account number, mobile wallet MSISDN, Till/Paybill identifier, or other account identifier.

For mobile_money institutions, the API normalizes phone numbers before verification: strips +, removes a leading domestic 0, and adds the country dial code when missing (KES 254, UGX 256, TZS 255, GHS 233, MWK 265). Examples for KES M-Pesa — 0712345678, +254712345678, and 254712345678 all normalize to 254712345678.

KES Till/Paybill identifiers are not normalized when metadata indicates Till/Paybill, or when the value looks like Paybill (business|reference) or Till (fewer than 9 digits).

metadataobject

Optional. Used for KES Till/Paybill verify so phone normalization is not applied. Same semantics as recipient metadata on order create (e.g. channel Till or Paybill, businessNumber).

Response

Account verified

statusstring
messagestring
datastring

Resolved account name, or "OK" when valid but name lookup is unavailable

Example response

{
  "status": "success",
  "message": "Account name was fetched successfully",
  "data": "JOHN DOE"
}