充值掉单的理解

个人笔记(整理不易,有帮助,收藏+点赞+评论,爱你们!!!你的支持是我写作的动力)

笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客

个人随笔:工作总结随笔_8、以前工作中都接触过哪些类型的测试文档-CSDN博客

什么是充值掉单?

用户完成支付,但应用后台未能正确接收到充值通知,导致已支付的订单未能发货

通常是支付回调机制不可靠导致的

第三方支付平台流程(比如支付宝):

  • 商户在第三方支付平台,签署协议,注册账号
  • 用户A在淘宝选择商品,提交订单,发起支付,支付宝向清算机构发起支付请求

用户提交订单后(预付款):后端会生成订单,会有支付状态,一般不需要异步,然后会将订单托管到企业状态机,然后会把订单消息/订单号发到一个15分钟过期的RabbitMQ里(必然过期),这个mq是没有消费者的,过期订单会转发到死信队列里,死信队列是有消费者的,消费者监听到死信队列的信息,会判断订单是否支付,如果没则取消订单,如果支付则支付完成。一般订单和库存的判定,有可能在提交订单后检查,也有可能在支付检查,看实现机制,比如秒杀一般在发起订单后就锁库存,一般秒杀(服务降级,限流,热门商品信息放redis等)

发起支付:用户选择支付方式支付,比如支付宝,后端访问支付宝接口并且进行握手,支付宝检查企业的appid,认证是否正常,如果正常则会返回一个URL链接,并且后端返回前端,前端展示支付页面(后续的支付操作都是跟支付宝发起)

  • 清算机构向用户A银行卡所属付款行进行验证
  • 银行会把带有业务回执的资金转出
  • 清算机构返回交易状态回执到支付宝,支付宝并把资金暂扣
  • 支付宝发送入账通知给商户

支付宝收到付款后,会回调给商户,后端会根据回调情况对订单进行订单状态的修改,然后根据情况进行数据库存储

  • 商户按订单发货
  • 用户A收到后,向支付宝确认收货
  • 支付宝将暂扣的资金,通过清算机构,划入到商户的收款行
  • 交易完成

掉单一般发生在第三方平台返回回调结果,发生了异常,比如系统重启,因为后端没有拿到回调结果,则不会去修改订单状态,所以用户花钱了,但是没发货

怎么预防掉单?

1.设置订单状态,用于标识订单的支付状态

2.监听支付平台的支付通知回调,并在回调中更新订单状态

3.定期(如每隔一段时间)查询未支付成功的订单状态,并进行补单处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/816491.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年MathorCup数学应用挑战赛C题思路分析(妈妈杯)

2024年第十四届MathorCup数学应用挑战赛C题解析 文章目录 题目概览第一问:货量预测第二问:运输线路变化的预测第三问:单目标优化第四问:排班计划的优化 MATLAB代码框架货量预测人员排班 2024年的MathorCup数学应用挑战赛再次为我…

自增/减运算符,前缀++i与后缀i++的区别

最近在用 for 循环的时候,发现了自增运算符几种不同的写法,有点好奇,就想复习回顾下。 1 自增/减运算符 1.1 初始印象 首先捋一下运算符在前后的差别,脑子中第一印象是这个 i,先加,再用i,先…

基于物理原理的p-GaN HEMT动态导通电阻SPICE建模

