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.
The disputed payment transaction ID.
The invoice the payment collected, or null for payments without an invoice.
The human-readable invoice number, if available.
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.
The subscription ID, if the invoice is linked to a subscription.
The contested amount in cents (100 = $1.00).
The dispute currency code.
The provider's reason code, or null when none is given.
The resolution: "won" or "lost".
{
"event": "payment.dispute_resolved",
"timestamp": "2026-05-20T13:30:00.000Z",
"organizationId": "org_abc123",
"mode": "live",
"apiVersion": "2026-06-10",
"data": {
"paymentTransactionId": "ptx_q7r8s9",
"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?