Webhooks let KulmiPay push notifications to your server when supported account events happen. Instead of polling for every payment or transfer, you register an HTTPS endpoint and KulmiPay sends a JSONDocumentation Index
Fetch the complete documentation index at: https://developers.kulmipay.com/llms.txt
Use this file to discover all available pages before exploring further.
POST whenever a subscribed event changes state.
Supported events
| Event flag | Description |
|---|---|
collection_event | Payment invoice state changes for M-Pesa and PesaLink collections. |
send_money_event | Send Money payment file state changes. |
reversal_event | Chargeback and reversal state changes. |
wallet_transfer_event | Wallet intra-transfer events. |
Requirements
- Your endpoint must accept
POSTrequests. - Your endpoint must use HTTPS.
- Your endpoint should respond with HTTP
200or201quickly. - Your handler should be idempotent because events can be retried or replayed.
- Use the
challengevalue in the payload to verify the request came from KulmiPay.
Payload shape
KulmiPay posts the event resource directly to your endpoint and adds the configuredchallenge value to the JSON body. The webhook event log stores the event topic, but the merchant endpoint receives the event payload itself.
Next steps
How to Setup Webhook
Configure your endpoint and verify incoming events.
Payment Collection Events
Handle M-Pesa and PesaLink collection updates.
Send Money Events
Handle Send Money file status changes.
Wallet Intra-Transfer Events
Handle wallet transfer updates.
