android 怎么实现手机网站支付_Android接入支付宝实现支付功能

news/2024/5/15 10:17:41/文章来源:https://blog.csdn.net/weixin_35073008/article/details/112136181

我本来是想直接讲Android支付这一块的,包括支付宝,微信,其他第三方整合支付等,但是微信开放平台他对我的账号做了限制,所有我今天就先把重心放在支付宝的支付上,也算是写得尽可能详细些吧,毕竟是第三方的SDK,只要我们耐心的阅读文档和开发引导,这个其实不是很难的,我也是没有用过支付宝的支付,但是我相信,你看完这篇博客,也会对他了如指掌的,好的,我们正文开始

一.准备步骤

  • 1.登录官网

他的官网就是蚂蚁金服的开放平台了,我们可以访问 蚂蚁金服开放平台 ,并且注册账号进行登录

c8d9109c496bb43dee9e4dc5f524ddb5.png
  • 创建应用

如果你是现有的应用直接接入支付功能的话,可以不看这里,我这里是因为需要讲博客所有重新创建了一个项目并且在Android Studio里也重新创建了一个项目,Android Studio里创建的项目我把他叫做SimpleMall,简单商城的意思,那在开放平台我们又是如何去创建应用呢,点击-进入我的开放平台-应用,就可以看到应用管理了。我们点击创建应用

创建成果之后有很多的选项包括需要你上传

1c6ae8d69b556600172f0d1906c43991.png

这些先不管,我们这个时候可以看到已经拿到了APPID: 2017062807585767,这样我们就可以继续下一步的准备了

  • 3.签约

大部分的功能需要签约才能使用,很遗憾,我这个个体户就不行了

88c5d0fe852e4f4c07e78fb460574db0.png
  • 4.配置密钥

配置秘钥是支付这一环节很重要的因素,也是分了两个步骤,生成秘钥和配置秘钥,这里使用的RAS非对称加密

生成RSA秘钥

我们按照文档上来,首先是下载工具了,这里有win和mac两个地址,我是win,下载下来是这个样子的

784e82a3756dd741e178f688b0c89eba.png

我们按照图中的配置拿到了公钥和私钥

06b6776eb746d9fe2568109951f50c03.png

那我们可以配置了,我们找到项目详情

aa03a694a50787b2b3c5686563703ff7.png

然后这里是两种方式,我们选择的是RSA方式么其实哪种方式都是可以的

674fc63a6d8ea2e9bf33a19826d25301.png

到这里,这个也配置好了

  • 5.SDK 下载

到这里,我们就可以直接去下载他的SDK了SDK下载地址

这个压缩包下载下来什么都有,要找到Android的部分

3ec2e04ecf9fb372a9666d804c5e9c3b.png

二.SDK集成

我们现在就开始来把jar集成进去,支付宝给我们提供的就是一个jar,我们放进我们的工程里面去

并且在我们的app/build.gradle里配置一下

compile files('libs/alipaySdk-20170623-proguard.jar')

这样Jar就集成好了,然后配置一下清单文件

   

并且添加权限

如大于等于Android6.0,还需要动态申请下权限

如果你的项目需要混淆,需要添加混淆规则

-libraryjars libs/alipaySDK-20150602.jar-keep class com.alipay.android.app.IAlixPay{*;}-keep class com.alipay.android.app.IAlixPay$Stub{*;}-keep class com.alipay.android.app.IRemoteServiceCallback{*;}-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}-keep class com.alipay.sdk.app.PayTask{ public *;}-keep class com.alipay.sdk.app.AuthTask{ public *;}

嗯,可以说得上是比较简单的,我们继续

三.支付接口调用

其实支付宝的调用还是比较简单的,我们来看一下我的调用方式

