微信支付一直报fail_invalid signature错误

前端代码:

var _data = {
"appId":appId,
"timestamp":timestamp,
"nonceStr": nonceStr,
"package": _package,
"signType": signType,
"paySign": paySign
};
WeixinJSBridge.invoke('getBrandWCPayRequest', _data,
function(res){
alert(res.err_msg);
}
);
后端签名:
/**
* 获取签名的方法
*/
public static String wxSign(Map<String, String> params){
if(params == null){
return null;
}
if(params.size() == 0){
return "";
}
ArrayList<String> keys = new ArrayList<String>(params.keySet());
Object[] keysArr = keys.toArray();
Arrays.sort(keysArr);
StringBuilder sb = new StringBuilder();
boolean flag = true;
String value;
for(Object key : keysArr){
value = params.get(key);
if(value != null && value.length() > 0){
sb.append(key+"="+value+"&");
}
}
String key = "ASDFWERFASDFASDFASASDF584wcss";
sb.append("key="+ key);
String md5SignValue = MD5.GetMD5Code(sb.toString()).toUpperCase();
System.out.println(sb.toString());
System.out.println(md5SignValue);
return md5SignValue;
}

/**
* 参与支付签名的字段
*/
Map<String, String> _params = new HashMap<String, String>();
String timestamp = beat.getRequest().getParameter("timestamp");
_params.put("appId", appid);
_params.put("timeStamp", timestamp);//官方文档上说,前端s得小写,后端s大写
_params.put("nonceStr", noncestr);
_params.put("package", "prepay_id="+ prepay_id);
_params.put("signType", "MD5");

String paySign = WXSignUtil.wxSign(_params);

已经被这个问题折磨了两天了,实在是找不出问题在哪了,还请那位高人帮忙看一下,知道一番,小弟感激不尽
最新回答
我的心脏你的模样

2023-09-30 13:45:05

这个h5调起方法,坑特别多,不知道你是不是遇到我这样的坑。微信页面不是有js sdk吗,支付页面要是也调用了js sdk,就会报这个鬼错误,还告诉你是签名错误,其实支付那块都没写错。把js sdk去掉,就能支付成功。准确的说,如果下面这块段代码同事存在于一个页面里面,也会报这样的错误。你查查是不是这个问题。在支付页面不要掉js sdk的 接口。把第一段代码去掉,就好了。我的问题就是这个,不知道和你一样不。


js sdk配置代码块:



支付调起代码块:

孤岛re∷

2022-10-02 06:26:16

你的代码应该没问题。曾经我也被这个问题虐了半天,一直提示签名错误,结果原因是“支付授权目录”没把我在测试的那个目录加进去。你看一下你是不是也是这个原因。

进入 微信公众平台 -- 微信支付 -- 开发配置 -- 支付授权目录 把你的路径加进入。
五品带砖侍卫

2023-01-10 11:19:22

找两行代码:
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
将上面两行中的true改为false
还有一行:curl_setop 改为curl_setopt
是微信支付接口文档自身的问题!
酒尽

2023-12-17 00:32:11

楼主解决了没?我也遇到这个问题,求助!
收起 1条折叠回答