一、报错:网络环境未能通过安全验证,请稍后再试
解决方法:
1. 由商户侧统一下单传的终端 IP (client_ip)与用户实际调起支付时微信侧检测到的终端 IP 不一致导致,需要传递正确的终端 IP 到 client_ip ,详情请参见:客户端 ip 获取指引
2. 统一下单与调起支付时的网络有变动,如统一下单时是 wifi 网络,下单成功后切换成 4G 网络再调起支付,这样可能会引发微信的正常拦截,请保持网络环境一致的情况下重新发起支付流程
二、报错:商家参数格式有误,请联系商家解决
解决方法:
1. 由当前调起 H5 支付的域名为空导致。因为最后调起支付的页面为:
https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx***&package=***
如果直接访问这个页面,微信就无法通过域名来检测你的支付是否合法。所以必须按正常流程进行页面跳转后发起支付,或自行抓包确认域名值是否为空
2. 如果是 APP 里调起 H5 支付,需要在 webview 中手动设置 referer 域名,代码示例如下:
@Override public boolean shouldOverrideUrlLoading(Webview view, String url) { Map extraHeaders = new HashMap(); extraHeaders.put("Referer", "商户申请 H5 时提交的授权域名"); //例如:https://www.pingxx.com if (url.startsWith("weixin://")) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); startActivity(intent); return true; } view.loadUrl(url, extraHeaders); return true; }
三、报错:商家存在未配置的参数,请联系商家解决
解决方法:
1.当前调起 H5 支付的域名与申请 H5 支付时提交的授权域名不一致,需要使用申请 H5 支付时的域名调起支付。如需添加或修改授权域名,请使用对应的商户号登录微信商户平台,在「产品中心」 - 「开发配置」中自行配置
2.如果设置了回跳地址 result_url ,请确认设置的回跳地址的域名与申请 H5 支付时提交的授权域名是否一致
备注:若提交申请的域名的是二级域名 www.pingxx.com ,那么要使用 test.pingxx.com 这个二级域名是无法调起支付的,建议直接配置顶级域名 pingxx.com ,这样二级域名不配置也可以进行支付。
四、报错:支付请求已失效,请重新发起支付
解决方法:
返回的 credential 字段中的 wx_wap URL 生成后,有效期为5分钟,如超时请重新创建支付请求,生成新的 URL 后再发起支付
五、报错:请在微信外打开订单,进行支付
解决方法:
H5 支付不能直接在微信客户端内调起,请在外部浏览器调起
六、验证签名失败(iOS)Or 系统繁忙,请稍候再试(Android)
解决方案:使用同一个微信号调起支付
七、由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决
创建订单的时候传的 client_ip 不是真实的发起支付请求客户端的 IP 导致的。
解决方法:
创建订单的时候传的 client_ip 要上传发起支付请求的客户端的真实 IP 。
下一篇 来自 alipay 渠道的失败信息:40006 Insufficient Permissions isv.illegal-client-ip 当前调用IP不在可信名单中