如何在 Firebase 中的结帐会话几分钟后超时?

How to timeout after few minuts a checkout session in Firebase?

在我的 firebase 网络应用程序中,我需要设置一个比上次最多 10 分钟的结帐会话。 Stripe 不能这样做,因为结帐会话的最短到期时间为 1 小时。是否有其他可用选项或克服此限制的方法?
我基本上需要我的应用一次只处理一个结帐会话,并且只有在会话完成后,新用户才能提出新的购买请求。因此,我需要为结帐设置一个较短的超时时间。

编辑:另一种选择是一旦成功就取消所有创建的结帐会话。

不,不支持。如果您想强制执行这样的时间限制,则需要构建自定义支付流程来实现。

如果您可以提供更多关于为什么您想像这样连续构建付款的上下文,也许我们可以提供一些替代方法。

更新:在此回答后不久,Stripe 发布了结帐会话的 /expire 端点(API ref),允许您明确地“取消”一节课。

根据您与并行客户和付款的具体情况,您还应该考虑使用手动捕获,以防两个客户在您可以使会话到期之前设法付款。手动捕获将允许您评估已完成的付款并在捕获付款之前检查其他付款。