Skip to main content
Before reading this API document, please make sure to check API Description Guide first.

Transaction Limits

Transaction TypeLimit
DisbursementKES: 10-999999
Amount Decimal Places: KES — 2 decimal places

Disbursement API

Disbursement Apply

Description:
  • Create a Disbursement order
URL: /kes/pay/apply Parameters:
ParameterRequiredTypeDescription
appIdYesLongBusiness ID (obtained from backend, must match the currency in the URL)
orderIdYesStringMerchant order ID (must be unique, length ≤ 48)
amountYesStringTransaction amount, up to 2 decimal places. Range: 10-999,999
accountTypeYesStringAccount type: EWALLET (e-wallet), BANK_ACCOUNT (bank)
bankCodeYesStringPayment Method Code
accountNoYesStringUser bank account number / mobile number (mobile number for EWALLET type)
nameYesStringRecipient name (Format: English characters only, 1–30 characters. Format: “firstName middleName lastName”(middleName is optional and does not support special characters or numbers.))
phoneYesStringReal phone number
emailYesStringReal email address
notifyUrlNoStringCallback URL
subjectNoStringPayment note (transaction title, product name, payment reason)
bodyNoStringDetailed note
partnerUserIdYesStringUser unique identifier (e.g., userId). Used by risk control, must be valid. Format: numbers, letters, or common symbols -~!@#$%&*()_.
signYesStringSignature
request (when accountType is EWALLET)
{
    "appId": 1054,
    "orderId": "M100000450012",
    "amount": "500",
    "accountType": "EWALLET",
    "bankCode": "0001",
    "accountNo": "254712345678",
    "name": "john doe",
    "phone": "254712345678",
    "email": "johndoe@example.com",
    "subject": "iphone13",
    "body": "ProMotion technology with adaptive refresh rates up to 120Hz",
    "partnerUserId": "149597870",
    "sign": "I1PeK3eJOVsFFNowxVRqMXpeWm1lr/BcRpBi8WsW4wVo1+5CC3JsrFq/m/L2O69NzKHvtDWi4zia3DL3dPut0yMyUyqL91LNCSaeISbGsQPlhEsQpyTOryS/RKOfsrn2Xo37SCF/phAvndOk2jwwGwqM5xLz1ms9Ukl85wv27QFNrXIMxK2p18oe7MpMYrgf+xvEBE/VqCtKMtN9pO449wWwXzHWNPbZ76s4pAvKwRE9yXQDr7Iw14Dktcnl1FoLM4gWM/obkO+mz6SyAGDuXhVh/+OD/IGNiCyTCNq6ciQY28UnCFV6ZIP40gxsFhfBJKbK+Raw7y1Bh912ifYfug=="
}
request (when accountType is BANK_ACCOUNT)
{
    "appId": 1054,
    "orderId": "M100000450012",
    "amount": "500",
    "accountType": "BANK_ACCOUNT",
    "bankCode": "0001",
    "accountNo": "1234567890",
    "name": "john doe",
    "phone": "254712345678",
    "email": "johndoe@example.com",
    "subject": "iphone13",
    "body": "ProMotion technology with adaptive refresh rates up to 120Hz",
    "partnerUserId": "149597870",
    "sign": "I1PeK3eJOVsFFNowxVRqMXpeWm1lr/BcRpBi8WsW4wVo1+5CC3JsrFq/m/L2O69NzKHvtDWi4zia3DL3dPut0yMyUyqL91LNCSaeISbGsQPlhEsQpyTOryS/RKOfsrn2Xo37SCF/phAvndOk2jwwGwqM5xLz1ms9Ukl85wv27QFNrXIMxK2p18oe7MpMYrgf+xvEBE/VqCtKMtN9pO449wWwXzHWNPbZ76s4pAvKwRE9yXQDr7Iw14Dktcnl1FoLM4gWM/obkO+mz6SyAGDuXhVh/+OD/IGNiCyTCNq6ciQY28UnCFV6ZIP40gxsFhfBJKbK+Raw7y1Bh912ifYfug=="
}
response
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
    "orderId": "M100000450013",
    "orderNo": "3023062014149637",
    "sign": "LmhUnkw5j0pMiimsG8rKwdNNZGvXH5MpSmD6mdHZwq1SQwuK5BohmdEoqKB/jkMk28o3da4Cxh6Q+tW97+yTCemRrF+dMaHA73rpOeUuujKQl/UcFvJuMhfLBa2tp09L71NzoBqpPD6aXf37mYAz8E1HmERwFPpac5FVxIYanHG8cqmMLJYsVmHTSxWavgWU03ys9UczBePkBiR8sl2FSOhFABB0wAP28lswrV/ABS68IsLKtyd1fyI3GBfSbIK5nDEEnlE+EdElFdLs9taAxJImeVF1x4eT47+bkPJ2qS8z3K8QGzKLF3W+8SiRZGfSwDTsLKH+2Vycvy5auRl+ag=="
}
}
Return data Parameter Description
ParameterRequiredTypeDescription
orderIdYesStringMerchant order ID (must be unique)
orderNoYesStringPlatform order ID
signYesStringSignature

