从去年开始,我们被支付宝、微信支付等所悄然影响,开启了不带人民币也可以到处吃喝玩乐购的支付新时代。于是,移动支付发展迅速起来,一点点改变着我们的消费习惯。

       支付习惯的改变,使得广大编程人员掌握移动支付的技术刻不容缓。很多编程爱好者都表示渴望学习移动支付的内容,无奈,网上虽有很多开源的代码,但并没有哪一个能够从头到尾把具体流程串联起来。现在大牛老师在这码字儿,决心写好整个支付流程发给大家,同时抛砖引玉,刺激码迷们去探索更深层次的知识。

       今天要写的是“移动支付”中的第一篇,总共有3篇,接下来的两周每周二奉上一篇。在第一篇里,我会普及一些概念,同时以支付宝支付为例,来试着让大家对于移动支付更有感觉一点。

       移动支付也称为手机支付,即用户使用移动设备,完成对所购买商品或者服务的支付功能。移动支付方式包括:支付宝、微信、银联、百度钱包、QQ钱包、财付通、京东支付、易宝支付、快钱支付。我们这里要学习的是支付宝支付。

一、支付流程对比。

现实生活中的支付流程包括:

1.浏览商品; 2.把商品加入购物车;3.把购物车中的商品拿到收银台结账 。

步骤细化后如下:

1.浏览商品; 2.把要买的商品加入购物车;3.把商品拿到收银台,收银人员处理商品信息; 4.告诉收银员支付方式; 5.选择支付方式进行支付; 6.处理支付结果(成功、失败、取消)。

程序中的支付流程为:

1.浏览商品;

2.把要买的商品加入购物车;

3.把购物车中的商品信息、用户信息和支付方式等信息发送到自己的服务器,服务器处理商品信息生成订单,并返回“支付串”给客户端;

4.客户端拿着“支付串”,调用第三方服务(支付宝、微信、银联等)完成支付;

5.处理支付结果(成功、失败、取消)。

   同步返回:支付后通知我们自己的apk

   异步通知:支付后通知我们的server

二、支付宝支付,分5个步骤。

1. 支付宝支付流程如下图所示:

 

2. 到支付宝开放平台下载开发包http://suo.im/r2a99

3.  导入支付宝Demo并运行,提示如下:

 

这需要公司去申请支付宝商家账号,申请成功后即可获得partnerId(合作者ID)。

4.  密钥的获取,参照支付宝开发包中的openssl目录下“生成命令.txt”生成,生成自己的公钥和私钥,把公钥提交到支付宝,支付宝再给我们返回支付宝的公钥。

5.在Demo中的PayDemoActivity中,配置好支付宝商家账号与各种密钥,如下:

 

把这几个都配置好之后,运行Demo,即可完成支付。效果如下:

 

Demo可以完全支付了,说明现在的Demo就已经完全配置好了支付宝的开发环境,我们只需要参照这个Demo去配置自己的项目即可。

6、创建一个andriod项目,界面如下:

 


到此为止,大家应该对于支付宝支付可以有一个全局性的了解了。下一篇开始,我们会开始来讲讲微信支付流程,以及要通过什么代码实现。
 

图片