如何使 stripe paymentIntent 过期?

Roh*_*kar 6 cron mongodb stripe-payments

我正在实现电子商务功能。我有一种情况,当长时间(比如 10 分钟)未确认 stripe paymentIntent 时,我想将产品恢复到库存。详细来说,我正在做的事情是,当顾客结账时,我锁定购物车中的产品库存。然后我运行了一个 cronjob 来识别闲置超过 30 分钟的购物车,并将库存恢复到库存中。这很好,但可能存在用户正在付款并且购物车可能会恢复的情况,为了解决这个问题,当启动付款时,我将购物车状态更改为进行中,以便 cronjob 不会恢复此购物车。但是,如果用户发起付款但从未完成付款,则购物车将永远不会恢复。所以我正在寻找一种方法,使 paymentIntent 过期,并且我可以在 stripe webhooks 中恢复此购物车。任何其他替代方案都值得赞赏。

ale*_*lex 3

\xe2\x80\x99s Stripe 目前没有自动方式可以执行此操作,除非您有资格获得 Checkout 放弃测试版 [0]。我能想到的唯一方法是取消 PaymentIntent [1](如果它不处于 status 状态)succeededcanceled或者processing在一段时间后取消 [2],并在事件payment_intent.canceled[3] 上触发库存释放。

\n

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

\n