A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Android_Robot 于 2016-6-1 15:35 编辑

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

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

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

  • 支付宝
  • 微信
  • 银联
  • 百度钱包
  • QQ钱包
  • 财付通
  • 京东支付
  • 易宝支付
  • 快钱支付

     我们将主要学习支付宝支付、微信支付和银联支付

·支付流程
  
上面流程是现实生活中的支付流程,步骤细化后如下:
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的检查结果是使用了支付宝同步返回结果,真实开发查询我们自己服务器的结果。


支付宝技能升级完毕之后,请进入下一副本,升级银联微信支付高级技能
完整源码将在下一副本爆出”下载链接“宝贝,务必拾取
   
更多精华资源推荐:

52 个回复

倒序浏览
demo感觉很高大上的意思
回复 使用道具 举报
cliangtime 发表于 2016-6-1 14:48
demo感觉很高大上的意思

哈哈哈 是啊 高大上 想要完整demo源码就来捡呀
回复 使用道具 举报
强 无敌
回复 使用道具 举报
好66666的感觉
回复 使用道具 举报
谢谢分享啦
回复 使用道具 举报
是啊 高大上 想要完整demo源码就来捡呀
回复 使用道具 举报
看不懂。。。。
回复 使用道具 举报
666666666666666666666666666666666666666666666
回复 使用道具 举报
#在这里快速回复#1000一起加油
回复 使用道具 举报
6666666666666
回复 使用道具 举报
感谢分享!!!高端大气上档次呀~~~
回复 使用道具 举报
感谢黑马  来转转
回复 使用道具 举报
六一支付宝那个“宝宝”是怎么做的?
回复 使用道具 举报
学习loading......
回复 使用道具 举报
坚持啊 !
回复 使用道具 举报
好好学习,天天向上!
回复 使用道具 举报
专业大神
回复 使用道具 举报
每天进步一点点
回复 使用道具 举报
好好学习, 大家共勉啊
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马