来源:Physics-Based SPICE Modeling of Dynamic ON-State Resistance of p-GaN HEMTs(TPEL 23年) 摘要 这封快报介绍了一种新型基于物理学原理的SPICE建模方法,专门针对氮化镓基p型门极高电子迁移率晶体管(p-GaN HEM…

【学习笔记十五】批次管理和容量管理

一、批次管理 1.配置 SAP EWM 特定参数 激活仓库的批次管理 2.ERP端物料需要启用批次管理 3.EWM物料需要启用批次管理 一般是ERP启用批次管理,相关的配置也会传输到EWM系统 4.建立批次主数据 5.创建采购订单并创建内向交货单,维护批次 6.维护产品主数…

【VS2019】x64 Native Tools Command Prompt for Vs 2019使用conda命令进入环境

【VS2019】x64 Native Tools Command Prompt for Vs 2019使用conda命令进入环境 安装完VS2019后,打开终端x64 Native Tools Command Prompt for Vs 2019,直接运行conda会出现‘conda’ 不是内部或外部命令,也不是可运行的程序 原因分析&am…

免费GPT-3.5部署指南

OpenAI近期宣布,GPT-3.5现已支持无账号使用,这一变化无疑为全球AI爱好者带来了福音。然而,由于网络和地域限制,国内许多朋友仍然面临着使用上的挑战。 今天,我将向大家推荐两个开源项目,它们能够帮助您在国…

Lua脚本使用手册(Redis篇)

Lua脚本 **简介:**Lua是一种功能强大的,高效,轻量级,可嵌入的脚本语言。它是动态类型语言,通过使用基于寄存器的虚拟机解释字节码运行,并具有增量垃圾收集的自动内存管理,是配置,脚…

26、Lua 学习笔记之四(Lua中的基本函数库)

Lua中的基本函数库 assert(v[,mess age])collectgarbage (opt [, arg])dofile (filename)error (message [, level])_G全局环境表(全局变量)getfenv(f)getmetatable(object)ipairs (t)load (func [, chunkname])loadfile ([filename])loadstring (string [, chunkname])next (t…

electron自动更新版本,复制可用

1、安装electron-updater要保证这3个安装在package.json - devDependencies里面,否则打包会缺少模块 2、其他报错有可能 electron版本和electron-updater 版本不兼容,兼容情况查询官网 3、setFeedURL() 服务器地址目录 例如&#…

MySQL详细使用

1.安装 官网下载地址:MySQL :: Download MySQL Community Server (Archived Versions) 2.配置 添加环境变量 验证是否添加成功 cmd管理员身份打开,输入mysql(如下为成功) 初始化MySQL 以管理员身份运行cmd 输入 mysqld --ini…

React搭建一个文章后台管理系统

1、项目准备 本篇文章讲解的是一个简单的文章后台管理系统,系统的功能很简单,如下:登录、退出;首页;内容(文章)管理:文章列表、发布文章、修改文章。 1)React官方脚手架:create-rea…

安装IntelliJ IDEA插件教程

安装IntelliJ IDEA插件:一份详细指南 在提升IntelliJ IDEA开发效率的过程中,插件扮演着不可或缺的角色。它们为IDE提供了额外的功能和工具,以满足开发者在特定编程语言、框架、测试、版本控制等方面的个性化需求。本文将为您详细阐述如何在I…

【已开源】​基于stm32f103的爬墙小车

​基于stm32f103的遥控器无线控制爬墙小车,实现功能为可平衡在竖直墙面上,并进行移动和转向,具有超声波防撞功能。 直接上: 演示视频如:哔哩哔哩】 https://b23.tv/BzVTymO 项目说明: 在这个项目中&…

数模 线性规划模型理论与实践

线性规划模型理论与实践 1.1 线性规划问题 在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支一数学规划,而线性规划(Linear Programming 简记LP)则是数学规划的一个…

架构师系列-搜索引擎ElasticSearch(五)- 索引设计

索引创建后,要非常谨慎,创建不好后面会出现各种问题。 索引设计的重要性 索引创建后,索引分片只能通过_split和_shrink 接口对其进行成倍的增加和缩减。 ES的数据是通过_routing分配到各个分片上的,所以本质上不推荐区改变索引的…

ubuntu git相关操作

1 安装git sudo apt install git git --version git version 2.25.1 2 解决git超时 2.1 扩大post的buffer git config --global http.postBuffer 524288000 git config --global http.postBuffer 157286400 2.2 换回HTTP1上传。上传之后再切换回HTTP2 …

AI克隆语音(基于GPT-SoVITS)

概述 使用GPT-SoVITS训练声音模型,实现文本转语音功能。可以模拟出语气,语速。如果数据质量足够高,可以达到非常相似的结果。相比于So-VITS-SVC需要的显卡配置更低,数据集更小(我的笔记本NVIDIA GeForce RTX 4050 Lap…

智能水务系统:构建高效节水的城市水网

随着城市化进程的加速和人民生活水平的提高,对水务管理的需求也越来越高。传统的水务管理方式已经无法满足现代社会的需求,而智能水务系统的出现为水务管理带来了新的变革。本文将从项目背景、需求分析、建设目标、建设内容、技术方案、安全设计等方面&a…

网络篇06 | 应用层 自定义协议

网络篇06 | 应用层 自定义协议 01 固定协议设计(简化版)1)总体设计2)值设计 02 可变协议设计(进阶版)1)固定头(Fixed Header)2)可变头(Variable H…

UBuntu18.04通过ODBC连接MySQL远程数据库

今天在做一个Qt视频播放器的小项目然后想要在ubuntu18.04运行这个项目,需要在Qt中连接远程的MySQL数据库,所以用到了ODBC。我在连接时遇到了一些问题,加之网上的教程各说纷纭,所以我花了很多时间去解决,所以决定做做笔…