Skip to content

签名自检

POST /coin/v1/test/sign

非正式业务接口,只用于对照加签。仅测试环境、仅测试商户可用。 正式环境及其他商户调用返回无权限。

测试步骤

  1. Header X-Merchant-IdM1781678976331286876,按 签名规则 计算 DigestAuthorization
  2. 对照返回的 digest 是否与本地 Digest 一致。
  3. 对照返回的 sign_string 是否与本地 Canonical Signing String 一致(4 行 LF 拼接)。
  4. 用测试公钥验请求 Authorization.signature;通过且 Digest 正确则 is_verify=true

注意:ECDSA 每次签名结果不同,不要拿请求 signature 与返回 sign 做字符串相等比较。

请求字段(均可选,仅用于带真实 body 测试)

字段类型必填说明
quote_idstring询价 ID
trade_snstring商户订单号
pay_amountdouble支付金额
receive_amountdouble到账金额
pay_currencystring支付货币
receive_currencystring收到货币

请求 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_verifyboolDigest 正确且请求 signature 经测试公钥验签通过
sign_stringstring服务端 Canonical Signing String(关键拼接串)
digeststring服务端按原始 body 算出的 Digest
signstring测试私钥对 sign_string 的 ES256 签名(Base64),可直接用于 Header
authorizationstring完整 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=\"...\""
  }
}