Refunds are created through the KulmiPay chargebacks API. When you create a refund request, KulmiPay records the request against a completed invoice and starts the internal review or processing flow. Use this only for invoices that are alreadyDocumentation Index
Fetch the complete documentation index at: https://developers.kulmipay.com/llms.txt
Use this file to discover all available pages before exploring further.
COMPLETE. The refund amount must be less than or equal to the original transaction amount.
Create a refund
POST /api/v1/chargebacks/
Request fields
| Field | Required | Description |
|---|---|---|
invoice_id | Yes | Invoice alias ID for the completed payment. The API also accepts invoice for compatibility. |
amount | Yes | Amount to refund. Must be greater than zero and not more than the original transaction amount. |
reason | Yes | Short refund reason. |
Response
chargeback_id. You use it to retrieve the refund later.
Refund statuses
| Status | Meaning |
|---|---|
PENDING | The refund request has been created. |
PROCESSING | KulmiPay is processing the refund. |
DISPUTED | The refund needs review or supporting action. |
OVERDUE | The refund request has exceeded the expected processing window. |
COMPLETED | The refund has been completed. |
CANCELLED | The refund request was cancelled. |
M-Pesa refunds may move into processing automatically after creation. Use Retrieve Refunds or chargeback webhook events to track status changes.
