message":"错误的签名,验签失败?
发布于 5 年前 作者 xiuyingxue 3845 次浏览 来自 问答

请求https://api.mch.weixin.qq.com/v3/applyment4sub/applyment/接口时报错,但是我获取了签名,不知道为啥提示错误的签名?

获取数据失败,请重试!https://api.mch.weixin.qq.com/v3/applyment4sub/applyment/System.Net.WebException: 远程服务器返回错误: (401) 未经授权。

   在 System.Net.HttpWebRequest.GetResponse()

  返回数据{“code”:“SIGN_ERROR”,“detail”:{“detail”:{“issue”:“sign not match”},“field”:“signature”,“location”:“authorization”,“sign_information”:{“method”:“POST”,“sign_message_length”:4556,“truncated_sign_message”:“POST\n/v3/applyment4sub/applyment/\n1633768376\nph12vkda.xdy\n{\“busine\n”,“url”:”/v3/applyment4sub/applyment/"}},“message”:“错误的签名,验签失败”}

1 回复

可以使用V3签名验证工具来验证计算是否正确https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/download/Product_5.zip

请注意以下几点:

1) 签名与生成Authorization用的同一个时间戳跟随机串。

2) 构造签名串时,里面的url不需要ToLowCase(),不用UrlEncode(),商户请求的url后缀是什么,签名用的url后缀就是什么。

3) 查询订单使用的是GET,构建签名串时,里面用的请求报文为空(但是那个换行符还是要有哈)。

4)检查证书和商户号是否正确,如是服务商模式,需使用服务商的相关证书。

回到顶部