Webhooks
MedCreated
Visión General
El evento MedCreated se envía cuando se registra un nuevo MED (Mecanismo Especial de Devolución) contra una transacción PIX recibida por su cuenta. Esto significa que el banco del pagador está solicitando la devolución del monto.
Este evento requiere atención inmediata. El MED tiene plazos regulatorios definidos por el Banco Central de Brasil para el análisis y la respuesta.
| Campo | Valor |
|---|---|
event | MedCreated |
| Significado | Nuevo MED abierto — solicitud de devolución recibida |
| Acción recomendada | Alertar al equipo de riesgo, evaluar la transacción original |
Payload Completo
{
"event": "MedCreated",
"medId": 42,
"idSolicitacaoDevolucao": "MED-2026041012345",
"endToEndId": "E12345678202604101030abcdef123456",
"status": "RECEIVED",
"reason": "REFUND_REQUEST",
"cause": "UNAUTHORIZED_TRANSACTION",
"description": "Customer claims not to have performed the transaction",
"analysisResult": null,
"analysisDetails": null,
"originalTransaction": {
"transactionId": 78432,
"amount": 1500.00,
"endToEndId": "E12345678202604101030abcdef123456",
"externalId": "ORDER-78432"
},
"blockStatus": null,
"blockedAmount": null,
"defenseStatus": null,
"requestingBank": {
"ispb": "00000000",
"name": "BCO DO BRASIL S.A."
},
"contestedBank": {
"ispb": "13140088",
"name": "ACESSO SOLUÇÕES DE PAGAMENTO"
},
"statusHistory": [
{ "status": "OPEN", "date": "2026-04-10T09:55:12.000Z" },
{ "status": "RECEIVED", "date": "2026-04-10T10:00:00.000Z" }
],
"createdAt": "2026-04-10T10:00:00.000Z",
"updatedAt": "2026-04-10T10:00:00.000Z"
}Campos
| Campo | Tipo | Descripción |
|---|---|---|
event | string | Tipo de evento: "MedCreated" |
medId | number | Identificador único del MED en el sistema |
idSolicitacaoDevolucao | string | Identificador único de la solicitud de devolución |
endToEndId | string | End-to-end ID de la transacción PIX original |
status | string | Estado actual: "RECEIVED" |
reason | string | Motivo: "REFUND_REQUEST" o "REFUND_CANCELLATION" |
cause | string | null | Código de causa cuando está disponible (UNAUTHORIZED_TRANSACTION, FRAUDULENT_ACCESS, SOCIAL_ENGINEERING, OPERATIONAL_FAILURE) o null. Si es null, consulte description. |
description | string | null | Texto descriptivo (relato del pagador, notificación formal del banco, etc.) |
analysisResult | string | null | Resultado del análisis (null en esta etapa) |
analysisDetails | string | null | Detalles del análisis (null en esta etapa) |
originalTransaction | object | null | Datos de la transacción PIX original (si está conciliada) |
originalTransaction.transactionId | number | ID interno de la transacción en la plataforma |
originalTransaction.amount | number | Monto original en BRL |
originalTransaction.endToEndId | string | E2E ID de la transacción original |
originalTransaction.externalId | string | null | ID externo proporcionado por usted al crear la transacción |
blockStatus | string | null | Estado del bloqueo de saldo: null, "BLOCKED", "UNBLOCKED", "APPROVED" |
blockedAmount | number | null | Monto bloqueado en BRL |
defenseStatus | string | null | Estado de la defensa: null, "PENDING", "SUBMITTED" |
requestingBank | object | Banco que abrió el MED (banco del pagador) |
requestingBank.ispb | string | Código ISPB del banco solicitante |
requestingBank.name | string | Nombre del banco solicitante |
contestedBank | object | Banco contestado (su institución) |
contestedBank.ispb | string | Código ISPB del banco contestado |
contestedBank.name | string | Nombre del banco contestado |
statusHistory | array | Historial de transiciones de estado del MED |
statusHistory[].status | string | Estado en ese momento (mismos valores que status) |
statusHistory[].date | string | Fecha de la transición (ISO 8601) |
createdAt | string | Fecha de creación del MED (ISO 8601) |
updatedAt | string | Fecha de la última actualización (ISO 8601) |