What you can do with Kulmi Pay
Collections
Accept M-Pesa STK push payments, Visa/Mastercard, Apple Pay, Google Pay, PesaLink bank transfers, and payment links.
Disbursements
Send money to mobile wallets and bank accounts one at a time or in bulk, with full status tracking.
Wallets
Hold balances in KES, USD, EUR, and GBP, transfer between wallets, and convert currencies at live rates.
Webhooks
Receive instant HTTP notifications when payments succeed, fail, or change status — no polling required.
Key features
- M-Pesa STK push — Trigger a payment prompt directly to a customer’s phone with a single API call.
- Card payments — Accept Visa, Mastercard, Apple Pay, and Google Pay from customers anywhere in the world.
- Bulk disbursements — Pay multiple recipients in one request and track each payment individually.
- Multi-currency wallets — Hold and exchange balances across KES, USD, EUR, and GBP with built-in forex.
- Subscriptions — Automate recurring billing with flexible plans and customer management.
- Payment links — Generate a shareable URL to collect payments without writing any frontend code.
- Sandbox environment — Test every integration with simulated transactions before going live.
How Kulmi Pay works
Every request is authenticated using a Bearer token obtained from the/api/token/ endpoint. You create an API application in your dashboard to get the credentials needed to generate that token. From there, every collection, disbursement, or wallet operation is a standard REST call with a JSON body.
Kulmi Pay notifies your server of transaction outcomes via webhooks, so your application can update records and trigger downstream actions without polling for status.
Quick start
Make your first API call in under 10 minutes.
Authentication
Learn how to generate and use API tokens.
