Commet
  • Precios
Iniciar SesiónRegistrarse
Introducción

Eventos de Suscripción

subscription.createdsubscription.activatedsubscription.reactivatedsubscription.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 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.dispute_resolved

Una disputa de pago se resolvió como ganada o perdida.

Payload

All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.

paymentTransactionIdstring

The disputed payment transaction ID.

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

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

paymentLinkIdstring | null

The payment link the payment originated from, or null when the payment did not come from a payment link.

invoiceIdstring | null

The invoice the payment collected, or null for payments without an invoice.

invoiceNumberstring | null

The human-readable invoice number, if available.

customerIdstring | null

The customer ID, when the payment is linked to an invoice. 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.

disputeAmountnumber

The contested amount in cents (100 = $1.00).

currencystring

The dispute currency code.

disputeReasonstring | null

The provider's reason code, or null when none is given.

outcomestring

The resolution: "won" or "lost".

{
  "event": "payment.dispute_resolved",
  "timestamp": "2026-06-23T14:30:00.000Z",
  "organizationId": "8f14e45f-ceea-4e7a-9c3d-1c2b3a4d5e6f",
  "mode": "live",
  "apiVersion": "2026-07-11",
  "data": {
    "paymentTransactionId": "txn_q7r8s9",
    "provider": "stripe",
    "paymentLinkId": "pay_l1m2n3",
    "invoiceId": "inv_n4o5p6",
    "invoiceNumber": "INV-0043",
    "customerId": "user_123",
    "subscriptionId": "sub_1a2b3c4d",
    "disputeAmount": 9900,
    "currency": "usd",
    "disputeReason": "fraudulent",
    "outcome": "won"
  }
}

Cuándo se dispara

Cuando el proveedor de pagos cierra una disputa que previamente disparó payment.disputed. El payload incluye los mismos identificadores más el outcome:

  • won — la disputa se resolvió a tu favor; el monto congelado se restituye a tu saldo de payout y el pago vuelve a estar exitoso.
  • lost — el contracargo se mantiene; el monto disputado queda descontado.

Úsalo para cerrar la marca interna que abriste en payment.disputed, y en lost para revocar aquello que el pago original estaba financiando.

¿Cómo está esta guía?

payment.disputed

Un cliente abrió una disputa contra un pago.

payment_link.created

Se creó un link de pago y está listo para ser pagado.