safari支付问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了safari支付问题相关的知识,希望对你有一定的参考价值。
参考技术A 该项目为h5游戏平台,游戏方的页面通过iframe展示,支付使用的是我们自己的收银台,集成了微信h5支付、微信公众号支付、微信pc端扫码支付、支付宝、银联,支付流程为游戏内点击支付后调用我们接口,我们接口再重定向到收银台页面,此时一直在iframe内。
一开始将微信支付的链接跳转由window.location.href改为top.location.href,解决了问题3
后来直接将iframe内的链接重定向到最外层
但safari还是无法跳转微信app,分析发现,从iframe跳到最外层这一操作必须由用户点击触发,自动跳转不行
接下来考虑如何让用户多点一下,默认选中银联让用户去改,或是点两次立即支付按钮
现在是在safari里面默认选中银联,用户点击任意支付方式后,页面重定向到最外层,然后再点立即支付
奇怪的是用户本身有一次在iframe最外层点击支付按钮的行为,为啥不行呢?
2018年9月21日 11:04:22 优化
改为点击底部支付按钮后,iframe跳转到最外层,并将选中的支付渠道传出来,然后自动点击支付渠道,以及自动点击支付按钮,这样用户也就只有一次点击操作;注意自动点击click()的时候,需要放到最底部,保证dom元素已经生成,以及事件都已绑定;
也就无需判断浏览器,全部都统一处理了;再就是今天发现qq浏览器更新后,上面那段检查出来也是safari了;
ps:
"location.href"是本页面跳转
"parent.location.href"是上一层页面跳转
"top.location.href"是最外层的页面跳转
a标签的target
_blank:重新打开一个窗口
_parent:父窗口执行重定向
_self:自身页面重定向
_top:第一个父窗口重定向
参考:
window.parent与window.openner区别介绍
将用户路由到 Safari 以进行 PayPal 付款
【中文标题】将用户路由到 Safari 以进行 PayPal 付款【英文标题】:Route user to Safari to make PayPal Payment 【发布时间】:2015-05-01 15:50:58 【问题描述】:我最初为应用内支付实现了 PayPal SDK,但由于 App Store 规则,我需要在我的应用之外(在 Safari 中)处理一些支付。
如何在 Safari 中将用户引导至 PayPal Express 移动结账,然后在付款后将他们带回我的应用程序?
谢谢!
【问题讨论】:
【参考方案1】:你看过Express Checkout Digital Goods吗?仅 Express Checkout 将在识别移动设备时自动在浏览器中使用移动体验。然后,您可以进行一些调整(如果您愿意),使其与您的应用顶部的灯箱/弹出窗口一起使用。
【讨论】:
以上是关于safari支付问题的主要内容,如果未能解决你的问题,请参考以下文章
在不打开新标签的情况下从本机应用返回 Safari - iOS - Safari
支付宝PC扫码支付在Safari浏览器中验签失败(invalid-signature)