Skip to content

/meds/{medId} 接口介绍 ​

接口背景 ​

/meds/{medId} 提供给商户的 MED 详情查询接口。返回特定 MED 的完整信息,并按语义分组:概要、争议交易、付款方与收款方、央行违规报告、资金冻结状态、分析信息以及退款(chargeback)历史。

查询MED列表 返回的记录是本接口的轻量投影,两者结构同构:列表项包含概要字段与 transaction、payer(不含银行账户)、payee、infractionReport 组;details、funds、analysis、chargebacks 仅在本接口返回。

接口请求地址 ​

项目内容
请求方式GET
请求路径/meds/{medId}
Content-Typeapplication/json
接口用途查询 MED 详情

认证 ​

使用 ES256 请求签名,必须携带 X-Merchant-Id、X-Timestamp、X-Nonce、Digest 和 Authorization。X-Merchant-Id 填写商户号,keyId 为密钥版本号,默认 v1。签名值为 DER 编码的 ECDSA 签名经标准 Base64 编码后的结果,具体规则见 请求签名。

示例中的时间戳、Nonce、摘要和签名占位符需按每次实际请求生成;签名串包含实际路径及原始 query,分页或筛选条件变化后必须重新签名。

接口请求字段 ​

字段名位置类型是否必填说明
medIdPathstring是要查询的 MED 违规报告唯一标识符(平台案件号,medc 前缀 + 数字),最大长度 64 个字符。

请求示例 ​

http
GET /meds/medc2874510938274639021 HTTP/1.1
Accept: application/json
X-Merchant-Id: <MERCHANT_ID>
X-Timestamp: <UNIX_TIMESTAMP_SECONDS>
X-Nonce: <UNIQUE_NONCE>
Digest: SHA-256=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=
Authorization: Signature keyId="v1",alg="ES256",headers="(request-target) x-timestamp x-nonce digest",signature="<ES256_SIGNATURE_BASE64>"

接口响应字段 ​

接口使用统一的 status、msg、data 响应结构。MED 详情位于 data 中:顶层为概要字段,其余信息按语义分组。

概要字段 ​

字段名类型是否必返说明
statusint是响应码
msgstring是与 status 对应
dataobject成功必返MED 详情;请求在验签或协议解析阶段失败时可能不返回。
data.medIdstring是MED 唯一标识符,平台案件号(medc 前缀 + 数字),最大长度 64 个字符。
data.subMerchantNostring是该 MED 所属二级商户号;直连商户固定为空字符串,可忽略。
data.statusstring是MED 当前状态,取值见 MED API 总览的枚举值与状态说明。
data.originSituationTypestring是引发该 MED 的情形类型,取值见 MED API 总览的枚举值与状态说明。
data.detailsstring是MED 描述,最大长度 500 个字符。
data.amountdecimal是MED 涉及的交易金额;整数部分最长 25 位,小数部分最长 4 位,且不为负数。
data.analysisResultstring否分析结果:ACCEPTED(已接受)或 REJECTED(已驳回);尚未作出分析时为 null。
data.dueTimestring否举证截止时间,ISO 8601 UTC 时间字符串(yyyy-MM-ddTHH:mm:ssZ);未设置时为 null。
data.createdAtstring是MED 记录创建时间,ISO 8601 UTC 时间字符串(yyyy-MM-ddTHH:mm:ssZ)。
data.updatedAtstring是MED 记录最后更新时间,ISO 8601 UTC 时间字符串(yyyy-MM-ddTHH:mm:ssZ)。

交易信息(data.transaction) ​

字段名类型是否必返说明
data.transactionobject是引发该 MED 的 Pix 交易信息。
data.transaction.e2eIdstring是Pix 端到端交易 ID,对应银行侧支付流水号,最大长度 64 个字符。
data.transaction.transactionDatestring否原交易发生时间,ISO 8601 UTC 时间字符串(yyyy-MM-ddTHH:mm:ssZ);未提供时为 null。
data.transaction.merchantOrderNostring否商户订单号,最大长度 64 个字符;未提供时为 null。
data.transaction.platOrderNostring否平台订单号,最大长度 64 个字符;未提供时为 null。

