请注意以下几点:
1) 签名与生成Authorization用的同一个时间戳跟随机串。
2) 构造签名串时,里面的url不需要ToLowCase(),不用UrlEncode(),商户请求的url后缀是什么,签名用的url后缀就是什么。
3) 查询订单使用的是GET,构建签名串时,里面用的请求报文为空(但是那个换行符还是要有哈)。
4)检查证书和商户号是否正确,如是服务商模式,需使用服务商的相关证书。
更多签名相关内容可以查看这里:
https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay7_1.shtml#part-2
检查证书和商户号是否正确,如是服务商模式,需使用服务商的相关证书这个在哪使用服务商的相关证书
$str = "GET"."\n".$url."\n".$time."\n".$noncestr."\n".$jsonData."\n";
$signHead = $this->getSign($str);
这里用 GET,别用POST
以上问题都核实无误,但还是报签名错误,郁闷了