您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
咱们聊聊对账系统该如何设计?
账单,数据,渠道咱们聊聊对账系统该如何设计?
发布时间:2020-12-06加入收藏来源:互联网点击:
由于交易记录是支付系统核心数据,有大量的应用,如信用、风控等,都需要交易记录数据。这些应用对交易记录的需求还不完全一致,为了提升性能, 交易记录会使用异步的方式来将数据投递给使用方。 交易记录在入库时,投递消息到消息系统中。使用方监听这个消息,一旦收到新消息,则从交易记录库中查询数据,获取数据并更新到库中。关于此类数据同步的文章不少,这里就不详细介绍。
轧帐
轧帐是按照客户订单号来比较本地交易记录和渠道交易记录是否一致。从算法角度,是计算两个数组的差异。在单机运行时,可以采用的算法不少,这里不详细介绍。 我们推荐采用mapreduce来轧帐,这有个优势,可以按照订单号将渠道提供的记录和本地记录shuffle到同一个reduce处理上,这样就可以很容易进行数据比对。 轧帐中最大的坑,莫过于切分点的问题。
比如以整0点为切分点,那存在一个问题,本地23:59发起的交易,到了渠道侧,可能会在00:01处理,这一笔交易变成第二天的帐了。实际处理中,一笔交易在渠道侧处理,花上几分钟都有可能。 对于切分点附近无法确认的帐,做一个时间窗,在时间窗内的数据,留待第二天对账时继续处理。
平帐
发现两边不一致的数据,那应该如何处理?数据量不大时,记录起来,人工甄别就行。但如果数据量很大,每天上千条,人工处理就成本太高了。这个没有统一的处理方法,需要根据有问题的数据,做个分析,然后做自动处理。 针对交易记录的对账的处理,主要有如下情况:
本地未支付,支付渠道已支付。这主要是本地未正确接收到渠道下发的异步通知导致。 一般处理是将本地状态修改为已支付,并做响应的后续处理,比如通知业务方等。
本地已支付,支付渠道已支付,但是金额不同,这个需要人工核查。
本地已支付,但是支付渠道中无记录;或者本地无记录,支付渠道有记录。在排除跨日因素外,这种情况非常少见,需要了解具体原因后做处理。
针对退款的对账处理,主要有如下情况:
本地未退款,支付渠道已退款,则以支付渠道为准,修改本地为已退款状态,并触发后续处理。
本地已退款、支付渠道已退款,但是金额不同,需要人工核查;
本地已退款,但是支付渠道无记录;或者支付渠道有记录,但是本地没有。 在排除跨日因素外, 这种情况非常少见,需要了解具体原因后做处理。
总之,对账工作,即复杂也不复杂。需要细心,对业务要有深入的了解,并选择合适的架构。
回答于 2019-09-11 08:43:50
对账系统设计主要分为以下四个模块:
渠道数据处理模块
数据处理模块
核对模块
差异数据处理模块
回答于 2019-09-11 08:43:50
天明哥从我们开店来说说,如何设计对账系统。大家都知道,你开的门店一但需要雇佣店长或者通过合伙来进行管理,就需要牵扯到对账。如果想省去对账的麻烦,可以在分配机制里进行设计,比如,按营业额的比例来分。
如果不按比例,按工资加绩效等方式来分的话,也是可以的。前提是都要对账 要保证你门店的货,资金对的上。
对于小店建议做一个日常日清统计表,把每天的产品流动,经营结果进行统计汇报,包装物料产品可以有容错区间限制。
当然,在收银环节也要没一块钱都要经过收银系统,禁止私自收钱。
回答于 2019-09-11 08:43:50
从我们开店来说说,如何设计对账系统。大家都知道,你开的门店一但需要雇佣店长或者通过合伙来进行管理,就需要牵扯到对账。如果想省去对账的麻烦,可以在分配机制里进行设计,比如,按营业额的比例来分。
如果不按比例,按工资加绩效等方式来分的话,也是可以的。前提是都要对账 要保证你门店的货,资金对的上。
对于小店建议做一个日常日清统计表,把每天的产品流动,经营结果进行统计汇报,包装物料产品可以有容错区间限制。
当然,在收银环节也要没一块钱都要经过收银系统,禁止私自收钱。
回答于 2019-09-11 08:43:50
你想针对哪一方面设计对账系统。
回答于 2019-09-11 08:43:50
作为职业工作人员必须做到,保留有效原始凭证,清晰计入每一笔账单去向
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |