Paystack Kenya settles KES to your registered Kenyan bank account on T+1 or T+2. To send KES payouts, create transfer recipients via POST /transferrecipient with currency: "KES" and the Kenyan bank code. Use GET /bank?currency=KES to get supported Kenyan bank codes. KES amounts in the API are in the smallest unit (multiply by 100). Note: M-Pesa wallet-to-wallet payouts via the Paystack Transfer API are not available in Kenya — bank account payouts are the standard payout method.
Paystack Kenya settles KES to your Kenyan bank account 1-2 business days after the transaction. Banks supported for settlement: KCB (Kenya Commercial Bank), Equity Bank Kenya, Co-operative Bank of Kenya, NCBA Bank, Standard Chartered Kenya, Absa Kenya, I&M Bank Kenya, DTB (Diamond Trust Bank).
Settlement operates through Kenya's KEPSS (Kenya Electronic Payment and Settlement System), the RTGS system managed by the Central Bank of Kenya. Interbank transfers route through KEPSS for high-value settlements, with retail transactions going through the PesaLink interbank infrastructure.
// Create a KES bank account recipient for Kenya
async function createKESRecipient(name, accountNumber, bankCode) {
var res = await fetch('https://api.paystack.co/transferrecipient', {
method: 'POST',
headers: { Authorization: 'Bearer ' + process.env.PAYSTACK_SECRET_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
type: 'nuban', // Check Paystack docs for Kenya-specific type
name,
account_number: accountNumber,
bank_code: bankCode, // e.g., '01' for KCB, '68' for Equity, '11' for Co-op
currency: 'KES',
}),
});
var data = await res.json();
return data.data.recipient_code;
}
// Send KES payout
async function sendKESPayout(recipientCode, amountKES, reason) {
var res = await fetch('https://api.paystack.co/transfer', {
method: 'POST',
headers: { Authorization: 'Bearer ' + process.env.PAYSTACK_SECRET_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
source: 'balance',
amount: Math.round(amountKES * 100), // KES to smallest unit
recipient: recipientCode,
reason,
currency: 'KES',
}),
});
return res.json();
}
// Get supported Kenyan bank codes
async function getKenyanBanks() {
var res = await fetch('https://api.paystack.co/bank?currency=KES', {
headers: { Authorization: 'Bearer ' + process.env.PAYSTACK_SECRET_KEY },
});
var data = await res.json();
return data.data; // Array of { name, code } objects
}
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
M-Pesa is the dominant payment method for collections in Kenya via Paystack — customers pay using M-Pesa STK push. However, the Paystack Transfer API in Kenya does not support M-Pesa wallet-to-wallet payouts the same way Ghana supports mobile money payouts.
For vendor or marketplace payouts in Kenya, use bank account recipients. If you need to disburse to M-Pesa wallets directly, options include: Safaricom's B2C Daraja API (requires a Safaricom paybill/till), third-party disbursement services, or checking the latest Paystack Kenya documentation as this capability may be updated.
This guide is part of the Paystack by country guide.
KES 2,999
The definitive guide to building payment systems with Paystack — from your first transaction to production-grade payment infrastructure across Africa. 9 modules, 47 lessons. Free preview available.
Start Paystack Course