签名说明
<h3>签名步骤:</h3>
<p>1、准备好所有待签名参数(所有”请求参数“或所有”回调参数“都要参数签名,除开sign字段,每个api传递的参数都不同,这句提示很重要)</p>
<p>2、生成签名字符串(参数名字典升序排序,apikey不参与排序,直接放最后,如后面示例进行组装)“a=1&b=2&c=3&apikey=你的商户key”。(实际字段名并非是a、b、c这里只是演示)</p>
<p>3、对签名字符串进行大写md5,签名=md5(签名字符串)</p>
<p>特别说明:签名字符串不进行URL编码,如果使用php的http_build_query拼装字符串时,会自动进行URL编码,建议对签名字符串进行一次URL解码;提交报文中不要包含秘钥,容易造成秘钥暴露且不能验签通过;</p>
<p>php签名实例(其它语言自行编写):</p>
<pre><code>//签名参数只是示例,并非真实提交数据
$param = [&quot;参数名称&quot;=&gt;&quot;参数值&quot;,...];
//字典排序
ksort($param);
//拼接签名串
$sign_str = http_build_query($param) . &#039;&amp;apikey=aaaaaaaaaaaaaaaaaaa&#039;;
//签名
$sign = strtoupper(md5(urldecode($sign_str)));
$param[&#039;sign&#039;] = $sign;
$httpdata = $param;</code></pre>