移动支付项目: SE模块
1 近场支付 (NFC apple pay 三星支付) 硬件 ----》 电信运营商 ----》 支付网关 (银联 master visi)
2 软件支付
|- 支付平台 (支付宝 微信 财付通 百度钱包 【易宝支付 汇付天下】。。)
|-- 银联接口
本次项目中 使用的支付平台 支付宝 微信
|- 银联
术语 支付宝 微信 统称 支付渠道
支付方式:
web支付
扫码支付 (client 通过商家提供的二维码 扫描之后 进行支付)
在网页中 微信只支持 扫描支付
移动支付(采用的方式)
明确:移动支付 绝不是转账。
1 直接通过APP发起支付 【微信 支付宝】
2 通过支付终端进行支付 (扫码 client ) 【微信 支付宝】
3 微信公众号支付 【微信 js】
移动支付的架构 (SOA 面向服务的架构 RPC通信 )
什么是RPC
ESB (Enterprise Service Bus) 企业服务总线
业务分析
业务梳理:
业务接口:
基于Dubbo暴露接口
1 预支付接口 参数:用户的标示 订单号:支付渠道(微信支付 支付宝) APPID 支付金额
先判断 用户的支付额度 是否小于 单笔支付上限
用户支付的ip地址 用户支付的mac地址
生成支付流水 插入 支付流水表
id
用户标示
订单号
金额
支付渠道
支付时间
支付结果
APPID
用户支付IP地址 -----> 风险控制
支付的Mac地址
调用微信的预支付接口:url 组织微信需要的参数 详见上图 (HttpClient)
接受返回值 prepay_id 生成sign 返回给APP
2 回调接口 url
1 如果结果正常:
修改支付流水的状态。
订单系统的接口 更新订单状态【马上】 RPC (dubbo)
调用会员中心的接口 【计算会员积分 会员等级】----> MQ(存储) MessageQunen(消息队列) 实时性要求 低
调用财务系统接口
应收接口 (MQ)
3 与财务的实时性对账接口
运营系统