简体中文
签名自检
POST /coin/v1/test/sign
非正式业务接口,只用于对照加签。仅测试环境、仅测试商户可用。 正式环境及其他商户调用返回无权限。
测试步骤
- Header
X-Merchant-Id用M1781678976331286876,按 签名规则 计算Digest与Authorization。 - 对照返回的
digest是否与本地Digest一致。 - 对照返回的
sign_string是否与本地 Canonical Signing String 一致(4 行 LF 拼接)。 - 用测试公钥验请求
Authorization.signature;通过且 Digest 正确则is_verify=true。
注意:ECDSA 每次签名结果不同,不要拿请求 signature 与返回 sign 做字符串相等比较。
请求字段(均可选,仅用于带真实 body 测试)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
quote_id | string | 否 | 询价 ID |
trade_sn | string | 否 | 商户订单号 |
pay_amount | double | 否 | 支付金额 |
receive_amount | double | 否 | 到账金额 |
pay_currency | string | 否 | 支付货币 |
receive_currency | string | 否 | 收到货币 |
请求 Body 示例
json
{
"quote_id": "Q202606160001",
"trade_sn": "ORD-001",
"pay_amount": 543.2100,
"receive_amount": 100.00,
"pay_currency": "BRL",
"receive_currency": "USDT"
}响应字段(data)
| 字段 | 类型 | 说明 |
|---|---|---|
is_verify | bool | Digest 正确且请求 signature 经测试公钥验签通过 |
sign_string | string | 服务端 Canonical Signing String(关键拼接串) |
digest | string | 服务端按原始 body 算出的 Digest |
sign | string | 测试私钥对 sign_string 的 ES256 签名(Base64),可直接用于 Header |
authorization | string | 完整 Authorization 示例值 |
成功响应示例
json
{
"status": 200,
"msg": "SUCCESS",
"data": {
"is_verify": true,
"sign_string": "(request-target): post /coin/v1/test/sign\nx-timestamp: 1710000000\nx-nonce: a9f3c1d47e8b9a2c\ndigest: SHA-256=...",
"digest": "SHA-256=...",
"sign": "<base64-signature>",
"authorization": "Signature keyId=\"M1781678976331286876\",alg=\"ES256\",headers=\"(request-target) x-timestamp x-nonce digest\",signature=\"...\""
}
}