Android 集成支付宝 SDK 教程:快速实现购物车功能

2024-07-30
来源:网络整理

公司最近准备在项目中添加购物车功能,说到购物车,支付宝是必须的,下面我们来讨论一下如何快速集成支付宝SDK。

支付宝SDK已更新至2.0版本,相较于上一版SDK,该SDK代码更加简洁,集成更加方便快捷。

摘要:准备工作

如果你是公司内部开发,可以让相关部门跟支付宝签约,申请卖家支付宝账号,审核可能需要3-5个工作日,审核通过后支付宝会邮件或者电话提醒,所以不用担心审核什么时候通过。

1:下载支付宝官方SDK

打开上面的链接,下载下面红线标注的SDK,不要下载错,下面是支付宝SDK支持的各种支付方式列表。

下载并解压后,会得到以下结构目录

打开移动支付接口SDK2.0标准版,在DEMO下找到客户端演示下的支付宝移动支付版本,解压后的目录结构如下

-sdk-里面包含了我们要用到的jar文件,也就是官方的demo(demo不能直接运行,需要自己重新配置一下)

2:在我们强大的里面创建一个新项目,然后在文件中添加如下授权

将上面-sdk-里面的三个jar文件复制到我们项目下的libs目录下之后,结构图如下

现在我们可以用代码来实现它

3:代码实现

这里我们直接使用官方的布局文件吧,(*^__^*)呵呵……

点击支付时我们会直接调用支付宝相关接口进行支付,点击查账时会检查当前环境中是否有可用的支付宝账户,可选。

上面贴出的代码是调用支付宝的核心代码,我们来依次看一下每个方法。

83 行

这个方法里有两个参数,这里需要解释一下,第一个是157行的合作伙伴身份ID(),这个参数是在支付宝账户审核通过后,登录支付宝点击PID/key获取的。

之后支付宝分配

如下图红色部分

第二个就是160行的卖家支付宝账号,这个没什么好多说的,就是我们申请的支付宝账号。

第三个是170行的服务端异步通知页面路径。首先我们用支付宝支付之后,支付宝会返回两个通知给我们。一个是同步的,就是我们点击支付之后支付宝直接反馈给我们客户端的信息。我们可以直接获取到,根据反馈的结果初步判断交易是否成功。第二个是服务端异步通知,这个异步通知是支付宝的服务端发送给我们服务端的信息,我们在客户端是无法直接获取到的。支付宝的服务端怎么知道我们服务端的路径呢?那就是这个参数的作用。我们给支付宝服务端一个路径,当订单状态发生变化的时候它就会给我们一个反馈给服务端,告诉服务端这笔交易的状态。 如果服务器判定交易成功,就必须返回一个给支付宝服务器,否则服务器会因为不知道交易是否完成而一直给我们异步通知(一般25小时内通知8次,频率为2m 10m 10m 1h 2h 6h 15h)。我们一般在收到异步通知的时候,才会更新订单的状态。

另一种方法是第 162 行,它生成唯一的订单号。

微信支付sdk_支付sdk_支付SDK包接入开发视频

说完了这个方法中的参数,我们再回到我们的支付方法中,在支付方法的第 84 行,我们可以看到

符号=符号();

那么这个 sign 方法起什么作用呢?我们来看看。

可以看到这个方法很简单,只有一行代码。这个是什么?这是支付宝SDK给我们提供的一个工具类,在官方的demo里可以找到,这里就不贴代码了。

我们可以看到这个方法里面有一个叫这个的东西,这个东西就是我们生成的商户的私钥,我们来看看怎么生成的。

我们解压下载的SDK之后,会看到DEMO文件下面有一个文件夹,打开其目录下的bin文件夹,运行.exe文件,如下图

输入“-out .pem 1024”命令,回车,当前bin文件目录下会多出一个.pem文件,该文件即为原始商户私钥(PHP开发语言中需要该文件,请妥善保存),以下是命令正确执行截图:

输入命令“rsa -in .pem - -out .pem”回车后,当前bin文件目录下会多出一个.pem文件,该文件即为原始商户公钥(PHP开发语言中需要该文件,请妥善保存)。以下是命令正确执行截图:

输入命令“- -PEM -in .pem-PEM-”并回车,生成编码后的私钥

右键单击窗口顶部边缘,选择“编辑→标记”,选择需要复制的文本

上面白色的部分就是我们上面提到的参数的值,注意值里面不能有换行符或者空格,必须一行完整的显示出来。

接下来很重要的一步就是上传商户公钥,我们需要上传上面生成的商户公钥。

上传地址需要登录

点击查看密钥,因为我已经上传到这里了,所以可以查看,

然后点击保存,我这里是修改的,然后点击查看支付宝公钥,这里的公钥就是我们程序里的

上面两句可以直接在 中声明。

支付main方法86行方法如下

点击检查账户,执行以下逻辑

然后我们定义一个来处理请求

好了,连接支付宝就到这里,还有什么不清楚的可以一起讨论(好累啊)

分享