/meds/{medId}/analysis 接口介绍
接口背景
/meds/{medId}/analysis 提供给合作商的 MED 分析裁决提交接口。合作商可对某项 MED 提交分析裁决:接受该 MED(ACCEPTED)或驳回它(REJECTED)。
Adopay 会根据该 MED 所属行业的证据材料清单校验提交所需材料:仅当提交 REJECTED(驳回)裁决时要求必填(REQUIRED)材料完整,提交 ACCEPTED(接受)裁决时无需上传证据文件。合作商只需提交裁决与分析说明,无需在本接口重复提交二级商户号、行业或文件 ID。
提交成功后,MED 进入 UNDER_REVIEW(平台审核中)并保持至审核结果:审核成立进入 ACCEPTED_BY_PSP(执行退款),审核不成立进入 REJECTED_BY_PSP;异议提交可能被平台打回 EVIDENCE_REQUIRED,补充资料后重新提交。状态流转以 MED API 总览为准。
接口请求地址
| 项目 | 内容 |
|---|---|
| 请求方式 | POST |
| 请求路径 | /meds/{medId}/analysis |
| Content-Type | application/json |
| 接口用途 | 提交 MED 的分析裁决 |
认证
使用 ES256 请求签名,必须携带 X-Merchant-Id、X-Timestamp、X-Nonce、Digest 和 Authorization。X-Merchant-Id 填写合作商一级商户号,keyId 为密钥版本号,默认 v1。签名值为 DER 编码的 ECDSA 签名经标准 Base64 编码后的结果,具体规则见 请求签名。
示例中的时间戳、Nonce、摘要和签名占位符需按每次实际请求生成;签名串包含实际路径及原始 query,分页或筛选条件变化后必须重新签名。
接口请求字段
| 字段名 | 位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
medId | Path | string | 是 | MED 违规报告唯一标识符(平台案件号,medc 前缀 + 数字),最大长度 64 个字符。 |
analysisResult | Body | string | 是 | 分析裁决:ACCEPTED(接受 MED)或 REJECTED(驳回 MED)。 |
analysisDetails | Body | string | 否 | 为分析裁决补充的备注或说明,用于留下审计轨迹,最大长度 2000 个字符。 |
请求示例
批准 MED:
POST /meds/medc2874510938274639021/analysis HTTP/1.1
Content-Type: application/json
X-Merchant-Id: <MERCHANT_ID>
X-Timestamp: <UNIX_TIMESTAMP_SECONDS>
X-Nonce: <UNIQUE_NONCE>
Digest: SHA-256=<REQUEST_BODY_SHA256_BASE64>
Authorization: Signature keyId="v1",alg="ES256",headers="(request-target) x-timestamp x-nonce digest",signature="<ES256_SIGNATURE_BASE64>"
{
"analysisResult": "ACCEPTED",
"analysisDetails": "Evidence clearly shows this is a fraudulent account. Transaction pattern matches known scam behavior."
}驳回 MED:
POST /meds/medc2874510938274639021/analysis HTTP/1.1
Content-Type: application/json
X-Merchant-Id: <MERCHANT_ID>
X-Timestamp: <UNIX_TIMESTAMP_SECONDS>
X-Nonce: <UNIQUE_NONCE>
Digest: SHA-256=<REQUEST_BODY_SHA256_BASE64>
Authorization: Signature keyId="v1",alg="ES256",headers="(request-target) x-timestamp x-nonce digest",signature="<ES256_SIGNATURE_BASE64>"
{
"analysisResult": "REJECTED",
"analysisDetails": "Transaction was legitimate. Customer confirmed receipt of goods and services."
}接口响应字段
接口使用统一的 status、msg、data 响应结构。响应码 status = 200 表示分析提交成功,data.status 表示提交后的 MED 业务状态:
请求 analysisResult | 响应 data.status | 含义 |
|---|---|---|
ACCEPTED | UNDER_REVIEW | 合作商同意退款的结论已提交,平台审核中。 |
REJECTED | UNDER_REVIEW | 合作商提出异议的结论已提交,平台审核中。 |
| 字段名 | 类型 | 是否必返 | 说明 |
|---|---|---|---|
status | int | 是 | 响应码 |
msg | string | 是 | 与 status 对应 |
data | object | 成功必返 | 分析提交结果;请求在验签或协议解析阶段失败时可能不返回。 |
data.medId | string | 是 | 被分析的 MED ID。 |
data.subMerchantNo | string | 是 | 该 MED 所属二级商户号(合作商模型扩展字段,商户直连接口的响应中无此字段)。 |
data.status | string | 是 | 提交后的 MED 业务状态:恒为 UNDER_REVIEW(合作商结论已提交、平台审核中),并保持至审核结果(ACCEPTED_BY_PSP / REJECTED_BY_PSP)。 |
data.analysisDetails | string | 否 | 分析备注,回写请求值。 |
data.dateResponse | string | 是 | 提交分析的时间,ISO 8601 UTC 时间字符串(yyyy-MM-ddTHH:mm:ssZ)。 |
响应示例
以下为提交 analysisResult = ACCEPTED 后的成功响应:
{
"status": 200,
"msg": "sucesso",
"data": {
"medId": "medc2874510938274639021",
"subMerchantNo": "24922653000123",
"status": "UNDER_REVIEW",
"analysisDetails": "Evidence clearly shows this is a fraudulent account. Transaction pattern matches known scam behavior.",
"dateResponse": "2026-06-02T09:10:00Z"
}
}响应错误码
业务规则
分析要求
- MED 必须处于
WAITING或EVIDENCE_REQUIRED状态才能提交分析。 - 分析提交须在举证截止时间(
dueTime)前完成,超期后提交会被拒绝;超期未提交的 MED 由平台代为提交并进入平台审核(未响应不当然等同于 MED 成立,最终以 PSP/结算机构的审核结论为准)。 - 操作方须有权访问与该 MED 关联的账户;MED 必须属于您名下的二级商户。
- 提交
REJECTED(驳回)裁决时,证据材料清单中所有必填(REQUIRED)材料必须已上传对应文件;CONDITIONAL(条件必填)材料仅提示,不参与强制校验。提交ACCEPTED(接受)裁决时不作此要求,可直接提交。 - 服务端根据
medId确定二级商户及行业,不接受客户端覆盖商户行业。
材料完整性校验
材料完整性校验仅适用于 REJECTED(驳回)裁决;提交 ACCEPTED(接受)裁决时无需上传证据文件,可直接提交。提交驳回前,建议先调用查询证据材料要求接口检查 data.complete:
- 提交
REJECTED时,data.complete必须为true,表示所有必填(REQUIRED)材料均已上传对应文件; CONDITIONAL(条件必填)、RECOMMENDED(建议)和OPTIONAL(可选)材料未上传时,不阻止提交驳回;- 缺少必需材料时,驳回分析不会被记录,MED 保持原状态(
WAITING或EVIDENCE_REQUIRED); - 材料完整性校验通过后,仍需继续执行 MED 状态、权限及并发校验。
缺少材料的错误响应示例:
{
"status": 1004,
"msg": "Parâmetros ilegais",
"data": {
"code": "MISSING_REQUIRED_EVIDENCE",
"missingEvidenceTypes": [
"USER_ACCOUNT_RECORD",
"TOP_UP_PURCHASE_RECORD"
]
}
}分析结果说明
分析裁决与 MED 状态是两个不同字段,后续状态流转以 MED API 总览为准:
ACCEPTED(合作商同意退款): 提交后 MED 进入UNDER_REVIEW;审核成立时进入ACCEPTED_BY_PSP,执行后续扣款或退款处理。合作商同意退款不代表退款已经完成。REJECTED(合作商提出异议): 提交后 MED 进入UNDER_REVIEW;审核结果成立时进入ACCEPTED_BY_PSP,不成立时进入REJECTED_BY_PSP。合作商提出异议不代表 MED 已最终被驳回。- 平台打回: 平台打回异议提交时,MED 变更为
EVIDENCE_REQUIRED,资金保持冻结;合作商补充资料后可重新提交分析。同意退款(ACCEPTED)的提交不会被平台打回。
并发处理
- 每个 MED 同一时间只能有一项待审核的分析。
- 若该 MED 已有待审核的分析提交,新的提交会被拒绝并返回业务错误码。
分析历史
- 所有分析提交都会记录时间戳。
- 跟踪操作方标识以备审计。
- 分析详情会被永久存储。
- 已提交的分析记录不能修改;平台打回(
EVIDENCE_REQUIRED)后,可补充资料并重新提交分析。
最佳实践
- 提交
REJECTED裁决前查询材料要求并确认data.complete为true(complete仅统计必填REQUIRED材料);提交ACCEPTED裁决无需上传证据文件; - 审阅所有已上传的证据文件及其
evidenceType分类; - 提供清晰、简洁的
analysisDetails以便留下审计轨迹; - 仅在拥有确凿证据证明交易合法时才予以驳回。
返回 MED API 总览