Commet
  • Pricing
Log InTry out
Introduction

Subscription Events

subscription.createdsubscription.activatedsubscription.reactivatedsubscription.canceledsubscription.updatedsubscription.plan_changedsubscription.cancellation_scheduledsubscription.cancellation_revokedsubscription.plan_change_scheduledsubscription.plan_change_revokedsubscription.past_due

Trial Events

trial.startedtrial.convertedtrial.expiredtrial.will_endtrial.checkout_ready

Checkout Events

checkout.ready

Payment Events

payment.receivedpayment.failedpayment.recoveredpayment.refundedpayment.disputedpayment.dispute_resolved

Payment Link Events

payment_link.createdpayment_link.completedpayment_link.failedpayment_link.canceled

Invoice Events

invoice.createdinvoice.upcominginvoice.overdueinvoice.voided

Payment Method Events

payment_method.attachedpayment_method.updated

Customer Events

customer.createdcustomer.updatedcustomer.state_changed

Credits & Balance Events

credits.grantedcredits.purchasedcredits.lowcredits.depletedcredits.expiredbalance.topped_upbalance.lowbalance.depleted

Quota & Usage Events

quota.threshold_reachedquota.exceededusage.recorded

Seat Events

seats.updatedseats.limit_reached

Add-on Events

addon.activatedaddon.deactivated

Payout Events

payout.availablepayout.createdpayout.paidpayout.failed
DocumentationKnowledge BaseBuild with AIAPI ReferenceWebhooks

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.

paymentIdstring

The payment link ID.

statusstring

The link status. Always "pending" for this event.

amountnumber

The total amount to collect in cents (100 = $1.00).

currencystring

The payment currency code.

descriptionstring

The payment description shown to the customer.

customerIdstring | null

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?

payment.dispute_resolved

A payment dispute was resolved as won or lost.

payment_link.completed

A payment link was paid successfully.