WebView启动支付宝客户端支付失败
本文转载:http://blog.csdn.net/u014752325/article/details/53976422
目前在做一个用App加载H5网页,然后在网页中调起支付宝客户端支付,蚂蚁金服的开发文档上明确写有支付宝支持手机网站支付,所以那就集成呗,但是做完之后出现了一个问题,不知道是不是Android端集成出现了细节问题,然后再使用支付的时候,支付宝客户端具有一定的失败率,所以失败了只能采用收银台支付,虽然可以实现支付,但是体验方面还是达不到公司的要求。
在H5中启动支付宝我们可以看到这个界面
他说他在尝试打开,其实也就是在检测是否安装的支付宝客户端,但是不知道为什么,有时候会失败,然后就只能走收银台了,但是收银台是需要登录的,所以体验方面不是很好,但是我尝试在浏览器上访问url的时候,调起支付宝客户端就可以的,不会出现失败的情况,看来我们得想办法借用浏览器的能力来启动支付宝了。
本地用的是webview,所以拦截url还是比较方便的,通过打印url,发现有一个url是这样的alipays://platformapi/startApp?
这个就是检测的程序了,然后我们在WebView中加入这样一句话:
public boolean shouldOverrideUrlLoading(WebView view, String url) {if (url.contains("alipays://platformapi")) {Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));startActivity( intent );} else {view.loadUrl(url);}return false;
}
意图很明显,在检测是否安装支付宝的时候,借用浏览器的能力来启动支付宝,这样效果真的不错,然后你就会看见这样一个页面:
支付宝文档(官方权威解释)
用上述方式做完之后,感觉有点不安,感觉并不是使用正规的渠道来实现的,然后又看了看支付宝的APP支付文档,中间有一个功能叫做其他接入。
支付宝其实也早就准备了这个功能,但是唯一的区别就是,这个手机网站转原生的实现,我是借助了自带浏览器,而他的实现是webview和js进行交互,拦截url,然后交给支付宝的SDK去处理,原理还是离不开他的SDK,所以他的实现方式比我的这种要麻烦一点,但是绝对权威,这点毫无疑问,所以看自己怎么选择了。
WebView启动支付宝客户端支付失败相关推荐
- WebView支付宝wap支付转支付宝客户端支付
android WebView支付宝wap支付转支付宝客户端支付重写WebViewClient的以下方法即可.可参考 支付宝平台文档商户APP的WebView处理alipays协议 public bo ...
- iOS H5原生WKWebView调起支付宝客户端支付方案
iOS H5原生WKWebView调起支付宝客户端支付方案 问题描述: 安卓直接WebView加载上面的URL直接可完成跳转支付宝弹出支付界面: iOS WKWebView加载这个URL,只是单纯加载 ...
- 第三方应用调用支付宝客户端支付后不跳转回去的问题
在Info.plist中添加如下配置 转载于:https://www.cnblogs.com/mforestlaw/p/5591283.html
- WebView调用微信H5支付
相关文章:WebView启动支付宝客户端支付失败的解决办法 好长时间没有写博客了,感觉自己颓废了不少,这也取决于移动端逐渐趋于稳定的原因,随着自己公司业务的不断扩大,还是会遇到种种问题,最近手上一个需 ...
- 支付宝移动支付之IOSApp调用支付宝钱包
最近客户提出要开发一个IOS上的app作为访问他们网站的途径之一,为什么说之一呢,因为目前PC和Mobile这两个站目前都已经上线了. 所以问题就简单了,我们只需要把mobile站UI修改一下,然后在 ...
- 【安卓学习之第三方库】 Rxpay学习:支付宝微信支付
█ [安卓学习之第三方库] Rxpay学习:支付宝微信支付 █ 相关文章: [安卓学习之第三方库]库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例) [安卓学习之第三方库] 消息 ...
- 支付宝app支付功能-服务端的实现-python3版
支付宝app支付功能-服务端的实现-python3版 一:需求说明 二:支付宝app支付处理流程 三:所需依赖 3.1 依赖库 3.2 支付配置 3.2.1 沙箱环境配置 3.2.2 正式环境配置 四 ...
- ios支付宝支付失败不回调_iOS支付宝H5支付无法返回APP解决方案
本文只讨论你已经成功实现客户端->支付宝支付流程,仅仅是支付完成后无法返回自己的APP的问题. 如果你的支付流程是客户端->Safari->支付宝不在本文讨论范围之类. iOS支付宝 ...
- h5支付不能打开支付宝 ios_IOS H5支付调起微信支付宝客户端问题总结
IOS H5支付调起微信支付宝客户端问题总结 很早之前公司的支付功能,通过H5去支付宝和微信支付,开始使用的是UIwebView来加载h5页面,当初只有支付宝网页支付形式,所以没有考虑到那么多,现在新 ...
最新文章
- 如何在node.js中发出HTTP POST请求?
- 累计占比_全国ETC用户累计突破1亿!广东占比超过1/10
- Python名称空间是什么?
- RPC框架(一)RPC简介
- sap.ca.ui.model.format.NumberFormat format logic for Globalization
- MongoDB发布4.0版本,支持ACID事务
- 阿里面试题剖析,如何保证消息不被重复消费?
- windows 2003 英文版支持中文显示、中文输入的设置方法
- vue-router学习第一天
- 浏览器软件下载,点击超链接、图标等直接下载(前后端代码)
- Windows 远程桌面(RDP)客户端相关工具
- python|文本文件的处理
- 多层次细节(Level of detail)
- 网络抓取ts文件转mp4_TS格式的视频文件怎么转换成mp4文件。
- html div 360旋转动画效果,分享4种CSS3效果(360度旋转、旋转放大、放大、移动)
- 极客时间「大师课·深度剖析 RocketMQ5.0」上线啦,欢迎免费领取!
- 操作系统 -- 处理器管理
- oracle分段时间统计总数,oracle中根据年份统计每月的总数?解决思路
- arduino声音传感器与二极管_怎样使用Arduino构建基于声音传感器的警报
- 穷举n位二进制数(深搜)noj