支付-手续费字段和手续费账户

133 阅读2分钟

背景

基于公司ys的工作使用来讲。

数据来源

手续费字段的值,从哪里来?

有两种情况,一种是内部计费,一种是外部计费。

内部计费

内部计费的意思是,交易系统计费。具体的话,是调用计费系统的计费接口计费。

外部计费

外部计费的意思是,直接来自入参。交易系统不需要计算,直接使用入参的值,因为别人已经计算好了。

虽然有外部计费,但是大部分情况,都是内部计费。

表字段

订单表和订单明细表冗余存储。核心字段,都会冗余存储。

有没有专门的手续费账户?

有。所以,记账的时候是:
1、收款方账户
2、收款方手续费账户

具体记账细节看下文。

收款方账户

入参,包含金额字段:
1、总金额
2、可提现
3、不可提现
收款方账户,是入账到不可提现字段。比如,收款1000,那么入账金额就是+1000。


注意,刚才的不可提现字段是入参,账户表真正记账的时候,肯定是:
1、总金额
加订单金额1000
2、可提现
3、不可提现
加订单金额1000

说白了,就是账户表的总金额和不可提现,这两个字段都要加1000。

入参-不可提现字段,只是标记加到账户表的不可提现字段。

收款方手续费账户

入参,包含金额字段:
1、总金额
手续费2块钱
2、可提现
3、不可提现


入参,包含金额字段,和上面一样。因为使用的是同一个入参类的不同对象。

但是,入账的金额字段不一样,手续费是入账到总金额字段。比如,手续费是2块钱,那么入账金额就是+2。

说白了,手续费账户,只是记录钱的加减。但是,主账户,是有不可提现和可提现之间的转换的,所以,一般情况下,都是先入账到不可提现字段,等清结算对账对科目对平之后,再把钱从不可提现字段加到可提现字段。


账户id

既然手续费是独立的账户,所以收款方手续费账户,也是独立的账户id。

也就是说,收款方有多个账户,当然也就有多个账户id。

流程图

支付

支付的时候,更新表字段

image.png

银联通知支付成功

支付成功之后,才记账

image.png