订单所涉及到的后台系统包括订单系统、库存系统、仓库系统、物流系统、风控系统等。订单业务的流转主要依靠完善的后台系统。
本篇文章将介绍前后端订单系统,以及订单业务流程中,各业务系统之间的紧密交互。
前端订单系统主要包括 2 大块的展示:订单信息和订单状态。
1.订单信息包括以下几大要素
收货人信息:昵称、手机号、收货地址。必须展示要素之一,为商品发货、投递的根据;
所购商品信息:店铺名称、商品名称、商品规格、商品价格、商品数量。必须展示要素之一,便于用户查看/核对;
支付信息:订单总金额、实际支付金额、支付单号、订单号。必须展示要素之一,便于用户核对支付金额,同时在有多种优惠情况下,能够为用户详细展示实际优惠与实际支付金额;
促销信息:优惠金额。只当该笔订单满足某种促销条件时,进行相应的展示。
2.订单状态一般包括以下几种状态
未付款订单:已下单但未支付的订单,针对此类订单,平台一般会设置一个自动取消订单的时间,比如未付款订单半小时后自动取消,以释放锁定的库存;
待发货订单:已付款但未发货的订单,此类订单若有退款申请发生,一般需要查询仓库是否已发货,若未发货则可进行拦截,此时用户可退款;若已发货,则用户此时不能申请退款,只能收货后进行退货退款或拒收。当然,有些平台和仓库之间不能实时信息交互时,可以设置一个有效时间,此有效时间内用户可申请退款,过了此时间则订单状态变为已发货(非实际发货),不能退款;
待收货:已发货未收货的订单;
退款中:申请退款、正在处理中的订单;
退款失败:申请退款失败的订单,订单状态保持申请退款前的状态不变;
退款成功:申请退款成功的订单。当一个订单中的某个子订单申请退款成功,该订单的状态保持不变,仅该子订单的状态显示退款成功;
交易成功:收货成功的订单;
交易关闭:取消付款的订单,有时退款失败的订单也会归为交易关闭状态。
可见下图淘宝订单详情页示例。淘宝订单详情页从上至下依次显示订单状态、物流信息、收货人信息、商品信息、促销信息、支付信息。
后台订单系统和前端订单系统展示的信息相对应,包括订单列表以及订单详情的展示。
1.订单列表
订单列表以序列形式显示所有用户的下单记录,列表中主要展示某笔订单的一些核心信息,比如订单编号、下单时间、下单用户、商品信息、实付金额、订单状态、维权状态等。
2.订单详情
订单列表主要展示核心的订单信息,所以可从订单列表中点击某个订单查看它的详情,订单详情可分为三部分展示:订单信息、支付信息、物流信息。
订单信息主要展示该笔订单的商品信息,包括商品名称、规格、ID,商品单价、购买数量、实付金额等。
支付信息主要展示该笔订单支付的相关信息,包括商品总额、运费、优惠金额、实付金额、支付时间、支付单号、交易单号等。其中支付单号一般是平台的支付流水号,交易单号一般是第三方支付公司的支付流水号。
物流信息主要展示该笔订单的物流,包括发货地址、收货地址、快递单号、物流路径等。
前后台订单系统虽然更多的是对订单信息和状态的展示,但这些订单信息和状态在后台各业务系统中如何有效流转,订单系统和其他系统如何高效合作,最终将信息完美呈现在前后台订单系统中,是非常重要和复杂的。
下图是从用户下单到收货的一个业务流程示例。
我们可以看到,用户在前端可见的几个订单状态变化,其实在后台经历了很多系统的协助。下面简单介绍下各业务系统在订单流转过程的作用:
1.风控系统
用户购买了一个商品后,该商品在仓库中的库存数量需要先锁定相应数量,以保证库存的准确性。一般电商平台对于锁定库存有两种处理方式:下单锁库存、支付锁库存。这两种锁库存方式各有利弊,支付锁库存,可能在支付时发生并发情况,导致超卖。而下单锁库存可以有效防止超卖情况发生,但却可能被恶意下单。我司平台当前选择的就是下单锁库存方式,此时风控系统就可以发挥其重大作用,拦截掉恶意下单的用户。
2.支付系统
支付系统主要是为用户下单支付服务,一般一个订单生成一个支付单号,作为与第三方支付公司的一个交易记录,也需要在订单中展示。
3.库存系统
前端商品是否可售与该商品的库存相关,库存数> 0 时,该商品在前端为可购买状态,库存数= 0 时,该商品在前端为售罄不可购买状态。因此保持商品库存数量的准确性是库存系统的最根本功能,而订单业务中,有多个流程涉及到库存变化。我们以下单锁库存逻辑来进行下单业务流程中涉及到库存变化的说明。
下单 1 个商品时,库存需锁定 1 个
若该订单在N小时(N为平台制定的取消订单时间)内未支付,则解除锁定库存
若该订单已支付,则库存仍锁定1
订单发货前,用户取消订单,则解除锁定库存
订单推送至仓库,仓库发货,库存扣减1
前后台订单系统相对于其他系统来说,在页面上的展示比较简单,但其背后的逻辑以及与其他业务系统的交互是非常复杂的,要保证一个商品从前端用户下单到最后送达用户手中,需要各系统的完美配合。