Se dispara cuando un pago se completa con éxito, incluidos cobros iniciales, renovaciones e intentos de recuperación
Todos los webhooks comparten una estructura principal. Los datos específicos del evento están dentro de data .
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.
The invoice ID.
The human-readable invoice number.
Invoice total in cents (100 = $1.00).
The customer ID. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.
The subscription ID.
The payment transaction ID.
The payment provider the charge was routed to: stripe, commet, or dlocal. Null for billing-only charges with no Commet ledger row.
The payment method: card, oxxo, or mercado_pago. Null when unknown.
The source of funds for this charge, when reported by the provider. Null when unavailable or unknown.
Gross amount in cents before fees.
The payment currency code.
Net amount after fees in cents.
The customer email used for this payment.
ISO 8601 datetime when the payment was received.
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?