recipient object that says who gets paid and how. Which fields you need depends on the currency and on how the money is paid out (the method).
Methods per currency
MOBILE: KES, GHS, UGX
string
required
The recipient’s name as you know it. We put it on the payout record.
string
required
Local format, like
0712345678. International formats (+254712345678, 254712345678) work too.string
required
The recipient’s mobile money network:
BUY_GOODS: KES tills
string
required
M-Pesa till number, 5–7 digits.
PAYBILL: KES paybills
string
required
Paybill business number, 5–7 digits.
string
required
The account number the paybill asks for, such as a meter number, invoice number, or phone number.
BANK_TRANSFER: KES banks
string
required
Bank account number.
string
required
Kenyan bank code.
string
Display name for the bank. Optional.
NGN bank transfer
NGN recipients have nomethod field. All NGN payouts are bank transfers.
string
required
The recipient bank’s institution code (
bank_code is accepted as an alias). For example GTBINGLA for Guaranty Trust Bank, or OPAYNGPC for OPay.Get the full list of 171 codes from GET /api/offramp/institutions and use it to fill a bank picker. You can’t work a code out from the bank’s name, and a wrong one stops the order from being created.string
required
The 10-digit Nigerian bank account number (NUBAN).
Validation
We check every recipient before creating an order. If the account isn’t valid, you get a422 and nothing is created.
- Bank accounts (KES and NGN) must exist and have a name registered to them, or the order is refused.
- Phone numbers, tills, and paybills are looked up too. We give you the registered name when we can find it, but a missing name doesn’t stop the order.
- KES M-Pesa phones and tills on automatic orders are checked to make sure they can receive the money. If one can’t, you get a
422. A number that works but has no name on record still goes through, using youraccount_name.
POST /api/offramp/validate-account first.
