Like every V4 call, this endpoint family expects the three auth factors: a Bearer token (Authorization: Bearer …), a whitelisted source IP, and the per-request RSA signature headers (X-PP-Signature, X-PP-Nonce, X-PP-Timestamp). See Request Signing.
Submits a B2C payout for approval. No money moves on this call — V4 payouts are maker-checker: the submitter (maker) and the approver (checker) must be different people.
Request body
| Field | Type | Description |
|---|
account_no | string | Funding account, e.g. ACC-1001. |
destination | string | Phone (mobile rails) or bank account per channel. |
channel | string | mpesa, pesalink-mobile, pesalink-account, or rtgs. USD payouts are RTGS-only. |
amount_minor | integer | Minor units, min 1. |
currency | string | ISO-4217, 3 letters. Must match the destination's currency. |
reference | string | Your unique payout reference. |
maker_id | integer | Dashboard user id of the submitter. |
Response — 202 Accepted
{
"status": "pending_approval",
"reference": "PAY-2026-0107"
}
The payout now appears in the approval queue — approve via the API or in the merchant dashboard (Payout approvals, OTP-gated). Saved beneficiaries with their own maker-checker lifecycle are managed in the dashboard under Send Money → Beneficiaries.