Skip to navigation

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 (see Sender Details).

Sender Details (Required)

Every payout requires a sender object with fullName, identity, and identityNumber for KYT/KYC screening. Kenya payouts additionally require the fields below for regulatory compliance.

FieldTypeRequiredDescriptionExample
fullNamestringYesSender’s full name"Jane Smith"
phoneNumberstringYesSender’s phone number"27821234567"
nationalitystringYesISO 3-letter country code"ZAF"
identitystringYesDocument type: passport, nationalId, driversLicense, residencePermit, businessRegistrationNumber, or other"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

{
"merchantId": "your-merchant-id",
"merchantReference": "PAYOUT-KE-001",
"destinationValue": {
"minorAmount": 200000,
"currency": "KES"
},
"paymentMethodId": "banktransfer",
"paymentLocation": "KEN",
"recipient": {
"type": "bank_account",
"accountNumber": "0123456789",
"bankCode": "01",
"accountHolderName": "Wanjiku Njeri",
"country": "KEN"
},
"sender": {
"fullName": "Jane Smith",
"phoneNumber": "27821234567",
"nationality": "ZAF",
"identity": "passport",
"identityNumber": "A12345678",
"dateOfBirth": "1990-01-15",
"purposeOfFunds": "salary",
"sourceOfFunds": "business income",
"relationship": "employer"
}
}

Mobile wallet (M-Pesa) — Individual sender

{
"merchantId": "your-merchant-id",
"merchantReference": "PAYOUT_550e8400-e29b-41d4-a716-446655440000",
"destinationValue": {
"minorAmount": 2000,
"currency": "KES"
},
"paymentMethodId": "mobilemoney",
"paymentLocation": "KEN",
"attributes": {},
"recipient": {
"type": "mobile_money",
"name": "John Doe",
"operator": "mpesa",
"country": "KEN",
"phoneNumber": "254723993187"
},
"sender": {
"fullName": "Jane Smith",
"phoneNumber": "27821234567",
"nationality": "ZAF",
"identity": "passport",
"identityNumber": "A12345678",
"dateOfBirth": "1990-01-15",
"purposeOfFunds": "salary",
"sourceOfFunds": "business income",
"relationship": "employer"
}
}

Mobile wallet (M-Pesa) — Company sender

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

{
"merchantId": "your-merchant-id",
"merchantReference": "PAYOUT_660e8400-e29b-41d4-a716-446655440001",
"destinationValue": {
"minorAmount": 50000,
"currency": "KES"
},
"paymentMethodId": "mobilemoney",
"paymentLocation": "KEN",
"attributes": {},
"recipient": {
"type": "mobile_money",
"name": "John Doe",
"operator": "mpesa",
"country": "KEN",
"phoneNumber": "254723993187"
},
"sender": {
"fullName": "Acme Corporation Ltd",
"phoneNumber": "27110001234",
"nationality": "ZAF",
"identity": "businessRegistrationNumber",
"identityNumber": "2020/123456/07",
"dateOfBirth": "2015-03-20",
"purposeOfFunds": "vendor payment",
"sourceOfFunds": "business revenue",
"relationship": "business"
}
}

Company sender mapping:

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

Important notes

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