payment.chargeback_resolved
A MercadoPago chargeback reached a terminal state. Colectiva emits this when verdict.terminal && outcome ∈ {lost, won, coverage}. Constanza uses it to post a counter-póliza and (on lost + originalCfdiUuid present) cancel the original CFDI. Canonical contract is whatever colectiva/src/lib/services/ecosystem-webhook.service.js notifyPaymentChargebackResolved emits.
Senders
colectiva
Receivers
constanzaagoramanchaservilletacosmos-petcaracol
Data schema
Each field maps to a type hint. | null indicates an optional field.
json
{
"chargebackId": "string",
"paymentId": "string | null (Firestore payments doc id; null if no local payment)",
"mpPaymentId": "string | null (MercadoPago payment id)",
"outcome": "\"lost\" | \"won\" | \"coverage\"",
"chargebackStatus": "string (raw MP enum, debug aid)",
"isPartial": "boolean",
"amount": "number (chargeback amount, currency-native MP minor units)",
"originalAmount": "number | null",
"currency": "string (ISO 4217)",
"reason": "string | null",
"coverageApplied": "boolean (chargeback.coverage === true)",
"resolvedAt": "string (ISO datetime; chargeback.dateClosed || now())",
"paymentMethod": "string | null",
"referenceId": "string | null (Colectiva-internal earnings reference; from originalEarnings[0].reference_id)",
"referenceType": "string | null (Colectiva-internal earnings type, e.g. merchant_commission/credits_purchase/subscription_renewal)",
"paymentReferenceId": "string | null (application-level reference set by source app, e.g. agora invoice id; from originalPayment.reference_id)",
"paymentReferenceType": "string | null (application-level reference type, e.g. legal_invoice/shipment/reservation; from originalPayment.reference_type)",
"originalEarningPeriod": "string | null (YYYY-MM)",
"originalCfdiUuid": "string | null (best-effort lookup from ai_invoice_batches)",
"reversalEarningIds": "string[] (Phase 1 recordEarningReversal results)"
}Example payload
The following is a synthetic payload that matches the schema. Production payloads are signed with HMAC-SHA256 and delivered to each receiver's registered webhook endpoint.
json
{
"chargebackId": "example-chargebackId",
"paymentId": "example-paymentId",
"mpPaymentId": "example-mpPaymentId",
"outcome": "example-outcome",
"chargebackStatus": "raw MP enum, debug aid",
"isPartial": true,
"amount": 0,
"originalAmount": 0,
"currency": "example-currency",
"reason": "example-reason",
"coverageApplied": true,
"resolvedAt": "2026-04-17T12:00:00.000Z",
"paymentMethod": "example-paymentMethod",
"referenceId": "example-referenceId",
"referenceType": "example-referenceType",
"paymentReferenceId": "example-paymentReferenceId",
"paymentReferenceType": "example-paymentReferenceType",
"originalEarningPeriod": "example-originalEarningPeriod",
"originalCfdiUuid": "example-originalCfdiUuid",
"reversalEarningIds": [
"example-reversalEarningIds"
]
}See also
Generated from ecosystem-sdk/packages/mcp-server/src/registry/events.json. Do not edit by hand.