上线前检查表
使用该检查表,在集成上线时确保平稳迁移。
注意
成为 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 密钥被表示或存储在多个地方(从而导致错误)或最终出现在您的版本控制软件中。