签名
Protecting your sensitive data
Checking a Webhook Signature
BlockATM会对发送至您端点的webhook事件和请求进行签名,通过在每个事件的BlockATM-Signature-V2头信息中包含签名。这使您可以验证事件和请求确实由BlockATM发送,而非第三方。
在验证webhook事件的BlockATM-Signature-V2签名前,您需要从BlockATM仪表板的开发者页面获取您的webhook API密钥。
步骤一
将所有JSON对象中的参数按照键的ASCII字符顺序升序排列并连接, 使用"key=value"的格式,以"&"分隔。 最后将请求头中的'BlockATM-Request-Time'以"&time="的格式拼接在末尾。
以下是签名参数示例及生成的签名:
请求参数:
{
"amount": 999,
"cashierId": 91,
"chainId": "11155111",
"custNo": "cust00001",
"fromAddress": "0xa9e358e33a57e67c9b84618a52f0194c345c8e35",
"id": 8210003764,
"network": "Ethereum",
"status": 9,
"symbol": "USDT",
"txId": "0x1da59f33aa6f6b435514126e26d5622c3e377e4762579aa0ac0130139625853d"
}链接排序好的参数和时间:
步骤二
使用SHA-256哈希函数计算HMAC签名。将您账户的webhook密钥(Secret Key)作为密钥,并将拼接好的签名参数字符串作为消息内容进行签名计算。
验证请求头中的签名与预期签名是否一致。
示例
按照您的实现语言参考下面的代码示例:
Last updated