网络上已经有很多人写得很好了,但基本是已经在支付宝的申请的应用通过的情况下,这里个人记录沙箱测试。(ps:现在都在csdn上写文章啦~可以去看看哦~我的博客)
android客户端的接入
APP支付 官方接口文档可以瞅瞅
先看图:支付流程:(这个要先看懂~)
秘钥去哪弄?看这里


进入上面给的链接,点击SDK及DEMO下载。

创建自己的android项目,在lib文件夹下面复制粘贴SDK,同时在app文件夹下,复制DEMO里面的proguard-project.txt文件,粘贴。

在app的build.gradle中引入刚刚添加的jar包。

点击Sync Now,之后在清单文件中复制粘贴:(代码官网有)

复制添加权限:

到这里配置就ok了,O(∩_∩)O哈哈~,
去官网兜兜转转~
进入官网后,点击进入我的开放平台:
选择开发者中心--->开发服务下的研发服务

研发服务列表的第一个:沙箱应用需要进行一些简单的配置:具体配置看这里

配置完后,他会有一个二维码,手机下载下来:

这里看沙箱账号,里面已经配置了商家信息和买家信息,可以随意充值哦~挺好玩的\(^o^)/把各个手机下的支付宝登录测试账号

回到AS。注意:由于我并没有什么服务器后台,所以一会秘钥以及签名都会在写在代码里,实际情况这两个是交给后台的,这里先说明一下,具体遇到会再次说明。

首先声明APPID,这个APPID就是沙箱应用中得到的,秘钥部分应该是放在服务器后台的,这里仅仅作为学习测试,放在客户端,实际不能放这里~。
在onCreate里面添加一行。

UI界面就一个按钮,点击就开始支付。
按钮的点击事件调用:

这小段就是先确认appid和秘钥是否都有了。没啥说的

这个是设置订单签名和价签,在服务器端完成,我们看buildOrderParam方法。这个方法是构建订单参数列表,key-value形式添加,每个key什么意思,请看这里

runnable里面的orderInfo这个String类型字符串是从服务器端返回的订单信息,true表示在请求支付过程中会有progressBar显示好像~,建议设置true,异步调用!请求支付。

在handler中返回处理结果,这是同步返回,仅仅代表支付结束,实际还是需要根据服务器端返回的结果作为判断依据。

在上面的代码中,会用到Base64,xxxx2_0,PayResult,SgnUtils,都是从demo里面直接复制就好。

最后测试~:


哈哈哈~到这里就结束啦~可以看看我的csdn哦~更多精彩博客
网友评论