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

Se dispara cuando un pago se completa con éxito, incluidos cobros iniciales, renovaciones 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.

invoiceNumberstring

The human-readable invoice number.

invoiceTotalnumber

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

paymentTransactionIdstring | null

The payment transaction ID.

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

The payment provider the charge was routed to: stripe, commet, or dlocal. Null for billing-only charges with no Commet ledger row.

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.

grossAmountnumber | null

Gross amount in cents before fees.

currencystring | null

The payment currency code.

orgNetAmountnumber | null

Net amount after fees in cents.

customerEmailstring | null

The customer email used for this payment.

paidAtstringopcional

ISO 8601 datetime when the payment was received.

Ejemplos

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

{
  "event": "payment.received",
  "timestamp": "2026-06-23T14:30:00.000Z",
  "organizationId": "8f14e45f-ceea-4e7a-9c3d-1c2b3a4d5e6f",
  "mode": "live",
  "apiVersion": "2026-08-27",
  "data": {
    "paymentContext": {
      "reason": "first_subscription_payment",
      "paymentLinkId": null,
      "recovery": null
    },
    "invoiceId": "inv_n4o5p6",
    "invoiceNumber": "INV-0043",
    "invoiceTotal": 9900,
    "customerId": "user_123",
    "subscriptionId": "sub_1a2b3c4d",
    "paymentTransactionId": "txn_q7r8s9",
    "provider": "stripe",
    "paymentMethod": "card",
    "subPaymentMethod": null,
    "grossAmount": 9900,
    "currency": "usd",
    "orgNetAmount": 9200,
    "customerEmail": "billing@acme.com",
    "paidAt": "2026-04-25T00:05:00.000Z"
  }
}

paymentMethod indica el medio usado en este cobro, independientemente de provider. Es null si no se conoce el medio del intento y no cambia cuando el cliente actualiza su medio guardado.

subPaymentMethod indica de dónde salieron los fondos de este cobro, por ejemplo account_money o credit_card dentro de Mercado Pago. Es null si falta el dato o no se reconoce.

¿Cómo está esta guía?

checkout.ready

Un enlace de checkout está listo para compartir con el cliente.

payment.failed

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