payment_link.created
A payment link was created and is ready to be 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 "pending" for this event.
The total amount to collect 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.created",
"timestamp": "2026-06-18T14:00:00.000Z",
"organizationId": "org_abc123",
"mode": "live",
"apiVersion": "2026-06-10",
"data": {
"paymentId": "pay_l1m2n3",
"status": "pending",
"amount": 5000,
"currency": "usd",
"description": "One-time onboarding fee",
"customerId": "user_123"
}
}When this fires
When a payment link is created with Commet Pay. A payment link is a one-time, customer-present charge — there's no subscription and no plan behind it. The link is pending: the customer has not paid yet.
Do not fulfill the purchase on this event. Wait for payment_link.completed.
The event fires the same way whether your organization runs on the Stripe provider or the Commet sandbox provider.
How is this guide?