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

一、在拆单操做以后,是否须要拆分支付流水?
不须要,并且通常都是用第三方支付,支付流水你也没得拆。
二、不管是否拆分支付流水,都会涉及到子订单间的退款,优惠金额调整等问题,那么此时支付流水和退款流水如何设计会比较好?
退款按退款订单处理,那么会产生独立的退款流水,退款与原单只作基础的单号关连。设计

———————————————————华丽的分割线—————————————————
正题:
一、先说说订单基本的设计。
订单设计最少也会包括两个内容,订单信息和商品信息。订单时主表,商品时从表。订单信息会包括订单号、金额、购买人等等,商品会记录订单号、商品信息、商品数量、商品金额等。这个是最基本的状况,具体我就不细说了。产品

二、再说说拆单。
所谓拆单,咱们通常是指拆订单,不是拆支付流水。一个订单对应多个商品,须要把其中某个商品或者某几个商品进行分组,造成子订单。也就是一次付款对应多个订单的状况
何时才会有拆单的需求呢?电商

  • 便于后期结算。一个订单包含多个商家的商品,为了便于结算,必须按商家拆单啊。
  • 便于后期发货。一个订单包含多个仓库的商品,为了发货,必须按仓库拆单啊。
  • 订单合并付款。(这个好像不彻底是拆单,只是订单而已)

全部的合并和拆分都是基于订单,那么这时候的订单结构应该须要变成:主订单、子订单、商品三个表。基础

三、关于支付流水
如今的电商系统,支付基本都是用第三方支付,即便会用自家的支付体系(自主研发支付、积分等),也会将订单和支付分开,收银员只管收钱,不须要管你买的什么东西,是在哪一个柜台购买的,订单和支付实际原本就是两个业务,支付惟一影响的是订单的付款状态,咱们应该将订单和支付抽象,不要混在一块儿,因此支付不须要管具体的拆单,要拆单只须要拆订单,而不须要拆支付流水。这就回答了第一个问题。
好吧,如今应该都知道了,订单流水和主订单关联便可。一个支付流水对应一个主订单,其余和支付流水没有必须的关系。支付

四、关于退款
关于退款,建议最好的方式是,生成“负”订单。这里的负订单,不必定强制要求数据是“负”的,只是要求退款按照订单的思路去处理,这样的好处太多了。用了才知道爽。数据

  • 结算数据清晰
  • 部分退款实现简单,不容易出错
  • 订单结构清晰明了

 

五、最终的业务形态时间

用户购买商品,造成订单。
同一个商家,造成一个主订单和一个子订单
N个商家,造成一个主订单和N个子订单生成

用户支付
修改主订单的支付状态分割

用户退款
用户选择须要退款的商品,造成负订单。订单生成的规则和正常购买订单的规则同样,根据商家判断是否造成多个子订单。产品经理

发货
同一仓库同时发货,则造成一个发货单
不一样仓库或者不一样时间发货,则造成多个发货单。
发货单须要关联发货的商品明细,修改商品的发货状态。

结算
根据订单状态和商家生成结算数据便可,由于你的销售和退款都是在同一个订单表,那么直接计就行了,清爽无比。

固然,以上模拟的实际上是比较简单的业务状况,实际的业务状况会更加复杂,可是总体流程都不会出现很大变化,

有时也会有遇到一些奇葩的产品经理的想法,好比:一、根据商品拆订单二、强烈要求把退款独立新的数据表存放太多的人老是去模仿看到的系统的外表,却没有深刻去了解别人如此设计的具体缘由,看到的系统表现形式和实际的核心功能点未必就是同样的。

相关文章
相关标签/搜索