黑马程序员技术交流社区

标题: 【连载】懂Android移动支付(支付宝),副本技能加成 提升身... [打印本页]

作者: Android_Robot    时间: 2016-6-1 14:18
标题: 【连载】懂Android移动支付(支付宝),副本技能加成 提升身...
本帖最后由 Android_Robot 于 2016-6-1 15:35 编辑

【连载】懂Android移动支付,技能加成 提升身价Level

   
       做过支付功能的Android开发者都知道,在接入第三方支付时,步骤相当繁琐,而且需有商家账号方可测试,对于个人开发者来说,很难做到,在本篇中介绍了的第三方支付开发,集成了支付宝银联微信支付功能,而且使用起来相当方便,是开发者的福音,懂了Android移动支付,技能必将再加成,提升身价Level,面试2K

   
第一篇:【游戏规则】移动支付怎么玩
            
      移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能。包括远程支付(网上支付、短信支付),近场支付(刷卡、滴卡、pos机)。
移动支付方式:
     我们将主要学习支付宝支付、微信支付和银联支付

·支付流程
  
上面流程是现实生活中的支付流程,步骤细化后如下:
1.     浏览商品
2.     把要买的商品加入购物车
3.     把商品拿到收银台,收银人员处理商品信息
4.     告诉收银员支付方式
5.     选择支付方式进行支付
6.     处理支付结果(成功、失败、取消)


程序中的支付流程中:
1.     浏览商品
2.     把要买的商品加入购物车
3.     把购物车中的商品信息和用户信息和支付方式等信息发送到自己服务器,服务器处理商品信息生成订单,并返回”支付串”给客户端
4.     客户端拿着“支付串”,调用第三方服务(支付宝、微信、银联等)完成支付
5.     处理支付结果(成功、失败、取消)
              l  同步返回:支付后通知我们自己的apk
              l  异步通知:支付后通知我们的server
  
第二篇 :【技能修炼一】——支付宝


(1)支付宝支付流程


(2)到支付宝放平台下载开发包
(3)导入支付宝Demo,并运行,提示如下:

(4)这需要公司去申请支付宝商家账号,申请成功后即可获得partnerId(合作者id),这个直接问公司要就行了。
(5) 密钥的获取,参照支付宝开发包中的openssl目录下“生成命令.txt”生成,生成我们自己的公钥和私钥,把我们的公钥提交到支付宝,支付宝再给我们返回支付宝的公钥。这一步需要先有支付宝商家账号,一般来说大家去了公司直接问公司领导要就行了。
在Demo中的PayDemoActivity中配置好支付宝商家账号与各种密钥,如下:


        由于这些比较隐私,所以这里就没有把账号密钥贴出来。
        把这几个都配置好之后运行Demo即可完成支付。效果如下:



       Demo可以完全支付了说明现在的Demo就已经完全配置好了支付宝的开发环境了,我们只需要参照这个Demo去配置我们自己的项目即可。
(6)创建一个Android项目,界面如下:

activity_main.xml如下:


MainActivity.java如下:

(9)  配置支付宝开发环境:
        a)     把支付宝Demo中的“alipaySdk-20160516.jar”复制到我们的项目中
        b)     把支付宝Demo中的清单文件中的权限复制到我们的项目中
        c)     把支付宝Demo中的清单文件中声明的支付相关的Activity声明复制到我们的项目中

(10)查看支付宝Demo中的支付方法,用到我们的Demo中,如下:



(11)订单数据的生成和数据的签名都会放到服务器上来完成,这样安全性比较高,所以payInfo要从服务器中获取,这里使用Volley开源工具来发送网络请求,如下:


(12)运行项目,完成支付。并查看打印的Log,从服务器获取的支付信息如下:
提交给支付宝支付插件进行支付的数据:
  1. partner="2088221626451032"&seller_id="3393900637@qq.com"&out_trade_no="0525133339-1642"&subject="Iphone8"&body="好手机不多说"&total_fee="0.01"¬ify_url="http://notify.msp.hk/notify.htm"&service="mobile.securitypay.pay"&payment_type="1"&_input_charset="utf-8"&it_b_pay="30m"&return_url="m.alipay.com"&sign="crGQoAbmCuVa0GEIpH8GBZdHfXw%2BE5pUvoCcHlSJyUm9pZUcVpGLrQ3XHF4ZP8QL5uhntpeAjrBqsEAI18hvG8jOuiq6aYaxdpKkRX4DKAmLKmPbO0TiXVYLren%2BrNhwuBH8EvFQiXGfRCVXjxKBk9Z0YmgpeHExBZ%2Bhsgvr1tY%3D"&sign_type="RSA"
复制代码


这个数据里面包括商家收款账号、订单号、产品名称、产品价格、通知商家支付结果的后台地址、数据签名等等信息。
支付宝支付成功后返回给我们的支付结果数据:
  1. resultStatus={9000};memo={处理成功};result={partner="2088221626451032"&seller_id="3393900637@qq.com"&out_trade_no="0525133339-1642"&subject="Iphone8"&body="好手机不多说"&total_fee="0.01"¬ify_url="http://notify.msp.hk/notify.htm"&service="mobile.securitypay.pay"&payment_type="1"&_input_charset="utf-8"&it_b_pay="30m"&return_url="m.alipay.com"&success="true"&sign_type="RSA"&sign="JVIrthJVAywrB1u1P77FKPwTJIIGcLpeQ3U3QNwUJMO2vXgUk1VfJBAhuYiUbu5Ewz5ZglFyB/1eSmOH4W1A3F3JDjmuA2aeQrO3AChFkz1LupeWn5L+g72ZsSjiHV3BSjg75TcaybEw0r3fRFQr8jrl2kcLugE5PvBqv4vsDHE="}
