在移动支付盛行的时代,聚合支付已成为各大商家和企业的必备工具。它整合了微信支付、支付宝、银联等多种支付方式,让用户享受无缝支付体验。那么,如何在一个聚合支付项目中,全面掌握业务逻辑并高效开展支付测试?今天,我们就用一篇文章来揭开聚合支付项目的神秘面纱!
聚合支付项目的复杂性不仅在于多支付渠道的整合,还涉及支付安全、交易并发、数据一致性等问题。面对如此多的挑战,测试人员该如何着手?哪些关键点是我们必须深挖的?
理解聚合支付的核心业务流程
聚合支付包含以下核心流程:
- 用户下单: 生成订单,关联支付方式。
- 支付请求: 将用户支付信息提交至对应支付渠道。
- 支付回调: 接收支付成功或失败的异步通知。
- 订单状态更新: 根据回调结果,更新订单状态并通知用户。
案例: 在测试某电商平台聚合支付功能时,发现在高并发下偶尔出现订单状态未及时更新的问题。通过日志追踪,优化了回调处理机制。
聚合支付测试的核心点
-
接口测试:
确保支付请求与回调接口的正确性。
使用Postman或JMeter模拟请求,验证接口响应。 -
支付场景测试:
- 正常支付:支付成功,订单更新。
- 异常支付:支付失败,订单取消。
- 超时处理:支付未完成超时处理。
案例: 在测试过程中,模拟了用户在支付过程中断网的场景,确保系统能正确处理并通知用户。
1、什么是聚合支付?
所谓聚合支付?通俗点来说, 就是聚合多种支付方式(微信/支付宝等)。
聚合支付平台跟微信和支付宝等是合作关系,调他们的接口,将这些种支付方式融合并生成二维码。
2、聚合支付业务流程
聚合支付整体的业务流程为:商家入网(商户入驻到聚合支付平台)-->入驻进来后,聚合平台会针对商家生成聚合支付二维码-->消费者进行支付-->然后走清分-对账-结算--> 商家进行提现。
-
商家入网:商户通过app/小程序/web/公众号/地推等提交商户信息--> 聚合平台审核商户信息、沟通聚合支付渠道、方式、费率-->签合同 ==> 运营平台管理端--填写入户信息,生成商户号,配置支付参数等,完成入驻。
-
清分:钱不会经过聚合支付平台,聚合支付平台只能看到流水,返佣是上游给的,不是聚合支付平台直接扣。分钱的过程就是清分。在商户能提现的就是清分完成的、不能提现的还未清分完成的。
-
对账:聚合支付平台跟上游的对账,聚合支付平台提供的订单10笔、上游支付宝/微信那边也是支付10笔,且金额是对齐的,那么账是对齐的,没问题的。
-
结算:钱结清的过程,就是结算。
-
提现:结算后,钱留在了第三方平台-比如微信/支付宝,然后钱提取到自己的银行卡,这个过程就是提现。
3、商户入网测试
该功能是对审核通过的商户信息,在页面进行录入,需要考虑的测试点如下:
1、新增商户正常测试1:商户名称、登录名(6位纯字母ningmb)、商户简称、联系人姓名、邮箱、手机号,商户类型(普通)、状态(启用),备注 ;- 保存成功,页面显示新增商户信息-生成对应商户号
2、新增商户正常测试2:商户名称、登录名(18位-ningmengban1234567)、商户简称、联系人姓名、邮箱不填,手机号,商户类型(特约商户)、状态(禁用),备注不填;- 保存成功,页面显示新增商户信息,不能进入下一流程
3、登录名异常:5位、19位、纯数字、包含特殊字符、重复、为空
4、商户名称、商户简称、姓名、手机号必填项验证
5、邮箱、手机号错误格式验证- 2种
6、安全性--抓包:传输加密(敏感信息--姓名、手机号、商户号);数据存储、加密处理
4、商户配置测试
配置支付参数、支付通道。要完成该功能操作的前提,例如微信、支付宝:
1、配置微信支付渠道,需要在微信官方-- 申请微信支付商户号和秘钥:前往微信公众平台注册账号,填写相关信息并申请支付产品,获取商户号和API秘钥等信息。
2、配置支付宝支付渠道,需要在支付宝官方(沙箱支付开通) --- 登录支付宝开放平台,开发工具-沙箱-下载并登录沙箱版支付宝app,填写商家信息,账号、密码,并获取对应appid、应用私钥+支付宝公钥等信息。
该功能测试主要考虑:
1、正常配置:必填项,各项输入项与渠道支付开通的信息保持一致。支付通道配置--费率配置与申请的费率一致
2、配置多种支付方式、配置一种支付方式(同一个商户号而言)
3、支付方式配置好后,有没有生效(商户系统--发起一笔支付)
5、支付流程-信息流&资金流
聚合支付流程如下:
页面操作如下:
这里补充讲下,用户支付后,怎么知道自己的支付结果,这里需要进行支付回调。
支付回调:用于确认支付结果和更新订单状态。实现过程:用户进行支付时,支付平台向商家服务器发起HTTP请求(按照回调地址发送请求)、告知支付结果。商家服务器接收到回调请求后,会根据请求中参数进行处理,比如更新支付状态,发送通知等。
测试点:
1、支付渠道(聚合二维码、微信二维码、支付宝二维码等)
2、支付方式枚举(微信、支付宝、扫码枪)
3、支付金额边界值:最小支付金额0.01、单笔最大支付金额、单笔限额-5万、当天最大金额、小数位-2位
4、订单状态:支付中、支付成功、支付失败、订单关闭(支付中不支付)
5、接口回调--假装是第三方(根据第三方接口文档模拟--自己Python脚本写/开发写mock服务)、查询(主动查询支付结果)
6、重复支付(使用fiddler弱网- 同一笔订单,支付多次只能成功一笔)
7、安全测试(fiddler抓包--敏感数据是否加密,篡改敏感数据-支付金额不能篡改)
8、请求频次(同一个IP、一秒钟一般不会超过10次,多线程并发)
9、性能jmeter、大数据量并发--- 订单号生成规则是否正常(例如5万多订单,是否出现问题)
写在最后
以上,主要给大家梳理了聚合支付项目业务及流程,以及核心功能的商户入网、支付配置、支付测试的测试点梳理。当然要深入掌握聚合支付项目测试,还需进一步去理解清分、对账、结算、提现等模块的测试。
随着移动支付的普及,聚合支付逐渐成为商户的标配。而背后的安全性、可靠性则是用户和商家最为关注的问题。支付系统一旦出现故障,将对商家声誉和用户体验造成重大影响,因此测试的作用尤为重要。
聚合支付项目不仅是技术的较量,更是测试人员专业能力的体现。从业务流程梳理到各类测试方案设计,每一步都需要深思熟虑。在日趋复杂的支付场景中,唯有不断提升自身技能,才能确保支付项目的高效稳定。