支付宝支付公钥私钥等参数设置

来源:互联网 发布:javascript常用函数 编辑:程序博客网 时间:2024/06/05 23:52

前段时间集成了支付宝支付功能,集成很简单,但是参数设置走点弯路。记录一下,希望对大家有点帮助。

首先到支付宝开放平台下开发包资源,地址点击打开链接 找到移动支付功能下载。

解压后有demo里有openssl文件夹和安卓ios demo。集成很简单,把demo工程里的mainfest、几个类和相关布局复制过去就行。它的demo工程运行的时候会提示有几个参数是空的。

仔细看一下PayDemoActivity里有几个参数:

// 商户PIDpublic static final String PARTNER = "";// 商户收款账号public static final String SELLER = "";// 商户私钥,pkcs8格式public static final String RSA_PRIVATE = "";// 支付宝公钥public static final String RSA_PUBLIC = "";

收款号就是你的收款支付宝帐号。公钥私钥是自己生成的,下面来看生成过程。打开刚才的openssl文件夹,里面应该有个生成命令.txt,按照它的步骤就行,我贴一下。打开openssl->bin->openssl.exe文件,会有个命令行输入,按下面操作

RSA密钥生成命令
生成RSA私钥
openssl>genrsa -out rsa_private_key.pem 1024
生成RSA公钥
openssl>rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
将RSA私钥转换成PKCS8格式
openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

注意:“>”符号后面的才是需要输入的命令。


上面是它文档里写的,第一句的意思是生成私钥,执行后文件夹里会多多出rsa_private_key.pem文件;第二句是生成公钥,相应生成rsa_public_key.pem文件。这里把第三句后面加个 - out jiami.txt,修改后的命令就是openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out jiami.txt 目的是把转过格式的私钥输出到jiami.txt文件里,执行后文件夹会生成个jiami.txt文件,用的时候可以复制。pem文件可以用txt打开。用这三个文件里内容事去掉第一行和最后一行,不能包括,换行,空格,以及其他误加的字符,切记!

到这里公私钥就生成了,下面要把公钥上传到支付宝。点击“查看PID|KEY”,在新打开的页面(https://b.alipay.com/order/pidAndKey.htm ),可查看到签约支付宝账号、合作者身份ID。商户PID参数就是这个。

输入支付密码进去,然后上传RSA公钥,在“合作伙伴密钥管理”下,点击“RSA加密”后的“添加密钥”,把自己的公钥复制进去。注意不能有空格,换行等特殊字符。这里要注意下浏览器的问题,我就是这里被火狐坑了,一直提示我公钥格式不对,然后换成ie浏览器就可以了。如果碰到这种情况记得换浏览器试试。

上传成功后支付宝公钥参数就ok了。然后商户私钥参数,注意看注释pkcs8格式的,也就是我们第三部生成的jiami.txt里的东西。到这里就可以运行支付宝支付了。

0 0