Disbursement Query

Description:
  • Query a Disbursement order
URL: /kes/pay/query Parameters:
ParameterRequiredTypeDescription
appIdYesLongBusiness ID (obtained from backend, must match the currency in the URL)
orderIdYesStringMerchant order ID
orderNoNoStringPlatform order ID (faster response)
signYesStringSignature
request
{
    "appId": 1000,
    "orderId": "M1234567111",
    "orderNo": "3022111516571436",
    "sign": "ZxkVZL+GAyv0VhvWn4IvuYahTzxgQuthkuV2ONWiqIfIDb2avvHlFOUJVzqZi1q8CPHXZm1ltanRTRVTxfsuftLvGeDioUHglWt46/RU6c1OPznpLGsZ35Q3n5tW2y1EnOsxPynXBFLuDQy+aZ3l9u6AQ30T0zQexMGT+IxuFkmUp02g/6juaHa5ZgNMv7lN67ixIp162wrM7OJuaOif872QijSceRdZhzaMGImAwB0D4MosRV4WMBOKkwgPdmS7GuZN66YUidXk3wTGqX3MYRw6M0kj4eNegSUwPXvp4q4p0KO8Y3xUMld54GY2ApX3WN3CBtC/vpJqEszjGBbbGg=="
}
response — Order Failed
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
    "orderId": "M1234567111",
    "orderNo": "3022111516571436",
    "amount": "100000.00",
    "fee": "0.00",
    "status": 3,
    "errorMsg": "error",
    "sign": "KKuvCl0SuNANJs+l2ogDaJm8pmV+Hi+Xa7q27vJ6D1Ehs4aOp13kRbITfJAhczh3T81BE9qwHeJaYwf+r0EypKM9TL6pMwfG8Az4gRy1D57wiUaVjl2PWcvbEqrn1hL0b+btkjvAM9I+CcSv+wuOW3/uku17Ws3FhgJLj9sFsQUBAPjDO+758VnwBytCOLBmljLBXyKgNgpmFQ1/DNkqWl0UNzyLK45Zw3yf5NiwhEFbvW0jlOWlfu/ql4hluISUQG573jEoFCBEnQLb2tQoRZj1QYNRCXPf5lbej0vzqbEwvR9h+ZOf255t1MocJkdIe463DTV5U3KZdVT87HMagw=="
}
}
response — Order Successful
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
    "orderId": "M1234567112",
    "orderNo": "3022111517401574",
    "amount": "100000.00",
    "fee": "1003.00",
    "status": 2,
    "payTime": "2024-03-01 23:59:59",
    "sign": "khPtOmGq+cpKX0HFAI/lbP0dx4oVyNAnL5oLsdmhDJdASlQm0yg5I3o+MhImYggEsL6c2bo5fP29t54OZFqSdQDfIuNDvGbAMAr4mRBxc0hoHLkBLyyagfVPBLyQA1JY8XV3ZL4ySzQ3ZQnMCfrh2K39ueUuz6HpZ03Hj0KYijVRCXAZaio/L5jfLBT12QXmvIfAHa8s/k9flhK05ENHPep3zjj/MZGOEaX7jkEJLfjK0duypDCa61BRQjM+oePOdVsgleIl1Yf98UAxMDZ/A3912KFHEb+/jvmdnulNbiJFyuT1fEe+j2teUgw3vFsZAtwNWAgxhC7UO+N0Q5z4EA=="
}
}
Return data Parameter Description
ParameterTypeDescription
orderIdStringMerchant order ID (must be unique)
orderNoStringPlatform order ID
amountStringTransaction amount
feeStringFee
statusIntegerOrder status (0 Not Started, 1 Processing, 2 Disbursement Success (final), 3 Disbursement Failed (final), -1 Exception Pending Confirmation)
payTimeStringPayment success time (present when status=2) (East Africa Time), format: yyyy-MM-dd HH:mm:ss
errorMsgStringPayment failure reason (present when status=3)
signStringSignature

