POST /v1/account/add-account — bind a verified bank account / mobile money wallet as payout destination. The returned accountId is used as targetAccountId in get-quote and submit-order.| paymentMethod | KES | UGX | TZS |
|---|---|---|---|
MOBILE_MONEY | ✅ | ✅ | ✅ |
BANK_TRANSFER | ✅ | ❌ | ❌ |
| field | required | notes |
|---|---|---|
paymentMethod | yes | BANK_TRANSFER / MOBILE_MONEY |
currency | yes | KES / UGX / TZS (see matrix) |
bankCode | yes | bankCode from GET /v1/account/list-banks |
accountNumber | yes | bank account number, or mobile money wallet number (MSISDN, digits only, with country code) |
accountName | yes | account holder name. BANK_TRANSFER: the accountName returned by check-account. MOBILE_MONEY: the wallet holder name as registered with the operator |
data| field | notes |
|---|---|
accountId | payout account id; pass it as targetAccountId to get-quote and submit-order |
BANK_TRANSFER (KES): call POST /v1/account/check-account first and only bind accounts with verifyStatus=SUCCESS, using the same bankCode, accountNumber and accountName.MOBILE_MONEY (KES / UGX / TZS): check-account does not support mobile money. Bind the wallet directly; make sure the wallet number and holder name are confirmed by the end user, because BPN cannot pre-verify them.accountId together with your end user and reuse it for later orders instead of adding the same account again.paymentMethod + currency of the account must match the get-quote / submit-order request that references it.