【好东西】android 手机集成支付宝 开发分享
2013-10-17 17:31
190 查看
在Android开发过程中,分享和交流是很重要的环节,在eoeAndroid开发社区每天活跃很多Android开发者,提问,交流,解答,共享!Android论坛-安卓开发论坛-android开发 http://www.eoeandroid.com/ 推荐访问Android开发论坛和更多开发者交流共享,互相学习进步!
手机的在线支付,被认为是2012年最看好的功能,我个人认为这也是移动互联网较传统互联网将会大放光彩的一个功能。
人人有手机,人人携带手机,花钱买东西,不再需要取钱付现,不再需要回家上网银,想买什么,扫描一下,或者搜索一下,然后下单,不找零,直接送到你家,这将是手机支付给我们带来的全新交易体验。
谷歌刚推出了谷歌钱包,这必是我们后面要使用的主要手段,但是鉴于当前国情,我觉得有必要介绍一下android手机集成支付宝功能。
1.下载官方架包和说明文档
其实官方已经提供了安装指南,下载地址:
https://mobiless.alipay.com/product/product_down_load.htm?code=SECURITY_PAY
里面有有个pdf,详细说明了说用指南,写的比较详细,可以重点参考。
下载下来,我们主要是用到Android(20120104)目录下的alipay_plugin.jar和AppDemo/assets下的alipay_plugin223_0309.apk,这两个文件是我们不能修改的支付宝api和安装包。
2. 商户签约
现在的安全机制,都是这样,客户端需要先和服务端请求验证后才能进行进一步操作,oauth也是如此。
打开https://ms.alipay.com/,登陆支付宝,点击签约入口,选择"应用类产品",填写并等待审核,获取商户ID和账户ID。
签约的时候还要向需要提供实名认证和上传应用,所以我建议先把应用做好了,最后再集成支付宝。
我大概等了1-2天审核,审核是失败的,回复是应用类型啥的应该是"虚拟货币",我改成那个马上自动就审核通过了。
3.密钥配置
解压openssl-0.9.8k_WIN32(RSA密钥生成工具).zip,打开cmd,命令行进入openssl-0.9.8k_WIN32(RSA密钥生成工具)\bin目录下,
(1).执行
?
(2).再执行
?
(3).在执行
?
打开rsa_public_key.pem,即商户的公钥,复制到一个新的TXT中,删除文件头”-----BEGIN PUBLIC KEY-----“与文件尾”-----END PUBLIC KEY-----“还有空格、换行,变成一行字符串并保存该 TXT 文件,然后在网站的“我的商家服务”切换卡下的右边点击“密钥管理”,然后有个"上传商户公钥(RSA)"项,选择上传刚才的TXT文件.
好了,服务器配置OK,因为这一段之前没有截图,现在弄好了又不好截图,如果有不明白的地方请大家参考官方文档。
4.引用jar和包含安装包
(1).新建android工程;
(2).copy上面说的alipay_plugin.jar到工程的libs目录下,并在java build path中通过Add External JARs找到并引用该jar;
(3).copy上面说的alipay_plugin223_0309.apk安装包到assets目录下,后面配置路径用到。
如果libs和assets目录没有,手动建立者两个目录。
5.调用代码整理
这里我们要严重的参考文档中AppDemo,我们建一个包com.tianxia.lib.baseworld.alipay,把AppDemo的com.alipay.android.appDemo4包下的源码全部copy到刚才我们自己的包下,还有res目录下的资源文件也合并到我们工程res下。
其中AlixDemo.java,ProductListAdapter.java,Products.java是示例类,我们借鉴完后可以删除。
PartnerConfig.java是配置类,配置商户的一些配置参数。
其他的类是严重参考类,直接留下使用。
PartnerConfig.java代码如下
6.提取核心调用代码
在AlixDemo.java同目录下新建AlixPay.java,来提取AlixDemo.java的核心代码:
?
?
这说明已经配置成功了。
然后可以删掉那些示例java文件了: AlixDemo.java,ProductListAdapter.java,Products.java。
你也可以通过调整参数来修改订单信息,如主题,价格等。
另外在BaseHelper的94行:
?
?
我在测试的时候,调用的activity是框在一个ActivityGroup里的(与tabhost类似,据说tabhost也有这个问题),导致MobileSecurePayer.java的pay方法中调用服务的两行代码:
?
?
8.小结
支付宝的集成比我想象的要复杂一些,比较麻烦,首先需要审核,然后代码需要提取,所以写出来与大家分享。
在做集成配置的时候,一定要仔细认真,一个地方出错,可能要导致后面查错查很长时间。
因为本人是先集成成功后才写的这篇文章,难免会漏掉一些重要的细节或者步骤,如有不对,请留言指正。
在Android开发过程中,分享和交流是很重要的环节,在eoeAndroid开发社区每天活跃很多Android开发者,提问,交流,解答,共享!Android论坛-安卓开发论坛-android开发 http://www.eoeandroid.com/ 推荐访问Android开发论坛和更多开发者交流共享,互相学习进步!
相关文章推荐
- Android移动开发-在Android应用里集成QQ分享的实现
- Android开发支付集成——支付宝集成
- 关于Android在线支付Alipay(支付宝)开发的经验分享
- android开发如何集成支付宝sdk
- android开发之支付宝集成教程
- React Native 集成分享第三方登录功能分享第三方登录模块开发(Android)
- Android开发之手机拍照功能的实现(源代码分享)
- android应用开发_通过手机QQ分享到空间出现分享错误的无奈原因
- 关于Android在线支付Alipay(支付宝)开发的经验分享,androidalipay
- React Native 集成分享第三方登录功能分享第三方登录模块开发(Android)
- 关于Android在线支付Alipay(支付宝)开发的经验分享
- Android开发 APP集成QQ、微信和微博分享
- Eclipse集成开发环境如何与android手机连接的一个解决办法
- React Native 集成分享第三方登录功能分享第三方登录模块开发(Android)
- Android开发——集成友盟社会化分享遇到的坑(一)
- android开发学习-日常用到的好东西-常用技巧分享
- android手机游戏开发Cocos2d-x开发分享
- 关于Android在线支付Alipay(支付宝)开发的经验分享
- Android开发之手机拍照功能的实现(源代码分享)
- 为Unity开发的android手机游戏添加一个社会化分享功能