MED — 特殊退款机制
什么是 MED?
MED(特殊退款机制 — "Mecanismo Especial de Devolução") 是由巴西中央银行监管的一项机制,当 PIX 交易存在欺诈嫌疑或操作失误时,允许退回相关金额。与普通冲正不同,MED 涉及金融机构之间的正式分析,并遵循 BACEN 定义的期限和规则。
MED 是强制性的监管流程。贵公司必须做好准备,在中央银行规定的期限内接收、分析并响应 MED 通知。
何时会开启 MED?
MED 可能在以下两种情形下由付款人银行(请求银行)发起:
| 情形 | 描述 | 示例 |
|---|---|---|
| 欺诈 | 涉嫌未授权交易、社会工程、欺诈访问 | 付款人声称未发起该 PIX |
| 操作失误 | 系统错误导致的不当入账 | 因技术故障重复发起 PIX |
原因
cause 字段在可用时会指明 MED 的原因(例如 UNAUTHORIZED_TRANSACTION、SOCIAL_ENGINEERING)。在某些情况下,原因可能为 null — 此时 description 字段会包含请求的描述性文本。
cause 可能的取值
| 值 | 描述 |
|---|---|
UNAUTHORIZED_TRANSACTION | 付款人声称未授权该交易 |
FRAUDULENT_ACCESS | 付款人账户被不当访问 |
SOCIAL_ENGINEERING | 通过操纵手段实施的诈骗(例如冒充银行员工) |
OPERATIONAL_FAILURE | 导致不当入账的技术错误 |
null | 原因未分类 — 请参阅 description 字段了解详情 |
当请求来源未提供结构化编码时,cause 字段可能为 null。在这种情况下,description 字段会包含描述性文本(例如付款人陈述、银行的正式通知)。在您的集成中,应将 cause 视为可选项,并始终将 description 作为补充信息展示。
平台会记录您账户的清算机构通报的 MED,并在找到对应的收款时将其关联到原始交易(isReconciled: true)。您可以随时使用 GET /api/med 查询最新状态。
贵公司的职责
当针对您账户中收到的 PIX 开启 MED 时,被申诉机构是接收该 PIX 的机构,贵公司(或您的客户)是受益人。在该流程中:
- 您收到通知 — 通过
MedCreatedwebhook - 您分析情况 — 核实交易是否合法并收集证据
- 余额可能被锁定 — 被申诉的金额会被保留,以备可能的退款
- MED 得到响应 — 退款被接受或拒绝,您会收到
MedAccepted或MedRejected
余额锁定和 MED 响应由平台内部管理。您的集成只需监听 webhook 即可跟踪 MED 状态,并在您的系统中执行相应操作(通知客户、更新记录等)。
MED 生命周期
┌─────────────────────────────────────────────────────────────────┐
│ MED 生命周期 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌───────────┐ │
│ │ OPEN │───▶│ RECEIVED │───▶│ ANALYZED │ │
│ └──────────┘ └──────────┘ └─────┬─────┘ │
│ │ │ │
│ │ ┌─────┴─────┐ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌──────────┐ ┌──────────┐ │
│ │ CANCELLED │ │ APPROVED │ │ REJECTED │ │
│ └───────────┘ └──────────┘ └──────────┘ │
│ │ │ │
│ ▼ ▼ │
│ 金额退还 余额为受益人 │
│ 给付款人 解除锁定 │
└─────────────────────────────────────────────────────────────────┘MED 状态
状态(status) | 描述 |
|---|---|
OPEN | MED 已由请求银行创建 |
RECEIVED | MED 已接收并正在分析中 |
CANCELLED | MED 已由请求银行取消(分析之前) |
ANALYZED | 分析完成并已有结果(参见 analysisResult) |
各 webhook 的发送时机
Webhook(event) | 需配置的事件 | 时机 |
|---|---|---|
MedCreated | med_created | MED 已在平台登记并关联到您账户的一笔收款。status 包含在 payload 中(通常为 OPEN 或 RECEIVED) |
MedAccepted | med_accepted | 退款被批准,金额退还给付款人 |
MedRejected | med_rejected | 退款被拒绝,被锁定的余额被释放 |
无法关联到您账户交易的 MED(isReconciled: false)不会产生 webhook。它们会出现在 GET /api/med 中。
分析结果
结果(analysisResult) | 描述 | Webhook | 资金影响 |
|---|---|---|---|
APPROVED | 退款被接受 — 金额退还给付款人 | MedAccepted | 金额从受益人账户中扣除 |
REJECTED | 退款被拒绝 — 余额保留在受益人处 | MedRejected | 余额解锁 |
监管时限(BACEN)
MED 受巴西中央银行监管,对确认收到、分析请求和向请求银行响应均设有特定时限。未在规定时限内响应可能导致退款被自动批准,并被向 BACEN 进行监管上报。
具体的时限遵循中央银行的现行法规(适用于 PIX MED 的 BCB 决议),监管方可能随时更新。在规划内部 SLA 之前,请咨询贵公司的法律 / 合规团队,以获取最新的约束性取值。
操作建议:
- 在监管时限到期前留出缓冲时间配置内部告警(例如到期前 T-24h),以避免因未处理而被自动批准。
- 实时监听
MedCreatedwebhook — 这是启动分析时限倒计时的触发点。 - 在内部文档中明确响应政策(谁分析、谁审批、谁响应 MED),并在上线生产前进行端到端测试。
- 保留证据(日志、答辩文件、沟通记录)以备监管审计。
集成流程
在控制台(https://banking.fypay.me)的 设置 → Webhooks 中为 med_created、med_accepted 和 med_rejected 事件配置回调 URL。请参阅 webhook 配置指南。
当针对您账户中的某笔交易开启 MED 时,您会收到一个包含详细信息的 webhook:原因、请求银行、原始交易和状态。
使用 GET /api/med 随时查询 MED 状态(可按状态、日期或对账情况筛选),并使用 GET /api/med/\{id\} 查看某个 MED 的详情,包括状态历史和锁定信息。
分析完成后,您会收到 MedAccepted(退款已批准)或 MedRejected(退款被拒绝)。请相应更新您的记录。