以支付宝为例

首先要知道什么是二维码?二维码实际上就是一个url地址,当手机扫码后,会根据二维码上的黑和白(黑色的色素块代表1,白色的色素块代表0)区域解析成URL地址。然后分析下使用场景,这里实际上涉及到一个收款方,一个支付方。收款方生成二维码,支付方拿着手机去扫码。
知道使用场景了,接着拆分功能点,从字面上“二维码扫码支付”,这7个字可以拆分成3个关键字:二维码,扫码,支付
二维码场景用例
针对二维码写用例,可以分:

  1. 生成的二维码是不是能正确识别,支付方拿着手机能扫的出来
  2. 二维码的准确性,扫码后的功能对不对(本来是收款吗,要是生成付款码,那就不对了)
  3. 二维码的尺寸,清晰度
  4. 二维码是否会变(一般收款码不会变,付款码会定时刷新)

扫码场景
扫码是支付方的使用场景了
1.网络环境,无网络的时候,二维码还能不能扫
2.扫码的时候,是能自己输入金额,还是固定的支付金额(个人收款是用户随便输入金额,生成的订单扫码是固定金额)
3.如果是商户生成的固定的订单,用户是否可以串改金额?
4.如果是商户生成的固定的订单,用户支付后,能不能重复支付?
5.多用户同时扫码支付场景,固定订单,只能被支付一次
支付场景
关于支付场景就复杂了,虽然上面的是二维码扫码支付,其实核心功能在于支付,上面的各种扫码姿态都是停留在表面的点点点。
支付金额场景:
1.支付的金额是否可以为空,为0,负数
2.支付的金额最多几位小数,一般是2位小数,精确到分
3.单笔最大金额
4.单日最大金额
支付方式:
1.支付方式:余额,余额宝,花呗,信用卡,银行卡
2.支付顺序,默认的支付顺序是怎样的(或者自己设置的支付顺序)
3.当第一个支付余额不足的时候,是否能默认用第二顺序的支付,一次类推
4.不同的支付方式,会有单笔限制,比如不同银行卡会有不同的额度
支付密码:
当用户选择了支付方式,支付金额后,下一步就是输入交易密码
1.密码支付,还是指纹支付,还是刷脸支付
2.密码正确,交易成功
3.密码错误,交易失败
4.交易失败后,是否能重新支付
5.用户取消支付
6.用户不支持,放着让他过期超时
支付状态:
支付之后,那么就会有支付状态
1.支付失败,订单状态
2.支付成功,订单状态
3.用户取消支付,订单状态
4.支付超时,订单状态
对账
1.支付方支付成功后,钱是不是变少了
2.收款方收款后,是立即到账,还是延迟到账?
3.收款方如果没网,对方支付成功后,下次联网是否能看到收款记录
4.当然支付宝 还有语音播报:支付宝到账xx元
退款
支付方付款后,突然反悔了,那么此时就涉及到退款功能了
1.退款是原路返回,还是怎样的?
2.立即到账,还是人工处理?
3.退款时候有没有扣手续费?
4.退款后,订单状态变更

手续费
说到手续费,如果对方是花呗,信用卡,那么就涉及手续费问题
1.对方花呗,信用卡付款,手续费扣比例对不对
2.退款的时候,手续费会不会算你的?

红包和劵
1.如果支付方有平台红包可以用,是否能抵扣平台红包,收款方不受红包影响
2.还有劵的使用,满减劵,是否能叠加,还是固定商品使用劵
3.涉及退款的时候,这些红包和劵是作废,还是原路返回
安全与性能
支付安全性:
如果是一个固定金额的订单,比如100元订单,用户在扫码支付的时候,会从二维码中解析出支付金额
此时如果我抓包后,篡改了金额,比如改成0.01元了,是否能支付成功呢?
一般这种订单接口都会有sign签名,防止用户篡改请求参数
性能
说到性能,必然会扯到高并发,多用户同时调用支付接口并发,会不会有什么问题呢?
这里的接口并发,不是多个人扫一个二维码,是整个系统比如支付宝用户有xx亿,在一分钟内有1000w用户在使用扫码支付,测试整个系统的性能。

回答问题思路从:UI-功能-接口-业务-场景-安全-性能等方面回答

