Webhooks
Celar uses webhooks to push real-time updates to your system whenever key events occur during the payment lifecycle. This allows PSPs to respond instantly to confirmations, KYT verdicts, or settlement outcomes.
How It Works
- Celar sends an HTTPS
POST
request to your registeredwebhook_url
when an event is triggered. - Each delivery includes a full JSON payload.
- Failed webhooks are automatically retried up to 3 times with exponential backoff.
- Delivery logs can be reviewed via the
/payments/:payment_id/webhooks
endpoint, including response codes and timestamps.
Your server must expose a publicly accessible HTTPS endpoint to receive webhook events.
Supported Events
Event Name | Description |
---|---|
payment.confirmed | Payment was successfully detected on-chain and processed |
payment.mismatched | Payment was received but the amount was over or under the expected amount |
payment.failed | Payment was blocked due to KYT or validation failure |
payment.settled | Funds successfully routed to PSP and treasury wallets |
payment.settled-failed | Payment was confirmed but final settlement failed |
Example Payload
{
"event": "payment.settled",
"payment_id": "pay_abc123",
"psp_amount": "9.50",
"treasury_fee": "3.50",
"tx_hash": "0xdeadbeef..."
}