Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.kulmipay.com/llms.txt

Use this file to discover all available pages before exploring further.

Kulmi Pay gives you multiple ways to collect money from your customers. Whether you need to trigger a mobile money prompt, collect a PesaLink bank payment, embed a hosted checkout in your app, or add KulmiPay to WooCommerce, you can do it through the same checkout and collection infrastructure. Every collection method returns an invoice ID you can use to track status in real time or via webhooks.

Collection methods

M-Pesa STK Push

Trigger a payment prompt directly on your customer’s phone. They confirm with their M-Pesa PIN — no redirect needed.

PesaLink Bank Payments

Collect payments from Kenyan bank accounts through PesaLink.

Hosted checkout

Embed a pre-built, branded checkout session in your web or mobile app using your public key.

WooCommerce

Add KulmiPay to a WordPress store with the WooCommerce plugin.

Who pays the transaction fee

Collection requests use tariff fields such as mobile_tarrif for M-Pesa and bank_tarrif for PesaLink to control who bears the processing fee.
OptionBehaviour
BUSINESS-PAYSFees are deducted from your settlement amount. Your customer sees and pays the face value.
CUSTOMER-PAYSFees are added on top of the amount you specify. Your customer pays the total including charges.
The default for all methods is BUSINESS-PAYS. You can override this per request or set a default in your dashboard under Payment Settings.

Supported currencies

Kulmi Pay supports collections in KES, USD, EUR, and GBP. M-Pesa and PesaLink settle in KES, so non-KES amounts are converted before processing.
M-Pesa and PesaLink always settle in KES. If you create a request in another currency, the amount is converted to KES before the transaction is sent to the customer.