支付交易侧接口测试重难点

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


1、请求签约用户协议:

  正向:接口生成二维码签约协议,支付宝点击二维码确认签约成功。

  逆向:

  a) 判断支付是否需要签约,不需要签约(比如申请APP支付即为不需要支付)返回错误码。

  b) 判断是否已签约,已签约返回错误码。

  c) 拒绝签约,(没有此场景,不验证)。

  d) 取消签约,没有提供取消签约的接口,异步消息,不走用户协议。

  e) 重复签约

  i. 同一个入参,同时拿到3次地址,进行签约(申请多个签约地址,生成多个签约串,多次签约)。

  ii. 签约多次:同一地址签约多次,不同地址签约多次,生成多个签约串,是多个签约号,还是单个签约号,签约后是否成功支付。

  iii. 同一个入参,同时拿3次地址,第一个地址签约后解约,拿第二个地址或者第三个进行签约。

  iv. 同一个地址,签约后解约,再签约。

  f) 签约地址有效性,暂时是一直有效(无需验证签约地址失效时间)。

  g) 仅存在未生效签约记录,或者查无记录,查询渠道网关获取最新状态,未生效则返回空(手机号、邮箱变更、APP支付可能会有问题,不指定账号)。

  h) 跳转到支付宝页面签约,多次重复点击签约按钮(实际点击签约会生成旋转圈,无法多次重复点击)。

2、 查询有效的用户支付协议:

  正向:

  a) 存在已生效签约记录,直接返回已生效记录。

  b) 仅存在未生效签约记录,查询渠道网关获取最新状态,如何已签约则更新DB返回已生效记录。

  逆向(接口应该都返回为空):

  a) 查询已过期的签约记录。

  b) 查询不存在的签约记录。

  c) 查询未生效的签约记录。

3、 创建交易单:

  a) 支付宝免密代扣创建交易单正向:

  1) 交易状态初始化:创建交易单、创建收款单、创建支付单。

  2) 调用渠道网关的支付接口,状态变成处理中(瞬时结果,无法验证)。

  3) 交易状态处理中:发起支付:幂等支付单、创单并支付、支付单号(瞬时结果,无法验证)。

  4) 发起免密代扣并等待返回结果,等待过程中状态为处理中(瞬时结果,无法验证)。

  5) 交易完成后返回支付结果回调:免密代扣支付结果会更新、当网络超时后,等待回调或者业务侧主动调查询接口。

  b) 支付宝免密代扣创建交易单逆向:

  1) 创建交易初始化超时:发起支付创单,充电调用支付超时、发起支付创单,支付侧网关重启,导致发起支付超时。

  2) 创建交易处理中幂等:交易单,收银单,支付单创建后,删除部分单据,去校验幂等,依然创建支付单号(依然保持原单号)。

  3) 创建交易处理中重试:1)多次发起同bizOrderId交易单,提示交易订单已完成2)多次发起同buyerId不同bizOrderId交易单,可重新创建交易单。

  4) 交易完成重试:交易完成后,重新在发起交易单,提示交易订单已完成。

  5) 交易失败:钱不足,交易失败,提示买家余额不足。

  6) 交易取消:交易单取消场景,没有此场景。

  c) 支付宝APP支付创建交易单正向:

  a) 交易状态初始化:创建交易单、创建收款单、创建支付单。

  b) 调用渠道网关的支付接口,状态变成处理中(查询3张表状态均为处理中)。

  c) 交易状态处理中:发起支付:幂等支付单、创单并支付、支付单号。

  d) 唤起第三方金融机构APP进行支付,支付完成后返回支付回调:支付结果依赖三方机构回调消息、支付结果业务侧主动调用查询结果(业务侧的回调结果场景如何)。

  d) 支付宝APP支付创建交易单逆向:

  a) 创建交易初始化超时:发起支付创单,充电调用支付超时、发起支付创单,支付侧网关重启,导致发起支付超时。

  b) 创建交易初始化重试:多次发起同bizOrderId交易单,提示交易订单已完成、多次发起同buyerId不同bizOrderId交易单,可重新创建交易单。

  c) 创建交易初始化过期重试:创建交易单实际并不支付,payTokenExpiryMillis一小时过期后,重新用重复payTokenValue调起支付。

  d) 创建交易处理中幂等:

  1. 交易单,收银单,支付单创建后,删除部分单据,去校验幂等,依然创建支付单号(依然保持原单号)标题、金额、优惠金额、租户、商户、用户信息buyerid、buycode、是否可重试。

  2. 修改金额,不修改settlementProps,会提示“合约费项总额不匹配”。

  3. 修改金额并同时修改settlementProps,会提示处理中交易单信息不能被修改。

  e) 交易完成重试:交易完成后,重新在发起交易单,提示交易订单已完成。

  f) 交易失败:钱不足,交易不会失败,只会需要付款,服务端告知不到。

  g) 交易取消:交易单取消也无此场景。

  e) 微信支付分创建交易单正向:

  (a) 调下单接口成功,检查出参各字段,检查数据库各字段,下单金额为0 ,交易状态:trade_init。

  (b) 小程序端下单跳转到确认页面:

  1. 确认时点取消或一直不点确认,30天后,该交易单被取消。

  2. 正常操作确认,更新交易单状态,小程序返回到业务服务页面。

  3. 待确认,1小时,token失效,不能进确认页。

  (c) 商户ID换个新的,可正常下单。

  f) 微信支付分创建交易单逆向:

  (a) 系统异常:

  1. 交易接口网络异常下单失败,返回系统异常。

  2. 交易接口下单微信处理失败,接口返回系统异常。

  3. hsf接口超时,小程序侧需要处理。

  (b) 已存在一笔业务单号交易单,再次下一笔相同订单,返回code,其他信息不返回。

  (c) 同一单,并发多次,只成功一次。

  (d) 已存在相同业务单号订单,但token(package)1小时后过期,则返回交易已失效,充电侧提示是否需要重新下单,业务侧:返回错误 让用户重新发起支付分确认。

  (e) 相同用户id交易单已存在,次数大于3次即存在3笔,则再次下单返回交易单次数达到上限。

  (f) 下单的appid和wx支付分确认接口appid不一致, 修改下单appid,确认页会主体不一致。

  (g) 下单的appid传其他的,返回未找到服务号

