KES Payout(new encryption)
Summary
These APIs are used to initiate a KES payout
Integration steps
Token GenerationGet Bank Lists
Make a GET call to the Bank List API
GET
{{env_url}}/wallet/merchant/bank/transfer/request/banks/KES?
type=mobile-money
Headers
Content-Type
application/json
Authorization
Bearer <token here>
{
"message": "success",
"error": null,
"data": [
{
"code": "M-PESA",
"name": "M-PESA - MOBILE MONEY"
},
{
"code": "AIRTEL",
"name": "AIRTEL"
}
]
}
Resolve Bank Account (Not Available)
(Not Available)
Make a POST call to the resolve account API
POST
{{env_url}}/wallet/merchant/bank/transfer/request/resolve/account
Headers
Context-Type
application/json
Authorization
Bearer <token here>
Request Body
bankCode*
430000
countryCode*
KE
accountNumber*
0690000032
accountType*
personal
documentType*
String
Customer’s mode of identity. This could be one of: [identityNumber
, passportNumber
, businessRegistrationNumber
]
businessId*
String
133
documentNumber*
String
8801235111088
{
"status": true,
"message": "Personal Account Verification attempted",
"data": {
"verified": true,
"verificationMessage": "Account is verified successfully"
}
}
Merchant Payout request
Make a POST call to the Merchant payout request API
POST
{{env_url}}/wallet/merchant/{businessId}/bank/transfer/v2/request
You would need to pass, as a header the x-auth-token. This can be obtained from your merchant dashboard → Settings → Generate API keys → Merchant public key.
Headers
Content-Type
application/json
x-auth-token
Your merchant public key
Authorization
Bearer <token here>
Request body (encrypted):
{
"message": "encrypted-request-body"
}
Request body (plain)
Request Body
country*
KE
bankCode*
430000
amount*
100
accountName*
Sydney Mark
requestId*
String
kbtr-3857-011-133-166993253334816
description*
String
Payout
currency*
String
KES
bankName*
String
Ubank Ltd
accountNumber*
String
0690000032
serviceCode*
String
The short code of beneficiary bank account
{
"id": 3,
"amount": 1000,
"payoutStatus": "PENDING",
"requestId": "kbtr-3857-011-133-166993253334816",
"narration": "certification",
"country": "KE",
"fee": 25,
"serviceCode": "009",
"bankCode": "430000",
"bankName": "Ubank Ltd",
"accountNumber": "0690000032",
"accountName": "Pastor Bright"
}
Query payout status
Make a call to fetch status of initiated payouts.
Last updated