android 手把手教你实现集成支付宝支付功能

本文详细介绍了在Android应用中集成支付宝支付的步骤,包括申请移动支付权限、配置阿里支付DEMO、设置PID、APPID等关键变量,以及代码实现支付流程的详细讲解。通过这篇文章,开发者可以快速理解并实现在自己的项目中集成支付宝支付功能。
摘要由CSDN通过智能技术生成

项目需要,需要在客户端集成支付宝接口。第一次集成,过程还是挺简单的,不过由于支付宝官方文档写的不够清晰,也是走了一些弯路,下面把过程写出来分享给大家。就研究了一下:因为使用支付宝接口,就需要到支付宝官网:注册帐号,并申请。下面讲的是申请好之后的操作。登录成功之后,   店家我的商家服务—在页面的下方找到——>签约管理—>找打 移动支付—–>点击下载集成文档—>跳到新的页面,在页面下方—>找到下载开发包,下载移动支付即可。然后解压出来之后一般会得到三个文件夹。


一、申请移动支付权限

首先登录【支付宝开放平台】http://open.alipay.com/platform/home.htm,添加应用,申请移动支付权限。申请开通支付,是需要公司文件的,个人是不允许开始支付的。
具体细节就不再详聊了,下面就讲讲如何将阿里给出的demo运行起来。

二、阿里支付DEMO

1、概述

(1)支付调用页面及测试

支付宝在调用时,会首先看本地是不是存在支付宝客户端,如果有的话,就直接调用客户端进行支付,如果没有,则调用jar包中的H5页面支付。
所以在测试时,需要有测试两种情境:有支付宝客户端和没有支付宝客户端的情况。

(2)、客户端与服务器
在demo中大家可以看到,有客户端的demo也有服务端的demo,大家可能觉得需要服务端写好之后,客户端才能集成,其实并不是。整个流程是这样的:
1,APP客户端通过SDK发送支付请求 (客户端处理)
2,SDK支付成功并同步返回支付结果(客户端处理)
3,支付宝服务器向我们的服务器发送支付结果字符串(服务端处理)
客户端:从上面的流程可以看出,服务端只是用来接出异步返回的支付结果的。而支付与同步结果返回都是在客户端可以直接看得到的。所以在集成支付宝支付接口时,主要功能是在客户端,即便服务端没有做集成,也是可能付款成功的。
服务端:服务端只需要添加一个功能:接口支付结果返回

下面几张图显示了整个demo的运行过程,由于没办法在真机上录制gif,所以只能用图片来代替了。
初始化界面:

点击支付后,跳出确认付款界面:


点击确认付款后,跳出输入密码界面:


最后是支付成功界面:


在看DEMO的代码之前,我们需要先配置几个变量:

2、配置几个变量

这部分会对代码中用到的几个变量的找到方法或生成方法进行讲述,部分资料引自支付宝开放平台。
(1)PID

合作者身份ID(PID)是商户与支付宝签约后,商户获得的支付宝商户唯一识别码。当商户把支付宝功能接入商户网站时会用到PID,以便让支付宝认证商户。
查看PID步骤如下:
1、登录支付宝官方网站b.alipay.com
2、点击导航栏中“商家服务”


3、点击“查询PID、Key”


(2)、APPID、APP SECRET和支付宝公钥
https://openhome.alipay.com/platform/createApp.htm 页面,创建一个应用


完成之后:在我的应用中是可以看得到的:


然后转到帐户基本信息页面:https://openhome.alipay.com/platform/keyManage.htm


在开放平台密钥栏,可以找到APPID,APP SECRET,和支付宝密钥
这三个数据,都是在应用创建后,支付宝为我们生成好的,无法更改!

(3)、生成商户私钥【windows生成方法】
(有关mac的生成方法,下面会再补充)
1、下载DEMO及SDK
到文档中心,查看移动支付对应的文档,文档地址:http://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1
然后,点击(SDK&DEMO下载)下载代码


2、得到原始私钥
在代码中的DEMO/openssl/bin目录下,有openssl.exe文件


打开openssl.exe
输入

[java]  view plain copy
  1. genrsa -out rsa_private_key.pem 1024  
得到生成成功的结果,如下图:

此时,我们可以在bin文件夹中看到一个文件名为rsa_private_key.pem的文件


用记事本方式打开它,可以看到-----BEGIN RSA PRIVATE KEY-----开头,-----END RSA PRIVATE KEY-----结尾的没有换行的字符串,这个就是原始的私钥。


但这段原始私钥代码中是用不到的,我们需要将它转化为PKCS8格式
3、转换为PKCS8格式
在openssl.exe中输入:并回车

[java]  view plain copy
  1. pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt  
得到生成功的结果,这个结果就是PKCS8格式的私钥,如下图:


注意,私钥是红框包括的那部分,是不包含BEGIN PRIVATE KEY和END PRIVATE KEY这两行的。

右键点击openssl窗口上边边缘,选择编辑→标记,选中要复制的文字(如上图),
此时继续右键点击openssl窗口上边边缘,选择编辑→复制,
把复制的内容粘土进一个新的记事本中,可随便命名,只要知道这个是PKCS8格式的私钥即可。

(4)、生成商户私钥【MAC生成方法】

这里来讲一下mac端如何生成用户私钥的,由于mac系统是自带openssl的,所以只需要打开终端,利用cd 命令切到任意一个想存放生成Key的文件夹下:
比如,切到下载目录下


然后运行下面的命令来生成私钥原始密钥

[java]  view plain copy
  1. openssl genrsa -out rsa_private_key.pem 1024  
然后运行下面的命令来生成转换的PCKS8格式的命令。
[java]  view plain copy
  1. openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt  
然后将生成的私钥复制保存起来。
从上面的命令可以看出,与windows相比,mac上需要在前面添加openssl指定运行的是openssl命令。其它命令是完全一致的。
(5)、生成用户公钥及网页填充
1、生成公钥
同样对于windows用户而言,直接在openssl.exe中输入下面的命令:
[java]  view plain copy
  1. rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem  
同样,如果是Mac的同学,输入的命令应该是如下:
[java]  view plain copy
  1. openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值