Commet
  • Precios
Iniciar SesiónRegistrarse
Introducción

Eventos de Suscripción

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

Eventos de Prueba

trial.startedtrial.convertedtrial.expiredtrial.will_endtrial.checkout_ready

Eventos de Checkout

checkout.ready

Eventos de Pago

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

Eventos de Link de Pago

payment_link.createdpayment_link.completedpayment_link.failedpayment_link.canceled

Eventos de Recibo

invoice.createdinvoice.upcominginvoice.overdueinvoice.voided

Eventos de Método de Pago

payment_method.attachedpayment_method.updated

Eventos de Cliente

customer.createdcustomer.updatedcustomer.state_changed

Eventos de Créditos y Saldo

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

Eventos de Cuota y Uso

quota.threshold_reachedquota.exceededusage.recorded

Eventos de Asientos

seats.updatedseats.limit_reached

Eventos de Complementos

addon.activatedaddon.deactivated

Eventos de Payout

payout.availablepayout.createdpayout.paidpayout.failed
DocumentaciónRecursosConstruir con AIAPI ReferenceWebhooks

subscription.updated

Se dispara cuando cambian los detalles de la suscripción, incluyendo cuando se agenda una cancelación.

Payload

All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.

subscriptionIdstring

The subscription ID.

customerIdstring

The customer ID. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.

statusstring

Current status. When cancellation is scheduled, this is still "active" — the subscription remains usable until endDate.

canceledAtstring | null

ISO 8601 datetime when cancellation was requested. Present when cancellation is scheduled, null otherwise.

cancelReasonstring | null

The reason for cancellation, if provided.

endDatestring | null

ISO 8601 datetime when the subscription will end. Present when cancellation is scheduled — this is the date access should be revoked (via subscription.canceled).

{
  "event": "subscription.updated",
  "timestamp": "2026-04-20T10:15:00.000Z",
  "organizationId": "org_abc123",
  "mode": "live",
  "apiVersion": "2026-05-25",
  "data": {
    "subscriptionId": "sub_1a2b3c4d",
    "customerId": "user_123",
    "status": "active",
    "canceledAt": "2026-04-20T10:15:00.000Z",
    "cancelReason": "Too expensive",
    "endDate": "2026-04-25T00:00:00.000Z"
  }
}

Detectando cancelación agendada

Cuando un cliente cancela, subscription.updated se dispara con status: "active" pero con canceledAt y endDate seteados. Esto indica que la suscripción sigue siendo usable pero termina pronto. Muestra un aviso como "tu suscripción termina el {endDate}" en tu UI.

El acceso solo debe revocarse cuando recibes subscription.canceled (status: "canceled").

¿Cómo está esta guía?

subscription.canceled

Se dispara cuando una suscripción termina al final del período de cobro. Revoca el acceso acá.

subscription.plan_changed

Se dispara cuando una suscripción cambia de plan