如何测试扫码支付二维码?相关推荐

  1. 8.3 综合案例2.0-扫码支付二维码生成

    综合案例2.0-扫码支付二维码生成 扫码支付完整流程 案例说明 1.硬件 2.连线图 搭建云平台环境 1.添加设备 2.创建设备类型 3.功能定义(创建物模型) 代码 1.更改MQTT信息 2.测试 ...

  2. PC端微信扫码支付二维码生成接口的调整

    目前原有的example下面的在线二维码生成接口被微信取消了,从而需要各个电商系统自己生成. 可参考开发文章demo中的phpqrcode.php程序进行生成并保存到电商系统本身的服务器上,然后取出进 ...

  3. 微信支付:支付流程分析、微信扫码支付(HttpClient)、微信支付二维码生成、检测支付状态、订单状态操作准备工作、支付信息回调、MQ处理支付回调状态、定时处理订单状态

    微信支付 微信支付开发的整体思路 生成支付二维码 查询支付状态(微信的服务器) 实现订单状态的修改.删除订单 支付状态回查->微信服务器将支付状态返回给支付微服务 MQ处理支付回调状态 Rabb ...

  4. 关于微信支付 二维码扫码支付

    首先注册微信公众平台服务号:https://mp.weixin.qq.com 获得开发者id和秘钥(appid & appsecret) 随后注册微信支付商户平台:https://pay.we ...

  5. 在OpenJWeb平台中实现主动扫码(商家主动出示支付二维码)

    上一篇介绍了被动扫码的实现,本文介绍如何在OpenJWeb平台中实现主动扫码(商家生成支付二维码),出示给用户,用户扫码后通过微信付款. 业务流程: (1)商家在POS机中录好了商品和价格,然后调用微 ...

  6. 聚合支付二维码如何实现自动识别扫码客户端跳转相应支付页面

    前言 前面有一篇<聚合支付之流程概述>和大家聊了一下关于聚 合 支 付的一个简单流程.很多小伙伴私信我,如何实现聚合支付码的自动跳转呢? 其实,刚开始接触的时候我也很迷茫,一个静态的二维码 ...

  7. B2C电商项目(第十二天、微信扫码支付、支付二维码、支付回调逻辑、推送支付通知)

    一. 微信扫码支付 学习内容: 能够根据微信支付的开发文档调用微信支付的 api 完成统一下单生成微信支付二维码功能 完成支付回调的逻辑处理,掌握 EchoSite的使用 完成推送支付通知功能 微信支 ...

  8. 支付宝支付 第九集:产品数据和支付二维码对接

    支付宝支付 第九集:产品数据和支付二维码对接 一.问题 javascript中单引号和双引号的区别是什么? vue中的:作用 v-bind指令 二.代码 目录结构 更新AlipayServiceImp ...

  9. 支付二维码整合 - 三码合一支持支付宝、QQ、微信

    支付二维码整合 - 三码合一支持支付宝.QQ.微信 1. 前提:获取各个二维码的具体内容 在写代码前,我们需要先获取不同支付方式的二维码内容.很简单,只需要打开各个支付码,截图,然后随便找个可以扫码的 ...

  10. SpringBoot接入支付宝沙箱返回支付二维码

    支付宝开放平台 扫码登录支付宝开放平台 沙箱环境 沙箱环境介绍 沙箱控制台 应用网关:该地址用于接收开放平台的异步通知.目前沙箱环境不需要配置此参数: 授权回调地址:第三方应用授权或获取用户信息中用于 ...

最新文章

  1. jquery中如何以逗号分割字符串_百度知道
  2. html表单上传图片获取路径,asp.net获取HTML表单File中的路径的方法
  3. SQL中like的用法
  4. 【trie树】HDU1247Hat’s Words
  5. 牛客网暑期ACM多校训练营(第二场)D-money (dp)
  6. lisp画靶子 visual_基于VisualLISP的AutoCAD绘图命令的二次开发_沈良翼
  7. Java 网络实例一(获取指定主机的IP地址、查看端口是否已使用、获取本机ip地址及主机名、获取远程文件大小)
  8. Spring Boot的Maven插件 spring-boot-maven-plugin
  9. bz2解压命令_Linux下的tar压缩解压缩命令
  10. c#制作飘动动画窗体
  11. 知识库 编号:003
  12. BC26通过LWM2M接入电信AEP平台(透传模式)
  13. [经验教程]2022网线水晶头插座接头排线接线顺序与方法图解
  14. html投影电脑,如何将电脑内容显示到投影仪或电视上?详细教程奉上
  15. Zoomit的简单使用
  16. (七)继续对话库检索的闲聊系统
  17. 【C++广度搜索入门】面积
  18. 关于我遇到的一个DNS问题
  19. Java虚拟机字节码指令
  20. 解决页面js接受Long型损失精度问题

热门文章

  1. 利用Python进行数据分析的学习笔记——chap12
  2. struct构造函数 c++
  3. Mapstruct使用介绍
  4. 检验二元分解是否为无损分解(非加性)
  5. 【环境配置】Collecting package metadata (current_repodata.json): failed的问题解决
  6. 微信支付-简易实例代码
  7. Spring学习02-Spring中的设计模式(一)
  8. win7 远程桌面连接
  9. warning: #188-D: enumerated type mixed with another type
  10. 云服务器重装系统步骤,腾讯云服务器如何更换操作系统?更换系统镜像重装系统方法...