当前位置: 首页 > news >正文

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

一、背景简介

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

二、订单业务

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

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

订单业务架构.jpg

三、订单流程

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

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

订单状态图.jpg

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

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

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

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

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

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

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

四、系统监控和自动任务

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

系统监控和自动任务.jpg

1. 系统监控

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

2. 自动任务

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

参考资料

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

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

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

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

前端项目

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

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

http://www.lryc.cn/news/217923.html

相关文章:

  • 安全模型的分类与模型介绍
  • I/O多路转接之select
  • “如何对TXT文件的内容进行连续行删除?实现一键文件整理!
  • stable diffusion公司发布4款LLM大语言模型,为何大家都喜爱LLM?
  • 堆排序--C++实现
  • 【数据结构】数组和字符串(十四):字符串匹配1:朴素的模式匹配算法(StringMatching)
  • VMWare虚拟机问题
  • 代码随想录算法训练营第23期day39 |62.不同路径、63. 不同路径 II
  • 白帽黑客入门,“每天一个黑客技巧”实现黑客的自我突破 !(附工具包!)
  • Jmeter参数化 —— 循环断言多方法
  • Autosar诊断实战系列26-Dem(DTCEvent)要点及配置开发详解
  • STL(第五课):queue
  • 点大商城V2版 2.5.2.1 全开源独立版 多小程序端+unipp安装教程
  • Redo Log(重做日志)的刷盘策略
  • QT窗体之间值的传递,多种方法实现
  • 政务服务技能竞赛中用到的软件和硬件
  • tcp/ip该来的还是得来
  • OpenCV官方教程中文版 —— 图像修复
  • 前端难学还是后端难学?系统安全,web安全,网络安全是什么区别?
  • diffusers-Load pipelines,models,and schedulers
  • 私域营销必备:轻松掌握微信CRM管理方法
  • 最长回文子串-LeetCode5 动态规划
  • mysql简单备份和恢复
  • JMeter介绍
  • flink job同时使用BroadcastProcessFunction和KeyedBroadcastProcessFunction例子
  • 数据中心系统解决方案
  • 服务器开设新账户,创建账号并设置密码
  • 【C++】关于构造函数后面冒号“:“的故事------初始化列表(超详细解析,小白一看就懂)
  • 【Shell 系列教程】shell基本运算符(四)
  • MongoDB安装及开发系例全教程