支付类接口-签名规则
<h3 style="color:rgb(239,107,107)">注:此验签规则,只适用部分接口验签,适用的接口具体如下</h3>
<h5 style="color:rgb(239,107,107)">门店信息下载、主扫支付API、被扫支付API、公众号支付API、聚合支付API、小程序支付API、订单查询API、订单撤销API、订单关单API、订单退款API、订单退款查询API、异步通知API、数据统计、代理商和商户从属关系API</h5>
<h5>生成待签名字符串</h5>
<pre><code>1:需要参与签名的参数
在API请求参数列表中,除去sign外,其他需要使用到的参数皆是要签名的参数。
2:生成待签名字符串
除sign外,所有参数按照字段名的ascii码从小到大排序后使用QueryString的格式(即key1=value1&key2=value2…)拼接而成,空值不传递,不参与签名组串。
签名时将字符转化成字节流时指定的字符集与_input_charset保持一致。
签名原始串中,字段名和字段值都采用原始值,不进行URL Encode。
举例:
如请求参数如下:
appId: EW_N4365306114
random: 123
待签名字符串:
appId=EW_N4365306114&random=123</code></pre>
<p><br/></p>
<h5>签名</h5>
<pre><code>1:在MD5签名时,需要安全校验码(Key)参与签名。
2:请求时签名
当拿到请求时的待签名字符串后,需要把安全校验码(Key)直接拼接到待签名字符串后面,形成新的字符串,利用MD5的签名函数对这个新的字符串进行签名运算,从而得到32位签名结果字符串(该字符串赋值于参数sign)。
注意:签名时将字符串转化成字节流时指定的编码字符集应与参数input_charset一致。
MD5签名计算公式:
sign = Md5(代签名字符串+“&key=”+KeyValue). toLowerCase
举例:
如待签名字符串:appId=EW_N4365306114&random=123
商户Key: beb2c94ff04754360ef131dde7bb3017
签名的结果为:
sign=md5(appId=EW_N4365306114&random=123&key=beb2c94ff04754360ef131dde7bb3017).toLowerCase
= 3af0851c40d0443e86942c9ddba75e25</code></pre>
<p>商户云后台验签工具
登录后台:<a href="http://houtai.liantuofu.com/" title="联拓富后台">联拓富后台</a><br />
(商户总部账户:shwllsadmin 密码 111qqq)
<img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/8cc354cbad1d23e12e713202250d833e" alt="" /></p>