Payments that fit
the way you work.
Accept M-Pesa, cards, and bank transfers in Kenya through one payments API. Clear monthly pricing, with payments settling directly into your bank account.
Works wherever you work
Keep the tools you already use. If your app can send a request to an endpoint, it can connect to PawaPay.
WordPress
Connect a WordPress site or store to payments through the same straightforward endpoint.
Desktop apps
Add payment flows to the desktop software your team and customers already use.
Node.js apps
Call the API from your Node.js application and keep your payment flow in your own stack.
Anything with an endpoint
Web, mobile, or custom-built: if it can make a request, it can work with PawaPay.
Fixed monthly fee
Your cost stays the same whether you process 100 or 10,000 transactions. No surprises, no percentage cuts eating into your margins.
Direct bank settlement
Money goes straight to your bank account. No float wallets, no withdrawal delays, no middleman holding your cash.
One clean API
M-Pesa, cards, and bank transfers through a single integration. RESTful endpoints, webhooks that fire, and a sandbox that actually works.
One idea. Your language.
Explore what a simple payment request could look like in your stack.
const payment = { amount: 2500, currency: "KES", method: "mpesa_stk", phone: "+254712345678", description: "Order #1042", callback_url: "https://yourapp.com/webhook" }; // Illustrative only: this endpoint is a placeholder. await fetch("https://api.example.com/v1/payments", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payment) });
import json from urllib.request import Request, urlopen payment = { "amount": 2500, "currency": "KES", "method": "mpesa_stk", "phone": "+254712345678", "description": "Order #1042", "callback_url": "https://yourapp.com/webhook", } # Illustrative only: this endpoint is a placeholder. request = Request( "https://api.example.com/v1/payments", data=json.dumps(payment).encode("utf-8"), headers={"Content-Type": "application/json"}, method="POST", ) with urlopen(request) as response: print(response.status)
using System.Net.Http; using System.Text; using System.Text.Json; using var client = new HttpClient(); var payment = new { amount = 2500, currency = "KES", method = "mpesa_stk", phone = "+254712345678", description = "Order #1042", callback_url = "https://yourapp.com/webhook" }; using var content = new StringContent( JsonSerializer.Serialize(payment), Encoding.UTF8, "application/json"); // Illustrative only: this endpoint is a placeholder. using var response = await client.PostAsync( "https://api.example.com/v1/payments", content);
Predictable pricing
Plans starting from
Your first 100 transactions are free every month.
Straightforward monthly pricing as your business grows.
Easy to start. Easy to keep moving.
Getting set up should feel like a small step, not a whole project. Join the early-access list and we’ll guide you through connecting your app when beta opens.
Frequently asked questions
What is Pawa Payments?
Pawa Payments is a payments API from Cosmo Pawa Technologies in Nairobi. It brings M-Pesa STK Push, card payments and bank transfers together behind one connection, so your app talks to a single endpoint.
How much does Pawa Payments cost?
Plans start from KES 1,500 per month, and your first 100 transactions are free every month. Pricing is a fixed monthly fee rather than a percentage of each payment.
How do I receive my money?
Payments settle directly into your bank account. There are no float wallets or withdrawal delays.
Which payment methods are supported?
M-Pesa STK Push, card payments and bank transfers, with rails including Co-op Bank, KCB, Equity and Pesapal.
Can I use it with WordPress, Node.js or Python?
Yes. If your app can send a request to an endpoint, it can connect to Pawa Payments. That includes WordPress sites and stores, Node.js and Python apps, C# and desktop software.
Is Pawa Payments available now?
Pawa Payments is in developer preview. Join the early-access list and we will invite you as beta spots open.
Get early access
Tell us a little about your project. We’ll be in touch as beta spots open.
Having trouble with the form? Open it directly.