SuperAPI AI 工具集

sumup-debug

编程与开发

查看项目

更新于 10-16 02:04

技能介绍

用途

sumup-debug 用于诊断和修复失败的 SumUp 集成。当出现 SumUp HMAC 签名校验失败、结算会话过期、作用域未激活、组件无法挂载等情况时,可使用该技能进行排查。

快速分诊矩阵

技能建议先对症状进行分类:

  • 认证/签名错误
  • 结算创建/处理错误
  • 组件/客户端挂载或流程错误
  • 异步不匹配(界面显示成功,但后端状态失败)

然后采集证据:

  • 请求/响应载荷(脱敏处理)、HTTP 状态、错误码/错误消息
  • checkout id、merchant code、checkout_reference
  • webhook 投递 id 与签名判定结果

在修改生产行为之前,先在沙箱中复现问题。

常见故障与修复

HMAC 签名不匹配(x-payload-signature)

症状:webhook 校验对全部事件失败,或间歇性失败。

可能原因:

  • 在验证前 body 解析器已改变了载荷内容
  • webhook secret 与环境配置配对错误
  • 摘要使用非原始 body 字节计算

修复:

  • 基于原始请求体字节进行验证
  • 确保使用 HMAC SHA-256 和精确配置的 secret
  • 确认 secret 属于同一商户/环境

验证:重放载荷和实时沙箱 webhook 的签名校验均通过。

结算/会话窗口过期

症状:延迟后支付尝试失败、结算状态过期,或进入超时流程。

可能原因:

  • 结算在有效窗口之后仍处于待处理状态
  • 前端使用已过期的 checkout id 重试

修复:

  • 每次重试都创建新的结算
  • 添加前端超时处理,请求新的结算

验证:重试流程始终使用新的 checkout id/reference,并在沙箱中成功。

缺少作用域激活或认证不匹配

症状:凭据有效但仍返回 401/403。

可能原因:

  • 缺少 payments 或其他必要作用域
  • 在需要 OAuth 的场景使用了 API key,或反之

修复:

  • 确认集成类型对应的认证模型
  • 请求/启用所需作用域,并按需重新签发 token/key

验证:此前失败的端点使用最小权限的有效凭据后成功。

币种与商户不匹配

症状:结算因币种或商户限制被拒绝。

可能原因:

  • 结算币种未对商户启用
  • 多商户场景中选择了错误的商户

修复:

  • 创建结算前校验商户与币种
  • 在后端校验层强制执行映射规则

验证:无效组合被提前拦截;有效组合可正常处理。

Affiliate key / 应用标识不匹配

症状:卡在场(card-present)流程失败或无法正确初始化。

可能原因:

  • Bundle ID/app ID 与 affiliate key 配置不一致
  • 卡在场请求缺少 affiliate 元数据

修复:

  • 使应用标识与 affiliate key 设置对齐
  • 为终端/云端流程包含所需的 affiliate 数据

验证:设备/读卡器结算路径在沙箱/测试设备中可初始化并完成。

重复的 checkout_reference

症状:结算结果重复或冲突,对账混乱。

可能原因:

  • 生成的非唯一引用
  • 重试逻辑复用旧引用,且没有幂等保护

修复:

  • 为每个逻辑支付意图生成唯一且确定性的引用
  • 添加重复检测和安全重试行为

验证:重复尝试被拒绝或对账处理,不会产生重复履约。

Card Widget 被阻止或无法挂载

症状:组件无法渲染,或发出错误/初始化失败。

可能原因:

  • 脚本被 CSP 或域名策略阻止
  • checkout id 无效或环境不匹配
  • 前端初始化存在竞态条件

修复:

  • 在 CSP 和 JS origins 配置中允许所需的 SumUp 脚本来源
  • 确认 checkout id 的环境与生命周期
  • 仅在脚本加载完成且 DOM 就绪后挂载

验证:组件可稳定挂载并完成测试支付。

调试回答的必需响应契约

对每个调试回答,应包含:

  • 按置信度排序的最可能根因
  • 用于确认或排除各假设的最小可复现检查
  • 精确的修复步骤,并附低风险上线建议
  • 修复后验证清单
  • 任何用于防止复发的监控/日志改进建议

适用场景与限制

该技能适用于排查 SumUp 集成中的上述故障类型,特别是签名、结算生命周期、作用域、币种与商户、应用标识、引用唯一性以及前端组件挂载问题。

其限制在于:资料仅提供了排查流程、常见故障类别与修复方向,未提供具体的 API 请求代码、安装命令、价格或收费信息、平台范围、实际效果数据或详细使用步骤;这些内容暂未提供。