McTaba Labs logo
Software EngineeringThe WhiteboardProjectsEventsMasterclassesWebinarsLearn
Book Call

500+ developers already in the community

Get answers, find accountability partners, and stay ahead

Join Discord →
McTaba Labs logo

Educating 1 million students in tech by 2030.

Programs

  • HighSchool Graduates Launchpad
  • AI & Business Automation
  • Corporate Training
  • McTaba Story & Mission
  • Full-Stack Curriculum
  • Course Pricing & Plans
  • Frequently Asked Questions

Resources

  • Join Discord Community
  • Tech Events in Nairobi
  • Masterclasses
  • Free Resources
  • Learn
  • Campus
  • Africa Tech Talent Report
  • Partner With Us
  • Start a Project
  • Our Work

Contact Us

  • 124 Manyani East Road, Lavington, Nairobi
  • +254727795603
  • Book a Discovery Call

Office Hours:

Mon-Fri: 9am - 2pm EAT

Sat: 10am - 12pm EAT

© 2027 McTaba Labs - A product of Edtech Industries. All rights reserved.

Privacy PolicyTerms of ServiceRefund Policy
  1. Learn
  2. Paystack for African Developers
  3. Building a Local Checkout Experience for Kenya
Bonaventure OgetoBy Bonaventure Ogeto|Updated July 22, 2026

Building a Local Checkout Experience for Kenya

For a Kenya-optimised Paystack checkout: (1) include "mobile_money" as a channel — this enables M-Pesa STK push through Paystack; (2) amounts are in KES sent to Paystack in kobo/cents (multiply by 100); (3) set currency: "KES"; (4) include the customer phone number (07XXXXXXXX format) so Paystack can trigger the M-Pesa STK push to the right number; (5) do not restrict to card-only if you want Kenyan conversions.

In this article

  1. 1. Kenya-Optimised Checkout Configuration
  2. 2. Localisation Tips for Kenyan Users
  3. 3. Learn More

Kenya-Optimised Checkout Configuration

// Kenya-optimised transaction initialization
var response = await fetch('https://api.paystack.co/transaction/initialize', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer ' + process.env.PAYSTACK_SECRET_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    email: customer.email,
    phone: customer.phone, // e.g., '0712345678' or '+254712345678' — required for M-Pesa STK push
    amount: Math.round(orderAmountKES * 100), // KES to smallest unit
    currency: 'KES',
    reference: generateReference(),
    channels: ['mobile_money', 'card', 'bank'], // M-Pesa first in the list
    metadata: {
      order_id: order.id,
    },
    callback_url: 'https://yourapp.com/payment/callback',
  }),
});

M-Pesa STK push flow via Paystack:

  1. Customer selects M-Pesa at checkout
  2. Paystack sends an STK push to the customer's phone
  3. Customer enters their M-Pesa PIN
  4. Paystack fires a charge.success webhook to your server

The STK push requires a live Safaricom number — test mode simulates it automatically.

Localisation Tips for Kenyan Users

  • Currency display: Show as "KES 1,000" or "Ksh 1,000" — both are familiar to Kenyan users.
  • M-Pesa STK push delays: Tell customers "A payment prompt will appear on your phone within 30 seconds." Safaricom network congestion can delay STK pushes.
  • Wrong number: If the customer enters their email but the phone number is wrong, the STK push fails silently. Add a phone number confirmation step at checkout.
  • Airtel Money: Paystack also supports Airtel Money in Kenya via the mobile_money channel — it is enabled automatically for Airtel numbers.

Get weekly developer tips

Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.

No spam. Unsubscribe anytime.

Learn More

This guide is part of the Paystack by country guide.

Sign up for the McTaba newsletter

Key Takeaways

  • ✓M-Pesa is the dominant payment method in Kenya — enable mobile_money channel in every Kenyan checkout.
  • ✓KES amounts go to Paystack in the smallest currency unit (multiply KES by 100 — Paystack treats it as cents/kobo).
  • ✓Include the customer phone number in the initialize call to enable the M-Pesa STK push.
  • ✓Card is supported for Kenyan Visa/Mastercard users, but M-Pesa has far higher checkout conversion.
  • ✓Set currency: "KES" explicitly — Paystack supports multi-currency and will default to your account currency otherwise.
  • ✓M-Pesa payments require the customer to have their phone and network connectivity to confirm the STK push.

