MED — Mecanismo Especial de Devolución
¿Qué es el MED?
El MED (Mecanismo Especial de Devolução) es un mecanismo regulado por el Banco Central de Brasil que permite la devolución de valores en transacciones PIX cuando hay sospecha de fraude o falla operacional. A diferencia de una devolución común, el MED implica un análisis formal entre las instituciones financieras, con plazos y reglas definidos por el BACEN.
El MED es un proceso regulatorio obligatorio. Su empresa debe estar preparada para recibir, analizar y responder notificaciones de MED dentro de los plazos establecidos por el Banco Central.
¿Cuándo se abre un MED?
El MED puede ser activado por el banco del pagador (banco solicitante) en dos escenarios:
| Escenario | Descripción | Ejemplo |
|---|---|---|
| Fraude | Sospecha de transacción no autorizada, ingeniería social, acceso fraudulento | El pagador alega que no realizó el PIX |
| Falla operacional | Error del sistema que resultó en un crédito indebido | PIX duplicado por falla técnica |
Causas
El campo cause indica el motivo del MED cuando está disponible (ej.: UNAUTHORIZED_TRANSACTION, SOCIAL_ENGINEERING). En algunos casos, la causa puede ser null — en ese escenario, el campo description contiene el texto descriptivo de la solicitud.
Valores posibles de cause
| Valor | Descripción |
|---|---|
UNAUTHORIZED_TRANSACTION | El pagador alega que no autorizó la transacción |
FRAUDULENT_ACCESS | Acceso indebido a la cuenta del pagador |
SOCIAL_ENGINEERING | Estafa por manipulación (ej.: falso empleado de banco) |
OPERATIONAL_FAILURE | Error técnico que generó un crédito indebido |
null | Causa no clasificada — consulte el campo description para más detalles |
El campo cause puede ser null cuando el origen de la solicitud no proporciona un código estructurado. En esos casos, el campo description contiene el texto descriptivo (ej.: relato del pagador, notificación formal del banco). En su integración, trate cause como opcional y muestre siempre description como información complementaria.
La plataforma registra los MED informados por el liquidador de su cuenta y los vincula a la transacción original cuando encuentra la recepción correspondiente (isReconciled: true). Consulte GET /api/med para verificar el estado actualizado en cualquier momento.
El rol de su empresa
Cuando se abre un MED contra un PIX recibido en su cuenta, la institución impugnada es la que recibió el PIX, y su empresa (o su cliente) es el beneficiario. En el flujo:
- Usted recibe la notificación — vía webhook
MedCreated - Usted analiza la situación — verifica si la transacción es legítima y reúne evidencias
- El saldo puede ser bloqueado — el valor impugnado queda retenido para una posible devolución
- El MED es respondido — la devolución es aceptada o rechazada, y usted recibe
MedAcceptedoMedRejected
El bloqueo de saldo y la respuesta al MED son gestionados internamente por la plataforma. Su integración solo necesita monitorear los webhooks para seguir el estado del MED y tomar acciones en su sistema (notificar al cliente, actualizar registros, etc.).
Ciclo de vida del MED
┌─────────────────────────────────────────────────────────────────┐
│ CICLO DE VIDA DEL MED │
│ │
│ ┌──────────┐ ┌──────────┐ ┌───────────┐ │
│ │ OPEN │───▶│ RECEIVED │───▶│ ANALYZED │ │
│ └──────────┘ └──────────┘ └─────┬─────┘ │
│ │ │ │
│ │ ┌─────┴─────┐ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌──────────┐ ┌──────────┐ │
│ │ CANCELLED │ │ APPROVED │ │ REJECTED │ │
│ └───────────┘ └──────────┘ └──────────┘ │
│ │ │ │
│ ▼ ▼ │
│ El valor se El saldo se │
│ devuelve al desbloquea al │
│ pagador beneficiario │
└─────────────────────────────────────────────────────────────────┘Estados del MED
Estado (status) | Descripción |
|---|---|
OPEN | MED creado por el banco solicitante |
RECEIVED | MED recibido y en análisis |
CANCELLED | MED cancelado por el banco solicitante (antes del análisis) |
ANALYZED | Análisis concluido con resultado (vea analysisResult) |
Cuándo se envía cada webhook
Webhook (event) | Evento a configurar | Cuándo |
|---|---|---|
MedCreated | med_created | El MED se registra en la plataforma y se vincula a una recepción de su cuenta. El status viene en el payload (en general OPEN o RECEIVED) |
MedAccepted | med_accepted | La devolución es aprobada y el valor se devuelve al pagador |
MedRejected | med_rejected | La devolución es rechazada y el saldo bloqueado se libera |
Los MED que no pudieron vincularse a una transacción de su cuenta (isReconciled: false) no generan webhook. Aparecen en GET /api/med.
Resultado del análisis
Resultado (analysisResult) | Descripción | Webhook | Impacto financiero |
|---|---|---|---|
APPROVED | Devolución aceptada — valor devuelto al pagador | MedAccepted | Valor debitado de la cuenta del beneficiario |
REJECTED | Devolución denegada — el saldo permanece con el beneficiario | MedRejected | Saldo desbloqueado |
Plazos Regulatorios (BACEN)
El MED está regulado por el Banco Central de Brasil y tiene plazos específicos para acusar recibo, analizar la solicitud y responder al banco solicitante. La falta de respuesta dentro del plazo puede resultar en la aprobación automática de la devolución y en un reporte regulatorio al BACEN.
Los plazos exactos siguen la regulación vigente del Banco Central (Resolución BCB aplicable al MED PIX) y pueden ser actualizados por el regulador. Consulte a su equipo jurídico / de compliance para conocer los valores vinculantes más recientes antes de dimensionar SLAs internos.
Recomendaciones operativas:
- Configure alertas internas con margen respecto al plazo regulatorio (ej.: T-24h antes del vencimiento) para evitar la aprobación automática por inacción.
- Monitoree el webhook
MedCreateden tiempo real — es el disparador para iniciar el conteo del plazo de análisis. - Documente internamente la política de respuesta (quién analiza, quién aprueba, quién responde al MED) y pruebe el flujo end-to-end antes de pasar a producción.
- Conserve evidencias (logs, documentos de defensa, historial de comunicación) para auditoría regulatoria.
Flujo de integración
Use el panel (https://banking.fypay.me), en Configuración → Webhooks, para configurar URLs de callback para los eventos med_created, med_accepted y med_rejected. Vea la guía de configuración de webhooks.
Cuando se abre un MED contra una transacción de su cuenta, usted recibe un webhook con los detalles: causa, banco solicitante, transacción original y estado.
Use GET /api/med para consultar el estado de los MED en cualquier momento (filtre por estado, fecha o conciliación) y GET /api/med/\{id\} para ver los detalles de un MED, incluido el historial de estados y el bloqueo.
Cuando el análisis concluye, usted recibe MedAccepted (devolución aprobada) o MedRejected (devolución denegada). Actualice sus registros en consecuencia.