/meds/{medId}/evidence-requirements
Background
/meds/{medId}/evidence-requirements returns the evidence checklist that currently applies to a MED and the upload completion state.
Adopay determines the MED's sub-merchant, industry, and merchant type from medId, then matches the corresponding checklist (common materials + industry-specific materials; platform/PSP merchants additionally receive the platform-related materials below). Each MED maps to exactly one checklist; the partner neither needs to nor can specify the sub-merchant number, industry, or merchant type in the request.
Endpoint
| Item | Value |
|---|---|
| Method | GET |
| Path | /meds/{medId}/evidence-requirements |
| Content-Type | application/json |
| Purpose | Retrieve the evidence checklist and completion state applicable to a MED |
Authentication
Use ES256 request signing and include all five required headers: X-Merchant-Id, X-Timestamp, X-Nonce, Digest, and Authorization. Set X-Merchant-Id to the partner's top-level merchant number and keyId to the key version, v1 by default. The signature is a DER-encoded ECDSA signature encoded with standard Base64. See Request Signing.
Generate the timestamp, nonce, digest, and signature placeholders for each actual request. The canonical string includes the actual path and raw query; sign again when pagination or filter parameters change.
Request Fields
| Field | Location | Type | Required | Description |
|---|---|---|---|---|
medId | Path | string | Yes | Unique identifier of the MED infraction report (the platform case number, medc prefix + digits), maximum length 64 characters. |
Request Example
GET /meds/medc2874510938274639021/evidence-requirements 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>"Response Fields
The endpoint uses the standard status, msg, and data response envelope. The evidence requirements are returned in data; template codes and versions used internally by Adopay are not exposed.
| Field | Type | Always Returned | Description |
|---|---|---|---|
status | int | Yes | Response code |
msg | string | Yes | Corresponds to status |
data | object | On success | Evidence requirements for the MED; may be omitted when the request fails at signature verification or protocol parsing. |
data.medId | string | Yes | Unique MED identifier. |
data.subMerchantNo | string | Yes | Sub-merchant number that owns the MED. |
data.industry | string | Yes | The industry the MED belongs to: ADVERTISING, DIGITAL_CONTENT, ECOMMERCE, EDUCATION, FINANCIAL_SERVICES, GAMING, LOGISTICS, OTHER, PROFESSIONAL_SERVICES, or SAAS. |
data.complete | boolean | Yes | Whether all REQUIRED evidence for the MED has corresponding files uploaded; CONDITIONAL evidence is not counted. |
data.requirements | array | Yes | Evidence requirements currently applied to the MED (common materials + industry-specific materials; platform/PSP merchants additionally receive the platform-related materials). |
data.requirements[].evidenceType | string | Yes | Evidence type; see Industries and Evidence below. |
data.requirements[].requirementLevel | string | Yes | Requirement level: REQUIRED, CONDITIONAL, RECOMMENDED, or OPTIONAL. |
data.requirements[].requirementDescription | string | Yes | Requirement description returned by the API in Chinese, such as “必填” (required), “建议” (recommended), or “如发生退款则应提供,可上传截图” (provide if a refund occurred; screenshots acceptable). |
data.requirements[].required | boolean | Yes | Whether the evidence must be submitted this time: true when requirementLevel is REQUIRED; CONDITIONAL is informational only and not enforced, always false. |
data.requirements[].uploadedFileCount | int | Yes | Number of valid files currently uploaded and classified under this evidence type. |
Response Example
{
"status": 200,
"msg": "sucesso",
"data": {
"medId": "medc2874510938274639021",
"subMerchantNo": "24922653000123",
"industry": "GAMING",
"complete": false,
"requirements": [
{
"evidenceType": "TRANSACTION_AUTHENTICITY_STATEMENT",
"requirementLevel": "REQUIRED",
"requirementDescription": "必填",
"required": true,
"uploadedFileCount": 1
},
{
"evidenceType": "MERCHANT_ORDER_RECORD",
"requirementLevel": "REQUIRED",
"requirementDescription": "必填",
"required": true,
"uploadedFileCount": 0
}
]
}
}Industries and Evidence
A requirement list consists of common materials and industry-specific materials; platform (platform) and PSP (psp) merchants additionally receive platform-related materials (see below). Materials are returned in the platform-configured order; the Requirement column in each table corresponds to requirementLevel and requirementDescription in the response.
Requirement Levels
requirementLevel | Description | Affects data.complete |
|---|---|---|
REQUIRED | Required materials. | Yes |
CONDITIONAL | Recommended to submit when the scenario described by requirementDescription applies; the platform cannot automatically determine the trigger condition, so it is informational only and not enforced. | No |
RECOMMENDED | Recommended to submit; helps Adopay's review. | No |
OPTIONAL | Optional materials. | No |
Common Materials (All Merchants)
evidenceType | Material | Requirement |
|---|---|---|
TRANSACTION_AUTHENTICITY_STATEMENT | Transaction authenticity statement | Required |
MERCHANT_ORDER_RECORD | Merchant order / business order record | Required |
CUSTOMER_IDENTIFIER | Customer identifier | Required |
PRODUCT_SERVICE_CONTENT | Product or service content | Required |
DELIVERY_PROOF | Fulfillment / service delivery proof | Required |
OTHERS | Other evidence | Optional; use when no category fits |
The Advertising (ADVERTISING), Education (EDUCATION), Financial Services (FINANCIAL_SERVICES), Logistics (LOGISTICS), Other (OTHER) industries only require the common materials above.
Physical Goods / E-commerce (PHYSICAL GOODS / ECOMMERCE)
Industry-specific materials:
evidenceType | Material | Requirement |
|---|---|---|
FULFILLMENT_RECORD | Fulfillment (shipment) record | Required |
LOGISTICS_TRACKING | Logistics tracking number / tracking info | Required (screenshots acceptable) |
DELIVERY_CONFIRMATION | Delivery confirmation (proof of receipt) | Recommended |
USER_COMMUNICATION_RECORD | User communication record | Recommended |
RETURN_REFUND_RECORD | Return / refund record | Conditional: provide if a return/refund occurred (screenshots acceptable) |
Digital Goods / Digital Content (DIGITAL GOODS)
Industry-specific materials:
evidenceType | Material | Requirement |
|---|---|---|
USER_ACCOUNT_RECORD | User account (game account / subscription account) | Required |
SERVICE_ACTIVATION_RECORD | Service activation record | Required |
CONTENT_USAGE_RECORD | Content usage record | Required |
LOGIN_IP_DEVICE_RECORD | Login record / IP / device | Recommended |
SUBSCRIPTION_PERIOD | Subscription period | Recommended |
USER_COMMUNICATION_RECORD | User communication record | Recommended |
CANCELLATION_REFUND_RECORD | Cancellation / refund record | Conditional: provide if a subscription cancellation/refund occurred (screenshots acceptable) |
AUTO_RENEWAL_AUTHORIZATION | Auto-renewal authorization record | Conditional: required for auto-renewal disputes (screenshots acceptable) |
Gaming (GAMING)
Industry-specific materials:
evidenceType | Material | Requirement |
|---|---|---|
USER_ACCOUNT_RECORD | User account (game account / subscription account) | Required |
TOP_UP_PURCHASE_RECORD | Top-up / purchase record | Required |
VIRTUAL_ASSET_DELIVERY_RECORD | Virtual currency / item entitlement delivery record | Required |
CONSUMPTION_USAGE_RECORD | Consumption / usage record | Recommended |
LOGIN_IP_DEVICE_RECORD | Login record / IP / device | Recommended; required for unauthorized/fraud-type disputes |
USER_TRANSACTION_HISTORY | User transaction history | Recommended |
When the dispute type (
originSituationType) isSCAM_FRAUD,UNAUTHORIZED_TRANSACTION, orFRAUDULENT_ACCESS_AND_AUTHORIZATION,LOGIN_IP_DEVICE_RECORDis upgraded from Recommended to Required.
Services (SERVICES)
Industry-specific materials:
evidenceType | Material | Requirement |
|---|---|---|
INVOICE | Invoice | Required |
CONTRACT_ORDER_AGREEMENT | Service contract / order agreement | Required |
SERVICE_DELIVERY_RECORD | Service delivery record | Required |
SERVICE_ACCEPTANCE_RECORD | Service acceptance record | Recommended |
COMMUNICATION_RECORD | Project communication record | Recommended |
PARTNERSHIP_TRANSACTION_HISTORY | Partnership history | Recommended |
REFUND_REVERSAL_RECORD | Refund / reversal record | Conditional: provide if a refund/reversal occurred (screenshots acceptable) |
SaaS / Subscription (SAAS / SUBSCRIPTION)
Industry-specific materials:
evidenceType | Material | Requirement |
|---|---|---|
USER_COMPANY_ACCOUNT | User ID / company account | Required |
SERVICE_ACTIVATION_RECORD | Service activation record | Required |
LOGIN_USAGE_RECORD | Login / usage record | Required |
FEATURE_USAGE_LOG | Feature usage log | Recommended |
IP_DEVICE_RECORD | IP / device | Recommended |
PRODUCT_PLAN_INFORMATION | Product plan / subscription plan | Recommended |
CANCELLATION_REFUND_RECORD | Cancellation / refund record | Conditional: provide if a cancellation/refund occurred (screenshots acceptable) |
Platform / PSP (PLATFORM / PSP)
In addition to the common materials and the industry-specific materials of their industry, platform (platform) and PSP (psp) merchants must also provide the following:
evidenceType | Material | Requirement |
|---|---|---|
ACTUAL_MERCHANT_INFO | Actual merchant information / Merchant ID | Required |
PLATFORM_TRANSACTION_RECORD | Platform transaction record | Required |
DOWNSTREAM_MERCHANT_ORDER | Downstream merchant order | Required |
SETTLEMENT_SPLIT_RECORD | Merchant settlement / split record | Recommended |
USER_COMMUNICATION_RECORD | User communication record | Recommended |
DOWNSTREAM_TRANSACTION_HISTORY | Downstream merchant transaction history | Recommended |
REFUND_RECORD | Refund record | Conditional: provide if a refund occurred (screenshots acceptable) |
OTHERS | Other evidence | Optional; use when no category fits |
USER_COMMUNICATION_RECORD is returned only for industries whose industry-specific materials do not already include a user communication record; it is never listed twice.
Requirement List Matching Rules
- Adopay determines the industry and merchant type the MED belongs to from
medId; each MED uses exactly one requirement list, and the merchant neither needs to nor can specify them in the request. - Requirement list = common materials + the industry-specific materials of the industry; platform and PSP merchants additionally receive the platform-related materials. For the gaming industry, the requirement level of individual materials is also adjusted by dispute type (see Gaming above).
- The list content and display order are maintained by platform configuration and may change; the response returned by the API always prevails. Template codes, template versions, and the matching process are internal Adopay information and are not returned in API responses.
Business Rules
- The partner cannot override the MED's sub-merchant or industry through request parameters.
uploadedFileCountcounts only files that passed file format validation and were classified under the correspondingevidenceType.- Use
OTHERSfor supplemental evidence that cannot be clearly classified; this type is optional and does not affectdata.complete. completeonly indicates whether allREQUIREDevidence has corresponding files uploaded;CONDITIONAL,RECOMMENDED, andOPTIONALevidence is not counted. Evidence completeness is enforced only forREJECTEDverdicts; submitting anACCEPTEDverdict requires no evidence files. When the analysis is submitted, MED status, permissions, concurrency, and other business validations are still performed.- Evidence upload and submission must be completed before the evidence submission deadline (
dueTime); after the deadline, both the upload and submission endpoints reject requests. - The final submission requirements are determined by the server-side validation performed when the submit-analysis endpoint is called.
Back to MED API Overview