最近遇到客户在对接我们微信支付的时候,一些商家反馈在用户支付的过程中会出现报错,出错的截图如下:
查看微信官方文档如下:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4
现象和原因已经知道了,那么下面怎么怎么处理和解决,就是最主要的。
在 shouldOverrideUrlLoading方面里面添加如下代码
else if (url.startsWith("https://wx.tenpay.com")) { //H5微信支付要用,不然说"商家参数格式有误" Map<String, String> extraHeaders = new HashMap<String, String>(); extraHeaders.put("Referer", "https://www.baidu.com");//业务域名,申请微信支付时候添加的域名。 view.loadUrl(url, extraHeaders); return true; }
之后重新发布,就可以解决如上问题