加签
为了更高的安全性,高级合作伙伴必须对URL 进行签名
URL接口加签
在申请集成中,您将生成 SecretKey
。URL请求接口的签名就是基于其生成,所以请千万注意不要泄漏。
加签步骤
API 接口请求加签主要由以下几个步骤组成。
获取参数
首先,获取url接口需要签名的GET入参,组成一个数组,去掉 key 或 value 为空的 item;
需要签名的参数,on-ramp见 on-ramp参数说明,NFT Checkout见 NFT Checkout参数说明
参数排序
接着按所有参数名的字典序(ASCII码)升序排序,注意只有参数里的 key 名进行排序,值不参与排序;
拼字符串
先将格式转化为
参数名=参数值
形式,并用&
符连接,得到拼接字符串;
摘要签名
然后对待加签字符串使用
SecretKey
做HMAC-SHA256
算法进行摘要签名,并进行urlencoding,生成最终的签名。
签名赋值
最后,将上一步得到的签名赋值到 url 里的
signature
,集成FaTPay页面。FaTPay 网关收到请求后,会统一使用SecretKey
校验签名,如果通过校验则返回相应的服务端数据。
加签示例
假设需要默认钱包地址,且对用户锁定并隐藏钱包地址页
请求参数如下:
公共参数如下:
获取参数
首先,获取url接口需要签名的GET入参,组成一个数组,去掉 key 或 value 为空的 item。即可得到这样一个数组:
参数排序
接着按所有参数名的字典序(ASCII码)升序排序,得到:
拼字符串
先将格式转化为参数名=参数值
形式,并用&
符连接,得到拼接字符串:
ext=ext&nonce=54335363&partnerId=mqMBpCIP630LJxJK×tamp=1657854065&walletAddress=0xF0C35891CAf1cCa9b1daB1291c61fF232E6D5888&walletAddressHidden=1&walletAddressLocked=1
摘要签名
然后对待加签字符串使用 SecretKey
做 HMAC-SHA256
算法进行摘要签名,对摘要字串进行base64
编码生成签名:
4UoZ2gIm3bcLTw5K6WdBJIaYBiXgQF3uvOfY4Ovc6+4=
对签名 urlencode:
4UoZ2gIm3bcLTw5K6WdBJIaYBiXgQF3uvOfY4Ovc6%2B4%3D
签名赋值
最后,将上一步得到的签名赋值到 url 里的 signature
,集成FaTPay页面。页面跳转至FaTPay后,FaTPay会统一使用 SecretKey
校验签名,如果通过校验则展示对应的下单流程。
Last updated