Paystack in Kenya supports card payments (Visa, Mastercard), M-Pesa via checkout, Pesalink bank-to-bank transfers, and Apple Pay. It settles to Kenyan bank accounts or M-Pesa wallets in KES. It supports transfers to bank accounts, M-Pesa wallets, Paybills, and Till numbers. It does not support direct STK Push, USSD payments, Airtel Money as a standalone channel, or C2B validation URLs.
Paystack launched in Kenya after its acquisition by Stripe. The Kenyan product is real and it works, but it is a different animal from what Nigerian developers are used to. The payment landscape in Kenya runs on M-Pesa first, cards second, and everything else a distant third. Paystack has adapted to this, but not fully.
Here is the complete list of what Paystack supports in Kenya as of mid-2026:
For a broader view of how Paystack fits into the Kenyan payment ecosystem alongside Daraja and other providers, start with the Paystack in Kenya hub guide.
Paystack settles Kenyan transactions in KES. You have two settlement destinations:
Settlement is net of Paystack fees. You receive the transaction amount minus the fee. The fee varies by payment channel and merchant category. [TODO: verify current fee schedule on paystack.com/pricing]
For transfers (payouts you initiate), Paystack supports four destinations in Kenya:
This makes Paystack one of the few gateways that can both collect and disburse through M-Pesa without you needing a separate Daraja integration for B2C payments. Read the full details in Paystack Kenya settlement to bank or M-Pesa wallet.
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
This is where most Kenyan developers get surprised. M-Pesa on Paystack is not the same as M-Pesa through Daraja.
With Daraja, you call the STK Push API directly. Your server sends a request to Safaricom, and the customer sees a payment prompt on their phone within seconds. You control the experience end to end. You get the callback, you verify, you grant value.
With Paystack, the M-Pesa payment happens inside Paystack's hosted checkout page. The customer clicks "Pay with M-Pesa", enters their phone number in the Paystack checkout UI, and then receives the push notification. You do not call any M-Pesa API directly. Paystack handles the Daraja interaction on your behalf.
What this means in practice:
charge.success webhook from Paystack, not a Daraja callback."mobile_money".For many applications, this is fine. You trade some UX control for the simplicity of a single payment gateway that handles cards, M-Pesa, and Pesalink through one API. For applications where the STK Push experience is critical (like a POS system, a matatu fare system, or a high-volume checkout), you may want direct Daraja instead.
The detailed implementation is in accepting M-Pesa payments through Paystack checkout.
This is the section that matters most if you are deciding whether Paystack alone is enough for your Kenyan product. Here is what Paystack does not support:
If you need any of these capabilities, you either integrate Daraja directly alongside Paystack or choose a provider that offers them. See running Paystack and Daraja side by side for the hybrid approach.
One thing Paystack gets right: the API is identical whether you are in Nigeria, Ghana, South Africa, or Kenya. You call the same endpoints, use the same authentication, and get the same webhook events. The only things that change are:
This means if you have an existing Paystack integration built for Nigeria, adapting it for Kenya is mostly a matter of handling the different payment channels in your UI and converting amounts to cents. The server-side code barely changes.
// Amount handling for Kenya
// KES 500 = 50000 cents
const amountInCents = 500 * 100; // 50000
// Initialize transaction - same endpoint as Nigeria
const response = await paystack.post('/transaction/initialize', {
email: 'customer@example.com',
amount: amountInCents, // Always in smallest unit
currency: 'KES',
channels: ['card', 'mobile_money', 'bank_transfer'], // Pesalink falls under bank_transfer
});
The channels array lets you restrict which payment methods appear at checkout. For a Kenyan merchant, mobile_money shows M-Pesa, and bank_transfer shows Pesalink. For the full list of channel options, see Paystack payment channels.
Paystack Transfers in Kenya are more versatile than most developers expect. You can send money to:
mobile_money and the phone number. The money lands in the recipient's M-Pesa account.// Create an M-Pesa transfer recipient
const recipient = await paystack.post('/transferrecipient', {
type: 'mobile_money',
name: 'Jane Wanjiku',
account_number: '0712345678', // M-Pesa phone number
bank_code: 'MPESA',
currency: 'KES',
});
// Initiate transfer
const transfer = await paystack.post('/transfer', {
source: 'balance',
amount: 50000, // KES 500 in cents
recipient: recipient.data.data.recipient_code,
reason: 'Rider payout - July 2026',
});
This is powerful because it means you can build a complete collect-and-disburse system on Paystack alone, without needing a separate Daraja B2C integration. A food delivery app, for example, can collect payment from customers through Paystack checkout and pay riders via M-Pesa transfers, all through one provider.
The full transfer implementation details are in Paystack transfers to M-Pesa wallets and transfers to Paybill and Till numbers.
Paystack is the right choice as your only payment provider in Kenya when:
For these use cases, Paystack simplifies your stack considerably. One set of API keys, one webhook handler, one reconciliation flow. That simplicity has real engineering value.
See building a Kenyan e-commerce checkout for a complete working example.
Paystack is not enough when:
In these cases, you have three options:
To use Paystack in Kenya, you need to complete business activation. The requirements include:
The onboarding process is handled through the Paystack Dashboard. Once submitted, review typically takes a few business days. [TODO: verify current onboarding timeline on paystack.com]
You can start building and testing immediately with test keys. You only need business activation to go live and accept real payments.
Kenyan merchants should also be aware of the Digital Service Tax and CBK payment service provider rules that may apply to their business.
Paystack's Kenyan feature set is enough to build a wide range of products. The Kenya cluster in this guide includes step-by-step build guides for:
Each guide includes working code, Paystack API calls, webhook handling, and deployment considerations specific to Kenyan network conditions.
For the full picture of Paystack's capabilities across all countries, read the complete Paystack engineering 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