subscription.past_due
Se dispara cuando un pago recurrente falla y la suscripción entra en un período de gracia mientras Commet reintenta el cobro.
Payload
All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
The subscription ID.
The customer ID. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.
Always "past_due" for this event.
The invoice whose payment failure triggered the status.
The human-readable invoice number.
{
"event": "subscription.past_due",
"timestamp": "2026-04-25T00:05:00.000Z",
"organizationId": "org_abc123",
"mode": "live",
"apiVersion": "2026-05-25",
"data": {
"subscriptionId": "sub_1a2b3c4d",
"customerId": "user_123",
"status": "past_due",
"invoiceId": "inv_n4o5p6",
"invoiceNumber": "INV-0043"
}
}Cuándo se dispara
Un cobro recurrente falló en una suscripción que ya había sido pagada antes. Commet establece el estado en past_due e inicia el proceso de dunning.
past_due es un período de gracia permisivo: las features, el uso y los asientos siguen funcionando. Solo se bloquean las compras y los cambios de plan. El uso se acumula como deuda durante este período.
Commet reintenta el cobro el día 1, el día 3 y el día 5 después de la falla (3 reintentos). Si un reintento tiene éxito, la suscripción vuelve a active. Si los 3 reintentos fallan, la suscripción se cancela.
payment.failed se dispara junto con este evento con los detalles de la falla del cobro (failureCode, failureMessage). Usá subscription.past_due para gestionar el estado de acceso y payment.failed para gestionar los mensajes de recuperación.
Los rechazos de tarjeta en el primer checkout NO disparan este evento: una suscripción que nunca fue pagada vuelve a pending_payment en su lugar.
¿Cómo está esta guía?