iOS App中微信H5支付打开safari,无法返回App终极解决方案

本文介绍了在iOS App中遇到微信H5支付成功或失败后打开Safari无法返回App的问题及解决方案。通过调整H5链接、配置Schemes和实现UIWebView代理方法,确保支付后能正确返回App。同时,讨论了支付结果界面的展示策略,提供了五秒后刷新页面的处理方式。
摘要由CSDN通过智能技术生成

废话不多说,直接说重点

微信官方提醒:H5支付不建议在APP端使用,如需要在APP中使用微信支付,请接APP支付,文档详见微信支付开发文档

场景:公司业务需要,在移动端App中引入了微信H5支付逻辑,支付流程Android没问题,但是在iOS端出现了支付成功/失败之后打开了Safari,并没有直接返回App的问题。

以下为解决方案:

首先在网页中H5调起微信时,可以获取到H5发出的支付链接为https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=************&package=*********&redirect_url=http://pay.*********.com/phonepay/wxsuccess.jsp此链接会发起支付,然后打开微信App支付页面,支付之后返回App,这个流程在Android中是没有问题的,但是在iOS端支付之后确莫名其妙的打开了Safari,Safari显示的界面为redirect_url参数对应的http://pay.*********.com/phonepay/wxsuccess.jsp链接界面。

注意:此处链接中的redirect_url是微信支付之后的结果界面,如果在此链接中拼接了redirect_url,那么Safari是一定会被打开的,如果前端拼接了此地址,那么可以让前端来对iOS端区别操作,不拼接redirect_url

如果前端处理起来比较麻烦&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值