【问题标题】:How to expire stripe paymentIntent?如何使条带支付意图到期?
【发布时间】:2021-08-14 06:27:26
【问题描述】:

我正在实现电子商务功能。我有一种情况,我想在很长一段时间(比如 10 分钟)未确认条带支付意图时将产品恢复到库存中。详细来说,我正在做的是,当客户结账时,我将产品的库存锁定在购物车中。然后我运行了一个 cronjob 来识别超过 30 分钟未使用的购物车并将库存恢复到库存中。这很好,但是可能存在用户正在付款并且购物车可能会恢复的情况,为了解决这个问题,当付款开始时,我将购物车状态更改为 inProgress,以便 cronjob 不会恢复此购物车。但是,如果用户正在发起付款并且从未完成它,那么购物车将永远不会恢复。因此,我正在寻找一种使 paymentIntent 过期的方法,并且我可以在条纹 webhook 中恢复此购物车。任何其他选择表示赞赏。

【问题讨论】:

    标签: mongodb cron stripe-payments


    【解决方案1】:

    除非您有资格参加 Checkout 放弃测试版 [0],否则 Stripe 目前无法自动执行此操作。我能想到的唯一方法是在一段时间后取消PaymentIntent [1],如果它不在状态succeededcanceledprocessing [2],并触发库存释放payment_intent.canceled 事件 [3]。

    [0]https://stripe.com/docs/payments/checkout/abandoned-carts [1]https://stripe.com/docs/api/payment_intents/cancel [2]https://stripe.com/docs/api/payment_intents/object#payment_intent_object-status [3]https://stripe.com/docs/api/events/types#event_types-payment_intent.canceled

    【讨论】:

      猜你喜欢
      • 2020-03-06
      • 1970-01-01
      • 2020-11-07
      • 2019-12-30
      • 1970-01-01
      • 2021-02-06
      • 2020-10-08
      • 1970-01-01
      • 2013-09-30
      相关资源
      最近更新 更多