【问题标题】:Stripe Automatic Cancellation for Incomplete Payment Intents不完整付款意图的条纹自动取消
【发布时间】:2021-05-14 06:04:48
【问题描述】:

我有一个结帐流程,客户可以在其中将优惠券代码应用于他们的购买。每个客户都有一组有限的优惠券,他们可以申请以从他们的价格中获得一定百分比的折扣。当客户申请优惠券时,应用程序会在数据库中注册尝试使用此类优惠券。

我计划使用条带 webhook 来监听取消和成功付款,并将优惠券标记为不可用或可再次用于该特定客户的未来购买。在支付意图被取消的情况下,客户可以再次使用优惠券。如果客户完成结帐流程并输入信用卡号,则此方法有效。

但是,当客户没有完成整个结帐流程,并且应用了优惠券代码并在数据库中标记了尝试时,就会出现问题。

我的问题是,对于不完整的付款意图,stripe 是否有任何自动取消政策,例如在创建后的特定时间段后计划取消。我在某处读到结帐会话下的付款意图在 24 小时后到期。但是,如果这是真的发生了,或者仅适用于支付意图,我在官方文档中找不到任何地方。这对我来说很好,因为我可以使用 webhook 来处理自动取消。

如果不是这样,我将如何处理这种情况? 顺便说一句,我正在使用我自己的客户和优惠券系统。目前没有将这些与 Stripe 集成。 感谢您的帮助!

【问题讨论】:

    标签: python stripe-payments


    【解决方案1】:

    对于不完整的付款意图,Stripe 没有任何自动取消政策。例如,我刚刚检查了我的仪表板,并且我的付款意图仍标记为“未完成”,最初创建于 2019 年 12 月 17 日。

    您可以采取的一种方法是,仅当使用优惠券的给定付款意图成功时,才将其标记为已兑换。您可以侦听payment_intent.succeeded webhook 事件并增加数据库中相关优惠券的兑换计数。使用此流程,您需要跟踪每次将优惠券应用于支付意图时,以及 manually cancel 之前应用优惠券的任何不完整的支付意图。

    【讨论】:

    • 对我来说,目前还不清楚如何实现这样的流程。特别是,我需要编码的不完整付款意图的“预定”手动取消。你的意思是像一个异步调度器?你能告诉我更多细节吗?谢谢!
    • 当您创建一个您想要应用优惠券的 PaymentIntent 服务器端时,您将检查您的数据库以查看优惠券是否已应用到任何其他不完整的支付意图。如果有,您将手动取消这些付款意图,这样您就可以根据当前付款意图使用优惠券。
    • 哦,是的,这可以工作。感谢您的澄清,我可以尝试实现这一点。不过,自动取消会容易得多。我想知道是否有任何用例不允许 Stripe 这样做......
    猜你喜欢
    • 2021-03-17
    • 2021-12-18
    • 2020-12-01
    • 2022-01-12
    • 2015-01-03
    • 2020-03-06
    • 2021-03-30
    • 2020-03-04
    • 2019-10-10
    相关资源
    最近更新 更多