支付的方式:远程支付(网上支付,短信支付),近程支付(刷卡,pos机),现在就是使用第三方集成的SDK,有微信支付,
支付宝支付,银联支付等.
支付聚合平台:ping++
支付的流程:选择商品,选择支付方式,处理支付结果:成功,失败,取消.
支付流程:1,拼接支付信息,post到自己的服务器;(也就是发送一个请求url,以post的方式,
post的数据以jsonstring的格式进行发送,因为支付的数据非常多,非常复杂.其实是有一个这样形式的协议的,叫做
订单确认模式)
2,服务器返回'支付串码'-->response,这个所谓的支付串码其实就是调用起第三方支付平台需要传递的
核心参数.
3,拿着支付串码,调用第三方服务,完成支付.
4,处理支付结果
1)同步返回:支付后通知我们自己的apk,
2)异步通知:支付后通知我们的server
误觉:当我们点击了支付按钮的时候,好像是调到了支付宝界面,其实并不是这样的
真正的流程是:点击了支付按钮-->post支付信息到服务器(Request请求)
成功-->跳到支付宝,银联,微信完成付款操作,同时告诉它们你的付款信息,而这个付款信息是后台response返回的
失败-->请求失败
post请求参数中参数的含义:
For example:goodInfos商品信息,代表你要买什么
payInfo支付信息,代表你支付的方式,选择的平台等等
userID谁去买
写Demo的话遇到了一些问题,没法写出DefaultHttpClient?所以后面好像我没法解决这个网络请求的问题.
按照Demo的写法的话,里面会用到post请求,添加头信息,添加支付信息,然后用网络请求把post发送出去得到Response响应
然后用Gson解析得到的Response,得到之后开始第三步操作,调用第三方服务
官方的Demo是运行不起来的,因为Keys里面是缺少一些东西的,这些东西包括:合作者ID,收款支付宝账号,商户私钥这些
所以,接入SDK之前,需要有前期准备,例如,商户签约,密钥配置这些
至于商户的私钥是需要自己生成的,其目的是把自己的公钥通过RSA加密算法,管理后台告诉第三方
集成支付宝,安装它的集成Demo,集成文档进行操作
1.核心插件jar包alipay.jar进行关联,资源Library工程alipay_lib放到当前libs下
2.修改Manifest清单文件
3.订单数据生成交给后台去拼接生成
4.接口调用,里面有个mHandler,这个mHandler的作用就是处理支付结果用的
5,支付结果和处理,也就是mHandler里面的处理方式.对官方的Demo进行一定的处理,把和Keys有关的删除掉
微信支付:运行注意,debug_keystore必须要用它的这个keystore进行签名,为什么要这样做?是因为安全码策略,与
百度地图中是一样的,它的作用是在微信本地后台唯一确定一个apk
微信支付集成的代码虽多,但是我们只需要关注文档中的第三部开始,调起微信支付,前面的一两步是需要服务器端
是实现的,但是在调用支付信息的时候因为要使用到后台的数据,微信官方的Demo又很复杂,我们又不需要,所以
我们可以自己定义一个实体bean去接受后台返回的数据,来替换官方Demo里面的第三步里面的方法.
官方第四步的操作,就是处理支付结果,它的这个处理的方法放在了WXPayEntryActivity这个类中的
银联支付:与支付宝支付的流程不相同的前1,2步其实就是支付的方式不一样.bankType
使用交易流水号就可以进行交易,但是一定要使用真机去进行调试
银联的处理方式是通过回调onActivityResult进行处理的
java pos机支付 pos机的支付流程
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
跟着图走,学支付:在线支付系统设计的图解教程
讲清楚支付系统是什么,主要解决什么问题,部分核心流程,以及一些后面会频繁使用到的术语。
支付平台 支付 图解支付系统设计与实现 支付概念 跨境支付系统 -
全开源源码-门店收银pos系统源码(零售+餐饮)
门店线下线上一体化收银系统源码
收银系统源码 零售收银系统源码 餐饮收银系统源码 全开源收银系统