Coinfat

Webhooks

The event payload

Each delivery is an HTTP POST with a JSON body and a few headers your server reads.

Headers

PropertyTypeDescription
X-Webhook-IdstringThe event's stable id (also payload.id). Use it to dedupe.
X-Webhook-EventstringThe event type.
X-SignaturestringThe HMAC signature. Always verify it before trusting the body.

Body

invoice.completed
{
"id": "01JZ8Q7M3K9V2X4B6C8D0E2F4G",
"event": "invoice.completed",
"occurred_at": "2026-07-07T14:32:10+00:00",
"invoice": {
"id": "01JZ8Q5F2H7T9K1M3N5P7R9S1U",
"status": "completed",
"amount": { "amount": "49.99", "currency": "USD", "scale": 2 },
"reference": "ORDER-10231",
"metadata": { "order_id": "10231" },
"created_at": "2026-07-07T14:00:00+00:00",
"expires_at": "2026-07-07T15:00:00+00:00"
}
}

invoice.id matches the invoice you created; reference and metadata are echoed so you can reconcile without a follow-up request.