企业微信支付提示{"return_code":"SUCCESS","returnCodeSuccess":true,"return_msg":"签名错误","result_code":"FAIL","resultCodeSuccess":false,"err_code":"SIGN_ERROR","err_code_des":"签名错误","mch_billno":null,"mch_id":null,"wxappid":null,"re_openid":null,"total_amount":null,"send_time":null,"send_listid":null}
我觉得配置参数配置没问题啊~怎么回事啊?
参考下这个哈https://developers.weixin.qq.com/community/develop/doc/0000a4be9a8d5081d94b4e4c051c09
1. 没有使用商户平台设置的商户API密钥进行加密(有可能之前设置过密钥,后来被修改了,没有使用新的密钥进行加密)。
2. 加密前没有按照文档进行参数排序(可参考文档)。
3. 把值为空的参数也进行了签名。可到(http://mch.weixin.qq.com/wiki/tools/signverify/ )验证。
4. 如果以上3步都没有问题,把请求串中(post的数据)里面中文都去掉,换成英文,试下,看看是否是编码问题。(post的数据要求是utf8)
5. 没有按照企业微信签名算法进行签名
建议:
1. 到商户平台重新设置新的密钥后重试;
2. 检查请求参数把空格去掉重试;
3. 中文不需要进行encode,使用CDATA;
4. 按文档要求生成签名后再重试;
5. 检查企业微信支付应用secret是否和企业微信管理端支付应用的secret保持一致;检查参与企业微信签名的字段是否和签名算法里面的字段保持一直。