Stripe payments 通过条带结账,我如何跟踪付款状态
在stripe文档中,它说: 因此,在本例中,签出页面转到我前端的成功或失败页面 我使用后端跟踪付款状态,以便我们可以在管理门户中监控交易,而上述方法对我来说似乎很危险 签出成功后,它会将窗口重定向到成功url。这意味着我必须在成功页面中调用后端API来更新付款状态。然而,条带是支付状态的真实来源,DB上的状态更新应该来自条带,而不是前端页面。至少,如果用户刷新成功页面,它会一次又一次地调用API,这是不好的。另外,它是关于“一个用户说我成功支付了”v.s.“Stripe说他们成功支付了” 我尝试了Stripe webhook,但在webhook数据对象中,没有任何信息可用于将其链接到创建签出会话时生成的sessionId,但会话id是我可以从Stripe获得的关于付款的唯一跟踪id 如果签出是唯一的解决方案,那么安全更新我的数据库的最佳做法是什么?您有两种选择:Stripe payments 通过条带结账,我如何跟踪付款状态,stripe-payments,Stripe Payments,在stripe文档中,它说: 因此,在本例中,签出页面转到我前端的成功或失败页面 我使用后端跟踪付款状态,以便我们可以在管理门户中监控交易,而上述方法对我来说似乎很危险 签出成功后,它会将窗口重定向到成功url。这意味着我必须在成功页面中调用后端API来更新付款状态。然而,条带是支付状态的真实来源,DB上的状态更新应该来自条带,而不是前端页面。至少,如果用户刷新成功页面,它会一次又一次地调用API,这是不好的。另外,它是关于“一个用户说我成功支付了”v.s.“Stripe说他们成功支付了” 我
checkout.session.completed
事件将描述一个包含其ID的签出会话,您希望在前面创建会话时保存该ID,以便将两者链接在一起
checkout.session.completed
事件将描述一个包含其ID的签出会话,您希望在前面创建会话时保存该ID,以便将两者链接在一起
Stripe不建议只执行选项2,因为用户很可能在重定向到成功页面之前关闭浏览器选项卡或窗口,从而可能导致付款确认丢失。您应该始终使用Webhook来保证您的购买实现逻辑正确启动。谢谢您的回答。很高兴了解checkout.session.completed webhook。不过,对于会话2,如果成功url指向服务器,则不会触发浏览器的成功页面(我认为没有办法调用两个成功url,或者让服务器重定向前端的签出页面)。感谢您的回答。很高兴了解checkout.session.completed webhook。但是对于会话2,如果成功url转到服务器,那么浏览器的成功页面将不会被触发(我认为没有办法调用两个成功url,或者让服务器重定向前端的签出页面)。