Skip to content

payment_link.cancelled

Sent when a payment link is cancelled, via POST /v1/payment-links/{id}/cancel — see Payment Links for how cancellation works.

Header Description
X-Baiyar-Signature t=<unix timestamp>,v1=<hex HMAC-SHA256> — see Verifying Webhook Signatures
Content-Type application/json
{
"id": "evt_hK83mBwXn5UyQ2TdRV46",
"type": "payment_link.cancelled",
"created_at": "2026-09-02T10:00:00Z",
"data": {
"id": "pl_test_8Kx3mQ9dPz2Nc7RwAB12",
"project_id": "project_IChAi2NR4vzKN3SgEYPI",
"merchant_name": "Zara Store",
"reference": "001/P/IX/26",
"title": "Invoice August",
"description": "",
"amount": 125000,
"currency": "IDR",
"fee_bearer": "merchant",
"fee_previews": [
{ "payment_method": { "type": "qris" }, "fee_amount": 875, "customer_amount": 125000, "merchant_net": 124125 }
],
"allowed_payment_methods": [{ "type": "qris" }],
"usage_type": "single_use",
"customer_fields": { "name": false, "email": false, "phone": false, "address": false },
"status": "cancelled",
"created_at": "2026-09-02T08:00:00Z"
}
}

Same data shape as payment_link.created, with status: "cancelled". There’s no separate cancelled_at field — the envelope’s own top-level created_at is when the cancellation happened.

There’s no sandbox simulator for this event — trigger it by actually cancelling a sandbox payment link (POST /v1/payment-links/{id}/cancel, or from the dashboard) and watching your endpoint receive the delivery within a few seconds.

payment_link.created — the other payment link event.