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.retry_failedpayment.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

invoice.overdue

Un recibo pendiente pasó su fecha de vencimiento sin pago.

Payload

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

invoiceIdstring

The invoice ID.

invoiceNumberstring

The human-readable invoice number.

invoiceStatusstring

Always "outstanding" for this event.

periodStartstring

ISO 8601 start of the billing period.

periodEndstring

ISO 8601 end of the billing period.

issueDatestring

ISO 8601 date the invoice was issued.

dueDatestring

ISO 8601 date the invoice was due — now in the past.

currencystring

The invoice currency code.

subtotalnumber

Subtotal in cents (100 = $1.00).

totalnumber

Total in cents (100 = $1.00).

customerIdstring

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

subscriptionIdstring | null

The subscription ID, if the invoice is linked to a subscription.

{
  "event": "invoice.overdue",
  "timestamp": "2026-06-23T14:30:00.000Z",
  "organizationId": "8f14e45f-ceea-4e7a-9c3d-1c2b3a4d5e6f",
  "mode": "live",
  "apiVersion": "2026-06-23",
  "data": {
    "invoiceId": "inv_n4o5p6",
    "invoiceNumber": "INV-0043",
    "invoiceStatus": "outstanding",
    "periodStart": "2026-04-25T00:00:00.000Z",
    "periodEnd": "2026-05-25T00:00:00.000Z",
    "issueDate": "2026-04-25T00:00:00.000Z",
    "dueDate": "2026-04-25T00:00:00.000Z",
    "currency": "usd",
    "subtotal": 9900,
    "total": 9900,
    "customerId": "user_123",
    "subscriptionId": "sub_1a2b3c4d"
  }
}

Cuándo se dispara

Un escaneo diario encuentra recibos pendientes cuya dueDate está en el pasado y emite este evento una vez por recibo. La clave de idempotencia se deriva del recibo, por lo que volver a ejecutar el escaneo nunca envía un duplicado.

El recibo mantiene su estado "outstanding" — estar vencido es un hecho sobre la fecha de vencimiento, no un estado nuevo. Si el recibo se paga o se anula más adelante, payment.received o invoice.voided reflejan el resultado.

Úsalo para iniciar tu propio flujo de dunning: enviar un correo al cliente, mostrar un banner en la app o marcar la cuenta para seguimiento.

¿Cómo está esta guía?

invoice.upcoming

Evento predictivo que se dispara una vez, 3 días antes de que se renueve una suscripción.

invoice.voided

Un recibo fue anulado y no se cobrará.