上线前检查表
上线集成时请使用此检查清单。
注意
成为 Stripe 合作伙伴访问其他最佳实践并从 Stripe 接收相关的新闻和更新。
Stripe 在设计其真实环境和沙盒环境时,其功能尽可能相似。在它们之间切换主要是交换您的 API 密钥。
如果您是开发人员(或曾让开发人员为您执行集成),在上线前也要考虑以下事项。如果您通过连接的网站或插件使用 Stripe,大部分内容可能不适用。
警告
如果您使用的是强类型语言(Go、Java、TypeScript、.NET),服务器端库会根据您使用的库版本固定 API 版本。如果您不熟悉 Stripe 的版本管理方式,请参阅版本控制。
要确保一切同步:
我们创建了多个测试值,您可以用来模拟各种状态和响应。除了这些选项之外,请进行尽职调查,使用以下内容测试您的集成:
- 数据不完整
- 数据无效
- 重复数据(例如,重试同一请求以查看会发生什么情况)我们还建议让其他人测试您的集成,尤其是当该人本身不是开发人员时。
不要等到上线后才发现代码未正确处理所有可能的错误类型,包括那些“本不应”发生的错误。确保代码具备防御性,不仅处理常见错误,还能应对所有可能的情况。
在测试错误处理时,请密切注意向用户显示哪些信息。被拒绝的卡(即
card_
)与后端错误(例如error invalid_
)是不同的问题。request_ error Stripe 会记录使用您的 API 密钥发出的每个请求,这些记录可以在管理平台 中查看。我们建议您在自己的系统中也记录所有重要数据,尽管这看似冗余。如果您的服务器无法联系 Stripe 或 API 密钥出现问题,您的日志可作为备份——这两种情况都可能导致我们无法记录您的请求。
定期检查您的日志,确保仅存储所需信息,不包含敏感内容(例如信用卡详情或个人身份信息)。
Stripe 沙盒环境中创建的对象——如计划、优惠券、产品和 SKU——无法在真实模式中使用。这可防止测试数据意外用于生产代码。在真实模式中重新创建必要对象时,请确保使用相同的 ID 值(例如,相同的计划 ID,而不是相同的 name),以保证代码正常运行。
您的 Stripe 账户可以同时拥有测试和真实的 Webhook 端点。如果您使用 Webhooks,请确保在 Stripe 账户中定义了实时端点。然后确认实时端点的功能与测试端点完全相同。
在检查 Webhook 状态时,还需确保生产环境的端点:
- 处理延迟的 Webhook 通知
- 处理重复的 Webhook 通知
- 不要求事件通知以特定顺序发生
建议所有开发人员都订阅我们的 API 更新邮件列表,以便在我们发布新功能时可以及时了解。
作为一项安全措施,建议定期轮换您的 API 密钥,并在上线前立即轮换。这样可防止它们在开发过程中被保存在代码库以外的位置。确保您的流程不会导致您的 API 密钥被表示或存储在多个地方(从而导致错误)或最终出现在您的版本控制软件中。