public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btnPay; private static final int SDK_PAY_FLAG = 1001; private String RSA_PRIVATE = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCNYm+oveZOECAjwrH1E+RHznGxVqdAKI/teijarKYIV7RjpNyfMaEaI0ms8vd9aXtN6gEeSPvBQmWVunY1FWfLpAOkSYGJLJ8GJEgiNTAstCgkHw21DaojrD9LxoUZbvfBwWXiDLDAPUGiU6pnG7AkClJuzSETMCTWsrcB35Y9MMprnPaXgNG8+MJ6P2Z1xmN51uNQw4Z99iDrR27lrQH/OXNzLnRDzlj0rwoYFHDSPds58qmjVRTcBXCVpZoLmuf4OfSc8gplNGz/qs/rjOfKEOrcZQeKw1SCkG5U4ZHsMM5XmwbCGg20G9+BokYdHJNKFKu/+kwu69No1Mcy8RTfAgMBAAECggEAIXBCkFo5egT+VPbbN+d4ejMtWI/yBo6RW80klHN44Ug89cQsGcqXG6N07V6ZgiPMceUCVrNUN6UIeZ0cD/n8DoHACr8Hz/Wptr4mAVErD6ecRs7BYyzULJO0dKuDFzzThBPFkO0HcLAMMeQvzSsTQbLfRC1nwS4FyHGELwE+e0IQy3wug7jAid/X2crGC438pwxS7iCjZxsO44WCteCLTjIG/y2AR42wJXSRlPpsGQP6CVgUKa1ATEsoGBDoImDAitnPAyADyOvRMf3jqOcadWq8MtXKPM1KyfM1Sq+NgPawwXxdBHPXB4aDPHmoZm3qb8Nat1VkbTfnmnFNVNiGAQKBgQDGcR0xEI/oP/HRdhKQJCNguUN2dcXIfbfLj4ff9yMtQ+086W3BpJYO5rq6B8mXU66wg3crKJHwpaQ5a6CXb1U757y2J2qPccKdy3ZXed7z0bEkGxwPzwkAiNXM30KvHO9QxVFX3oILDca2qOk7h5vRrRCH9GHdZkYgf7F0WRFwnwKBgQC2ZKYOVPE881ek0SFHURuTN99M+MsciyLzJNeRpopXCBvViRV3rMvyzCRsciJEqQmZnQM7VDkqh3MtutEDnPv2Qux3Qlhk756Q8PdmS9hPl9WK8NGSSA6AQFGqrV16ngjYRm1h+fm6c6K9YFaoJXw/5qYF48X0hXRE39++TXSzwQKBgBnji/Fovb2JCh1PkCBp9ouZ3+lGeCUt8ZqHAS0A6v/uyraVpZILzN/ozheTCIPLkRDKNfPVeSSyF3i+R9c52R7VntMM1WQdbUx0zN2gsquQgdG6D7EoS35cW7g8sFB0L+yTsYcLKmASzgfqhXMUwAlc0LlL8rCVtTRsNFR/gjz1AoGAUiANmSRsHvqe+wpjRp5hoS8mL51Srz6C9SIgomdvoPJ4vfRkoyc+Ccwblmzpuyq1tOI640rwFpM4rF2S4WKdHOxTVvubm489QZwOeZQrCOOf9liqtIgXZ24Ol6BKF/zylJdZhyUsaeTJYSXwvvNp98fd94bwykIQ8TYwo5pyssECgYAZC+l1Ok0VJyisBLgOHoAuwYmWbFRC0RJAwQQoTs4/ozHiR+kFOgiHY6W7sjfgdMej+0U0gNifm2nn0lj1KRuOXiAzkzRBTkiwDChP0PAa2ns9GSbxApRVPJJzeM2NlRX4ptscjKUqWB3tgqPNWDTjW0d7iCYeFWkx0GfRgSwHaQ=="; public static final String APPID = "2017062807585767"; private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case SDK_PAY_FLAG: PayResult payResult = new PayResult((Map) msg.obj); //同步获取结果 String resultInfo = payResult.getResult(); Log.i("Pay

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_768818.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

去哪儿网代理网站机票价格采集方案

去哪儿网的代理网站有自己独立的机票搜索接口,例如http://xyx.trade.qunar.com/site/。 搜索结果使用Ajax动态加载,服务端返回的数据是JSON格式的。 难点在于返回的价格数据是加密的,返回价格与真实的价格之间有很大的偏差。在客户端使用JS进…

如何利用Python爬取网站数据?

1.基本方法 其实用python爬取网页很简单,只有简单的几句话: 这样就可以获得到页面的内容。接下来再用正则匹配去匹配所需要的内容就行了。但是,真正要做起来,就会有各种各样的细节问题。 2.登录 这是一个需要登录认证的网站。也…

sharepoint 创建网页服务器,在网站主页中配置SharePoint Server 2019网站创建 - SharePoint Server | Microsoft Docs...

在 SharePoint Server 2019 中配置自助式网站创建2021/6/1本文内容适用于:2013 2016 2019 Microsoft 365SharePoint中的自助式网站创建体验支持在不同的 Web 应用程序中创建新网站,而不管 Web 应用程序是托管在本地服务器场还是远程服务器场上。 这将在管…

今天教你用 Python 爬取网站的指南

