用途
本技能用于 SumUp 集成的测试设置、场景设计与验证,帮助开发者在沙箱环境中完成支付流程的测试规划与执行。
测试环境设置
- 仅使用沙箱商户账户。
- 确认凭据映射到沙箱环境。
- 在非生产环境准备 webhook 端点。
- 为 checkout id、reference、status 和 error code 启用日志记录。
核心测试卡数据
除非文档另有说明,默认值如下:
- CVV:任意 3 位数字(例如 123)
- 有效期:任意未来日期(例如 12/30)
- 持卡人:任意姓名
正常路径卡:
- VISA 4200 0000 0000 0091
- Mastercard 5200 0000 0000 0007
3DS 挑战卡:
- VISA 4200 0000 0000 0042
- Mastercard 5200 0000 0000 0015
故意失败约定
- 对于技能级测试配方,使用 amount = 11 作为默认强制失败触发器。
- 如果集成已使用基于金额的规范失败(例如 42.01、42.76、42.91),则同时运行两种模式,并记录哪种对该流程具有权威性。
端到端冒烟测试配方
- 使用唯一的 checkout_reference 创建 checkout。
- 使用正常路径卡完成支付。
- 验证前端回调/结果处理。
- 验证后端在履约前检索到最终已支付状态。
- 验证 webhook 投递和幂等处理。
- 使用强制失败金额重复,确认订单保持未支付。
cURL 骨架
curl -X POST "https://api.sumup.com/v0.1/checkouts" \
-H "Authorization: Bearer $SUMUP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"checkout_reference": "order-12345",
"amount": 11,
"currency": "EUR",
"pay_to_email": "merchant@example.com",
"description": "Sandbox test payment"
}'
根据所选流程和认证模型调整 payload 字段。
SDK 冒烟测试指引
- 每个集成面(服务器 SDK、移动 SDK、widget)保留一个冒烟测试。
- 断言规范化结果:success、pending、failed。
- 捕获并存储对账键:checkout id、transaction id/code、merchant code、reference。
必需 QA 矩阵
- 正常路径支付成功。
- 强制失败支付不履约订单。
- 3DS 挑战流程完成并返回预期状态。
- 重复 reference 行为具有确定性。
- 过期 checkout/session 路径通过新 checkout 处理。
- Webhook 重试不产生重复副作用。
必需响应契约
当被要求进行测试规划时,始终提供:
- 测试环境假设。
- 要运行的确切场景(成功 + 失败 + 异步)。
- 前端和后端的断言。
- 用于对账/调试的证据收集。