移动支付
移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能.远程支付(网上支付,短信支付),近场支付(刷卡,滴卡,pos机)。
移动支付方式:
- 支付宝
- 微信
- 银联
- 百度钱包
- QQ钱包
- 财付通
- 京东支付
- 易宝支付
- 快钱支付
我们这里要学习的是支付宝支付、微信支付和银联支付。
支付流程
1、浏览商品,如下:
2、把商品加入购物车,如下:
3、把购物车中的商品拿到收银台结账 ,如下:
上面3张图是现实生活中的支付流程,步骤细化后如下:
1. 浏览商品
2. 把要买的商品加入购物车
3. 把商品拿到收银台,收银人员处理商品信息
4. 告诉收银员支付方式
5. 选择支付方式进行支付
6. 处理支付结果(成功、失败、取消)
程序中的支付流程中:
1. 浏览商品
2. 把要买的商品加入购物车
3. 把购物车中的商品信息和用户信息和支付方式等信息发送到自己服务器,服务器处理商品信息生成订单,并返回”支付串”给客户端
4. 客户端拿着“支付串”,调用第三方服务(支付宝、微信、银联等)完成支付
5. 处理支付结果(成功、失败、取消)
- 同步返回:支付后通知我们自己的apk
- 异步通知:支付后通知我们的server
支付宝支付
1. 支付宝支付流程
2. 到支付宝开放平台下载开发包
3. 导入支付宝Demo,并运行,提示如下:
这需要公司去申请支付宝商家账号,申请成功后即可获得partnerId(合作者id),这个直接问公司要就行了。
4. 密钥的获取
密钥的获取,参照支付宝开发包中的openssl目录下“生成命令.txt”生成,生成我们自己的公钥和私钥,把我们的公钥提交到支付宝,支付宝再给我们返回支付宝的公钥。这一步需要先有支付宝商家账号,一般来说大家去了公司直接问公司领导要就行了。
在Demo中的PayDemoActivity中配置好支付宝商家账号与各种密钥,如下:
(由于这些比较隐私,所以这里就没有把账号密钥贴出来)
把这几个都配置好之后运行Demo即可完成支付。效果如下:
Demo可以完全支付了说明现在的Demo就已经完全配置好了支付宝的开发环境了,我们只需要参照这个Demo去配置我们自己的项目即可。
6.创建一个Android项目
创建一个Android项目,界面如下:
activity_main.xml如下:
MainActivity.java如下:
7. 配置支付宝开发环境:
a) 把支付宝Demo中的“alipaySdk-20160516.jar”复制到我们的项目中;
b) 把支付宝Demo中的清单文件中的权限复制到我们的项目中;
c) 把支付宝Demo中的清单文件中声明的支付相关的Activity声明复制到我们的项目中;
8.查看支付宝Demo中的支付方法
查看支付宝Demo中的支付方法,用到我们的Demo中,如下:
9.订单数据的生成和数据的签名
订单数据的生成和数据的签名都会放到服务器上来完成,这样安全性比较高,所以payInfo要从服务器中获取,这里使用Volley开源工具来发送网络请求,如下:
10.运行项目,完成支付
运行项目,完成支付。并查看打印的Log,从服务器获取的支付信息如下:
提交给支付宝支付插件进行支付的数据:
这个数据里面包括商家收款账号、订单号、产品名称、产品价格、通知商家支付结果的后台地址、数据签名等等信息。
支付宝支付成功后返回给我们的支付结果数据:
11. 检查支付结果
检查支付结果,支付宝Demo的检查结果是使用了支付宝同步返回结果,真实开发查询我们自己服务器的结果。
标签:支付宝,Demo,如下,支付,服务器,Android,购物车 From: https://blog.51cto.com/u_8238263/6025582