一 快付通架构图:
1.1 快付通模块职责:
& 接受对业务系统的订单支付.充值请求
& 账户之间转账
& 接受业务系统的提现请求
& 接受业务系统的退款请求(对上面几种业务)
1.2支付网关职责:
负责和渠道(支付宝,微信,银联)交互,记录流水号,对账
1.3账户系统职责:
& 记录账户信息
& 保障账户变动原子性和事务性.
& 记录账户变动流水
二 主要流程图
1. 充值
2. 转账
2. 提现
三 实体设计
2.1账户系统 实体设计:
Account 账户信息.
Account_statement: 1.记录账户变动流水记录. 2.保存法幂等控制
2.2收银台系统实体设计:
trade_detail: 交易信息记录,例如 from账户,to账户,通过什么途径充值.
trade: 记录外部输入的外部流水号和内部流水号.
trade_record_flow_statement: 1.记录交易记录变更流水历史. 比如转账的退款总金额变更流水记录.2.保存法幂等控制
四 亮点功能
1. 转账的额度控制通过变量传递进来.
转账停留在中间环节的,重试逻辑. 单边帐
2. 帐户的变动和流水保存处于同一个事务中.
切记 spring 的事务注解 , 异常必须设置为 throwable
3. 提现:
先扣帐户款再提现.
银行有恶心的退票记录
4. 帐户的高并发变更设计:
高并发帐户不时时扣款.
时间: 2024-11-26 03:57:25