通过基本的 Python 工具获得爬取完整 HTML 网站的实践经验。 (本文字数:11235,阅读时长大约:14 分钟) 有很多很棒的书可以帮助你学习 Python ,但是谁真正读了这那些大部头呢?(剧透&…

asp.net获取网站路径

网站在服务器磁盘上的物理路径: HttpRuntime.AppDomainAppPath虚拟程序路径: HttpRuntime.AppDomainAppVirtualPath 任何于Request/HttpContext.Current等相关的方法, 都只能在有请求上下文或者页面时使用. 即在无请求上下文时,HttpContext.Current为null. 而上面提到的方法一直…

Linux服务器知识导图,整理分享一些 Linux思维导图(值得收藏)_网站服务器运行维护,Linux...

Win10 改 Win7,BIOS 怎么设置?_网站服务器运行维护Win10改Win7,BIOS设置方法:首先进入到BIOS界面;然后将“secure”改为disabled;接着将“Boot List Option”改为UEFI;最后在“1st Boot Priorit…

3个pc网站适配手机的方法

新的形势下,移动网站的使用率越来越高。移动网站的优化如何做被更多的人所关注。这里切图移动就从目前三种比较常用的pc站点移动配置方式,并从性能,需求,成本方面对三者进行了分析,并给出相应的优化建议。pc站与移动站…

web网站加速之CDN(Content Delivery Network)技术原理

在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度、优化现有Internet中信息的流动,需要在用户和服务器间加入中间层CDN. 使用户能以最快的速度,从最接近用户的地方获得所需的信息,彻底解决网络拥塞,提高响应速度&…

网站性能测试:使用Selenium测试网页加载时间

WebLOAD与用于Web浏览器应用程序的开源测试工具Selenium的集成,使您可以将执行实际活动的真实Web浏览器集成到您的性能测试场景中,并准确识别问题。 使用集成,您可以使用WebLOAD的虚拟用户来压缩系统以生成负载,同时运行用于测量实…

网站性能工具Yslow的使用方法

Yslow是雅虎开发的基于网页性能分析浏览器插件,从年初我使用了YSlow后,改变了博客模板大量冗余代码,不仅提升了网页的打开速度,这款插件还帮助我分析了不少其他网站的代码,之前我还特意写了提高网站速度的秘籍&#xf…

构建ASP.NET网站十大必备工具

最近使用ASP.NET为公司构建了一个简单的公共网站(该网站的地址:http://superexpert.com/)。在这个过程中,我们使用了数量很多的免费工具,如果把构建ASP.NET网站的必备工具总结一下,将会是一件十分有趣的事情…

用 IIS 7、ARR 與 Velocity 建设高性能的大型网站

本帖是研讨会中的一些杂记,搭配一些官方的文档,经整合归纳后,介绍 IIS 7 如何搭配新一代的 ARR (ApplicationRequest Routing),建置 Server Farm 并达到比过去 NLB 更优的 LoadBalancing 功能,此外还介绍微软新一代的分…

SignalR简介- 建立realtime 的网站

前言 一早起床后,在消化RSS的过程中,看到Scott Hanselman在Russia TechDays介绍SignalR的影片,一整个让人很惊艳,马上就想动手写写看。 由于我也是初学者,先把相关Reference 列上来,有兴趣的朋友可以直接参…

爬虫保姆级教程3:利用python-Flask框架搭建本地数据可视化网站

成果展示: (1)网站首页: (2)电影表单页 (3) 电影评分页 (4) 词频统计页 (5)团队页面 接下来让我们看看上述网站是如何完成的&#xf…

Nginx修改进入网站时的默认页面

上文写了如何将前端网站使用nginx放到服务器中, [传送门]:Nginx纯前端服务器部署_代码骑士的博客-CSDN博客 但是直接打开后发现默认页并不是登录界面, 所以还要进一步修改nginx里面的配置: vim /etc/nginx/nginx.conf 修改&am…

搜狗五笔输入法官方网站_搜狗五笔输入法新版上线:争渡读屏体验升级,助视障人士便捷沟通...

近日,搜狗五笔输入法更新至V4.1版本,新增微信号登录、手机号登录功能,以此实现了对于皮肤、自定义短语、细胞词库、配置、输入统计等用户个性资产与输入习惯的同步与迁移。另同时解决了多个影响输入体验问题,并针对争渡读屏的兼容…

如果网站的 Cookie 超过 4K,会发生什么情况?

本文一把大部分源码罗列出来了,收录至我的GitHub精选文章,欢迎Star:https://github.com/Java-Ling/Java-Interview-guide 有没有想过,如果网站的 Cookie 特别多特别大,会发生什么情况? 不多说,…

下载网站视频_批量下载bilibili视频全集下载

环境: 请先安装Python和you-get 教程: Python:https://www.liaoxuefeng.com/wiki/1016959663602400/1016959856222624 you-get:打开cmd,输入pip3 install you-get -i https://pypi.tuna.tsinghua.edu.cn/simple即可…

如何搭建自己的网站_如何让别人看到自己编写的网页_IIS创建网站

准备工作: 打开控制面板>卸载程序 点击启用或关闭Windows功能>将图中勾选的项勾选 等待其应用完成即可 建立网站 在开始菜单图标处右键,选择计算机管理 在右侧找到服务和应用程序展开,点击Internet Infomation Services(IIS)管理器…

程序员每天必逛的5个技术网站,你用过几个?

不少程序员小伙伴每天要写几十行代码,偶尔会腾出时间刷一些技术网站。 那么,程序员们每天都刷些什么技术网站呢? w3cschool调查了一些程序员网友,发现他们每天经常刷下面这5大技术网站: 一、InfoQ InfoQ基本上就是日刷&#x…