支付宝接口应用及错误整理

项目需要在客户端集成支付宝接口。就研究了一下:因为使用支付宝接口,就需要到支付宝官网:注册帐号,并申请。下面讲的是申请好之后的操作。登录成功之后, 店家我的商家服务—在页面的下方找到——>签约管理—>找打 移动支付—–>点击下载集成文档—>跳到新的页面,在页面下方—>找到下载开发包,下载移动支付即可。然后解压出来之后一般会得到三个文件夹。

这个时候要打开文件名为: 支付宝钱包支付接口开发包2.0标准版的文件。打开之后有一个Demo 文件。打开Demo文件。里面会有三个文件夹:第一个 openssl; 第二个 服务端 Demo,第三个 客户端demo. 这个时候,我们需要关心的是 openssl 文件与 客户端Demo 的文件。

在第三个Demo文件中有IOS版与Android 版的Demo.但是你要部署运行的时候,会发现不能运行成功。在项目主文件里面这样一段代码:

//商户PID

public static final String PARTNER = "";

//商户收款账号

public static final String SELLER = "";

//商户私钥,pkcs8格式

public static final String RSA_PRIVATE = "";

//支付宝公钥

public static final String RSA_PUBLIC = "";

因为这些,都是需要根据商户注册的信息来填写的。所以就算下下载了Demo,也没有用。下面讲的就是如何获取私钥与支付宝公钥。

还记得刚刚我们加压之后的openssl文件嘛?获取私钥与公钥的方法就在里面:

首先打开openssl文件:以下是文件打开顺序: openssl–>bin –> 双击 openssl.exe文件。这个时候会出现一个命令框:(首先要说明的是这个文件是在Windows系统下打开的)要是苹果系统好像不行.接着继续往下说:

打开命令框后:输入第一行命令 ,生成私钥,如下:

      genrsa -out rsa_private_key.pem 1024

按回车键,接着输入第二行命令,生成公钥:

     rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

按回车键,接着输入第三行命令,将RSA私钥转换成PKCS8格式

     pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

执行完这三行命令后,就生成了两个以:.pem 结尾的文件。这就是我们生成的公钥与私钥.文件位置就在: bin 目录下。当然我们打不开这两个文件。但是我们可以复制一份到桌面,改成Txt文件打开即可。因为我们需要的只是里面的字符串,记住当我们引用这两个长的字符串的时候,需要注意的是:字符串,不能包括,换行,空格,以及其他误加的字符。所以复制的时候一定要小心。

当然私钥就是我们需要的私钥了,如何获得支付宝公钥呢:回到支付宝首先,首先登录,

一: 点击“查看PID|KEY”,在新打开的页面(https://b.alipay.com/order/pidAndKey.htm ),可查看到签约支付宝账号、合作者身份ID(PID.

二:输入支付密码,查询key、支付宝公钥。

三:上传RSA公钥,在“合作伙伴密钥管理”下,点击“RSA加密”后的“添加密钥”,把自己的公钥复制进去。注意不能有空格,换

行之类的。
支付宝接口应用及错误整理_第1张图片
四:点击确认上传,若是提示上传成功。则就是成功。

这个时候就可查看支付宝公钥了。如图:

至此,将对应的私钥与公钥填到相应位置我们的Demo 就可一运行了。然后集成到项目中即可。就需要自己动手了。遇到问题,百度一下。希望给你带来用处。

期间项目报错
java.lang.RuntimeException: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
原因:
之前android的版本,只需要用RSA格式就行。android4.1.x之后必须要转化为pck8的格式。

还有一种解决方式:
PKCS8EncodedKeySpec privSpec = new PKCS8EncodedKeySpec(s_privateKeyIn1t);
KeyFactory keyFactory = KeyFactory.getInstance(“RSA”, “BC”); 加上“BC”。 测试了一下也可以。
PrivateKey privateKey = keyFactory.generatePrivate(privSpec);

转载:http://www.th7.cn/Program/Android/201311/160087.shtml
本文永久地址:http://blog.it985.com/12276.html

你可能感兴趣的:(Android功能实例)