payment_link.canceled
A payment link was canceled before being paid.
Payload
All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
The payment link ID.
The link status. Always "canceled" for this event.
The total amount of the canceled link in cents (100 = $1.00).
The payment currency code.
The payment description shown to the customer.
The customer ID, or null when the link is not tied to a customer. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.
{
"event": "payment_link.canceled",
"timestamp": "2026-06-18T15:00:00.000Z",
"organizationId": "org_abc123",
"mode": "live",
"apiVersion": "2026-06-10",
"data": {
"paymentId": "pay_l1m2n3",
"status": "canceled",
"amount": 5000,
"currency": "usd",
"description": "One-time onboarding fee",
"customerId": "user_123"
}
}When this fires
When a pending payment link is canceled before the customer pays it. A canceled link can no longer be paid.
Payment links never expire on their own — there is no expiry event. A link stays payable until it is paid or explicitly canceled.
The event fires the same way whether your organization runs on the Stripe provider or the Commet sandbox provider.
How is this guide?