Skip to content

/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-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 个字符。
analysisResultBodystring是分析裁决:ACCEPTED(接受 MED)或 REJECTED(驳回 MED)。
analysisDetailsBodystring否为分析裁决补充的备注或说明,用于留下审计轨迹,最大长度 2000 个字符。

请求示例 ​

批准 MED:

http
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:

http
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含义
ACCEPTEDUNDER_REVIEW合作商同意退款的结论已提交,平台审核中。
REJECTEDUNDER_REVIEW合作商提出异议的结论已提交,平台审核中。
字段名类型是否必返说明
statusint是响应码
msgstring是与 status 对应
dataobject成功必返分析提交结果;请求在验签或协议解析阶段失败时可能不返回。
data.medIdstring是被分析的 MED ID。
data.subMerchantNostring是该 MED 所属二级商户号(合作商模型扩展字段,商户直连接口的响应中无此字段)。
data.statusstring是提交后的 MED 业务状态:恒为 UNDER_REVIEW(合作商结论已提交、平台审核中),并保持至审核结果(ACCEPTED_BY_PSP / REJECTED_BY_PSP)。
data.analysisDetailsstring否分析备注,回写请求值。
data.dateResponsestring是提交分析的时间,ISO 8601 UTC 时间字符串(yyyy-MM-ddTHH:mm:ssZ)。

响应示例 ​

以下为提交 analysisResult = ACCEPTED 后的成功响应:

json
{
  "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 状态、权限及并发校验。

缺少材料的错误响应示例:

json
{
  "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 总览