javascript
测试设备:iphone X ,版本:13.2.2
一、在ios移动端下微信支付默认流程
正常 支付完成,或者中止支付,正常回到原页面
手机QQ | 手机百度 | UC | 360 | QQ浏览器 | 搜狗浏览器 |
---|---|---|---|---|---|
正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
异常
支付完成,或者中止支付,会跳转到safari或者刷新原页面,导致无法弹框
safari | 谷歌 | 火狐 | 百度浏览器 | 夸克 | 猎豹 | 手机百度 |
---|---|---|---|---|---|---|
刷新页面 | 跳safari | 刷新页面加跳safari | 刷新页面 | 跳safari | 闪退,网上说也会跳safari | 打开页面就是进safari |
二、 在安卓端TIM和QQ使用微信网页支付
- 微信支付拉起收银台,再回来QQ页面,会刷新页面。通过ua中是否包含
tim/
和qq/
,加上判断是否安卓客户端,来判断是否在安卓端TIM和QQ内进行的微信支付,此时前端加上redirect_url。
function isQQclient() {
var ua = navigator.userAgent.toLowerCase();
if(ua.indexOf("tim/") > -1 || ua.indexOf("qq/") > -1){
return true
}
}
二、处理办法
- 在ios移动端下的微信支付,如果当前浏览器非
手机QQ|手机百度|UC|360|QQ浏览器|搜狗浏览器
,则统一由web来增加redirect_url重定向,并且携带订单信息等参数,当用户微信支付完成后,跳转到设定的页面。 - 在安卓QQ和TIM的微信支付,同样加上redirect_url,来处理刷新页面的问题。