| الملخص | يتيح إضافة اشتراكات Discourse لأصحاب المواقع بيع اشتراكات متكررة واشتراكات لمرة واحدة تمنح الوصول إلى مجموعة على مثيل Discourse. | |
| دليل التثبيت | هذه الإضافة مدمجة مع نواة Discourse. لا حاجة لتثبيت الإضافة بشكل منفصل. |
تتيح إضافة اشتراكات Discourse إنشاء اشتراكات لمرة واحدة ومتكررة يمكن للمستخدمين الدفع مقابلها للوصول إلى المحتوى المحجوز. يمكن أن يكون هذا طريقة رائعة لتمويل تكلفة استضافة مجتمعك.
الميزات
تدعم إضافة اشتراكات Discourse الميزات التالية:
- إنشاء منتجات وخطط جديدة من لوحة الإدارة
- إلغاء واسترداد الاشتراكات من لوحة الإدارة
- إنشاء خطط اشتراك لمرة واحدة أو متكررة
- إضافة فترات تجريبية مجانية على الاشتراكات المتكررة
- دعم SCA/3D Secure
- إضافة/إزالة المستخدمين من مجموعات الخطة عند اشتراكهم/إلغائهم
- إلغاء الاشتراك من ملف المستخدم الشخصي
- إلغاء الاشتراك في نهاية فترة الاشتراك
- دعم اختياري لـ Stripe Checkout
- حساب وتحصيل ضريبة المبيعات تلقائيًا
- يمكن للمستخدمين تحديث بطاقتهم للاشتراكات الفردية
سيأخذك زر «الاشتراك» الموجود في شريط التنقل العلوي إلى صفحة الاشتراك /s حيث تُعرض قائمة بالاشتراكات التي قمت بإعدادها لموقعك:
عندما ينقر المستخدم على أحد أزرار «الاشتراك» لخطة معينة، ستُفتح صفحة الدفع لتلك الخطة:
بعد أن يملأ المستخدم تفاصيل دفعه وعنوانه وينقر على «الاشتراك»، تظهر له رسالة «شكرًا لك!» ويتم تحويله إلى صفحة الفوترة الخاصة به:
يتم أيضًا إضافة المستخدم تلقائيًا إلى مجموعة تختارها بحيث يمكنك بسهولة رؤية المستخدمين الذين قاموا بالاشتراك بالإضافة إلى تقديم محتوى محجوز في فئات لا يمكن لمجموعة معينة رؤيتها إلا.
المصطلحات
- الاشتراك - الاشتراكات هي خطة دفع متكررة تتيح لك التحكم في الوصول إلى المحتوى على مجتمعك. عند إنشاء اشتراك أو حذفه، يتم إضافة مستخدم أو إزالته من مجموعة المستخدمين المرتبطة بخطة اشتراكك. يتكون الاشتراك من منتج وخطط.
- المنتج - المنتج في مصطلحات Stripe هو ما تبيعه. يمكن أن يحتوي المنتج على خطة واحدة أو أكثر.
- لإضافة وصف إلى منتجك، أضف حقل بيانات وصفية (metadata) باسم «وصف» واستخدمه بدلاً من ذلك. يمكنك استخدام Markdown.
- الخطة - تحتوي الخطة على سعر، ودورة متكررة، وترتبط بمجموعة يحصل عليها مشتركوك الوصول إليها.
كن حذرًا جدًا في الحفاظ على أمان مفاتيح Stripe الخاصة لك في جميع الأوقات.
إذا قمت بإغلاق مثيل Discourse الخاص بك، أو إلغاء تثبيت هذه الإضافة، أو توقف موقعك عن العمل، فستواصل Stripe تحصيل المدفوعات من عملائك مقابل خدمتك حتى يتم إلغاء الاشتراك.
التكوين
- قم بتثبيت الإضافة وتمكينها
- قم بتكوين بوابة الدفع (Stripe)
- قم بتكوين Webhooks والأحداث في Stripe
- أضف مفاتيح Stripe الخاصة بك (العام، السري، سري Webhook) تحت الإدارة > الإضافات > المثبتة > الاشتراكات > الإعدادات
/admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions. - أنشئ مجموعة ليشترك فيها مشتروكك عبر الشراء
- أنشئ منتجًا وخطة تحت الإدارة > الإضافات > الاشتراكات
- اربح!
قم بتكوين بوابة الدفع الخاصة بك.
أولاً، ستحتاج إلى حساب مع بوابة الدفع Stripe. للبدء، يمكنك إعداد حساب في وضع الاختبار ورؤية كيفية عمل كل شيء دون إجراء أي معاملات حقيقية أو الحاجة إلى إعداد حساب بنكي. لا يوجد مفتاح لوضع الاختبار في الإضافة؛ بل تأكد من استخدام مفاتيح المطور الخاصة بك (تبدأ بـ pk_test، sk_test)
قم بتكوين Webhooks والأحداث في حساب Stripe الخاص بك
Webhooks مطلوبة لعمل إلغاءات الاشتراك بشكل كامل. تأكد من تكوينها بشكل صحيح.
بمجرد أن يكون لديك حساب على Stripe، ستحتاج إلى إخبار Stripe بعنوان موقعك حتى يتمكن من إخطارك بشأن بعض المعاملات. يمكنك إدخال هذا في لوحة تحكم Stripe تحت نقاط النهاية > URL.
عنوان Webhooks: [عنوان خادمك]/s/hooks – حيث [عنوان خادمك] هو عنوان URL لتثبيت Discourse الخاص بك.
ستحتاج أيضًا إلى إخبار Stripe بالأحداث التي يجب أن يُخطرك بها عبر عنوان URL الخاص بـ webhook.
حاليًا، تستجيب اشتراكات Discourse للأحداث التالية:
customer.subscription.deletedcustomer.subscription.updatedcheckout.session.completedcheckout.session.async_payment_succeeded
أضف مفاتيح Stripe API و Webhook إلى إعدادات الإضافة الخاصة بك
يحتاج Stripe إلى تفويض للتواصل مع موقعك. للقيام بذلك، ينشر زوجًا من مفاتيح API الخاصة والعامة وسر التوقيع لـ web hooks الخاصة بك.
لتفويض webhooks، أضف مفاتيح API وسر webhook من Stripe إلى صفحة الإعدادات الخاصة بك (تحت المطورين).
إضافة مفاتيح الإنتاج ستؤدي إلى مدفوعات حية. إذا كنت تنوي الاختبار، فتأكد من التبديل إلى وضع
عرض بيانات الاختباروالحصول على مفاتيحpk_testوsk_testتحت المطورين.
في إعدادات حساب Stripe الخاص بك، راجع:
أضف هذه المفاتيح تحت الإعدادات المناسبة في الإدارة > الإضافات > المثبتة > الاشتراكات > الإعدادات /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions.
قم بتكوين مجموعات المستخدمين في Discourse
عندما ينجح المستخدم في الاشتراك في تطبيق Discourse الخاص بك، بعد معالجة معاملة بطاقة الائتمان الخاصة به، يتم إضافته إلى مجموعة مستخدمين. من خلال تعيين المستخدمين إلى مجموعة مستخدمين، يمكنك إدارة ما يمكن لمستخدميك الوصول إليه على موقعك. مجموعات المستخدمين هي وظيفة أساسية في Discourse ولا تفعل هذه الإضافة شيئًا بشأنها سوى إضافة وإزالة المستخدمين من المجموعة التي ربطتها بخطتك.
أنشئ منتجًا واحدًا أو أكثر مع خطط.
تحت الإدارة > الإضافات > الاشتراكات، انقر لإضافة منتج جديد. بمجرد حفظ منتج، يمكنك إضافة خطط إليه. ضع في اعتبارك أنه لا يمكن تغيير أسعار فترات الفوترة للخطط بعد إنشائها. هذا لتجنب اللبس حول إدارة الاشتراكات.
إذا نظرت إلى لوحة تحكم Stripe، فسترى جميع تلك المنتجات والخطط مدرجة. لا تنشئ اشتراكات Discourse هذه محليًا. يتم إنشاؤها في Stripe.
الاختبار
اختبر باستخدام أرقام بطاقات الائتمان هذه:
- 4242 4242 4242 4242
- 4111 1111 1111 1111 (لا يتطلب مصادقة)
- 4000 0027 6000 3184 (يتطلب مصادقة)
لمعرفة المزيد من أرقام بطاقات الاختبار: Test card numbers | Stripe Documentation
زُر /s وأدخل بعض معاملات الاختبار.
البدء في الإنتاج
بمجرد أن تكون جاهزًا للبدء في الإنتاج، قم بتغيير مفاتيح API وسر webhook إلى مفاتيح الإنتاج. ستحتاج إلى إنشاء منتجات وخطط جديدة في وضع الإنتاج.
كن على دراية بأنه إذا لم تقم بتكوين Webhooks الخاصة بـ Stripe بشكل صحيح، وفشل المعاملات المتكررة في المعالجة لأي سبب (بطاقة ائتمان منتهية الصلاحية، إلخ)، فسيظل لدى المستخدمين وصول إلى المجموعة. لجعل Stripe تلغي الاشتراكات تلقائيًا، تأكد من تعيين إعدادات إدارة المدفوعات الفاشلة بشكل مشابه للصورة أدناه وتكوين webhooks كما هو موضح أعلاه.
تحديث معلومات الدفع
يمكن للمستخدمين تحديث بطاقتهم المستخدمة للاشتراكات الفردية عن طريق زيارة صفحة الفوترة والنقر على زر التعديل بجانب الاشتراك، مما سيفتح هذه الشاشة:
Stripe Checkout مع جداول أسعار Stripe
يمكنك أيضًا اختيار استبدال صفحات المنتج والانتقال للدفع الخاصة بإضافة الاشتراك واستخدام Stripe Checkout مع جداول أسعار Stripe بدلاً من ذلك.
في لوحة تحكم Stripe الخاصة بك:
- بعد إنشاء المنتجات على Discourse، انتقل إلى المنتجات > كتالوج المنتجات
- انقر على المنتج الذي تريد تضمينه في جدول الأسعار
- انقر على
تعديل المنتج خيارات إضافيةوأدخل ما يلي تحتبيانات وصفية:- المفتاح:
group_name - القيمة: اسم المجموعة على Discourse (مثالًا:
trust_level_0)
- المفتاح:
- انقر على
تحديث المنتجللحفظ
تأكد من أن اسم المجموعة يطابق المجموعة المحددة تحت
مجموعات_المستخدمينعلى Discourse
أنشئ جدول أسعار Stripe الخاص بك
- انتقل إلى المنتجات > جداول الأسعار
- أنشئ جدولًا جديدًا وأضف المنتجات التي أنشأتها للتو
- بعد نشر الجدول، انسخ معرّف جدول الأسعار الموجود داخل رمز التضمين (يبدأ بـ
prctbl_...) - الصق معرّف جدول الأسعار في
discourse_subscriptions_pricing_table_idوفعّل إعداد جدول أسعار الاشتراكات. - انقر على علامات التحقق الخضراء لحفظ كلا الإعدادين.
خطوة موصى بها:
عند إعداد جدول الأسعار داخل Stripe، يُوصى بربط المستخدم بموقعك بعد اكتمال عملية الدفع، وإلا فسيبقى على صفحة تأكيد Stripe دون رابط للعودة إلى موقعك.
إعادة التوجيه إلى https://<موقعك>/my/billing/subscriptions خيار جيد للاشتراكات. للمدفوعات لمرة واحدة، يمكنك الربط مباشرة إلى https://<موقعك>/my/billing/payments.
تحصيل ضريبة تلقائي
لتمكين التحصيل التلقائي للضريبة، قم بتعليم مربع إعداد الموقع لـ discourse_subscriptions_enable_automatic_tax.
إذا فعّلته، لكنك لم تقم بتكوين مثيل Stripe الخاص بك بشكل صحيح لتحصيل الضريبة، فقد يرى المستخدمون هذا النافذة المنبثقة بعد إكمال عملية الدفع:
يوجد هذا الدليل لمزيد من المعلومات، لكن لا ينبغي أن يكون هناك الكثير للقيام به لأن الإضافة تمرر الآن المعامل automatic_tax[enabled]=true المناسب (الخطوة 5).
تأكد من تكوين تسجيلاتك (الخطوة 4) أيضًا:
إليك مثال على معاملة إضافة اشتراكات Discourse في Stripe تُظهر أن الضريبة تم تحصيلها تلقائيًا:
الإعدادات
| الاسم | الوصف |
|---|---|
| discourse subscriptions enabled | تمكين إضافة اشتراكات Discourse. |
| discourse subscriptions extra nav subscribe | عرض زر الاشتراك في التنقل الرئيسي |
| discourse subscriptions public key | مفتاح Stripe القابل للنشر |
| discourse subscriptions secret key | مفتاح Stripe السري |
| discourse subscriptions webhook secret | سر Webhook الخاص بـ Stripe |
| discourse subscriptions currency | رمز العملة الافتراضي. يمكن تجاوز ذلك عند إنشاء خطة اشتراك. |
| discourse subscriptions campaign enabled | تمكين لافتة حملة للترويج لدعم هذا المجتمع ماليًا. |
| discourse subscriptions campaign goal | الهدف الرقمي لحملة الدعم الخاصة بك (المشتركون أو المبلغ المحصل). |
| discourse subscriptions campaign type | يختار نوع الحملة التي سيتم تشغيلها (المشتركون أو المبلغ المحصل شهريًا). |
| discourse subscriptions campaign banner location | يختار موقع لافتة الحملة (العلوي أو الشريط الجانبي). |
| discourse subscriptions campaign banner bg image | ارفع صورة مخصصة لاستخدامها كخلفية على لافتة الحملة. |
| discourse subscriptions campaign banner shadow color | يختار لون ظل لافتة الحملة. |
| discourse subscriptions campaign show contributors | عرض صور رمزية لأحدث عمليات شراء منتجات الاشتراك. |
| discourse subscriptions campaign product | معرّف منتج Stripe لإرساله إلى الداعمين عندما ينقرون على الزر في الحملة. إذا كان هذا الإعداد فارغًا، فسيتم توجيه الداعمين إلى صفحة المنتجات الرئيسية. |
| discourse subscriptions campaign grant | يمنح المستخدم شهرًا مجانيًا من الاشتراكات |
| discourse subscriptions pricing table id | معرّف جدول أسعار Stripe من رمز التضمين |
| discourse subscriptions pricing table enabled | يُمكّن استخدام جدول أسعار Stripe ويستبدل صفحة الاشتراك الحالية |
| discourse_subscriptions_enable_automatic_tax | يبدّل ما إذا كان سيتم تحصيل ضريبة المبيعات. يتطلب بعض الإعداد في Stripe. |
| discourse_subscriptions_enable_verbose_logging | يُمكّن تسجيلًا أكثر تفصيلًا للمساعدة في تصحيح الأخطاء. يرجى عدم تركه مفعلاً بشكل دائم في الإنتاج. |
مستضافون من قِبَلنا؟ هذه الإضافة متوفرة في خطط الاستضافة Pro و Business و Enterprise الخاصة بنا Subscriptions | Discourse - Civilized Discussion















