WECHATPAY2-SHA256-RSA2048 mchid="1606598933;",nonce_str="E572Pnseg97iqoq1mn6LFS0g6Lpc8QlZ",timestamp="1614910048",serial_no="47F732BDC0A38208PHB38A462F4597DD0DA57H72",signature="RIIH/uIlnh0DGqWzcV4/fqOhMLUdsY8WTqNj3yrvQ8HkxpKBcqucRrYvvWkRQuP656SLLBoe2UdgSjJMDVTdCB5eoHkSr79DngKxu/IqdEwZf5wGmXilvmIfVxxHIUjgANgq4MIkAh3LzhxhhoDvTNSwA2OGtHazsjtmhqo50KQi1bbQC6ns89jt6FmRweOWuvQ1s4ueGve+uD08+0iEf7LcxoepxlsuhoVQPv95L751H28WtCeQ57aAirb4gTYbN2ZdA2LpjVEsD8cpwZrZKq15jHBEwLZYDsBF4Tk9pS6UUZ+i+KAS6R/JwiJV4iuC27t1HdCpnZ4TUrguBhA4Qw=="
GuzzleHttp\Exception\ClientExceptionClient error: `POST https://api.mch.weixin.qq.com/v3/merchant/media/upload` resulted in a `401 Unauthorized` response: {"code":"SIGN_ERROR","message":" 签名信息错误,验签失败"}
商户号:1606598933
请注意以下几点:
1) 签名与生成Authorization用的同一个时间戳跟随机串。
2) 构造签名串时,里面的url不需要ToLowCase(),不用UrlEncode(),商户请求的url后缀是什么,签名用的url后缀就是什么。
3) 查询订单使用的是GET,构建签名串时,里面用的请求报文为空(但是那个换行符还是要有哈)。
4)检查证书和商户号是否正确,如是服务商模式,需使用服务商的相关证书。
更多签名相关内容可以查看这里:
https://wechatpay-api.gitbook.io/wechatpay-api-v3/chang-jian-wen-ti/qian-ming-xiang-guan#ru-he-ding-wei-cuo-wu-de-qian-ming-dao-zhi-yan-qian-shi-bai-de-cuo-wu