付款方(data.payer) ​

付款方即发出 Pix 的一方,也就是 MED 发起人(争议交易的付款人)。

字段名类型是否必返说明
data.payerobject是付款方信息。
data.payer.namestring否付款方姓名,最大长度 120 个字符;未提供时为 null。
data.payer.documentstring否付款方 CPF/CNPJ,最大长度 14 个字符;未提供时为 null。
data.payer.emailstring是付款方联系邮箱,最大长度 128 个字符。
data.payer.phonestring是付款方联系电话,最大长度 32 个字符。
data.payer.bankAccountobject是付款方的银行账户信息(来自 Pix 交易)。
data.payer.bankAccount.ispbstring是银行的 ISPB 代码,最大长度 8 个字符。
data.payer.bankAccount.bankstring是银行名称,最大长度 100 个字符。
data.payer.bankAccount.agencystring是银行支行代码,最大长度 10 个字符。
data.payer.bankAccount.accountstring是账号,最大长度 20 个字符。
data.payer.bankAccount.documentstring是账户持有人的证件号(CPF/CNPJ),最大长度 14 个字符。
data.payer.bankAccount.namestring是账户持有人姓名,最大长度 120 个字符。

收款方(data.payee) ​

收款方即接收 Pix 的一方。

字段名类型是否必返说明
data.payeeobject是收款方信息。
data.payee.namestring否收款方姓名,最大长度 120 个字符;未提供时为 null。
data.payee.documentstring否收款方 CPF/CNPJ,最大长度 14 个字符;未提供时为 null。
data.payee.bankAccountobject否收款方的银行账户信息;当前版本不返回该组(预留字段),恒为 null。

违规报告(data.infractionReport) ​

字段名类型是否必返说明
data.infractionReportobject是巴西央行违规报告信息。
data.infractionReport.idstring否违规报告标识符,最大长度 64 个字符;未提供时为 null。
data.infractionReport.statusstring是违规报告状态:RECEIVED(已接收)、ANALYZED(已完成分析)或 CANCELLED(已取消)。
data.infractionReport.createdAtstring否违规报告创建时间,ISO 8601 UTC 时间字符串(yyyy-MM-ddTHH:mm:ssZ);未提供时为 null。
data.infractionReport.creatorPspstring是创建该违规报告的 PSP 的 ISPB 代码,最大长度 8 个字符。

资金状态(data.funds) ​

MED 创建后,争议交易金额即被冻结;裁决生效或 MED 取消后解冻。资金冻结与解冻会单独触发 MED_FUNDS_FROZEN / MED_FUNDS_UNFROZEN Webhook 事件,见 Webhook 回调。

字段名类型是否必返说明
data.fundsobject是商户资金冻结状态。
data.funds.statusstring是资金状态,取值见下方 funds.status 枚举。
data.funds.amountdecimal是争议金额,与 data.amount 一致。
data.funds.frozenAtstring否冻结发生时间,ISO 8601 UTC 时间字符串;本接口当前不返回该时间(预留字段),恒为 null。
data.funds.unfrozenAtstring否解冻发生时间,ISO 8601 UTC 时间字符串;本接口当前不返回该时间(预留字段),恒为 null。

funds.status 资金状态枚举 ​

值说明
NOT_FROZEN未冻结:尚未发生任何资金操作
PARTIALLY_FROZEN部分冻结:冻结中金额未达争议金额
FROZEN已冻结:冻结中金额已达争议金额
PARTIALLY_UNFROZEN部分解冻:已解冻部分金额,仍有资金冻结中(未发生退款)
UNFROZEN已解冻:冻结资金已全部解冻(未发生退款)
PARTIALLY_REFUNDED部分退款:已发生退款,退款金额未达争议金额
FULLY_REFUNDED全额退款:退款金额已达争议金额

