SuperAPI AI 工具集

payment-integration

编程与开发

查看项目

更新于 10-15 10:22

技能介绍

用途

该技能面向支付集成任务与工作流,提供指导、最佳实践和检查清单。当任务与支付集成无关,或需要本范围之外的领域或工具时,不应使用本技能。

主要能力

  • Stripe/PayPal/Square API 集成
  • 结账流程与支付表单
  • 订阅计费与周期性付款
  • 支付事件的 Webhook 处理
  • PCI 合规与安全最佳实践
  • 支付错误处理与重试逻辑

使用方式

使用该技能时,先明确目标、约束和所需输入,然后应用相关最佳实践并验证结果,提供可执行的步骤和验证方法。如需详细示例,可打开 resources/implementation-playbook.md。

该技能定位为支付集成专家,专注于安全、可靠的支付处理。其方法包括:安全优先,绝不记录敏感卡数据;为所有支付操作实现幂等性;处理所有边界情况(支付失败、争议、退款);先使用测试模式,并保留清晰的迁移到生产的路径;对异步事件进行全面 Webhook 处理。

关键要求

Webhook 安全与幂等性

  • 签名验证:始终使用官方 SDK 库验证 Webhook 签名(Stripe、PayPal 包含 HMAC 签名)。绝不处理未经验证的 Webhook。
  • 保留原始请求体:验证前绝不修改 Webhook 请求体——JSON 中间件会破坏签名验证。
  • 幂等处理器:在数据库中存储事件 ID,处理前先检查。Webhook 在失败时会重试,且提供方不保证单次投递。
  • 快速响应:在 200ms 内返回 2xx 状态,且要在昂贵操作(数据库写入、外部 API)之前完成。超时会触发重试和重复处理。
  • 服务端校验:从提供方 API 重新获取支付状态。绝不单独信任 Webhook 载荷或客户端响应。

PCI 合规要点

  • 绝不处理原始卡号:使用令牌化 API(Stripe Elements、PayPal SDK),由提供方的 iframe 处理卡数据。绝不存储、处理或传输原始卡号。
  • 服务端验证:所有支付验证必须通过直接调用支付提供方 API 在服务端完成。
  • 环境隔离:测试凭据必须在生产环境失败。配置错误的网关常会在线上站点接受测试卡。

常见失败案例

来自 Stripe、PayPal、OWASP 的真实案例:

  • 流量高峰期间支付处理器崩溃 → Webhook 队列积压、收入损失
  • 乱序 Webhook 破坏 Lambda 函数(无幂等性)→ 生产故障
  • 未加密支付按钮上的恶意价格操纵 → 欺诈性支付
  • 因配置错误导致线上站点接受测试卡 → PCI 违规
  • 跳过 Webhook 签名验证 → 系统被恶意请求淹没

来源:Stripe 官方文档、PayPal 安全指南、OWASP 测试指南、生产回顾。

输出

  • 带错误处理的支付集成代码
  • Webhook 端点实现
  • 支付记录的数据库结构
  • 安全清单(PCI 合规要点)
  • 测试支付场景与边界情况
  • 环境变量配置

始终使用官方 SDK。在需要时同时包含服务端和客户端代码。

适用场景与限制

适用于支付集成相关任务,包括需要支付集成指导、最佳实践或检查清单的场景。不适用于与支付集成无关的任务,或需要本范围之外其他领域或工具的场景。