我们发现商家的小票和美团的订单信息之间有不少的差异,特别是优惠的明细展示以及优惠总额和应付总额之间存在差异;下面我们就来顺藤摸瓜,分析背后的玄机。
那么这一单外卖的商品有哪些呢,有4个(这里我们将配送服务看做商品):
这里我们要说一下美团会员,这是美团推出的一个会员服务,相当于花钱买了多张优惠券,所以购买美团会员获得优惠券也是一次交易。而且本交易要先与外卖单,因为外卖单的支付用到了这批券,交易层处理很有意思,大家可以思考一下。
因为目前我们还不清楚美团和商家之间的清结算协议,所以暂且认为所有优惠由美团提供给用户,后续美团再基于协议跟商家之间做优惠的分摊,这部分不是本文的重点,大家可以私下思考交流。
其实我们发现,其中的美团红包是基于15元购买了优惠券以后才能使用的优惠,相当于这一单,你要先买会员获得优惠券,然后在本单同时使用优惠券进行优惠。
我们看到商家的小票,商品总价是40,总优惠是19;跟订单11101之间的7元差额是什么呢,其实就是配送费。那么将配送费抛出后跟商家小票一致,我们可以推断出商家承担了5元的配送优惠成本,加上满减优惠14,商家总优惠成本是19。
这里因为有2个子单,所以我们生成2个交易账单,但是在支付的时候我们进行合并支付。
基于账单生成支付请求。
在清分计费环节有几个关键的模块,我们可以设定为一下模型:
计费模型就是,基于订单业务我们就知道应该计算出什么样的费用出来,比如本单其实有2个业务,一个是外卖业务,一个是美团会员业务。
那么计费规则,我们可以计算出以下清分结果:
所以我们得到以下清分结果:
剩下的就是优惠成本的分摊了。