公司开发项目设计到要为别的微信公共账号收款。所以注册了微信商户服务商。之前使用微信商户,按照微信开发文档要求传递参数,都没有问题。当使用微信商户服务商为别的商户收款时,多了一些参数。例如:sub_mch_id(子商户号)。按照要求添加了子商户号,程序就报错:签名错误。
然后分析,微信商户服务有了新的商户号,就用新的商户号替换mch_id之前的普通商户号。又提示:签名错误。折磨了我好久。后来仔细看了一边文档和百度发现↓
key错误。这里特别注意,公众平台的密钥和商户号的密钥是不一样的!!!微信支付审核成功之后会收到一封邮件,邮件中有appid 商户号,商户后台登录上号和密码,登录到商户后台:账户设置-安全设置-切换到API安全,下载证书,下面有一个api密匙,进去填写一个字符串 ,保存,后续两次签名都是用的这个手动设置的key!!!
恍然大悟。
微信商户服务商也是有自己单独的API密钥。就去设置了一下。把新设置的api密钥替换了。终于调通了!!
微信文档做的实在不友好啊~!