XPay 使用 ECDSA 签名进行验证,您在 XPay 开通账户以后,可以在您本地生成公私钥对(参考上方 XPay 提供的例程),如有任何疑问,也可以联系我们的工作人员协助您。XPay 也可以为您提供随机公私钥,本地验证用(但不可用于正式环境)
您可以通过 Web 管理界面录入您的公钥 API Key (可选择类型:仅查询;查询&提现)。 API Secret 请您自己妥善保管,不要透露给任何人,避免资产损失! XPay 强烈建议您绑定您的IP地址白名单以及启用“API回调”中的提现确认
GET, POST 需要大写
请求URL的PATH部分, 例如https://api-sandbox.xpay.pro/v1/test/ 为 /v1/test/
访问 API 时的 UNIX EPOCH 时间戳 (精确到毫秒)
如果请求数据为: { "username": "username", "password": "password" }
则先将 key 按照字母排序,然后进行 url 参数化,即: password=password username=username
因为 p 在字母表中的排序在 u 之前,所以 password 要放在 username 之前,然后使用 & 进行连接,即: password=password&username=username
请求参数,POST, GET 都一样,需要把所有参数都拿出来,签名规则如下: 所有请求的 key 按照字母顺序排序,然后进行 url 参数化,并使用 & 连接。
对于如下的请求:
| Method | URL | Nonce |
|---|---|---|
| POST | https://api-sandbox.xpay.pro/v1/test/ | 1537498830736 |
参数
| Parameter | Value |
|---|---|
| type | limit |
| side | buy |
| amount | 100.0 |
| price | 100.0 |
| symbol | btcusdt |
签名前的准备数据如下: POST|/v1/test/|1537498830736|amount=100.0&price=100.0&side=buy&symbol=btcusdt&type=limit
使用您本地生成的 API Key 私钥(API SECRET),对数据使用私钥进行 ECDSA 签名,并对二进制结果进行 Hex 编码, 即生成了用于向 API 服务器进行验证的最终签名
将 Api key, nonce和右边生成的 signature 按上面的名称放入Header中, 即可通过签名验证
XPay 验签公钥可以在 “Web 管理界面 - 钱包 - API 回调” 页面获取 (* Sandbox 和 Prod 环境不同)