支付业务以及支付业务的质量保障

news2024/11/26 23:30:12

前一段时间要在组里分享支付业务,网上找了很多文章,发现有好多也是我自己写的。回头看看3年前的文章,当时对支付有一定的测试经验,但是对支付的了解也不是很深。

经过这近两年的支付相关的测试经验,对支付业务有了更深的了解和体会。借着这次机会,把我所认识到的支付业务和支付相关质量保障手段,都在这里一一列出,分享给大家。

支付业务

支付的本质,就是发生在买方和卖方之间的金融交换,是社会经济活动中所引起的货币债权转移过程。

支付的发展历程

图片

远古时期,古人用铜币和别人交换所需要的生产资料;随着时代的发展,出现了银行作为信用中介,完成买卖双方和银行的金融服务;再随着最近十年互联网和移动支付时代的到来,金融活动变得更加复杂,也新生了很多其他种类的支付方式(比如二维码扫码支付等等),第三方支付机构应运而生。

行业“黑话”

工欲善其事必先利其器,所谓了解一个方向,先学学行业 “黑话”,这样别人说的啥你也能听得懂。

  • 第三方支付:拥有支付牌照的机构,比如支付宝、微信支付等等;
  • 零钱:客户在第三方支付机构支付体系下的现金户余额,类似支付宝余额、微信的零钱;
  • 两联:银联和网联;
  • 客户:指个人和商户,统称为客户;
  • 备付金账户:三方支付机构在人民银行开立的,存放用户在交易过程中产生的资金。

备付金账户产生的背景是啥呢?因为支付机构作为第三方,其实是不能直接触碰用户的钱的,监管机构要求,第三方机构收取的钱,都统一放在银行的备付金账户里(所以大家不用担心存放在第三方机构的资金安全)。

  • 第三方支付的能力

第三方支付一般是提供了哪些能力/产品?

  • 充值、提现、查询、转账、退款
  • 支付、代扣、代付
  • 实名认证、签约
  • 记账、对账、出账

第三方支付架构

大家上网查查各家支付的机构图,感觉都很厉害。不难发现,每家有不同之处,其实也有很多相同的地方。

相同之处就是解决支付业务的共同要解决的问题:

问题一:怎么准确又快速,并且合法合规地从用户手里扣钱?

客户系统(用户+商户)可以解决,客户系统可以进行用户实名、商户注册、存储签约信息等等。

问题二:怎么才能把钱扣成功?并且完整记录扣钱的过程?

支付中心+账务核心+会计核心可以解决,支付中心提供各种出金入金服务,账务核心可以进行记账对账,会计中心又能提供各种科目汇总和日期处理。

问题三:扣完钱后,怎么去给商家结算?

结算核心可以解决,计算卖家手续费等等。

支付业务质量保障

支付业务的质量保障体系,涉及到一些关键信息,这里就不列出来了,分别从几点说吧。

业务测试

图片

由于支付业务的特点,个人认为在业务测试中,主要是两大点:

  • 一个是支付单子的钱
  • 一个是支付单的状态

钱的话,有这种重复支付的异常、使用各种优惠券的场景,单位也需要注意,有的通道可能是元,有的通道可能是分;退款时,如果是部分退款,注意退款的总金额不超过订单金额。

支付订单状态,要注意支付超时的情况,支付失败等等一些情况等等。

自动化测试

在自动化测试中,支付业务有啥特别的呢?

首先在断言的时候,校验订单金额,支付核心模块不同系统订单的状态,可能不同系统,成功状态不一样。比如异步的代扣订单有时延,提交完订单立刻去调查询接口查询时就可能查询到的是订单在支付中。

所以我们可以写个循环去读数据库的状态,数据库状态OK了后,再去调查询接口。

因为线上的cases都是扣的我们自己真实的钱,所以,我们一般是把扣款、查询和退款放在同一个cases中,支付完再退款,完成单笔订单资金自闭环
线上涉及到真实的资金变动,我们线上有单独的测试商户号,不会对线上真实的商户账单产生影响。

性能测试

在性能测试中,支付业务有啥特别的呢?

