支付宝支付接入指南


新的一周开始了,祝大家清凉一夏,工作愉快!


本篇来自 xiong_it,他的上篇《微信支付接入指南》推出后,好多朋友希望能再来一篇支付宝指南,那么今天就为大家带来他的最新投稿,希望能帮助到那些有需要的朋友。


xiong_it 的博客地址:http://blog.csdn.net/Xiong_IT


前言


一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多家成熟的移动支付提供商,阿里就是其中之一。 


笔者在此总结了阿里旗下 支付宝Android SDK 支付的接入流程,供后来者参考。


接入流程如下:


签约成为支付宝商户


签约地址:

https://b.alipay.com


只有成为签约商户的开发者才能具备集成支付宝app支付的资格。


签约资料:

  1. 营业执照

  2. APP说明文档

  3. 商户经营信息、商户联系人等信息


必要时还需 提供APP 以备审核。审核通过后即可进行代码集成。


审核通过后,可得到支付宝分配的 商户号等信息


客户端代码集成准备


导入jar包资源


目前最新版支付宝开发jar包下载地址:

http://download.csdn.net/detail/xiong_it/9566771


下载后将之拷贝 libs目录Eclipse 会自动添加依赖,Android Studio 需在 app的gradle 中添加一行:


compile files('libs/alipaySdk-20160223.jar')


点击右上角:Sync Now,稍等片刻。。。


修改AndroidManifest.xml清单


声明必要Activity:




添加必要权限:




添加支付宝混淆规则




客户端代码集成


支付宝交互流程示意图 


流程图白话版解释:


  1. app携带支付信息调用支付接口请求支付宝客户端调起支付界面;

  2. 用户操作,输入密码支付,支付成功;直接返回取消支付;出现错误,支付失败;进入支付界面,但输入密码支付,支付待确认;

  3. 支付宝客户端将支付结果告诉app客户端,商户服务器通知app服务器支付结果;

  4. app客户端处理支付结果;

  5. app服务器处理支付结果。


支付宝的支付流程 较之 微信的支付流程图 少了一步app服务器端订单的生成,但是在其demo代码中是推荐使用app服务器进行sign签名过程的,于是笔者索性是按照的微信支付的流程去集成的。


  • 客户端代码得到用户购买的商品信息,将之传给自己公司app服务器,参数包含但不限于以下


    // 商品金额,单位:元
    params.put("money", payMoney);
    // 商品名称
    params.put("goodsname", goodsName);


    注意:支付宝支付的人民币单位和微信支付,银联支付稍有不同,需以:元 作为支付单位。其他两者支付单位为:分 。其他参数均交给咱们app服务器处理即可,详细参数请点击:

    https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103663&docType=1


  • app服务器参考上述详细参数链接,得到sign(支付签名信息)字段并返回sign字段给手机客户端;


  • 手机客户端使用sign签名信息在非UI线程调起支付客户端进行支付; 

    用户操作:输入密码进行支付;返回键取消支付;进入支付界面,用户未进行支付,用户返回,待支付;网络无连接支付失败等;


  • 客户端得到支付结果;


  • 支付宝服务器异步通知咱们公司app服务器支付结果(服务器的工作,与客户端无关)


这样做的好处:签名逻辑在服务器完成,app无需暴露公钥和私钥,更安全。同时也是demo中的推荐做法。


更详细的支付宝接入交互流程解释请点击:

https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.7WO30X&treeId=59&articleId=103658&docType=1


客户端代码示例


支付调起代码(须在子线程):




支付处理代码(UI线程):




注:AliPayResult.java 来自支付宝demo中的 PayResult.java 


至此,集成支付宝SDK结束。祝各位集成支付宝支付成功!


结束语


按照惯例,附上支付宝SDK接入的官方demo下载链接:

https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104509&docType=1




如果你有好的技术文章想和大家分享,欢迎向我的公众号投稿,投稿具体细节请在公众号主页点击“投稿”菜单查看。


欢迎长按下图 -> 识别图中二维码或者扫一扫关注我的公众号:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值