4、 交易单查询:

  (a) 交易单查询正向:

  ① 交易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易初始化。

  ②交易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易处理中(只有微信支付分才有此场景)。

  ③ 交易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易处理完成。

  ④交易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易处理失败。

  ⑤易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易取消。

  (b) 交易查询单逆向:

  ①交易处理失败(用户付款失败):未付款,交易超时关闭。

  ② 交易处理失败(用户付款失败):支付完成后,全额退款。

  ③ 交易处理失败(用户付款失败):支付宝交易结束,不可退款,暂时不考虑。

  ④ 交易取消,用户无法付款。

5、 交易支付(只有微信支付分才有此场景):

  a) 交易支付正向:

  (a) 待支付订单,调用交易支付接口,补差金额=0,支付回调通知返回trade_finish,交易单状态由processing变更为finished,检查交易表。

  (b) 待支付订单,调用交易支付接口,补差金额=交易总金额,支付回调通知返回trade_finish,交易单状态由processing变更为finished,检查交易表。

  (c) 待支付订单,调用交易支付接口,0<补差金额<交易总金额,支付回调通知返回trade_finish,交易单状态由processing变更为finished,检查交易表。

  (d) 待支付订单,调用交易支付接口,补差金>交易总金额,接口返回失败,没有回调通知,交易表不变。

  (e) 0元单,交易状态直接为已完成。

  (f) 交易单为200元,可成功支付。

  (g) 交易单超过200元即200.01元,支付将失败,订单状态仍然为之前的状态。

  b) 交易支付逆向:

  (a) 待支付订单,调用交易支付接口,金额不足扣款失败,支付接口返回成功,没有回调通知,交易单状态仍然是processing,检查交易表。

  (b) 待支付订单,调用交易支付接口,补差账号不足扣款失败,接口返回成功,交易单状态仍然是processing,检查交易表。

  (c) 已支付订单,调用交易支付接口,返回失败。

  (d) 多次收到相同支付回调通知,数据库状态一直是已完结。

  (e) 小程序支付通知并发,小程序侧的表现。

  (f) 金额充足理论上可成功扣款,一直未收到支付回调通知,定时任务执行(自动wx查询支付分接口)成功,交易单状态trade_finish,业务侧订单状态已支付。

  (g) 金额不足理论上不可成功扣款,一直未收到支付回调通知,定时任务执行(自动wx查询支付分接口),交易单状态trade_failed,业务侧订单状态待支付。

  (h) 执行定时任务,更新交易单失败,再次执行定时任务,可更新成功。

  (i) 多次执行定时任务,交易表已更新,则不再更新,交易表是否更新时间。

  (j) 待支付订单,一直没进行扣款,一直处理中,目前不可取消,未来加渠道后可取消。

  (k) 实际付款成功,没收到支付回调通知,充电业务查交易状态,交易状态进行中此时会触发更新,不用发消息通知业务侧。

  (l) 交易支付接口分多次调用不并发,处理成功后其他不处理,第一次返回成功,其他返回失败 提示已支付。

  (m) 交易支付接口并发多次调用,处理成功后其他不处理,第一次返回成功,其他返回失败 提示已支付。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​
在这里插入图片描述​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值