Stripe支付成功的正确处理方式及相应路线

问题描述 投票:0回答:1

我正在制作一款应用程序,用户可以使用 Stripe Checkout 一次性付款为其钱包金额充值,但我有点困惑。

  1. 通常使用哪个webhook来检测支付状态是否成功?我读过一些相互矛盾的建议,其中有人说要在 checkout.session.completed 处进行检测,而我读到在 checkout.session.completed 处付款并未 100% 确认成功,而是使用 payment.intent.success 代替。成功后我需要更新用户的钱包余额,因此它必须是 100%。

  2. 充值并且 Stripe 路由到成功 url 后,理想情况下用户将被路由到我的应用程序上的付款确认页面。在这种情况下,我如何才能获得有关付款的详细信息?我读到可以在具有会话 ID 的成功 url 中添加查询参数,但这似乎不是一个安全的选择,因为用户可以根据需要更改 url。我想知道正常的方式是什么?

非常感谢!

stripe-payments
1个回答
0
投票

通常使用哪个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.*
事件来检查上一问题指南中建议的付款信息。

© www.soinside.com 2019 - 2024. All rights reserved.