【问题标题】:How to timeout after few minuts a checkout session in Firebase?如何在 Firebase 中的结帐会话几分钟后超时?
【发布时间】:2021-12-24 18:45:51
【问题描述】:

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

编辑:另一种选择是在成功后立即取消所有创建的结帐会话。

【问题讨论】:

    标签: firebase stripe-payments checkout


    【解决方案1】:

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

    如果您可以提供更多关于为什么您希望像这样按顺序组织付款的背景信息,也许我们可以提供一些替代方法。

    更新:在得到这个答案后不久,Stripe 发布了 Checkout 会话的 /expire 端点 (API ref),允许您明确“取消”会话。

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

    【讨论】:

    • 我一次只能为一位客户提供服务。一旦一位客户付款,我就需要取消所有处于活动状态的结帐会话。我正在使用预先构建的结帐页面(使用 stripe.checkout.sessions.create),然后我使用 webhook 来监听事件“付费”(事件 checkout.session.completed)。一旦我收到一个“付费”事件,我就需要取消所有处于活动状态的结帐会话,我被困在这个特定的最后一步。
    • 这似乎是你的幸运日,因为 Stripe 刚刚发布了这个新的端点来使会话过期:stripe.com/docs/api/checkout/sessions/expire
    猜你喜欢
    • 2015-11-15
    • 2014-10-24
    • 2013-06-15
    • 1970-01-01
    • 2014-09-30
    • 2011-10-18
    • 1970-01-01
    • 2010-12-16
    • 2017-05-17
    相关资源
    最近更新 更多