订单业务和系统设计(一)

一、背景简介

订单其实很常见,在电商购物、外卖点餐、手机话费充值等生活场景中,都能见到它的影子。那么,一笔订单的交易过程是什么样子的呢?文章尝试从订单业务架构和产品功能流程,描述对订单的理解。

二、订单业务

用户、平台和商户是订单业务的核心参与者,订单流程的搭建就是围绕三方的交易场景展开的。

  • 用户:在应用端选择商品、下单支付、查看订单。
  • 平台:实现订单交易链路,提供支付能力和对账清算能力;
  • 商户:提供商品信息和交付能力。

订单业务架构.jpg

三、订单流程

订单流程有三个核心阶段:创建、支付、交付。

  • 订单创建:用户选择商品并下单,完成订单创建。
  • 订单支付:对接各种支付渠道,完成订单支付。
  • 订单交付:支付成功后,通知商户交付商品。商品交付成功即订单完成。

订单状态图.jpg

1.订单支付流程(正向交易)

在理想状态下,订单流程从用户下单开始,支付成功之后,商户交付商品,即订单结束。流程如下:

订单支付流程(正向交易).jpg

2.订单退款流程(逆向交易)

订单涉及下单、支付、交付等诸多环节,一旦某个环节失败了,都可能导致订单回滚。所以要全面地考虑各种退款场景,并且提供相应地解决方案。

  • 主动取消:用户取消订单,发起退款;商户交付失败,发起退回。
  • 超时情况:用户支付超时;商家交付超时。
  • 异常情况:平台、支付渠道、商户等系统的程序异常或业务异常,导致支付失败或交付失败;

订单退款流程(逆向交易).jpg

四、系统监控和自动任务

订单流程复杂,且涉及资金交易,对系统稳定性要求极高。主要依赖于系统监控和自动任务,提高订单的成功率,降低人工干预的风险和成本。

系统监控和自动任务.jpg

1. 系统监控

监控订单流程的异常情况,及时通知系统人员,做主动修复或重试处理。例如,接口请求失败频率超出阈值时,一般是网络或系统问题,及时通知系统人员排查;支付失败或交付失败时,短信告警;对账或清算失败时,通知及时处理,否则可能影响日终。

2. 自动任务

订单流程是异步的,自然依赖于任务调度,对超时场景做自动修复或重试处理。例如,支付超时会持续锁定库存,需要及时关单处理;交付超时会影响用户体验,需要及时通知商户处理或退回;请求超时,需要重试处理,提高成功率。

参考资料

有赞保险业务的分析与架构设计

浅谈电商核心「订单」业务如何设计

交易日均千万订单的存储架构设计与实践

海外都在用哪些支付方式?

前端项目

后端项目
订单超时怎么处理?我们用这种方案

腾讯财付通会计核算系统原理与架构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值