For the complete documentation index, see llms.txt. This page is also available as Markdown.

Customer Bank Accounts

Manage a customer's saved payout accounts (bank transfer & mobile money).

Off-ramp payouts go to a saved payout account that belongs to the customer. These endpoints let a customer add, list, set primary, and remove their accounts. The off-ramp checkout confirm step references one of these accounts by id.

All routes are authenticated as the customer (Authorization: Bearer <customer_jwt>) and operate on the authenticated customer's own accounts (/customers/me/...). The hosted checkout manages these for the customer; you only need them if you build your own UI. See how to get a customer JWT.

Account types & rails

There are two account types. The right one is determined by the payout currency:

Type
Currencies
Required fields

BANK_TRANSFER

NGN (NIBSS), ZAR (EFT), USD

accountName, accountNumber, bankCode

MOBILE_MONEY

UGX, GHS, KES, TZS, RWF, ZMW, XOF, XAF, CDF, ETB, LSL, MWK, MZN, SLE

accountNumber (E.164 phone), operator


Add a bank account

POST /v1/customers/me/bank-accounts

Request body

Field
Type
Required
Description

type

string

Yes

BANK_TRANSFER or MOBILE_MONEY

countryId

string (UUID)

Yes

A supported country id. Fetch from GET /v1/countries (public, no auth).

currency

string

Yes

Payout currency. See Supported Currencies

accountNumber

string

Yes

Bank account number (BANK_TRANSFER) or E.164 phone (MOBILE_MONEY)

accountName

string

BANK_TRANSFER only

Account holder name (resolve via Resolve Bank Account)

bankCode

string

BANK_TRANSFER only

Bank code. See Get Banks by Currency

bankName

string

No

Display name of the bank

operator

string

MOBILE_MONEY only

Mobile-money operator code, e.g. MTN_MOMO_UGA, MPESA_KEN, MTN_MOMO_GHA

Getting countryId: call GET /v1/countries (public, no auth) and use the matching country's id. Filter to a single currency with GET /v1/countries/by-currency/:symbol (e.g. /by-currency/UGX).

Example — NGN bank account (BANK_TRANSFER)

Example — ZAR EFT account (BANK_TRANSFER)

Example — UGX mobile money (MOBILE_MONEY)

Example response

The id is what you pass as bankAccountId to Confirm Off-Ramp Checkout.


List bank accounts

Returns the authenticated customer's saved accounts.


Set an account as primary

Marks the account as the customer's default payout destination.

Remove a bank account

Last updated