WebView启动支付宝客户端支付失败的问题小结


Posted in Javascript onJanuary 11, 2017

目前在做一个用App加载H5网页,然后在网页中调起支付宝客户端支付,蚂蚁金服的开发文档上明确写有支付宝支持手机网站支付,所以那就集成呗,但是做完之后出现了一个问题,不知道是不是Android端集成出现了细节问题,然后再使用支付的时候,支付宝客户端具有一定的失败率,所以失败了只能采用收银台支付,虽然可以实现支付,但是体验方面还是达不到公司的要求。

在H5中启动支付宝我们可以看到这个界面

WebView启动支付宝客户端支付失败的问题小结

他说他在尝试打开,其实也就是在检测是否安装的支付宝客户端,但是不知道为什么,有时候会失败,然后就只能走收银台了,但是收银台是需要登录的,所以体验方面不是很好,但是我尝试在浏览器上访问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;
}

意图很明显,在检测是否安装支付宝的时候,借用浏览器的能力来启动支付宝,这样效果真的不错,然后你就会看见这样一个页面:

WebView启动支付宝客户端支付失败的问题小结

支付宝文档(官方权威解释)

用上述方式做完之后,感觉有点不安,感觉并不是使用正规的渠道来实现的,然后又看了看支付宝的APP支付文档,中间有一个功能叫做其他接入。

WebView启动支付宝客户端支付失败的问题小结

WebView启动支付宝客户端支付失败的问题小结

支付宝其实也早就准备了这个功能,但是唯一的区别就是,这个手机网站转原生的实现,我是借助了自带浏览器,而他的实现是webview和js进行交互,拦截url,然后交给支付宝的SDK去处理,原理还是离不开他的SDK,所以他的实现方式比我的这种要麻烦一点,但是绝对权威,这点毫无疑问,所以看自己怎么选择了。

以上所述是小编给大家介绍的WebView启动支付宝客户端支付失败的问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js数组去重的常用方法总结
Jan 24 Javascript
css+js实现部分区域高亮可编辑遮罩层
Mar 04 Javascript
jquery插件之定时查询待处理任务数量
May 01 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 Javascript
Angular 4.X开发实践中的踩坑小结
Jul 04 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
微信小程序实现指定显示行数多余文字去掉用省略号代替
Jul 25 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
Jul 27 Javascript
从零开始实现Vue简单的Toast插件
Dec 03 Javascript
vue渲染方式render和template的区别
Jun 05 Javascript
vue实现把接口单独存放在一个文件方式
Aug 13 Javascript
详解Vue3.0 + TypeScript + Vite初体验
Feb 22 Vue.js
Bootstrap实现提示框和弹出框效果
Jan 11 #Javascript
分享bootstrap学习笔记心得(组件及其属性)
Jan 11 #Javascript
jQuery实现CheckBox全选、全不选功能
Jan 11 #Javascript
理解javascript中的闭包
Jan 11 #Javascript
javascript常用经典算法详解
Jan 11 #Javascript
总结几道关于Node.js的面试问题
Jan 11 #Javascript
微信端开发--登录小程序步骤
Jan 11 #Javascript
You might like
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
php cookie名使用点号(句号)会被转换
2014/10/23 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
javascript html 静态页面传参数
2009/04/10 Javascript
JavaScript Date对象使用总结
2009/05/14 Javascript
jquery 批量上传图片实现代码
2010/01/28 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
浅析使用Python搭建http服务器
2019/10/27 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
用python对oracle进行简单性能测试
2020/12/05 Python
美国体育用品在线:Modell’s Sporting Goods
2018/06/07 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
政法大学毕业生自荐信范文
2014/01/01 职场文书
淘宝中秋节活动方案
2014/01/31 职场文书
项目工作说明书
2014/07/29 职场文书
学校运动会报道稿
2014/09/23 职场文书
务虚会发言材料
2014/12/25 职场文书
大学生入党群众意见书
2015/06/02 职场文书
公司处罚决定书
2015/06/24 职场文书
教学反思怎么写
2016/02/24 职场文书