手把手教你怎么使用支付宝快捷支付android版demo
2014-12-15 20:33
225 查看
今天折腾了一下午的支付宝快捷支付的android集成,从官网上下载的demo直接跑是会报错的,犯了很多傻逼的错误,因此写个文章记录一下。
1.申请服务
首先你得申请支付宝的快捷支付的服务,这个我就不多说了,申请过程相当麻烦,我重新提交了好几次~~。这里有个误区,开通快捷支付是不需要去支付宝开放平台申请的,那边的是针对你的应用或者网站的一些服务的申请,如果你只要快捷支付,那那边的就不需要申请了。
2.下载开发资料
这个在支付宝的签约管理里面找找就能找到,里面会有一些技术文档和一些demo,外加一个用来生成公钥私钥各种钥的工具(等会儿要用)。
3.密钥生成与添加
点查看PID|Key,进去应该会让你输入你的支付密码,确认你的身份。进入之后应该能看到这些
PID和Key
合作者身份(PID)
XXXXXXXXXXXX 复制
合作伙伴密钥管理安全校验码(Key)
默认加密: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 复制 重新设置密钥
RSA加密: 添加密钥 | 查看支付宝公钥
DSA加密: 添加密钥 | 查看支付宝公钥
(卧槽,csdn的编辑器这么吊,我从网页上复制内容过来粘贴,直接把网页样式也放进来了,吊吊吊)
好了,这边的先放着,咱们掏出我们刚才下载的开发资料,找到里面的DEMO--->openssl。把里面的“生成命令.txt”打开,里面有三个命令,打开之后放在一边。然后再打开bin文件夹,运行openssl.exe,打开就知道,黑底白字的框框,它在等你用一行行命令来满足它。那行,先用genrsa
-out rsa_private_key.pem 1024
来试试,“嗯”,你会发现你的bin文件夹下多了一个rsa_private_key.pem文件再来一发:openssl>rsa
-in rsa_private_key.pem -pubout -out rsa_public_key.pem
“啊”,你会发现你bin文件夹下多了一个rsa_public_key.pem文件最后把最长最有力的弄进去:pkcs8
-topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
"yamaidai!",你会发现他出来的是一大堆东西,而不是文件,是什么什么begin,中间一大堆东西,最后什么什么end只要把中间那段复制一下就行了,随便写一个txt文件,暂时就叫做”博主真帅.txt“吧,保存下来。生成的两个文件都可以用记事本打开,里面的内容都跟你刚才在命令行里拉出来的差不多。然后到刚才让你打开的那个支付宝的界面上,点击
”合作伙伴密钥管理”中的“添加密钥“,会出现一个框, 把你的rsa_public_key.pem中去掉-----BEGIN PUBLIC KEY-----
和
-----END PUBLIC KEY-----中间的部分(记住哦,不要有换行哦,不然马云是不要你的key的)粘贴到浏览器弹出的框中,提交就行,如果出现格式错误提示的话看看换行是不是去掉了,或者你复制的不是rsa_public_key.pem里面的,看看清楚吧。好了剩下的就是去android
demo里面操作。5.android
demo参数设置
把你的”DEMO\客户端demo\alipay_demo“导入到你的一克立普斯里面,打开src,里面应该有5个.Java文件。本屌天真的以为demo拿来都能跑的,跑了之后才发现自己太2了,点击支付后被爆(报)错了。想想就知道前面生成的key文件肯定要用的。打开PayDemoActivity.java,把你的刚才从命令行里面复制下来的一大串字符串贴到RSA_PRIVATE后面,同样,不要换行,其他的参数也对应填写。原来是:public
static final String PARTNER = "";
public static final String SELLER = "";
public static final String RSA_PRIVATE = "";
public static final String RSA_PUBLIC = "";
现在是:public
static final String PARTNER = "25465561516555";//去刚才上传密钥那个网页找”合作者身份(PID)“,复制就行
public static final String SELLER = "XXXXXXXXXX@XXXX.XXX";//收款人的账号,就填申请了个服务的支付宝账号就
//行public
static final String RSA_PRIVATE = "XXXXXXXXXXXXXXX....(博主真帅.txt中的那串码,不要换行哦)";
public
static final String RSA_PUBLIC = "";//这个本吊暂时没用到,所以没填
填完,ctrl
+ s,run一下,运气好的话,你就能支付成功了。but,本吊就是这么点儿背,偏偏报错,跟踪错误,不出意外的话你会到SignUtils.java里面,这一行:KeyFactory
keyf = KeyFactory.getInstance(ALGORITHM);
通过找网上一些文章,找到了解决办法,把上面那行改成:KeyFactory
keyf = KeyFactory.getInstance(ALGORITHM,"BC");//就在后面加一个”BC“参数
效果就是这么神奇,支付成功了,本吊的0.01元缓缓流入公司账户,为公司的财政收入做出巨大贡献,我的眼里泛起了泪花,既心疼又开心。事后高兴的跟老板要了一张报销单,把我的0.01元报销了。本吊还在继续学习中,有要交流的可以再评论去大喊三声博主好帅,我立马回出现在你面前。
1.申请服务
首先你得申请支付宝的快捷支付的服务,这个我就不多说了,申请过程相当麻烦,我重新提交了好几次~~。这里有个误区,开通快捷支付是不需要去支付宝开放平台申请的,那边的是针对你的应用或者网站的一些服务的申请,如果你只要快捷支付,那那边的就不需要申请了。
2.下载开发资料
这个在支付宝的签约管理里面找找就能找到,里面会有一些技术文档和一些demo,外加一个用来生成公钥私钥各种钥的工具(等会儿要用)。
3.密钥生成与添加
点查看PID|Key,进去应该会让你输入你的支付密码,确认你的身份。进入之后应该能看到这些
PID和Key
合作者身份(PID)
XXXXXXXXXXXX 复制
合作伙伴密钥管理安全校验码(Key)
默认加密: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 复制 重新设置密钥
RSA加密: 添加密钥 | 查看支付宝公钥
DSA加密: 添加密钥 | 查看支付宝公钥
(卧槽,csdn的编辑器这么吊,我从网页上复制内容过来粘贴,直接把网页样式也放进来了,吊吊吊)
好了,这边的先放着,咱们掏出我们刚才下载的开发资料,找到里面的DEMO--->openssl。把里面的“生成命令.txt”打开,里面有三个命令,打开之后放在一边。然后再打开bin文件夹,运行openssl.exe,打开就知道,黑底白字的框框,它在等你用一行行命令来满足它。那行,先用genrsa
-out rsa_private_key.pem 1024
来试试,“嗯”,你会发现你的bin文件夹下多了一个rsa_private_key.pem文件再来一发:openssl>rsa
-in rsa_private_key.pem -pubout -out rsa_public_key.pem
“啊”,你会发现你bin文件夹下多了一个rsa_public_key.pem文件最后把最长最有力的弄进去:pkcs8
-topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
"yamaidai!",你会发现他出来的是一大堆东西,而不是文件,是什么什么begin,中间一大堆东西,最后什么什么end只要把中间那段复制一下就行了,随便写一个txt文件,暂时就叫做”博主真帅.txt“吧,保存下来。生成的两个文件都可以用记事本打开,里面的内容都跟你刚才在命令行里拉出来的差不多。然后到刚才让你打开的那个支付宝的界面上,点击
”合作伙伴密钥管理”中的“添加密钥“,会出现一个框, 把你的rsa_public_key.pem中去掉-----BEGIN PUBLIC KEY-----
和
-----END PUBLIC KEY-----中间的部分(记住哦,不要有换行哦,不然马云是不要你的key的)粘贴到浏览器弹出的框中,提交就行,如果出现格式错误提示的话看看换行是不是去掉了,或者你复制的不是rsa_public_key.pem里面的,看看清楚吧。好了剩下的就是去android
demo里面操作。5.android
demo参数设置
把你的”DEMO\客户端demo\alipay_demo“导入到你的一克立普斯里面,打开src,里面应该有5个.Java文件。本屌天真的以为demo拿来都能跑的,跑了之后才发现自己太2了,点击支付后被爆(报)错了。想想就知道前面生成的key文件肯定要用的。打开PayDemoActivity.java,把你的刚才从命令行里面复制下来的一大串字符串贴到RSA_PRIVATE后面,同样,不要换行,其他的参数也对应填写。原来是:public
static final String PARTNER = "";
public static final String SELLER = "";
public static final String RSA_PRIVATE = "";
public static final String RSA_PUBLIC = "";
现在是:public
static final String PARTNER = "25465561516555";//去刚才上传密钥那个网页找”合作者身份(PID)“,复制就行
public static final String SELLER = "XXXXXXXXXX@XXXX.XXX";//收款人的账号,就填申请了个服务的支付宝账号就
//行public
static final String RSA_PRIVATE = "XXXXXXXXXXXXXXX....(博主真帅.txt中的那串码,不要换行哦)";
public
static final String RSA_PUBLIC = "";//这个本吊暂时没用到,所以没填
填完,ctrl
+ s,run一下,运气好的话,你就能支付成功了。but,本吊就是这么点儿背,偏偏报错,跟踪错误,不出意外的话你会到SignUtils.java里面,这一行:KeyFactory
keyf = KeyFactory.getInstance(ALGORITHM);
通过找网上一些文章,找到了解决办法,把上面那行改成:KeyFactory
keyf = KeyFactory.getInstance(ALGORITHM,"BC");//就在后面加一个”BC“参数
效果就是这么神奇,支付成功了,本吊的0.01元缓缓流入公司账户,为公司的财政收入做出巨大贡献,我的眼里泛起了泪花,既心疼又开心。事后高兴的跟老板要了一张报销单,把我的0.01元报销了。本吊还在继续学习中,有要交流的可以再评论去大喊三声博主好帅,我立马回出现在你面前。
相关文章推荐
- android 支付宝快捷支付demo
- android学习小结5-各种控件使用方式DEMO
- android同一个程序中使用多个地图出现混乱怎么办?!
- 支付宝Android客户端使用笔记(一)
- android bitmap 怎么使用缓存?
- Android Dialog的使用例子Demo
- APIDemo学习笔记——Android上几种简单的Animation使用方法(二)
- android genymotion模拟器怎么使用以及和google提供的模拟器性能对比
- Android自动化工具Monkeyrunner使用(六) —— Eclipse + Jython demo
- 一个简单的demo学习Android远程Service(AIDL的使用)
- Android 使用腾讯微博SSO授权基于腾讯demo的修改
- android同一个程序中使用多个地图出现混乱怎么办?!
- android同一个程序中使用多个地图出现混乱怎么办?!
- android中的View.OnClickListener 怎么使用?我的2.3.3的模拟器不能运行啊?
- android开发支付宝快捷支付接口让我郁闷了一天的两个点。
- android学习小结3-各种控件使用方式DEMO
- android里面怎么使用mina框架与mina服务器连接之传对象
- Android 数据库SQLite的使用简单Demo
- elipse下怎么使用离线安卓(Android)ADT
- Android 使用bundle在activity之间交换数据 DEMO (填写注册信息实例)