所以就立刻检查了下自己的服务器是否部署了DigiCert的根CA证书。(一般服务器上都是部署了类似的根证书的。就像装windows自带IE一样,但是以防万一我看是检查下)
检查的方式如下
(1)微信商户找到的自己的mch_id 这个就是商户号 例如mch_id = 1111111
(2) 生成一个不超过32位的随机字符串 nonce_str, 例如nonce_str = 7UNdMuYryxEtLirA
(3)然后去这个网址网址链接, 在XML源串贴上这串xml。在商户key一栏写你在商户平台上设置的商户key。 其他的默认不变
(4)这样就获得了sign的值
(5)然后在你的centos控制台中写入这个回车就可以了。
echo '<xml><mch_id>1111111</mch_id><nonce_str>7UNdMuYryxEtLirA</nonce_str><sign>sign(生成)</sign></xml>'|curl -X POST -H 'Content-type:text/xml' -d @- https://apitest.mch.weixin.qq.com/sandboxnew/pay/getsignkey
(6)如果有根证书,结果如
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[ok]]></return_msg>
注意:教程里的参数需要时你商户的参数。我只是做一个示例,你直接替换该替换的内容就好了,就三个参数mch_id, nonce_str, sign。 其中sign是仅仅是有mch_id和nonce_str这两个参数加密得到的(限于此沙箱的测试环境)。