Kenya Payouts

KES payouts to banks and mobile wallets

Use this guide when you want to send KES payouts to recipients in Kenya. Kenya supports bank transfers and mobile wallets (M-Pesa, Airtel).

Overview

  • Currency: KES
  • Payment location: KEN
  • Supported rails: Bank transfer, Mobile wallet
  • Payment methods:
    • Bank transfer → paymentMethodId: "banktransfer", recipient.type: "bank_account"
    • Mobile wallet → paymentMethodId: "mobilemoney", recipient.type: "mobile_money"

Required fields by rail

Bank transfer

FieldRequiredNotes
accountNumberYesBank account number
bankCodeYesLocal bank code
accountHolderNameYesName on the account
countryYesKEN
phoneNumberNoInternational format

Mobile wallet (M-Pesa, Airtel)

FieldRequiredNotes
phoneNumberYesMSISDN in international format
countryYesKEN
operatorYesUse mpesa or airtel
nameNoRecipient name

Top-level required fields for every payout: merchantId, merchantReference, destinationValue (with minorAmount and currency), paymentMethodId, paymentLocation, recipient.

Sender Details (Required)

Kenya payouts require sender information for regulatory compliance. The sender object must be included in the payout request.

FieldTypeRequiredDescriptionExample
fullNamestringYesSender’s full name"Jane Smith"
phoneNumberstringYesSender’s phone number"27821234567"
nationalitystringYesISO 3-letter country code"ZAF"
identitystringYesDocument type: "passport", "government issued id", or "company registration number""passport"
identityNumberstringYesIdentity document number"A12345678"
dateOfBirthstringYesDate of birth (YYYY-MM-DD)"1990-01-15"
purposeOfFundsstringYesPurpose of the transfer"salary"
sourceOfFundsstringYesSource of funds"business income"
relationshipstringYesRelationship to recipient"employer"

If nationality is not provided, the system falls back to country, countryCode, or the merchant’s configured home country.

Example requests

Bank transfer

1{
2 "merchantId": "your-merchant-id",
3 "merchantReference": "PAYOUT-KE-001",
4 "destinationValue": {
5 "minorAmount": 200000,
6 "currency": "KES"
7 },
8 "paymentMethodId": "banktransfer",
9 "paymentLocation": "KEN",
10 "recipient": {
11 "type": "bank_account",
12 "accountNumber": "0123456789",
13 "bankCode": "01",
14 "accountHolderName": "Wanjiku Njeri",
15 "country": "KEN"
16 }
17}

Mobile wallet (M-Pesa) — Individual sender

1{
2 "merchantId": "your-merchant-id",
3 "merchantReference": "PAYOUT_550e8400-e29b-41d4-a716-446655440000",
4 "destinationValue": {
5 "minorAmount": 2000,
6 "currency": "KES"
7 },
8 "paymentMethodId": "mobilemoney",
9 "paymentLocation": "KEN",
10 "attributes": {},
11 "recipient": {
12 "type": "mobile_money",
13 "name": "John Doe",
14 "operator": "mpesa",
15 "country": "KEN",
16 "phoneNumber": "254723993187"
17 },
18 "sender": {
19 "fullName": "Jane Smith",
20 "phoneNumber": "27821234567",
21 "nationality": "ZAF",
22 "identity": "passport",
23 "identityNumber": "A12345678",
24 "dateOfBirth": "1990-01-15",
25 "purposeOfFunds": "salary",
26 "sourceOfFunds": "business income",
27 "relationship": "employer"
28 }
29}

Mobile wallet (M-Pesa) — Company sender

When the sender is a company, use the company’s registered details:

1{
2 "merchantId": "your-merchant-id",
3 "merchantReference": "PAYOUT_660e8400-e29b-41d4-a716-446655440001",
4 "destinationValue": {
5 "minorAmount": 50000,
6 "currency": "KES"
7 },
8 "paymentMethodId": "mobilemoney",
9 "paymentLocation": "KEN",
10 "attributes": {},
11 "recipient": {
12 "type": "mobile_money",
13 "name": "John Doe",
14 "operator": "mpesa",
15 "country": "KEN",
16 "phoneNumber": "254723993187"
17 },
18 "sender": {
19 "fullName": "Acme Corporation Ltd",
20 "phoneNumber": "27110001234",
21 "nationality": "ZAF",
22 "identity": "company registration number",
23 "identityNumber": "2020/123456/07",
24 "dateOfBirth": "2015-03-20",
25 "purposeOfFunds": "vendor payment",
26 "sourceOfFunds": "business revenue",
27 "relationship": "business"
28 }
29}

Company sender mapping:

Sender fieldCompany value
fullNameCompany registered name
identity"company registration number"
identityNumberCompany registration number
dateOfBirthDate of incorporation (YYYY-MM-DD)

Important notes

  • Sender Details: The sender object is required for Kenya payouts. Requests missing required sender fields will be rejected with a validation error.