Webhooks are HTTPDocumentation Index
Fetch the complete documentation index at: https://docs.clickpesa.com/llms.txt
Use this file to discover all available pages before exploring further.
POST callbacks that deliver notification messages for events.
ClickPesa uses webhooks to inform your systems when transactional events occur. This way, your servers are always up to date with transaction information.
Webhook events are published from actions in any of the ClickPesa products, including the ClickPesa Dashboard, Hosted Integrations, Embedded Solutions and APIs.
Webhook Levels
ClickPesa supports webhooks at two levels:| Level | Scope | When Used |
|---|---|---|
| Merchant webhooks | All transactions for the merchant | Dashboard payments and other activity not linked to a specific application |
| Application webhooks | Transactions for a specific application | Collection API, Disbursement API, BillPay API, and hosted checkout or payout links |
For payments and payouts tied to an application (including USSD push and card payments via the Collection API, BillPay control numbers created via API, and Hosted Checkout links), if the application has a webhook URL configured for the event, the callback is sent to the application webhook only — the merchant webhook is not used. If the application has no webhook for the event, the merchant webhook is used instead.
Webhook Events
PAYMENT RECEIVED
When a payment is received successfully, this event is triggered. This event provides you with key information about the payment, including identifiers, amounts, and customer details.
- Description - This event is triggered whenever a customer makes a successful payment. The webhook will send details of the transaction, including the amount, payer information, and transaction status.
- Sample Payload Data
For
PAYMENT RECEIVED webhooks, the collectedAmount field is always zero or more. If our internal calculation ever ends up with a negative value, we send "0" instead so that you never receive a negative collected amount.PAYMENT FAILED
- Description - This event is triggered when a payment attempt fails. The webhook will include information about the failure reason, the attempted transaction, and any relevant error codes.
- Sample Payload Data
PAYOUT INITIATED
- Description - This event is triggered when a payout process is initiated. The webhook will provide details such as the payout amount, recipient information, and the initial status of the payout.
- Sample Payload Data
PAYOUT REFUNDED
- Description - This event occurs when a payout is refunded, due to an issue with the payout process. The webhook will include the refund details and the original payout information.
- Sample Payload Data
PAYOUT REVERSED
- Description: This event is triggered when a payout is reversed, typically due to an error or a dispute. The webhook will contain details about the reversal, the original payout, and any related information.
- Sample Payload Data
DEPOSIT RECEIVED
- Description: This event is triggered when a deposit is received. The webhook will contain details about the deposit and any related information.
- Sample Payload Data
Setting Up Webhooks
Merchant-Level Webhooks
Merchant webhooks apply to all transactions unless an application webhook is used (see below).-
Access webhook settings
- Log in to your ClickPesa Dashboard
- Navigate to Settings → Developers
- Locate the Webhooks section
-
Add webhook URLs
- Select event types:
PAYOUT INITIATED,PAYOUT REVERSED,PAYOUT REFUNDED,PAYMENT RECEIVED,PAYMENT FAILED, orDEPOSIT RECEIVED - Set the webhook URL for each event
- Select event types:
Application-Level Webhooks
Application webhooks let you receive events per application for transactions tied to that application. This includes:- Collection API — USSD push, card, and other payments you initiate through the API
- Disbursement API — mobile money and bank payouts you create through the API
- BillPay API — when a customer pays against an order or customer control number you created through the API
- Hosted integrations — payments and payouts through hosted links for your application, such as Hosted Checkout
Application webhooks do not apply to offline BillPay references that were not created through the BillPay API. Payments made only from the dashboard use merchant webhooks instead.
An optional
callbackUrl on Generate Checkout Link is separate from application webhooks. Application webhooks are configured in the dashboard and apply to all qualifying payments for that application, whether or not you also set callbackUrl on a link.PAYMENT RECEIVED, PAYMENT FAILED, PAYOUT INITIATED, PAYOUT REFUNDED, PAYOUT REVERSED
DEPOSIT RECEIVED is only available at the merchant level.-
Access application settings
- Log in to your ClickPesa Dashboard
- Navigate to Settings → Developers
- Click on an application to open its details
-
Configure application webhooks
- In the Application Webhooks section, add webhook URLs for the events you need
- Each application can have its own URLs per event
Receiving Webhook Calls
- The gateway sends HTTP POST requests to the provided URL upon an event
- Your system should respond with a 2xx HTTP status code to acknowledge receipt
- Payloads can include a
checksumandchecksumMethodfor verification (see Checksum documentation)
This status code only indicates receipt, not successful processing.
Extra data in the response is ignored.
Extra data in the response is ignored.