Frequently Asked Questions

Does Paystack support M-Pesa in Kenya?
Yes. Paystack supports M-Pesa in Kenya via the mobile_money channel. When a customer selects M-Pesa at checkout, Paystack triggers an STK push to their Safaricom number. The customer enters their PIN and the payment is confirmed via a charge.success webhook.
Why did the M-Pesa STK push not reach the customer?
Common reasons: wrong phone number in the initialize call, Safaricom network delay (wait 60 seconds before retrying), the phone number is not registered on M-Pesa, or the customer's M-Pesa balance is insufficient. Verify the phone number format — use international format (+254XXXXXXXXX) for reliability.
Can I accept USD from international customers via Paystack in Kenya?
Paystack in Kenya supports KES transactions. For USD or multi-currency acceptance, you would need to configure currency conversion at the application level or use a Paystack account configured for your specific use case. Contact Paystack Kenya support for multi-currency merchant arrangements.
Is PesaLink supported on Paystack in Kenya?
PesaLink (Kenya Interbank Settlement System for peer-to-peer transfers) is a bank-to-bank transfer system in Kenya. As of 2026, Paystack Kenya primarily supports M-Pesa, Airtel Money, and card. For PesaLink, customers would need to use their bank's PesaLink integration separately, or you could use a Kenyan fintech gateway that supports PesaLink directly.

Learn Paystack Integration

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

Not ready? Create Free Account

Keep reading

Paystack by Country: Nigeria, Ghana, South Africa, Kenya, Rwanda, Cote d'Ivoire

A country-by-country breakdown of Paystack across its six active markets. What payment channels are available, how settlement works, what compliance documents you need, and how to decide which country to launch in first.

Read more

Payment Methods Available on Paystack in Ghana

Ghana has three major mobile money providers and a growing card base. This guide breaks down every payment channel available on Paystack in Ghana, with engineering details for each method, conversion optimization tips, and guidance on which channels to prioritize for different product types.

Read more

Settlement and Payouts on Paystack in South Africa

Paystack South Africa settles ZAR revenue to your South African bank account. This guide covers the settlement timeline, how to create ZAR transfer recipients, and common settlement issues for South African merchants.

Read more

Payment Methods Available on Paystack in Rwanda

Rwanda has two major mobile money providers and a growing card base. This guide covers every payment channel on Paystack in Rwanda, how each works from an engineering perspective, and how to optimize your checkout for the Rwandan market.

Read more

M-Pesa STK Push Timeout Handling Compared Across Providers

The STK push timeout is the single most common M-Pesa failure mode in Kenya. Every payment provider handles it differently. This article compares how Paystack, direct Daraja, IntaSend, and Pesapal deal with the 30-second window, what happens when customers ignore the prompt, how money in limbo gets resolved, and what retry strategies actually work in production.

Read more

Explore related topics

M-Pesa & African Stack

M-Pesa Daraja API tutorials, USSD development, and WhatsApp Business API guides. The African Stack that global bootcamps do not teach.

Learn to Code in Kenya

Everything a Kenyan needs to know before writing their first line of code. Career paths, real costs, hardware requirements, and honest answers about what it takes.

Learning to Code

Roadmaps, language guides, and practical advice for learning to code and launching a programming career.

Breaking Into Tech

Practical, no-nonsense guides for anyone looking to start or change their career in tech. From choosing your first language to acing interviews.

The African Stack: Skills for This Market

The skills that make Kenyan developers hard to replace: M-Pesa, USSD, WhatsApp, fintech, and building for the African market.

Bonaventure Ogeto

Bonaventure Ogeto

Founder, McTaba Labs

Bonaventure is the founder of McTaba Labs, a coding bootcamp in Nairobi, Kenya. He has spent years building products for the African market and mentoring the next generation of developers across the continent.