在做微信公众号支付功能,统一下单接口(unifiedorder)调用成功返回签名及其相关信息是正确的,客户端拿到服务端返回的签名数据去调起微信支付窗口的时候提示“支付验证签名失败”。
代码截图如下,请问是咋回事呢?
统一下单:
返回xml格式:
<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg><appid><![CDATA[wxc41b29652dd69d64]]></appid><mch_id><![CDATA[1529530911]]></mch_id><nonce_str><![CDATA[VWszjaam2v5GJSX0]]></nonce_str><sign><![CDATA[776E612D7645DB3890998088B8B5F7D8]]></sign><result_code><![CDATA[SUCCESS]]></result_code><prepay_id><![CDATA[wx21131304531217eaf3db3aa21998435300]]></prepay_id><trade_type><![CDATA[JSAPI]]></trade_type></xml>
客户端:
看一下你的接受参数是否是固定值,部分场景会有新的参数回传。导致没放进签名里。