iOS H5 调用微信、支付宝支付无法返回app 解决方案

    最新项目中遇到H5页面中调用微信、支付宝客户端支付的需求,虽然这并不是推荐的做法,但是需求确实存在。。。加载h5页面点击支付调起需要支付的客户端(微信或者支付宝)。

   微信支付解决方案:

   1.首先要设置好你自己项目中的scheme, LSApplicationQueriesSchemes 中添加weixin;

  2.你点击支付的时候,在shouldStartLoadWithRequest回调方法中会获取到https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?。。。。类似这种的连接,这就是你的支付链接,webView加载完成后就可以调起微信/支付宝进行支付了。

   3.支付完成后无论成功失败,都会调转到Safari浏览器中。

   4.要想支付完成后跳回app,我们就需要拦截回调的URL地址,回调的URL中一定不要拼接redirect_url, 不然还是会跳转到浏览器中。

   5.最后把Referer设置成:www.xxx.com://           scheme设置成:www.xxx.com就可以直接返回APP了。(www.xxx.com 这个必须是H5授权的域名)。

   支付宝支付解决方案:

   1.首先要设置好你自己项目中的scheme, LSApplicationQueriesSchemes 中添加alipay;

   2.跟微信支付一样,在shouldStartLoadWithRequest回调中拦截UrlScheme,并替换为项目中设置的UrlScheme。

   代码如

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值