我正在尝试将Stripe在线一次性付款集成到我的.NET MAUI移动的应用程序中。该付款是针对高级会员资格的。在用户完成付款后,我将其重定向到成功页面,在服务器端,我有一个Webhook,用于侦听checkout.session.completed事件,以更新数据库中的用户以打开高级帐户。我使用JWT令牌来验证用户和存储用户角色(高级或基本)。问题是我在登录时生成这个JWT令牌,当用户为令牌支付费用时,我需要重新生成一个新令牌,以便在其中拥有高级角色。因此,在客户端之后-我需要客户端获取新的JWT令牌,但在处理webhook之前调用服务器可能会导致客户端无法获得Premium。我该如何处理这个问题?
我想在成功页面中轮询服务器,直到webhook完成,但这似乎不是一个好的做法。
1条答案
按热度按时间q1qsirdb1#
从webhook中重新生成令牌是最好的方法,也是Stripe目前推荐的实现。依赖成功页面可能会导致客户意外关闭浏览器,失去互联网接入(想象他们在火车上进入隧道)等情况,这时您将失去对交易的跟踪。
如果在处理webhook事件时需要获取一些信息,请使用元数据。