发生过退款的 MED,即使随后解冻了剩余冻结金额,funds.status 仍为 PARTIALLY_REFUNDED 或 FULLY_REFUNDED。资金冻结时间的具体值以 Webhook 事件(MED_FUNDS_FROZEN / MED_FUNDS_UNFROZEN)中的 funds.frozenAt / funds.unfrozenAt 为准。

分析信息(data.analysis) ​

本组包含分析结论与分析过程信息;data.analysis.analysisResult 与概要字段 data.analysisResult 取值一致。

字段名类型是否必返说明
data.analysisobject是分析信息;尚未作出分析时内部各字段为 null。
data.analysis.analysisResultstring否分析结论:ACCEPTED(商户接受 MED,同意退款)或 REJECTED(商户提出异议);尚未作出分析时为 null。
data.analysis.analysisDetailsUserstring否用户提供的分析详情,最大长度 500 个字符。
data.analysis.analysisDetailsPspstring否平台提供的分析详情,最大长度 500 个字符。

退款历史(data.chargebacks) ​

平台每执行一次退款操作,都会向商户投递一条 MED_REFUND_EXECUTED Webhook 事件(载荷包含本接口 data 的全部字段与本次退款记录),见 Webhook 回调。

字段名类型是否必返说明
data.chargebacksarray否退款历史列表;未发生退款时为空数组。
data.chargebacks[].statusstring是退款状态:PENDING、SUCCESS 或 REJECTED。
data.chargebacks[].infoTextstring是关于退款的附加信息,最大长度 255 个字符。
data.chargebacks[].errorDescriptorstring否退款失败时的错误描述,最大长度 255 个字符。
data.chargebacks[].amountdecimal是退款金额。
data.chargebacks[].createdAtstring是退款创建时间,ISO 8601 UTC 时间字符串(yyyy-MM-ddTHH:mm:ssZ)。
data.chargebacks[].updatedAtstring是退款最后更新时间,ISO 8601 UTC 时间字符串(yyyy-MM-ddTHH:mm:ssZ)。

响应示例 ​

json
{
  "status": 200,
  "msg": "sucesso",
  "data": {
    "medId": "medc2874510938274639021",
    "subMerchantNo": "",
    "status": "ACCEPTED_BY_PSP",
    "originSituationType": "SCAM_FRAUD",
    "details": "Detailed description of the dispute",
    "amount": 1000.50,
    "dueTime": "2026-01-31T23:59:59Z",
    "createdAt": "2026-01-15T14:30:00Z",
    "updatedAt": "2026-01-16T10:30:00Z",
    "transaction": {
      "e2eId": "E1234567820240115143000123",
      "transactionDate": "2026-01-15T14:30:12Z",
      "merchantOrderNo": "PIX20260816000001",
      "platOrderNo": "P5nosqyWAQsQZNtYa5OW"
    },
    "payer": {
      "name": "João Silva",
      "document": "12345678901",
      "email": "user@example.com",
      "phone": "+5511999999999",
      "bankAccount": {
        "ispb": "12345678",
        "bank": "Banco Example",
        "agency": "1234",
        "account": "567890",
        "document": "12345678901",
        "name": "João Silva"
      }
    },
    "payee": {
      "name": "John Doe",
      "document": "12345678000195",
      "bankAccount": null
    },
    "infractionReport": {
      "id": "report-456",
      "status": "ANALYZED",
      "createdAt": "2026-01-15T14:30:00Z",
      "creatorPsp": "12345678"
    },
    "funds": {
      "status": "FULLY_REFUNDED",
      "amount": 1000.50,
      "frozenAt": null,
      "unfrozenAt": null
    },
    "analysis": {
      "analysisResult": "ACCEPTED",
      "analysisDetailsUser": "User analysis details",
      "analysisDetailsPsp": "PSP confirmed fraudulent transaction"
    },
    "chargebacks": [
      {
        "status": "SUCCESS",
        "infoText": "Chargeback successful",
        "errorDescriptor": null,
        "amount": 1000.50,
        "createdAt": "2026-01-16T09:20:00Z",
        "updatedAt": "2026-01-16T10:30:00Z"
      }
    ]
  }
}

响应错误码 ​


返回 MED API 总览