每个业务都去考虑的仿真度这些这里就不展开讨论了,支付业务最重要的是钱的安全!

措施:

  • 压测开关控制:通过开关控制是否接受压测流量;
  • 压测的交易数据隔离:影子库/影子表;
  • 资金监控告警:大量资金变化报警;
  • 资金闭环:资金流动能闭环,不会产生资损;
  • 压测专用用户:不会影响线上真实用户的钱。

线上监控

支付业务有大家通用的机器性能的监控、接口qps的监控。除了这些,还会有一些业务维度的资金的监控等等。

结束语

以上就是我关于支付业务的理解,和支付业务质量保障每个方向的特别之处的阐述。肯定有不足的地方,也有遗漏的地方,欢迎大家留意讨论。

 

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

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

相关文章

实现视频一键压缩的10款工具大盘点:

在这个信息爆炸的时代,我们们已经习惯了那些高清的4K视频,但是却出现了新的问题。那就是文件过大臃肿。不用担心,你可以使用视频压缩工具来解决这个问题;市场上的视频压缩工具可谓五花八门,不仅具备了智能的算法压缩技…

【spark的集群模式搭建】Standalone集群模式的搭建(简单明了的安装教程)

文章目录 1、使用Anaconda部署Python2、上传、解压、重命名3、创建软连接4、配置spark环境变量5、修改 spark-env.sh配置文件6、启动hdfs,创建文件夹7、修改spark-defaults.conf配置文件8、修改workers配置文件9、修改log4j.properties配置文件(可选&…

《现代网络技术》读书笔记:SDN数据平面和OpenFlow

本文部分内容来源于《现代网络技术:SDN,NFV,QoE、物联网和云计算:SDN,NFV,QoE,IoT,andcloud》 SDN数据平面 SDN 数据平面也称为基础设施层,而在ITU-T的Y3300标准中则称为资源层,它是网络转发设备根据 SDN控制平面的决策来执行数据…

无线婴儿监视器方案(附SI24R1选型)

随着现代科技的进步,父母们对宝宝的关注和保护达到了前所未有的高度。为了满足这一需求,市场上涌现出了一系列智能婴儿监视器。这些设备不仅能实时监控宝宝的活动,还能让父母在家中的任何角落都能轻松掌握宝宝的动态。今天,我们向…

Sigrity Power SI 3D-EM Full Wave HSSO模式如何进行高速差分过孔结构仿真扫描分析以及反标到Allegro操作指导

Sigrity Power SI 3D-EM Full Wave HSSO模式如何进行高速差分过孔结构仿真扫描分析以及反标到Allegro操作指导 高速差分过孔的优化是仿真分析中比较重要的一个环节,Sigrity Power SI 的3D-EM Full-Wave HSSO模式就是对高速差分过孔结构进行优化一个工具,可以不同的参数进行…

FFmpeg 4.3 音视频-多路H265监控录放C++开发十. 多线程控制帧率。循环播放,QT connect 细节,

在前面,我们总结一下前面的代码。 在 FactoryModeForAVFrameShowSDL 构造函数中 init SDL。 通过 QT timerevent机制,通过startTimer(10);每隔10ms,就会调用timerEvent事件。 在timerEvent事件中,真正的去 读取数据&#xff0c…

WebRTC 环境搭建

主题 本文主要描述webrtc开发过程中所需的环境搭建 环境: 运行环境:ubuntu 20.04 Node.js环境搭建 安装编译 Node.js 所需的依赖包: sudo apt-get update sudo apt-get install -y build-essential libssl-dev 下载 Node.js 源码: curl -sL htt…

libgdiplus在MacOS M1上问题:Unable to load shared library ‘libgdiplus‘

libgdiplus在MacOS M1上问题:Unable to load shared library libgdiplus 问题解决步骤1步骤2 问题 在mac上的pycharm中执行下面的代码时出现下面的错误 slide.get_thumbnail( RuntimeError: Proxy error(TypeInitializationException): The type initializer for…

【VScode】VScode内的ChatGPT插件——CodeMoss全解析与实用教程

在当今快速发展的编程世界中,开发者们面临着越来越多的挑战。如何提高编程效率,如何快速获取解决方案,成为了每位开发者心中的疑问。今天,我们将深入探讨一款颠覆传统编程体验的插件——CodeMoss,它将ChatGPT的强大功能…

关于我、重生到500年前凭借C语言改变世界科技vlog.16——万字详解指针概念及技巧

文章目录 1. sizeof 和 strlen1.1 sizeof1.2 strlen 2. 数组和指针结合的试题深入解析2.1 一维数组2.2 字符数组代码1代码2代码3代码4代码5代码6 2.3 二维数组 3.指针运算的试题深入解析题1题2题3题4题5题6题7 希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力…

flutter 专题四 Flutter渲染流程

一、 Widget - Element - RenderObject关系 二、 Widget 、Element 、RenderObject 分别表示什么 2.1 Widget Widget描述和配置子树的样子 Widget就是一个个描述文件,这些描述文件在我们进行状态改变时会不断的build。但是对于渲染对象来说,只会使用最…

Netty 编码器 解码器 正确使用姿势

Netty 编码器 & 解码器 正确使用姿势 通过前面文章的例子,相信读者也感受到了Netty 开发核心工作在于处理读事件(解码)、写事件(编码)。 Netty 的编解码器是处理网络数据编码和解码的核心组件,编解码…

基于微信小程序的电子购物系统的设计与实现(lw+演示+源码+运行)

摘 要 由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改…

FIPS203 后量子安全ML-KEM(标准简读)

FIPS 203是美国国家标准与技术研究院(NIST)发布的关于模块格基密钥封装机制(ML-KEM)的标准,旨在提供一种能抵御量子计算机攻击的密钥建立方案。以下是对该文档的详细总结: 标准概述 目的与范围&#xff…

鸿萌数据迁移服务: 企业服务器整机在线热迁移, 实现不停机业务转移

天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据存储、数据恢复、数据备份、数据迁移等解决方案与服务,并针对企业面临的数据安全风险,提供专业的相关数据安全培训。 鸿萌数据迁移业务为众多企业顺利高效…

macOS15.1及以上系统bug:开发者证书无法打开,钥匙串访问无法打开一直出现图标后立马闪退

团队紧跟苹果最新系统发现bug:今日设备信息如下,希望能带给遇到这个问题的开发者一点帮助。 错误图如下: 点击证书文件后,先出现钥匙串访问图标,后立马闪退消失 中间试过很多方法,都是一样的表现,最后好在解决了,看网上也没有相关的帖子,这里直接写解决办法和导致原因…

20241102在荣品PRO-RK3566开发板的预置Android13下适配宸芯的数传模块CX6603N

20241102在荣品PRO-RK3566开发板的预置Android13下适配宸芯的数传模块CX6603N 2024/11/2 18:04 在WIN10使用程序:ViewLink-4.0.7_0708-windows-x64.exe 在荣品PRO-RK3566开发板的预置Android13下使用:ViewLink-2023_12_21-release-0.2.6.apk adb install…

【STM32】DMA直接存储器读取

文章目录 DMA简介DMA定义DMA传输方式DMA传输参数STM32的存储器映像DMA基本结构DMA的具体应用数据转运 DMAADC扫描模式 DMA DMA库函数 DMA数据传输(数据转运 DMA)接线图MyDMA模块main.c 源程序 DMA AD多通道(ADC扫描模式 DMA)…

兰空图床配置域名访问

图床已经创建完毕并且可以访问了,但是使用IP地址多少还是差点意思,而且不方便记忆,而NAT模式又没法直接像普通服务器一样DNS解析完就可以访问。 尝试了很多办法,nginx配置了半天也没配好,索性直接重定向,反…

React 入门课程 - 使用CDN编程React

1. 第一个React 注意&#xff1a;在vscode里&#xff0c;使用Live Server来运行html文件。 index.html <html><head><link rel"stylesheet" href"index.css"><script crossorigin src"https://unpkg.com/react17/umd/react.de…