payment.recovered
Se recuperó un pago que previamente había fallado.
Payload
All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
The recovered invoice ID.
The human-readable invoice number.
Invoice total in cents (100 = $1.00).
The customer ID. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.
The subscription ID, if the invoice is linked to a subscription.
{
"event": "payment.recovered",
"timestamp": "2026-04-27T10:15:00.000Z",
"organizationId": "org_abc123",
"mode": "live",
"apiVersion": "2026-06-10",
"data": {
"invoiceId": "inv_n4o5p6",
"invoiceNumber": "INV-0043",
"invoiceTotal": 9900,
"customerId": "user_123",
"subscriptionId": "sub_1a2b3c4d"
}
}Cuándo se dispara
Después de que una falla de pago dejara una suscripción en past_due, un reintento exitoso del recibo pendiente dispara este evento — ya sea que el cargo se haya procesado automáticamente o que el cliente haya pagado a través del portal tras actualizar su tarjeta.
La suscripción vuelve a active al mismo tiempo, por lo que también se dispara customer.state_changed. Restablece el acceso en cualquiera de los dos eventos; usa este específicamente para cerrar los flujos de dunning que abriste en payment.failed.
¿Cómo está esta guía?