复制代码

(13)检查支付结果,支付宝Demo的检查结果是使用了支付宝同步返回结果,真实开发查询我们自己服务器的结果。


支付宝技能升级完毕之后,请进入下一副本,升级银联微信支付高级技能
完整源码将在下一副本爆出”下载链接“宝贝,务必拾取
   
更多精华资源推荐:
【连载】二 :懂Android移动支付,技能加成 提升身价Level——银联支付
【Android】Java基础集合与泛型知识点梳理
Android开发之嵌入浏览器
[持续更新]2016最新Android视频教程+源码+技巧/经验+软件+面试

作者: cliangtime    时间: 2016-6-1 14:48
demo感觉很高大上的意思
作者: Android_Robot    时间: 2016-6-1 15:40
cliangtime 发表于 2016-6-1 14:48
demo感觉很高大上的意思

哈哈哈 是啊 高大上 想要完整demo源码就来捡呀
作者: vvvvvc    时间: 2016-6-1 23:09
强 无敌
作者: My_Android    时间: 2016-6-1 23:50
好66666的感觉
作者: Curvat    时间: 2016-6-2 21:12
谢谢分享啦
作者: haojingwei310    时间: 2016-6-2 23:09
是啊 高大上 想要完整demo源码就来捡呀
作者: 2457740857    时间: 2016-6-2 23:43
看不懂。。。。
作者: xuemingqiang    时间: 2016-6-3 22:11
666666666666666666666666666666666666666666666
作者: huhemingtiancai    时间: 2016-6-3 23:38
#在这里快速回复#1000一起加油
作者: sunchanglt    时间: 2016-6-4 00:37
6666666666666
作者: 戎马生涯    时间: 2016-6-5 21:40
感谢分享!!!高端大气上档次呀~~~
作者: 汉强    时间: 2016-6-6 09:44
感谢黑马  来转转
作者: 新晋猿工    时间: 2016-6-6 10:18
六一支付宝那个“宝宝”是怎么做的?

作者: songbing    时间: 2016-6-6 17:01
学习loading......
作者: songbing    时间: 2016-6-6 17:04
坚持啊 !
作者: wenge1215    时间: 2016-6-6 18:23
好好学习,天天向上!
作者: laputa    时间: 2016-6-6 19:37
专业大神
作者: kongdun1991    时间: 2016-6-6 19:45
每天进步一点点
作者: 729685305    时间: 2016-6-6 20:04
好好学习, 大家共勉啊
作者: chaos1234    时间: 2016-6-6 20:11
好好学习,天天向上
作者: zxjuzhu    时间: 2016-6-6 20:31
努力学习中!
作者: mz585858    时间: 2016-6-6 20:48
好好学习 好好努力
作者: 云袭    时间: 2016-6-6 20:50
端午节快乐
作者: 不忘初❤    时间: 2016-6-6 20:58
努力奋斗,挺进黑马!!!!
作者: wsl123456    时间: 2016-6-6 21:02
坚持!!!!
作者: chengxiankun    时间: 2016-6-6 21:28
坚持,梦想一定会实现的
作者: ylw787442926    时间: 2016-6-6 21:29
不忘初心
作者: 刘旭日东升    时间: 2016-6-6 21:42
不忘初心,努力奋斗
作者: 蓝色风信子    时间: 2016-6-6 21:50
l撸代码到深夜
作者: 目前是菜鸟    时间: 2016-6-6 21:58
very nice very nice
作者: HuaMuLan    时间: 2016-6-6 22:02
加油加油加油!
作者: a499543100    时间: 2016-6-6 22:03
好深奥的赶脚
作者: 丿阿佐丶    时间: 2016-6-6 22:31
厉害////////////
作者: java小白怕不    时间: 2016-6-6 22:41
加油!  努力 在黑马!
作者: 卓越漫步者    时间: 2016-6-6 22:49
好历害,黑马的精英!
作者: 黑桃皇牌    时间: 2016-6-6 22:50
加油!!!!!
作者: tianzhu2725    时间: 2016-6-6 22:51
集合学完了  坚持  加油
作者: shenzhinishimen    时间: 2016-6-6 23:01
加油!!!加油!!!加油!!!
作者: 恐高的鸟    时间: 2016-6-6 23:04
加油加油加油
作者: 奔跑的喜牛    时间: 2016-6-6 23:20
加油加油加油加油加油加油
作者: 拉帮结派2011    时间: 2016-6-6 23:27
现在基础班 都有点吃力了  不过我会更加努力的
作者: demon凯    时间: 2016-6-6 23:48
加油 各位
作者: yesnowoshiqiang    时间: 2016-6-6 23:54
开开心心的近黑马,但是这后付费愁死了,真想早点做这些事情,可是老师竟然都不知道
作者: a2068604    时间: 2016-6-7 00:25
明天才开始学集合 难吗
作者: 善良的死神达乐    时间: 2016-6-7 00:31
集合我反正觉得很难.....
作者: java25    时间: 2016-6-7 08:48
集合,集合,哎不说了。
作者: songbing    时间: 2016-6-7 08:57
27天的课程终于结束了,谢谢所有帮助过我的人,我会记得你们的好的
作者: songbing    时间: 2016-6-7 09:00
明天又是新的一天
作者: 精彩    时间: 2016-6-7 09:08
加油加油
作者: shenzhinishimen    时间: 2016-6-13 20:15
已收藏  留着去就业班用
作者: ObjectGitHub    时间: 2016-8-28 18:45
赞!!!
作者: zhouyang1993    时间: 2016-8-29 12:47
看不懂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2