大家好,我是汤师爷~
今天聊聊线上交易系统流程详解。
线上交易系统为新零售连锁商家提供一站式线上交易解决方案。其核心目标是,通过数字化手段扩大商家的服务范围,突破传统门店的地理限制。系统支持电商、O2O等多种业务形态,为商家提供全方位的线上运营能力。
线上交易系统包含两个核心流程:正向交易流程、逆向交易流程。
正向交易流程负责处理从订单创建到完成的标准交易过程,而逆向交易流程则处理订单取消、退款、退货、换货等异常交易场景。这两个流程相互配合,共同确保交易系统的完整性。
正向交易系统流程
正向交易系统流程是指从用户下单到订单完成的标准交易过程,如图所示,主要包含订单创建、订单支付、订单履约、订单完成这些环节。
11.2.2 订单创建
订单创建是电商系统的核心环节,需要多个模块的紧密协作。以下是订单创建过程中涉及的主要步骤:
1、校验商品信息
系统首先校验商品的状态和价格,确保商品已上架,库存充足,价格准确。如果发现异常,系统会提示用户无法购买。
2、处理会员等级、积分和优惠券等客户权益
根据用户的会员等级,计算相应的折扣和积分奖励。同时,验证用户的优惠券是否有效,是否符合使用条件,这一步确保能够正确使用客户权益。
3、计算各类优惠
系统获取促销活动、满减和折扣等优惠,按照预设叠加互斥规则,计算优惠的叠加效果,为用户提供最优价格方案。
4、验证收货地址、计算运费并预估配送时效
核实用户提供的收货地址是否合法、完整。根据地址计算运费,并预估配送时间,供用户参考。
5、选择合适的配送门店或仓库
系统根据收货地址和库存情况,选择最合适的配送门店或仓库,这有助于提高配送效率,缩短送达时间。
6、检查并预占库存
如果库存足够,系统会预先占用对应的库存,防止超卖。
库存扣减方式会影响商品供应和用户购买体验。目前主流采用两种方式:下单减库存和付款减库存。
1)下单减库存
下单减库存可立即锁定商品,有效防止超卖,特别适用于秒杀、抢购等高并发场景,能提高用户购买成功率。
但这种方式的缺点是:未付款订单会占用库存,导致有真实购买需求的用户无法下单,容易造成库存积压和销售受阻。
为解决这些问题,可以设置订单有效期,超时未付款则自动取消并释放库存。同时可限制单个用户的购买数量,并通过风控策略识别和拦截异常下单行为。
2)付款减库存
付款减库存仅在用户完成支付后才扣减库存,能避免无效订单占用库存,提升库存利用效率。
但在高并发情况下,可能出现用户付款成功而库存不足的问题,导致无法发货,引起投诉并影响商家信誉。
对此,可在用户付款前进行实时库存校验,并及时提示库存紧张状况。
7、计算订单总价、订单明细价格
计算订单各项明细的商品价格、优惠分摊金额和运费,并汇总计算订单总金额。
8、最终生成订单
完成上述步骤后,系统生成订单记录,包含所有相关信息。订单生成后,进入支付环节。
订单支付
订单生成后,系统将引导用户进入支付环节。在这个阶段,交易系统首先会向支付系统发起支付请求,生成相应的支付订单。
系统随后会自动跳转到统一支付收银台界面,提供多种支付选项。用户可以选择微信支付、支付宝或银行卡等方式完成支付。
当用户完成支付操作后,支付系统会返回详细的支付结果,包括支付流水号和支付时间等。
交易系统随后根据这些信息更新订单状态,将订单标记为待发货,为后续的订单履约做好准备。
订单履约
订单履约是指从订单支付完成到商品最终送达用户手中的全过程,这是确保良好购物体验的关键环节。
整个履约流程需要多个系统协同工作,主要依靠订单履约系统、WMS仓储系统和物流系统等核心系统的紧密配合。
在电商购物流程中,系统会将订单智能拆分为发货单,并按照就近发货原则分配至合适的仓库。仓库接收发货指令后,按标准流程进行打单、拣货、质检和包装,最后交由快递公司配送。
在O2O购物流程中,系统根据用户收货地址将订单分配给就近门店。门店接单后立即进行商品备货、打包。对于自提订单,系统生成取货码,并通知用户到店提货;对于外送订单,系统会调度附近骑手配送,并全程追踪配送状态,直至商品顺利送达。
订单完成
订单完成是订单生命周期的最终状态,表示正向交易流程已经结束。具体来说,当满足以下条件时,订单将被标记为完成:
- 用户已确认收货,或系统自动确认收货(一般在快递签收后的7-15天)
- 订单已超过售后服务期限(通常是收货后7-15天)
- 所有的售后问题(如退换货)已经处理完毕
- 订单相关的货款已完全结算给商家
一旦订单完成,意味着买卖双方的交易责任和义务都已履行完毕,订单进入终态。此时除特殊情况外,用户将无法再对该订单发起售后申请。
逆向交易系统流程
在订单生成后的状态流转过程中,可能出现三种逆向流程:取消订单、仅退款和退货退款。
用户取消订单
当用户在提交订单后还未进行支付时,可以选择取消订单。系统在处理取消订单请求时,会执行一系列操作:
- 将订单提交时预占的库存全部释放,确保这些库存能重新补充到销售库存;
- 系统会自动返还用户下单时使用的所有优惠券、会员积分等权益,这些权益能在后续订单中重新使用
- 系统将订单状态标记为"已关闭",完成整个取消流程。
由于这类订单未涉及实际支付,处理逻辑相对简单,无需与支付系统进行交互,也不存在退款等资金处理问题。
用户仅退款
用户完成支付后,可能因商品缺货、发货延迟或商品描述不符等原因申请退款。退款处理主要包含以下步骤:
1、用户申请退款
用户需要在系统中选择要退款的商品,并填写详细的退款申请信息,包括退款金额、退款原因和相关证明凭证。提交申请后,系统会自动将这些商品的状态更新为"售后中",防止后续操作发生冲突。
2、商家审核
商家审核通过后,可在系统中确认退款。系统将通过原支付渠道发起退款,并详细记录所有退款相关的资金流水信息。同时,系统会将商品状态更新为"已退款",更新退款单据状态,确保整个退款过程可追溯。
若商家审核不通过,则可驳回退款申请,系统将自动将商品状态恢复至"待发货"状态。
3、库存处理
因为仅退款场景下并未发生实物商品的退回,因此无需进行库存数量的变更操作。
4、权益处理
当订单中所有商品完成退款后,系统会自动返还用户的全部权益,包括优惠券和积分等。对于有活动资格限制的订单,系统也会返还相应的活动资格。
用户退货退款
在商家发货后,用户可能因商品质量问题、实物与描述不符或尺寸不合适等原因,向商家申请退货退款。退货退款主要包含以下步骤:
1、用户申请退货退款
用户需在系统中选择"退货退款"类型,并指定要退回的具体商品。然后,用户需填写完整的退款申请信息,包括预期退款金额、退货具体原因,以及相关的商品问题证明(如照片或视频)。申请提交后,系统将自动把相关商品状态更新为"售后中",防止出现操作冲突。
2、商家审核
商家收到退货退款申请后,将根据用户提供的信息进行详细审核。审核通过后,系统会立即通知用户开始退货流程,将申请单状态更新为"待用户退货",并发送退货地址等信息。
如果商家发现申请不符合退货条件,可驳回申请。系统随即将商品状态恢复至原始状态,并向用户说明驳回原因。
3、用户退货
审核通过后,用户需在系统中填写退货物流信息,包括快递公司和运单号。用户确认退货后,系统自动将申请单状态更新为"买家已退货,待商家收货",履约系统会生成退货单,并开始跟踪物流状态。
3、商家收货并退款
商家收到退回的商品后,会检查商品的完整性和状态。
如果商品没有问题,确认收货后,系统立即通过原支付渠道启动退款流程。系统会生成详细的退款资金流水记录,同时将商品状态更新为"已退款",并相应更新订单状态。
如果商品有问题,商家会拒绝收货并记录问题原因。此时,系统会将退货申请状态更新为"商家拒收",并通知用户重新发起退货,或与商家沟通解决方案。
4、库存处理
退货完成并入库后,系统会自动将退回的商品数量,添加至可用库存,确保库存数据准确。
5、权益处理
当所有商品完成退款后,系统返还权益到用户账户,例如,用户购买时使用的优惠券、积分等权益资产。对于有活动资格限制的订单,系统也会返还相应的活动资格。
系统核心功能
在前面的章节中,我们已经深入探讨了线上交易系统的正向和逆向流程。
通过对正向和逆向流程的系统分析,我们可以明确线上交易系统必需的核心功能:
- 下单环节:购物车、订单结算、价格计算、订单创建、订单取消。
- 支付环节:预支付、支付处理、支付回调、支付类型。
- 履约环节:快递、自提、核销等场景的订单状态更新。
- 订单完成:确认收货、订单评价。
- 订单管理:订单操作、订单查询、订单详情、订单导出。
- 逆向流程:买家退款/退货退款、商家主动退款。
本文已收录于,我的技术网站:tangshiye.cn 里面有,算法Leetcode详解,面试八股文、BAT面试真题、简历模版、架构设计,等经验分享。