اشتراكات Discourse لا تضيف المشتركين إلى المجموعة

أقوم بإعداد منتدى Discourse محمي لمجموعة سيارات، وأواجه مشكلات عند منح المشترك وصولاً إلى الموقع. لدي حاليًا بعض التعليمات البرمجية المخصصة التي تتحقق مما إذا كان المستخدم ضمن مجموعة - إذا لم يكن كذلك، يتم إعادة توجيهه إلى موقعنا على الويب، والذي يحتوي على روابط شراء Stripe لكل من العضويات الثلاث التي نقدمها.

هذه هي التعليمات البرمجية:

<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>

لقد قرأت المستندات الخاصة بالتثبيت، وقمت بإعداد أحداث الويب هوك الثلاثة، وتابعت كل شيء بدقة، لكنني ما زلت لا أستطيع تشغيله بسلاسة. مشكلتي الأولى هي أنه عندما أستخدم روابط شراء المنتج من Stripe على موقعي، يبدو أن أحداث الويب هوك تعطي خطأ 422 مع “البريد الإلكتروني غير موجود” لـ checkout.session.completed و “العميل غير موجود” لـ customer.subscription.updated. هذا بالطبع لا ينشئ اشتراكًا في Discourse أو يضيف المستخدم إلى المجموعة. أود بشكل مثالي أن يكون لدي رابط من موقعي يأخذ الأشخاص إلى العضوية المحددة التي يشترونها.

إذا قمت باختباره من خلال عنوان URL للمنتدى /s/subscriptions، يتم إضافة الأعضاء إلى Discourse ضمن علامة التبويب الاشتراكات، ولكن للأسف لا يتم إضافتهم إلى مجموعتهم المعنية. لاحظت أيضًا أنه عند الانتقال عبر Discourse، فإنه يستخدم رابطًا ديناميكيًا يربط البريد الإلكتروني بحساب المستخدم - مثير للاهتمام!

كما ربما تكون قد استنتجت من التعليمات البرمجية الخاصة بي والشرح السابق، إذا لم يتم إضافة المستخدم إلى المجموعة المناسبة، فلن يتمكن من عرض المنتدى لأن التعليمات البرمجية تعيد توجيهه.

لا بد أنني فاتني شيء ما، ولكن مهما حاولت، لا أستطيع معرفة ذلك.
أي مساعدة ستكون محل تقدير كبير - شكرًا مقدمًا!

3 إعجابات

لقد مر أسبوع، أليس هناك دعم لهذا؟ بالتأكيد لست الوحيد الذي يواجه هذه المشكلة…؟

أواجه نفس المشكلة. 11/9/25.