Skip to main content

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 registered webhook_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 NameDescription
payment.confirmedPayment was successfully detected on-chain and processed
payment.mismatchedPayment was received but the amount was over or under the expected amount
payment.failedPayment was blocked due to KYT or validation failure
payment.settledFunds successfully routed to PSP and treasury wallets
payment.settled-failedPayment 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..."
}