Overview
Credibill uses webhooks to notify your application when an event happens in your account. Webhooks are particularly useful for asynchronous events like when a Payment Service Provider(Flutterwave, PesaPal, DPO, pawaPay) confirms a payment, a customer disputes a charge, or a recurring payment succeeds.Configuring Webhooks
- Go to the Webhooks section in your Dashboard. This is found under Settings → Webhooks.
- Click Add Webhook.
- Enter the URL of your server endpoint (e.g.,
https://api.mycoolapp.com/webhooks/credibill). - Select the events you want to listen to.
Event Structure
Every webhook event payload has a consistent structure.Verifying Signatures
Credibill signs the webhook events it sends to your endpoints by including a signature in each event’sX-Credibill-Signature header. This allows you to verify that the events were sent by Credibill, not by a third party.
- Next.js (App Router)
- cURL (simulate webhook)
Verify both the signature and the timestamp (recommended 5-minute tolerance)
and implement idempotent handlers to avoid double-processing. Always perform
webhook verification server-side — do not verify signatures in client-side
code.