Payment Methods

CurrencyPayment Type (accountType)Payment Code (bankCode)LimitStatusDescription
KESEWALLET000110-999999AvailableSAFARICOM (M-Pesa)
KESEWALLET000210-999999AvailableAIRTEL (Airtel Money)
KESEWALLET000310-999999AvailableEQUITEL (Equitel)
KESEWALLET6390710-999999AvailableT-Kash (Telkom Kenya)
KESEWALLET9710-999999AvailableTelcom Kenya
CurrencyPayment Type (accountType)Payment Code (bankCode)LimitStatusDescription
KESBANK_ACCOUNT000110-999999AvailableKenya Commercial Bank
KESBANK_ACCOUNT000210-999999AvailableStandard Chartered Bank
KESBANK_ACCOUNT000310-999999AvailableABSA Bank Kenya
KESBANK_ACCOUNT000510-999999AvailableBank of India
KESBANK_ACCOUNT000610-999999AvailableBank of Baroda
KESBANK_ACCOUNT000710-999999AvailableNCBA Bank Kenya
KESBANK_ACCOUNT001010-999999AvailablePrime Bank
KESBANK_ACCOUNT001110-999999AvailableCo-operative Bank of Kenya
KESBANK_ACCOUNT001210-999999AvailableNBK
KESBANK_ACCOUNT001410-999999AvailableM-Oriental
KESBANK_ACCOUNT001610-999999AvailableCiti Bank
KESBANK_ACCOUNT001710-999999AvailableHabib Bank AG Zurich
KESBANK_ACCOUNT001810-999999AvailableMiddle East Bank Kenya
KESBANK_ACCOUNT001910-999999AvailableBank of Africa Kenya
KESBANK_ACCOUNT002310-999999AvailableConsolidated Bank of Kenya
KESBANK_ACCOUNT002510-999999AvailableCredit Bank
KESBANK_ACCOUNT002610-999999AvailableAccess Bank
KESBANK_ACCOUNT003010-999999AvailableChase Bank
KESBANK_ACCOUNT003110-999999AvailableStanbic Bank
KESBANK_ACCOUNT003510-999999AvailableABC Bank
KESBANK_ACCOUNT003610-999999AvailableChoice Microfinance Bank
KESBANK_ACCOUNT004310-999999AvailableEcoBank PLC
KESBANK_ACCOUNT004910-999999AvailableEquatorial Commercial Bank
KESBANK_ACCOUNT005010-999999AvailableParamount Universal Bank
KESBANK_ACCOUNT005110-999999AvailableKingdom Bank
KESBANK_ACCOUNT005310-999999AvailableGuaranty Trust Bank
KESBANK_ACCOUNT005410-999999AvailableVictoria Bank
KESBANK_ACCOUNT005510-999999AvailableGuardian Bank
KESBANK_ACCOUNT005710-999999AvailableI&M Bank
KESBANK_ACCOUNT005910-999999AvailableDevelopment Bank
KESBANK_ACCOUNT006010-999999AvailableSBM
KESBANK_ACCOUNT006110-999999AvailableHousing finance
KESBANK_ACCOUNT006310-999999AvailableDiamond Trust Bank
KESBANK_ACCOUNT006510-999999AvailableMayfair Bank
KESBANK_ACCOUNT006610-999999AvailableSidian Bank
KESBANK_ACCOUNT006810-999999AvailableEquity Bank
KESBANK_ACCOUNT007010-999999AvailableFamily Bank
KESBANK_ACCOUNT007210-999999AvailableGulf African Bank
KESBANK_ACCOUNT007410-999999AvailableFirst Community Bank
KESBANK_ACCOUNT007510-999999AvailableDIB Bank
KESBANK_ACCOUNT007610-999999AvailableUBA Kenya
KESBANK_ACCOUNT007810-999999AvailableKWFT
KESBANK_ACCOUNT007910-999999AvailableFaulu Bank
KESBANK_ACCOUNT008910-999999AvailableStima Sacco
KESBANK_ACCOUNT009910-999999AvailablePost Bank
KESBANK_ACCOUNT999910-999999AvailableIPS (Instant Payment Switch)
Last modified on June 24, 2026