Ich richte ein geschütztes Discourse-Forum für einen Auto-Club ein und stoße auf Probleme, wenn ein Abonnent Zugang zur Website erhält. Ich habe derzeit einen benutzerdefinierten Code, der prüft, ob sich der Benutzer in einer Gruppe befindet. Wenn nicht, wird er auf unsere Website weitergeleitet, die Stripe-Kauf-Links für jede der drei angebotenen Mitgliedschaften enthält.
Hier ist der Code:
<script type="text/discourse-plugin" version="0.8.42">
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";
}
});
</script>
Ich habe die Dokumentation zur Installation durchgelesen, die drei Webhook-Ereignisse eingerichtet und alles bis ins kleinste Detail befolgt, aber es funktioniert immer noch nicht reibungslos. Mein erstes Problem ist, dass, wenn ich die Produktkauf-Links von Stripe auf meiner Website verwende, die Webhooks einen 422-Fehler mit “E-Mail nicht gefunden” für checkout.session.completed und “Kunde nicht gefunden” für customer.subscription.updated ausgeben. Dies erstellt natürlich kein Abonnement in Discourse und fügt den Benutzer nicht zur Gruppe hinzu. Ich möchte idealerweise einen Link von meiner Website haben, der die Leute zu der spezifischen Mitgliedschaft führt, die sie kaufen.
Wenn ich es über die Forum-URL /s/subscriptions teste, werden Mitglieder in Discourse unter dem Abonnement-Tab hinzugefügt, aber leider nicht zu ihrer jeweiligen Gruppe. Ich habe auch festgestellt, dass Discourse bei der Verwendung eines dynamischen Links das E-Mail-Konto des Benutzers sperrt – interessant!
Wie Sie aus meinem Code und der vorherigen Erklärung vielleicht schon erraten haben, können Benutzer das Forum nicht einsehen, wenn sie nicht zur richtigen Gruppe hinzugefügt werden, da der Code sie weiterleitet.
Ich muss etwas übersehen haben, aber ich kann es beim besten Willen nicht herausfinden.
Jede Hilfe wird sehr geschätzt – vielen Dank im Voraus!