订单合并付款之后,是否需要拆分支付流水?

Posted snakejia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了订单合并付款之后,是否需要拆分支付流水?相关的知识,希望对你有一定的参考价值。

1.表

  • 1.主订单表
  • 2.子订单表
  • 3.商品信息表
  • 4.支付流水表

2.订单

1.订单的基本设计

2.拆单

所谓拆单一般指的是拆订单,而不是拆支付流水。一个订单中包含多个商品时,需要把其中一个或者几个商品进行分组,生成子订单。即一次支付对应多个订单的情况。

拆单的形式:

  • 便于后期结算,按商家拆单。
  • 便于商品发货,按仓库拆单。

拆单后涉及到一个问题,在付款的时候,虽然拆分多个订单,但是可能涉及到合并付款的情况。

需要注意的地方,所有的合并付款,拆单都是基于订单,不涉及到付款模块。

拆单设计到的问题

  • 1.积分,优惠券,红包怎么分配到多个订单上
  • 2.对账的时候,按主订单对账

主订单,子订单,商品表之间的关系

  • 1.主订单
    在支付的时候,使用的订单号是主订单号。
    在对账的时候,按照主订单来对账。这样的话就不需要拆分支付流水了。
    一个支付流水对应一个主订单,支付流水和其他子订单没有关系。

  • 2.子订单
    记录该订单所有关联的商品信息。
    一个主订单可能有一个或者多个子订单。

  • 3.商品信息表
    记录商品信息,商品数量,商品价格等等。

3.支付流水

订单和支付实际上是两个业务,支付唯一影响订单的应该是订单的支付状态以及交易流水号等。
我们应该将订单和支付彻底分开,不要混在一起,即支付不需要考虑具体的订单的拆单。

4.退单

可能退子订单,也可能退整单。
用户选择要退款的商品,形成退款订单。
订单生成规则和正常购买订单的规则一样。根据商家判断是否形成多个子订单。

需要注意的点

退单的时候,多个子订单,涉及到了积分的使用。退的方式的要怎么处理。

5.流程

1.用户购买商品

同一个商家,形成一个主订单和一个子订单
N个商家,形成一个主订单和N个子订单

2.用户支付

修改主订单的支付状态

3.用户退款

生成退款订单

4.发货

根据子订单来发货

5.结算

根据订单状态和商家生成结算数据即可。

以上是关于订单合并付款之后,是否需要拆分支付流水?的主要内容,如果未能解决你的问题,请参考以下文章

Braintree 拆分支付贝宝

消息队列和 RabbitMQ

干货分享:五分钟教你解决高并发场景下的订单和库存处理方案

企业如何开通微信支付付给个人

如何查询支付宝流水详细

mysql 生成流水号 存储过程 订单编号