支付系统简单设计

功能需求:

1.角色:用户,商家,第三方支付机构

2.用例:支付,扣款,付款,通知,对账

3.生命周期:账单流转状态,包括异常情况

非功能性:

1.资金安全

2.一致性/高可用

3.可拓展性

详细设计

整体架构图

前端 -----支付系统---第三方服务

                db

实体:用户表,商家表,订单表,支付表,审计表

生命周期:create-start-process -succcess

                                           fail

前端页面展示 SDK, 可信赖脚本,iframe token用户侧去加解密卡号,后端用token

第三方对账表发 过来进行对账

还可以引入风控系统,进行交易反欺诈识别

异常流程:超时处理(1.超时时间 2.间隔时间(随机+倍增),死信队列),callBack接口,主动查询

 幂等处理:幂等键,全球最终一致性幂等方案。

 状态机跳变:fail后,callback成功 1.fail前查,如果还在process不变更状态 2.引入监控打点,人工处理。

流数据库(回放对账),时序金融数据选型。

对接多渠道方,策略模式是必备的。不过PSP服务更加重要的是业务模式梳理,抽离自己的领域模型,形成自己的领域服务。将支付结果是同步还是异步,是否支持支付中撤销,是否支持退款,退款失败处理策略等可能因渠道不同有差异的能力做成配置,后续接入新的渠道只需要配置一下就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值