我正在为汽车俱乐部设置一个受限的 Discourse 论坛,在让订阅者访问网站时遇到了一些问题。我目前有一些自定义代码,用于检查用户是否属于某个组——如果不是,他们将被重定向到我们的网站,该网站提供我们提供的三种会员资格的 Stripe 购买链接。
这是代码:
api.onPageChange((url, title) => { const allowedGroups = ['Lite', 'Member', 'VIP', 'staff']; const isUserInAllowedGroup = api.getCurrentUser().groups.some(group => allowedGroups.includes(group.name)); if (!isUserInAllowedGroup) { window.location.href = "https://centralcoastdriversclub.webflow.io/select-a-plan"; } });
我已仔细阅读了安装文档,设置了三个 webhook 事件,并严格按照说明操作,但仍无法顺利运行。我的第一个问题是,当我使用网站上的 Stripe 产品购买链接时,webhook 会出现 422 错误,对于 checkout.session.completed 出现“找不到电子邮件”,对于 customer.subscription.updated 出现“找不到客户”。这当然不会在 Discourse 中创建订阅或将用户添加到组中。我理想情况下希望能够从我的网站上有一个链接,将人们引导到他们正在购买的特定会员资格。
如果我通过论坛 URL /s/subscriptions 进行测试,会员会被添加到 Discourse 的订阅选项卡下,但遗憾的是,他们仍然没有被添加到各自的组中。我还注意到,当通过 Discourse 进行时,它会使用一个动态链接,将电子邮件锁定到用户的帐户——很有趣!
正如您可能从我的代码和之前的解释中推断出的那样,如果用户没有被添加到正确的组中,他们将无法查看论坛,因为代码会重定向他们。
我一定遗漏了什么,但我就是想不出来。
非常感谢您的任何帮助——先谢谢了!