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_link.failed

Falló un intento de cobro de un link de pago.

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.

paymentIdstring

The payment link ID.

statusstring

The link status. Always "failed" for this event.

amountnumber

The amount that was attempted in cents (100 = $1.00).

currencystring

The payment currency code.

descriptionstring

The payment description shown to the customer.

customerIdstring | null

The customer ID, or null when the link is not tied to a customer. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.

failureCodestring

The failure code from the payment processor.

failureMessagestring

A human-readable failure message.

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.

{
  "event": "payment_link.failed",
  "timestamp": "2026-06-23T14:30:00.000Z",
  "organizationId": "8f14e45f-ceea-4e7a-9c3d-1c2b3a4d5e6f",
  "mode": "live",
  "apiVersion": "2026-08-27",
  "data": {
    "paymentContext": {
      "reason": "one_time_payment",
      "paymentLinkId": "pay_l1m2n3",
      "recovery": null
    },
    "paymentId": "pay_l1m2n3",
    "status": "failed",
    "amount": 5000,
    "currency": "usd",
    "description": "One-time onboarding fee",
    "customerId": "user_123",
    "failureCode": "card_declined",
    "failureMessage": "Your card was declined.",
    "paymentMethod": "card",
    "subPaymentMethod": null
  }
}

Cuándo se dispara

Cuando se rechaza un intento de cobro sobre un link de pago. El link queda abierto — un link fallido se puede reintentar, y el cliente puede pagarlo de nuevo. Un intento exitoso posterior dispara payment_link.completed.

failureCode es el código del procesador (por ejemplo card_declined) y failureMessage es el motivo legible, o null cuando el proveedor no da ninguno.

El evento se dispara igual sin importar qué proveedor de pagos procese el cobro.

¿Cómo está esta guía?

payment_link.completed

Se pagó un link de pago correctamente.

payment_link.canceled

Se canceló un link de pago antes de ser pagado.