浅谈虚拟货币体系产品架构设计

任何具有虚拟货币交易商业模型的项目。都存在“用户充值”“用户消费”“服务利润结算”等一系列流程。财务部门有“成本概算”“资金监控”等需求。以下就简单的分享一个最近设计的虚拟货币体系。

先来一张图

这张图简要的描述了 货币的 生产、转移、核销的流程

流程说明:

1、系统中的货币,是由系统专户“生产发行”出来。具有相应权限的业务系统拥有“操作”系统专户“生产发行”货币的权限。

2、根据具体业务请求将“系统专户”中的货币,转账到指定的账户中。

3、用户购买开发者业务提供的服务时,业务系统通过“支付系统”实现“个人账户”、“系统收入账户”、“开发者业务账户”之间的货币清分。

4、账户的“提现”操作,实现相应货币的核销。

举例描述的支付系统与外部,之间的关系

示例图说明

用户在业务系统中进行充值时,实际上是先请求支付系统生产货币、再请求转账接口将生产的货币划转到指定的账户。进行充值的业务系统,会产生相关的记录。同时支付系统中也会产生对映的流水记录。

用户在商城类型的业务中进行交易,实际上是通过支付接口,将用户个人账户的货币换转到“商城业务”开发者的账户上。

提现操作,是通过货币核销接口对系统中的货币进行核销操作。

在这种结构下,所有的资金流水,在外部业务方系统和支付系统均有各自的流水记录。方便财务人员随时对账。

资金生产接口


描述做储值的业务系统如何请求支付系统为“生产发行”货币。

当用户通过支付宝进行账户充值的时候,负责处理充值业务的系统,在确认支付宝支付成功以后,首先需要请求“系统专户”生产相应的虚拟货币。

有人会问,为什么储值这个操作会归纳到业务系统中,而不是支付系统中呢?

这是因为,在实际运营需求中,储值这个环节,可能会“叠加”许多运营需求。例如储值XX送XXX红包,送XXX优惠券,送XXX积分。不同等级或不同身份的会员,在储值时,会有不同的促销规则。那么这一系列多样化的运营需求,势必牵涉到很多系统。支付体系属于一个项目的基础系统。不应该也不能经常进行改动。因此,需要将储值这个操作环节认定为业务系统。

支付接口


描述业务系统如何请求支付系统完成订单的支付

流程描述

1、开发者业务发起交易请求

2、开放平台验证业务对此操作的权限,验证通过后,将OpenID转为UserID,向支付系统传递请求。

3、支付系统收到请求后,创建“待确认执行订单”。

4、支付系统将“交易号”回传给业务。

5、业务唤起客户端的验证流程。提交的字段包含:“交易号”。客户端获取到交易金额。

6、客户端将用户输入的交易密码提交给支付系统

7、支付系统将密码验证的相关信息提交给麦卡用户系统验证

8、验证通过后,支付系统开始执行操作

9、扣减用户账户上的资金,返回扣减成功后

10、增加“开发者业务账户”的资金,返回增加成功后

11、支付系统将执行结果回传“客户端”和“业务系统”

结束  -  欢迎讨论

你可能感兴趣的:(浅谈虚拟货币体系产品架构设计)