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 相关文章推荐
jQuery 表单验证插件formValidation实现个性化错误提示
Jun 23 Javascript
修改file按钮的默认样式实现代码
Apr 23 Javascript
JS和函数式语言的三特性
Mar 05 Javascript
JQuery遍历json数组的3种方法
Nov 08 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
Jun 12 Javascript
实现React单页应用的方法详解
Aug 02 Javascript
javascript 作用于作用域链的详解
Sep 27 Javascript
React Native 搭建开发环境的方法步骤
Oct 30 Javascript
vue将对象新增的属性添加到检测序列的方法
Feb 24 Javascript
vue升级之路之vue-router的使用教程
Aug 14 Javascript
解决在layer.open中使用时间控件laydate失败的问题
Sep 11 Javascript
js实现盒子拖拽动画效果
Aug 09 Javascript
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
php标签云的实现代码
2012/10/10 PHP
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
vue实现放大镜效果
2020/09/17 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
对Python中range()函数和list的比较
2018/04/19 Python
python获取代码运行时间的实例代码
2018/06/11 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
WxPython实现无边框界面
2019/11/18 Python
Python字符串格式化输出代码实例
2019/11/22 Python
python列表推导和生成器表达式知识点总结
2020/01/10 Python
python实现的Iou与Giou代码
2020/01/18 Python
python openssl模块安装及用法
2020/12/06 Python
python中os.remove()用法及注意事项
2021/01/31 Python
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
高中毕业生生活的自我评价
2013/12/08 职场文书
优秀员工表扬信
2014/01/17 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
研修第一天随笔感言
2014/02/15 职场文书
初中作文评语大全
2014/04/23 职场文书
个人工作表现评语
2014/04/30 职场文书
大学生见习报告总结
2014/11/04 职场文书