Operational trust readiness - UAT/demo disclosure
Webhook documentation
How Billie partners should verify signed webhook deliveries, handle retries, prevent replay, and subscribe to payment, payout, refund, and bill events.
Signature verification
Billie signs each delivery with HMAC-SHA256 using the endpoint secret. Partners verify the X-Billie-Signature header against the exact request body before parsing or acting on the event.
Timestamp tolerance
The X-Billie-Timestamp header is expected to be within five minutes of the receiver clock. Events outside that tolerance should be rejected and reviewed for clock drift or replay risk.
Replay prevention
Store each event id and signature timestamp for at least 24 hours. Reject duplicate event ids for the same endpoint, and keep idempotent handlers for payment, payout, refund, and bill state changes.
Retry schedule
Billie treats 2xx responses as delivered. Transient failures are retried after 1 minute, 5 minutes, 30 minutes, 2 hours, and 12 hours before moving the delivery to manual support review.
Event catalogue
payment.succeeded
Sent when a customer payment reaches a final successful state and the merchant or biller can fulfil the paid item.
{
"id": "evt_payment_01",
"type": "payment.succeeded",
"data": {
"amount": "25.50",
"currency": "USD",
"paymentId": "pay_24091",
"status": "SUCCEEDED"
}
}payout.paid
Sent when an approved payout is marked paid after finance and settlement controls complete.
{
"id": "evt_payout_01",
"type": "payout.paid",
"data": {
"amount": "120.00",
"currency": "USD",
"payoutId": "po_1042",
"status": "PAID"
}
}refund.created
Sent when a refund request is created and queued for review, approval, or downstream rail processing.
{
"id": "evt_refund_01",
"type": "refund.created",
"data": {
"amount": "10.00",
"currency": "USD",
"paymentId": "pay_24091",
"refundId": "rf_3381"
}
}bill.published
Sent when a biller publishes a bill that is ready for customer notification or account lookup.
{
"id": "evt_bill_01",
"type": "bill.published",
"data": {
"accountReference": "METER-2002",
"billId": "bill_2026_0041",
"dueDate": "2026-07-31"
}
}