uni-app webview 嵌套H5微信支付跳转问题

项目中遇到的坑,搞了几天,终于解决了,现整理一下:
本人app项目是uni-app开发的安卓和iOS版本,安卓测试无问题,以下主要说iOS的解决方案。
问题点:app用webview打开H5页面,在H5页面发起微信支付(非app支付)唤醒微信打开支付,此时放弃支付或者支付完成,微信默认打开safari浏览器,没有返回app。
1.在H5页面,发起支付时,后端写一个接口去访问微信的接口,微信会返回一段链接,直接回调给前端,前端处理代码如下:

//请求后台接口获取url
$.ajax({
 url:"",
 type:"post",
 data:{},
 success: function (data) {
   //拼接自己定义的返回页面,注意一定要encodeURIComponent
   let myUrl="www.公司域名.com://参数xxx";
   //唤起微信
   window.location.href=data+"&redirect_url="+encodeURIComponent(myUrl);
 }
})

支付完成/取消回调
www.公司域名.com:// 作用是访问这个“地址”能唤醒app,就像你能唤醒手机上app一样,他们都给自己取了一个名字是“UrlSchemes”
注意:首先需要在uni-app配置中 配置iOS 的UrlSchemes 配置位置在(app常用其他设置)配置过之后需打包才能生效,然后在Safari中获取app的其他浏览器中输入你的UrlSchemes+“: //”成功唤醒你的a

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值