我正在制作一款应用程序,用户可以使用 Stripe Checkout 一次性付款为其钱包金额充值,但我有点困惑。
通常使用哪个webhook来检测支付状态是否成功?我读过一些相互矛盾的建议,其中有人说要在 checkout.session.completed 处进行检测,而我读到在 checkout.session.completed 处付款并未 100% 确认成功,而是使用 payment.intent.success 代替。成功后我需要更新用户的钱包余额,因此它必须是 100%。
充值并且 Stripe 路由到成功 url 后,理想情况下用户将被路由到我的应用程序上的付款确认页面。在这种情况下,我如何才能获得有关付款的详细信息?我读到可以在具有会话 ID 的成功 url 中添加查询参数,但这似乎不是一个安全的选择,因为用户可以根据需要更改 url。我想知道正常的方式是什么?
非常感谢!
通常使用哪个webhook来检测支付状态是否成功?我读过一些相互矛盾的建议,其中有人说要在 checkout.session.completed 处进行检测,而我读到在 checkout.session.completed 处付款并未 100% 确认成功,而是使用 payment.intent.success 代替。成功后我需要更新用户的钱包余额,因此它必须是 100%。
我建议您查看此指南,了解检查结账会话中的付款结果。简单来说,您将在任何 payment_status
事件(包括同步和异步支付方式)的 Checkout Session 中检查
checkout.session.*
属性。
充值并且 Stripe 路由到成功 url 后,理想情况下用户将被路由到我的应用程序上的付款确认页面。在这种情况下,我如何才能获得有关付款的详细信息?我读到可以在具有会话 ID 的成功 url 中添加查询参数,但这似乎不是一个安全的选择,因为用户可以根据需要更改 url。我想知道正常的方式是什么?
查询参数将仅包含结帐会话 ID (cs_xxx),您的系统应检索您正在查找的信息。或者,您可以使用
checkout.session.*
事件来检查上一问题指南中建议的付款信息。