目前我在使用https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey这个沙箱环境获取沙箱的key。
商户号,以及商户的API_KEY没有发生更改。本地代码生成的XML内容与在线验证工具(https://pay.weixin.qq.com/wiki/tools/signverify/ )生成的完全相同,都是以下的内容:
<xml> <mch_id>155XXXXXXX</mch_id> <nonce_str>gGm7SKZi3C8eES0KAj32PWKQ</nonce_str> <sign>3E3BB863C2BC75B8337C0D812297CF42</sign></xml> |
之前可以运行,但现在总是报错,说mch_id错误:
<xml> <return_code><![CDATA[FAIL]]></return_code> <retmsg><![CDATA[请确认请求参数是否正确merchant invalid mch_id(155XXXXXXX)]]></retmsg> <retcode><![CDATA[1]]></retcode></xml> |
我能确认了商户ID是正确的,同时发出去的请求中,前后都带有xml标签。而商户的API_KEY在设置后就没动过,现在网上有人说要改这个API_KEY,然后重新生成签名来连接沙箱,这个还没试。除此之外,请问还有哪里有问题吗?
更新:修改了 API_KEY,但沙箱还是报错 mch_id 错误。正常环境没有问题。
二次更新:所用的mch_id和商家APPID在统一支付链接下(https://api.mch.weixin.qq.com/pay/unifiedorder)工作正常,所以排除 mch_id 的问题。

同问
2.可能由于在使用WXPay wxpay = new WXPay(config)时没有正确加载沙箱签名
我也是,有解决的吗,我去提问直接给我链接文档,醉了
2.可能由于在使用WXPay wxpay = new WXPay(config)时没有正确加载沙箱签名
我也遇到这个问题了,微信支付的沙箱真的被支付宝完爆N条街
2.可能由于在使用WXPay wxpay = new WXPay(config)时没有正确加载沙箱签名