跳到正文
Indiana
控制台
开发文档
章节目录 / 测试接入

测试接入

在 Sandbox 中测试支付、通知、重试与幂等。

API v1更新于

在 Sandbox 中开发

  • 用 Sandbox 环境的 Server Key 开发和测试。Sandbox 的 Customer、购买和用量与 Live 完全隔离。
  • 用固定的测试用户 ID(如 test-user-1)创建 Customer,重复运行会得到同一个 Customer,便于反复验证。
  • 上线前按环境说明中的检查清单,在 Live 重新创建 Key 并发布配置。

相关:上线检查

测试支付

在 Console 的支付连接中为 Sandbox 连接 Stripe 测试模式账户,然后在 Stripe 付款页使用 Stripe 的测试卡。任意未来的有效期、任意 3 位 CVC 均可。

常用测试卡
卡号结果
4242 4242 4242 4242支付成功
4000 0000 0000 0002支付被拒绝
4000 0025 0000 3155需要 3D Secure 验证

常用测试卡

  • 4242 4242 4242 4242

    结果
    支付成功
  • 4000 0000 0000 0002

    结果
    支付被拒绝
  • 4000 0025 0000 3155

    结果
    需要 3D Secure 验证
  • 支付后调用 readSubscriptionOperation,确认状态变为 complete,再用 readHoldings 确认权益已生效。
  • 退款用 previewRefund 和 refund 测试,确认权益按你选择的方式保留或撤销。

测试通知

  • 接收地址必须是公网 HTTPS。本地开发时,用 HTTPS 隧道工具把本地服务暴露出来,再填到 Console 的 App notifications 中。
  • 触发一次真实事件(例如上报一次用量),确认收到 usage.consume,并且签名验证通过。
  • 在 Console 的投递记录中重放同一个事件,确认你的服务按事件 ID 去重,不会重复处理。

相关:商户通知与 Webhook

测试重试与幂等

  • 用同一个 requestId 或 idempotencyKey 重复发送同一个写请求,确认返回原结果、不重复执行;带 replayed 字段的响应会返回 true。
  • 用同一个 ID 但不同的内容发送,应收到 CONFLICT。
  • 模拟超时后,按“先读取原操作、再用原 ID 重试”的顺序恢复,确认不会产生第二笔扣费或购买。

相关:幂等与重试