web app中支付问题
前阶段我做的h5支付(微信/支付宝),各个功能都弄好了,可以使用了,但是,我们总监让我把这个h5支付移植到我们前阶段做的web app中,这一下子,让我懵逼了。带着懵逼的心情,苦逼的看代码吧。在进行支付的时候,本来就分的有app支付的sdk,现在一下子把h5支付的sdk,弄到app里面,这不是很扯吗?
然而还是要干活滴,好了,问题来了,开始分析问题:解决app支付?有两种方式。
第一种:去官网下载app支付的sdk,弄app的sdk,可是在弄app支付的sdk的时候,需要两个sdk啊,客户端sdk和服务器端sdk。两个啊,这是很痛苦的。本来Android看着就烦,算了先不想这个。
第二种:就是把h5支付的sdk,移植到app,里面,可是支付的时候,调用不起来微信客户端和支付宝客户端啊。但是想想,现在好多是app都是webapp加载的,肯定有h5支付,别人能做,为啥我就不能尼?带着干劲投入进百度中,生活总是会给你无限的希望滴。下面是解决办法:
我们在进行app开发的时候,用的都是webview加载网页来进行页面展示,在进行webview初始化的时候,需要初始化webviewClient,然而webViewClient就是处理各种通知,请求事件的,所以我们可以在这里面来重写里面的shouldOverrideUrlLoading方法来支持我们的h5支付:
/设置具体的webViewClient
webView.setWebViewClient(new MyWebViewClient(webView));
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {try {url = URLDecoder.decode(url, "UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}//微信h5支付支持if (url.startsWith("weixin://wap/pay?")) {Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setData(Uri.parse(url));startActivity(intent);return true;}//支付宝h5支付支持if (url.contains("alipays://platformapi")) {Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));startActivity(intent);return true;}return super.shouldOverrideUrlLoading(view, url);
}
这样我们在webview中加载h5支付的时候,就可以了。本来以为很难,没想到就是拦截的问题。所以我们在遇到问题时候,要仔细分析。还要记住一点,我们目前遇到的问题,网上肯定都有解决办法,而我们要做的就是冷静的分析。就比如这个web app支付加载h5支付的时候,别人肯定有人做的支付是在webview中加载的,所以这个问题是有解决办法的。其次就是我们对待问题要,找关键词,然后才能不浪费时间在百度中大海捞针。
web app中支付问题相关推荐
- outlook服务器信息查看器,允许最终用户在 Outlook Web App 中查看 POP3、IMAP4 和 SMTP 服务器设置...
允许最终用户在 Outlook Web App 中查看 POP3.IMAP4 和 SMTP 服务器设置 2021/6/1 本文内容 适用于:Exchange Server 2013 如果您有使用 PO ...
- 微信小程序解析渲染Web App中的富文本内容
前提:微信小程序里面没有DOM对象,不能直接操作DOM. 问题:在日常的web前端开发中,必然会接触到富文本编辑器,如何在小程序里展示渲染富文本编辑器中的HTML元素呢? 测试内容:wangEdito ...
- web app中常用插件(zepto--用法类似于jquery、利用nodejs定制zepto)
1.移动端开发不用jquery的原因 jquery使用的优点中很大一个原因是解决了js的兼容性,但是在移动端开发中移动端的浏览器都很新进的浏览器,他的兼容性问题不需要jquery,所以不用考虑兼容性, ...
- web app、native app、hybrid app之间的差异
目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...
- Web App、Hybrid App与Native App的设计差异
目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...
- okta-spring_通过Okta的单点登录保护Spring Boot Web App的安全
okta-spring "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多 ...
- 通过Okta的单点登录保护Spring Boot Web App的安全
"我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 您可以使 ...
- vue理由设置_在你的下一个Web应用中使用Vue.js的三个理由
Vue.js是那么地易上手,它在提供了大量开箱即用的功能的同时也提供了良好的性能.请继续阅读以下事例及代码片段以便更加了解Vue.js. 选择一个JavaScript框架真是太难了--因为有太多的框架 ...
- 聊聊Web App、Hybrid App与Native App的设计差异
目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...
最新文章
- Python Qt GUI设计:窗口之间数据传递(拓展篇—5)
- java请求慢_为什么重复的GET请求变慢了?
- elasticsearch 后置过滤器(Post Filter)
- 云炬随笔20170201
- VTK:几何对象之Hexahedron
- *【HDU - 4006】 The kth great number(优先队列 or 线段树)
- python代码封装加密_静态编译python源代码,使用Nuitka加密你的py源码
- 年前辞职-WCF入门学习(5)
- 如何将php文件通过后台导入,如何将通过url传到php后台的json在后台再次转换为json格式?...
- 计算机WORD列宽行高怎么设置,高会《职称计算机》Word 2007:设置行高和列宽
- 睡后收益 -- CSDN博客打赏功能及自定义模块以及代码分享
- 开源软件,自由软件,免费软件三者的区别
- 一文读懂人脸识别技术
- Elasticsearch概念
- Windowsnbsp;XP/Vista/Windows7常见蓝…
- origin绘图软件中文版下载安装教程
- RSA-公钥加密,私钥解密 、私钥加密,公钥解密、私钥加签,公钥验签
- api质量等级_让人懵逼了、API标准与ACEA标准有啥区别 ?
- linux命令gunzip,Linux 中的gunzip命令
- Educoder/头歌JAVA——CSS从入门到精通——基础知识