CommetCommet
GitHubDiscordStatus
Introducción

Eventos de Suscripción

subscription.createdsubscription.activatedsubscription.reactivatedsubscription.pause_scheduledsubscription.pause_updatedsubscription.pause_revokedsubscription.pausedsubscription.resumedsubscription.resume_failedsubscription.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 Plan Grant

plan_grant.createdplan_grant.updatedplan_grant.expiredplan_grant.revoked

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

payment.failed

Se dispara cuando falla un cobro de suscripción, incluidos cobros de reanudación e intentos de recuperación

Payload

Todos los webhooks comparten una estructura principal. Los datos específicos del evento están dentro de data .

paymentContextobject | null

El motivo original del cobro y cómo se inició este intento. La recuperación nunca reemplaza el motivo original. El contexto puede ser null si no se capturó, incluso en reintentos de facturas históricas.

invoiceIdstring

The invoice ID, if available.

invoiceNumberstring

The human-readable invoice number, if available.

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.

provider"stripe" | "commet" | "dlocal"

The payment provider the charge was routed to: stripe, commet, or dlocal.

paymentMethodPaymentMethod | null

The payment method: card, oxxo, or mercado_pago. Null when unknown.

subPaymentMethodSubPaymentMethod | null

The source of funds for this charge, when reported by the provider. Null when unavailable or unknown.

failureCodestring

The failure code from the payment processor.

failureMessagestring

A human-readable failure message.

recoveryUrlstring | null

A ready-to-use link the customer can follow to retry this payment, or null when no recovery path applies. For a first failed charge (pending_payment) it is the checkout URL; for a failed renewal (past_due) it is a signed recovery link — no separate createRecoveryLink call needed.

Ejemplos

El intento original de cobro, antes de la recuperación.

{
  "event": "payment.failed",
  "timestamp": "2026-06-23T14:30:00.000Z",
  "organizationId": "8f14e45f-ceea-4e7a-9c3d-1c2b3a4d5e6f",
  "mode": "live",
  "apiVersion": "2026-08-27",
  "data": {
    "paymentContext": {
      "reason": "recurring_billing",
      "paymentLinkId": null,
      "recovery": null
    },
    "invoiceId": "inv_n4o5p6",
    "invoiceNumber": "INV-0043",
    "customerId": "user_123",
    "subscriptionId": "sub_1a2b3c4d",
    "provider": "stripe",
    "paymentMethod": "card",
    "subPaymentMethod": null,
    "failureCode": "card_declined",
    "failureMessage": "Your card was declined.",
    "recoveryUrl": "https://pay.commet.co/recover/tok_9f8e7d6c"
  }
}

¿Cómo está esta guía?

payment.received

Se dispara cuando un pago se completa con éxito, incluidos cobros iniciales, renovaciones e intentos de recuperación

payment.recovered

Se recuperó un pago que previamente había fallado.