不同的场景如何设计交易系统核心功能:订单、充值、支付、账单明细

https://static.ffeeii.com/ffeeii.com/2021/05/交易系统基本功能.jpg

飞哥从事过电商行业,电商月交易额超过千万,金融行业月交易超亿,虽然行业有差异,跨度大,但设计思想,设计理念都是一样的。我将从简易或复杂的场景中,去寻找那个最优解,内容更多的偏向产品或业务。

场景:果电商平台A,出售当季水果苹果,用户使用微信支付

https://static.ffeeii.com/ffeeii.com/2021/05/方案1:订单.jpg

1、无用户账号充值需求,只设计**“订单功能”**,最简单的方案

Note: 先生成订单(),然后依据支付()修改订单状态 “下单时间”和“支付成功时间”必须单独记录;

简单且适用,如果公司系统不复杂,类似订单业务不是公司的核心系统,比如员工内部福利购买商品,单设计一个订单逻辑满足场景需求。

https://static.ffeeii.com/ffeeii.com/2021/05/方案2:充值、订单.jpg

2、根据调研,用户想要多种充值方式,公司决定为方便用户,用户可以充值到自己账号余额,接入渠道支付宝、银联,“充值功能” 派上用场

Note: “充值渠道”:微信支付、支付宝支付….; “充值渠道订单号”:记录微信、支付宝的订单号,非常有用; “手续费”:各充值渠道会扣取手续费,很多时候都是由平台自费,这样可以设计为0; “实际充值金额”:我们不能信任用户在充值输入的“充值金额”,必须以支付平台的回调数据为准,同时记录“充值成功时间”; 充值状态:充值中、充值成功、充值失败; “下单时间”与“充值成功时间”在运营逻辑上有很大的差异,比如统计昨日充值金额,就必须以“充值成功时间”为维度统计;

在方案2中,用户充值到账号余额里,使用余额支付生成订单,看起来越来越完善了,我们有了多充值渠道。

拓展1个问题?供应商是对公转账到公司账号,如何设计充值表?

可拓展“充值渠道”字段值:“线下转账”,根据业务情况设计1个转账逻辑,还是走充值流程。

https://static.ffeeii.com/ffeeii.com/2021/05/方案3:充值、订单、支付.jpg

3、随着业务发展,公司从卖水果行业,拓展到知识付费。业务部门强烈要求要有自己的订单系统后台用于课程管理,前台课程可以在线播放等。在不同业务体系下,“支付功能” 登场。

“订单功能”与“支付功能”有相似地方,字段差异不多。二者的区别在于,“订单功能”可以继续拓展为公司的业务流程,比如:物流发货、售后、评价体系,与业务关联。“支付功能”记录的信息更偏财务系统方向,并且有所有业务的支付明细。

https://static.ffeeii.com/ffeeii.com/2021/05/方案4:充值、订单、支付-、账单明细.jpg

4、在前三阶段,业务顺利开展后,财务部门对用户的对账需求提上日程。而清晰的**“账单明细功能”** 是必须的。

Note: “账单类型”:充值、支付、提现、退款、送券….; “关联账单ID”:充值ID、支付ID、提现ID、退款ID; ”金额变动“:金额可以正数,也可以是负数,比如充值是+N,提现是-N,并且当前“用户余额”随”金额变动“相应加减

有了**“账单明细功能”** 可拓展到提现、退款等场景需求。

总结:交易系统是IT系统基本的组成系统,其4个基本功能:充值、订单、支付、账单明细 ,设计好可拓展的基础功能架构是非常有必要的。比如充值渠道可以再增加第三方充值渠道。此文介绍中没有介绍提现、退款等需求,大家可根据业务情况拓展设计。