常见问题

更新时间:2024.11.13

一、回调页面

正常流程用户支付完成后会返回至发起支付的页面,如需返回至指定页面,则可以在MWEB_URL后拼接上redirect_url参数,来指定回调页面。

如,您希望用户支付完成后跳转至https://www.wechatpay.com.cn,则可以做如下处理:

假设您通过统一下单接口获到的MWEB_URL= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096

 

则拼接后的地址为MWEB_URL= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096&redirect_url=https%3A%2F%2Fwww.wechatpay.com.cn

注意:

  1.需对redirect_url进行urlencode处理

  2.由于设置redirect_url后,回跳指定页面的操作可能发生在:
    a、微信支付中间页调起微信收银台后超过5秒
    b、用户点击“取消支付”或支付完成后点击“完成”按钮。因此无法保证页面回跳时,支付流程已结束,所以商户设置的redirect_url地址不能自动执行查单操作,应让用户去点击按钮触发查单操作。回跳页面展示效果可参考下图

 

二、其它常见错误

 

序号

问题

错误描述

解决方法

 

 

 

 

 

 

 

 

 

 

 

1

网络环境未能通过安全验证,请稍后再试

1.商户侧统一下单传的终端IP(spbill_create_ip)与用户实际调起支付时微信侧检测到的终端IP不一致导致的,这个问题一般是商户在统一下单时没有传递正确的终端IP到spbill_create_ip导致,详细可参见客户端ip获取指引

 

2.统一下单与调起支付时的网络有变动,如统一下单时是WIFI网络,下单成功后切换成4G网络再调起支付,这样可能会引发我们的正常拦截,请保持网络环境一致的情况下重新发起支付流程

 

 

 

 

 

 

 

 

 

 

 

2

商家参数格式有误,请联系商家解决

1.当前调起H5支付的referer为空导致,一般是因为直接访问页面调起H5支付,请按正常流程进行页面跳转后发起支付,或自行抓包确认referer值是否为空

 

2.如果是APP里调起H5支付,需要在webview中手动设置referer,如(Map extraHeaders = new HashMap();
extraHeaders.put("Referer", "商户申请H5时提交的授权域名");//例如 http://www.baidu.com )

 

 

 

 

 

 

 

 

 

 

3

商家存在未配置的参数,请联系商家解决

1,当前调起H5支付的域名(微信侧从referer中获取)与申请H5支付时提交的授权域名不一致,如需添加或修改授权域名,请登录商户号对应的【商户平台->产品中心->开发配置】自行配置

 

2,如果设置了回跳地址redirect_url,请确认设置的回跳地址的域名与申请H5支付时提交的授权域名是否一致

 

 

 

 

 

 

 

 

 

 

 

4

支付请求已失效,请重新发起支付

统一下单返回的MWEB_URL生成后,有效期为5分钟,如超时请重新生成MWEB_URL后再发起支付

 

 

 

 

 

 

 

 

 

 

5

请在微信外打开订单,进行支付

H5支付不能直接在微信客户端内调起,请在外部浏览器调起

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

IOS:签名验证失败

安卓:系统繁忙,请稍后再试

1,请确认同一个MWEB_URL只被一个微信号调起,如果不同微信号调起请重新下单生成新的MWEB_URL

 

2,如MWEB_URL有添加redirect_url,请确认参数拼接格式是否有误,是否有对redirect_url的值做urlencode,可对比以下例子格式:

https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096&redirect_url=https%3A%2F%2Fwww.wechatpay.com.cn

 

 

 

 

 

 

 

 

 

 

 

7

由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

统一下单中 spbill_create_ip 字段必须为客户端IP地址


三、QA

Q1:
1、传递redirect_url safari浏览器时支付完成后会新开一个页面;
2、还有就是有些ios手机使用其他浏览器支付完成后默认会回到safari浏览器。


A1:
1、目前逻辑就是这样设计的,防止商户无限循环调用微信客户端
2、对的,返回需要浏览器的schema信息,部分浏览器隐藏了这个信息,在无法拿到schema信息的情况下,就会回到safari浏览器

更多技术问题
技术咨询
反馈
咨询
目录
置顶