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兼容标准的表格变色效果
Jun 28 Javascript
js event事件的传递与冒泡处理
Dec 06 Javascript
div失去焦点事件实现思路
Apr 22 Javascript
详解JavaScript中setSeconds()方法的使用
Jun 11 Javascript
解决JS无法调用Controller问题的方法
Dec 31 Javascript
jQuery插件Validate实现自定义校验结果样式
Jan 18 Javascript
Vue中的数据监听和数据交互案例解析
Jul 12 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
Aug 28 Javascript
微信小程序 动画的简单实例
Oct 12 Javascript
详解vue中router-link标签所必备了解的属性
Apr 15 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
Sep 17 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
Dec 23 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 exif扩展方法开启详解
2014/07/28 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
JQuery弹出层示例可自定义
2014/05/19 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
python计算方程式根的方法
2015/05/07 Python
Python编程中的异常处理教程
2015/08/21 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
Python编写打字训练小程序
2019/09/26 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
优秀学生获奖感言
2014/02/15 职场文书
质量管理标语
2014/06/12 职场文书
家长通知书家长意见
2015/06/03 职场文书
运动会观后感
2015/06/09 职场文书
夏洛特的网观后感
2015/06/15 职场文书
区域销售大会开幕词
2016/03/04 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技