回调验签
<p><strong>简要描述:</strong> </p>
<ul>
<li>回调验签,确保推送订单的可靠性和有效性</li>
</ul>
<p><strong>签名步骤:</strong> </p>
<ol>
<li>
<p>推送参数,除Sign外,参数名ASCII码从小到大排序(字典序);使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。</p>
<p>stringA = key1=value1&key2=value2</p>
</li>
<li>
<p>在stringA最后拼接上key得到stringB字符串, 其中merchant_key从商户后台系统取</p>
<p>stringB = stringA + "&key=merchant_key"</p>
</li>
<li>
<p>得到的stringB,进行HMAC sha256加密,密钥为merchant_key, 得到stringC(16进制字符串)</p>
</li>
<li>stringC 进行Base64加密,得到最终sign</li>
</ol>
<p><strong>示例如下</strong></p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/af20402522402fb0806b6a155eb4c7ca?showdoc=.jpg" alt="" /></p>
<p>拼接后的 StringB 为</p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/8ddb8255489b33d706ea4d56fb22b8e7?showdoc=.jpg" alt="" /></p>
<p>HMAC sha256加密后 stringC</p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/3f98bd60b46059c4bd247d95e777fbfd?showdoc=.jpg" alt="" /></p>
<p>BASE64加密,得到sign</p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/5c0727c155e7cdb52321173321d2e4e3?showdoc=.jpg" alt="" /></p>
<p><strong>备注</strong> </p>
<ul>
<li>参考这2个加密网址</li>
</ul>
<p><a href="http://tool.oschina.net/encrypt?type=3">http://tool.oschina.net/encrypt?type=3</a></p>
<p><a href="https://tool.oschina.net/encrypt?type=2">https://tool.oschina.net/encrypt?type=2</a></p>
<p>欢迎使用ShowDoc!</p>