23 July 2026 · Wycord
Accepting payments in Kenya: the verified API options
A practical guide to the verified APIs available to developers collecting and sending money in Kenya, from M-Pesa Daraja to open banking with Jenga, with a decision guide by use case.
Kenya's payment infrastructure runs on mobile money, and M-Pesa is the dominant rail. For most developers building consumer-facing products in Kenya, the M-Pesa Daraja API is the right starting point. But the full picture is wider: the Wycord Kenya registry holds 41 verified resources, including six confirmed APIs and a mature ecosystem of SDKs and MCP servers for every stack.
This guide covers the main payment options, what each one does, and how to choose.
M-Pesa Daraja: the primary payment API
M-Pesa Daraja is Safaricom's official developer platform for M-Pesa integrations. Wycord describes it as the interface to "the largest mobile-money network in Africa." The Daraja API covers:
- STK Push: a customer-initiated flow where the user receives a prompt on their phone to authorize a payment
- C2B (Customer to Business): payments from M-Pesa wallets into a business till or paybill number
- B2C (Business to Customer): disbursements, payouts, and refunds sent to M-Pesa wallets
- B2B (Business to Business): transfers between registered business M-Pesa accounts
- Transaction status: programmatic confirmation of specific transactions
- Balance inquiry: check your M-Pesa business account balance via API
Access requires a registered Safaricom developer account. A sandbox environment is available for testing before production credentials are issued. As of July 22, 2026, the Wycord registry flags the developer portal documentation as broken. The API itself remains operational; the issue is the docs site. Budget extra time for onboarding if you are starting fresh.
SDKs for Daraja: six verified options by language
Community developers and vendors have built wrappers around Daraja for the most common stacks. All six below are verified in the Wycord registry:
| Language / Framework | Tool | Wycord page |
|---|---|---|
| Python (Django) | django-daraja | /resource/django-daraja |
| Node.js | mpesa-api (Node.js) | /resource/mpesa-api-nodejs |
| PHP | Safaricom M-Pesa PHP SDK | /resource/safaricom-m-pesa-php-sdk |
| Laravel (PHP) | iankumu/mpesa | /resource/iankumumpesa-laravel-m-pesa |
| Rust | mpesa-rust | /resource/mpesa-rust |
| Flutter / Dart | mpesa_flutter_plugin | /resource/mpesaflutterplugin |
The Rust wrapper is notable for including reversals and dynamic QR code generation alongside the standard flows. The Flutter plugin focuses specifically on Lipa Na M-Pesa Online STK push, which makes it the direct choice for mobile apps that need a customer-initiated checkout screen.
Jenga API: open banking and multi-country East Africa
Jenga API by Finserve Africa, a confirmed subsidiary of Equity Group Holding PLC, is the open banking and payments layer that extends beyond M-Pesa. It covers:
- Bank transfers (domestic and cross-border)
- Mobile money (including M-Pesa and other providers)
- Airtime purchases
- Forex services
- KYC and AML verification
Country coverage is Jenga's clearest differentiator: the platform operates across Kenya, Uganda, Tanzania, Rwanda, DRC, South Sudan, and Ethiopia. If you are building a product that needs to move money across multiple East African markets from a single integration, Jenga is the verified option that does this.
The Wycord registry shows Jenga's documentation as live (last verified July 22, 2026). Onboarding requires approval. The developer portal is at developer.jengahq.io.
Africa's Talking: payments alongside SMS and USSD
Africa's Talking is a Kenya-based company offering a pan-African communications API that combines SMS, USSD, voice, airtime, and mobile money payments. If your product needs OTP delivery or USSD menus in addition to payment collection, using one provider for both reduces integration complexity.
Official SDKs for both Python and Node.js are verified in the Wycord Kenya registry, and both expose the payments surface alongside the communications APIs.
MCP servers: seven verified options for AI-driven payment flows
Seven M-Pesa MCP servers are verified in the Wycord registry. These expose Daraja operations as callable tools for LLMs and agent frameworks, making them the integration path for teams building AI agents that need to trigger or verify payments. The most fully-featured options include:
- Safaricom Daraja MCP (Meshhack) (/resource/safaricom-daraja-mcp-meshhack): covers STK Push, C2B/B2C/B2B, balance queries, and QR code generation
- M-Pesa MCP Server (breezykalama) (/resource/m-pesa-mcp-server-breezykalama): production-shaped, built on FastAPI with Redis rate limiting and PostgreSQL persistence
- PayLink MCP (/resource/paylink-mcp): Python-based, with planned support for Airtel Money and bank integrations beyond M-Pesa
Browse all seven at wycord.com/mcp.
What to use when
| Situation | Best fit | Notes |
|---|---|---|
| Customer-initiated M-Pesa payment (STK Push) in Kenya | M-Pesa Daraja | Standard path for most consumer Kenya products |
| Business payouts, salary disbursements, refunds | M-Pesa Daraja B2C | Single API call per recipient wallet |
| Multi-country East Africa: bank accounts and mobile money | Jenga API | One integration, seven countries |
| Payments bundled with SMS or USSD in the same stack | Africa's Talking | Reduces vendor count when comms and money movement overlap |
| AI agents or LLM workflows that trigger payments | M-Pesa MCP servers | Seven verified options; choose based on deployment target |
| Django backend | django-daraja | Production-stable, well-documented Python library |
| Laravel backend | iankumu/mpesa | Full Daraja flow including reversals and B2B |
| Flutter mobile app | mpesa_flutter_plugin | Handles Lipa Na M-Pesa Online STK push directly |
A note on the current state of Daraja docs
The most common friction point for Kenya payment integrations is the Daraja developer portal itself. As of July 22, 2026, Wycord's verification process flagged the documentation as broken. This does not affect the API's production functionality, but it does affect how quickly new developers can get sandbox credentials and understand the request/response formats. The community SDKs in the table above include their own documentation and can reduce your dependency on the official portal while onboarding.
Start here
The Wycord Kenya registry covers 41 verified resources across payments, identity, language data, and infrastructure. For a filtered view of the six verified APIs in Kenya, start at wycord.com/best/apis-in-kenya, or browse the full Kenya resource list at wycord.com/countries.