| الملخص | يتيح لك إضافة Discourse Subscriptions لمالكي المواقع بيع اشتراكات متكررة أو شراء لمرة واحدة تمنح الوصول إلى مجموعة معينة على موقع Discourse. | |
| دليل التثبيت | هذه الإضافة مدمجة مع نواة Discourse. لا حاجة لتثبيت الإضافة بشكل منفصل. |
تتيح لك إضافة Discourse Subscriptions إنشاء اشتراكات لمرة واحدة ومتكررة يمكن للمستخدمين الدفع مقابلها للوصول إلى محتوى محجوب. يمكن أن تكون هذه طريقة رائعة لتمويل تكلفة استضافة مجتمعك.
الميزات
تدعم إضافة Discourse Subscriptions الميزات التالية:
- إنشاء منتجات وخطط جديدة من لوحة التحكم
- إلغاء واسترداد الاشتراكات من لوحة التحكم
- إنشاء خطط شراء لمرة واحدة أو اشتراكات متكررة
- إضافة فترات تجريبية مجانية على الاشتراكات المتكررة
- دعم SCA/3D Secure
- إضافة/إزالة المستخدمين من مجموعات الخطط عند الاشتراك/الإلغاء
- إلغاء الاشتراك من ملف المستخدم الشخصي
- إلغاء الاشتراك في نهاية فترة الاشتراك
- دعم اختياري لـ Stripe Checkout
- حساب وتحصيل ضريبة المبيعات تلقائيًا
- يمكن للمستخدمين تحديث بطاقة الدفع الخاصة بهم للاشتراكات الفردية
سيأخذك زر “اشترك” الموجود في شريط التنقل العلوي إلى صفحة الاشتراك /s حيث تعرض الاشتراكات التي قمت بإعدادها لموقعك:
عندما ينقر المستخدم على زر “اشترك” لخطة معينة، سيتم فتح صفحة الدفع لتلك الخطة:
بعد أن يملأ المستخدم تفاصيل الدفع وعنوانه وينقر على “اشترك”، سيظهر له رسالة “شكرًا لك!” ويتم تحويله إلى صفحة الفواتير الخاصة به:
يتم أيضًا إضافة المستخدم تلقائيًا إلى مجموعة تختارها بحيث يمكنك بسهولة رؤية المستخدمين الذين اشتركوا وكذلك توفير محتوى محجوب في الفئات التي يمكن لهذه المجموعة فقط رؤيتها.
الشروط
- الاشتراك - الاشتراكات هي خطة دفع متكررة تسمح لك بالتحكم في الوصول إلى المحتوى في مجتمعك. عند إنشاء أو حذف اشتراك، يتم إضافة المستخدم أو إزالته من مجموعة المستخدمين المرتبطة بخطة الاشتراك الخاصة بك. يتكون الاشتراك من منتج وخطط.
- المنتج - المنتج في مصطلحات Stripe هو ما تبيعه. يمكن أن يحتوي المنتج على خطة واحدة أو أكثر.
- لإضافة وصف لمنتجك، أضف حقل بيانات تعريفية باسم “description” واستخدمه بدلاً من ذلك. يمكنك استخدام Markdown.
- الخطة - تحتوي الخطة على سعر، ودورة متكررة، وترتبط بمجموعة يحصل مشتركوها على الوصول إليها.
كن حذرًا جدًا في الحفاظ على مفاتيح Stripe الخاصة آمنة ومحمية في جميع الأوقات.
إذا قمت بإيقاف تشغيل مثيل Discourse الخاص بك، أو إلغاء تثبيت هذه الإضافة، أو إذا أصبح موقعك غير متصل، ستستمر Stripe في فواتير عملائك مقابل خدمتك حتى يتم إلغاء الاشتراك.
التكوين
- قم بتثبيت & تفعيل الإضافة
- قم بتكوين بوابة الدفع (Stripe)
- قم بتكوين Webhooks & الأحداث في Stripe
- أضف مفاتيح Stripe الخاصة بك (العام، السري، سر webhook) تحت Admin > Plugins > Installed > Subscriptions > Settings
/admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions. - أنشئ مجموعة لينضم إليها مشتركوك عبر الشراء
- أنشئ منتجًا وخطة تحت Admin > Plugins > Subscriptions
- اربح!
إعداد بوابة الدفع الخاصة بك.
أولاً، ستحتاج إلى حساب مع بوابة الدفع Stripe. للبدء، يمكنك إعداد حساب في وضع الاختبار ورؤية كيف تعمل كل الأشياء دون إجراء أي معاملات حقيقية أو الحاجة إلى إعداد حساب بنكي. لا يوجد مفتاح تبديل لوضع الاختبار في الإضافة؛ بدلاً من ذلك، تأكد من استخدام مفاتيح المطور الخاصة بك (تبدأ بـ pk_test، sk_test)
إعداد Webhooks والأحداث في حساب Stripe الخاص بك
Webhooks مطلوبة لجعل إلغاء الاشتراكات يعمل بشكل كامل. تأكد من تكوينها بشكل صحيح.
بمجرد أن يكون لديك حساب على Stripe، ستحتاج إلى إخبار Stripe بعنوان موقع الويب الخاص بك حتى يتمكن من إخطارك بمعاملات معينة. يمكنك إدخال ذلك في لوحة تحكم Stripe الخاصة بك تحت Endpoints > URL.
عنوان Webhooks: [عنوان خادمك]/s/hooks – حيث [عنوان خادمك] هو عنوان URL لتثبيت Discourse الخاص بك.
ستحتاج أيضًا إلى إخبار Stripe بالأحداث التي يجب أن يخطر بها عبر عنوان URL الخاص بـ webhook.
في الوقت الحالي، تستجيب Discourse Subscriptions للأحداث التالية:
customer.subscription.deletedcustomer.subscription.updatedcheckout.session.completed
إضافة مفاتيح Stripe API و Webhook إلى إعدادات الإضافة
تحتاج Stripe إلى تفويض للتواصل مع موقع الويب الخاص بك. للقيام بذلك، تنشر زوجًا من مفاتيح API الخاصة والعامة وسر توقيع لـ webhooks الخاصة بك.
لتفويض webhooks، أضف مفاتيح API وسر webhook من Stripe إلى صفحة الإعدادات الخاصة بك (تحت Developers).
إضافة مفاتيح الإنتاج ستجعل المدفوعات حية. إذا كنت تخطط للاختبار، تأكد من التبديل إلى وضع
View test dataوالحصول على مفاتيحpk_testوsk_testتحت Developers.
في إعدادات حساب Stripe الخاص بك، انظر:
أضف هذه المفاتيح تحت الإعدادات المناسبة في Admin > Plugins > Installed > Subscriptions > Settings /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions.
إعداد مجموعات المستخدمين في Discourse
عندما ينجح المستخدم في الاشتراك في تطبيق Discourse الخاص بك، بعد معالجة معاملة بطاقة الائتمان الخاصة به، يتم إضافته إلى مجموعة مستخدمين. من خلال تعيين المستخدمين إلى مجموعة مستخدمين، يمكنك إدارة ما يمكن لمستخدميك الوصول إليه على موقع الويب الخاص بك. مجموعات المستخدمين هي وظيفة أساسية في Discourse ولا تفعل هذه الإضافة شيئًا معها سوى إضافة وإزالة المستخدمين من المجموعة المرتبطة بخطتك.
إنشاء منتج أو أكثر مع خطط.
تحت Admin > Plugins > Subscriptions، انقر فوق إضافة منتج جديد. بمجرد حفظ منتج، يمكنك إضافة خطط إليه. ضع في اعتبارك أن أسعار وفترات الفوترة للخطط لا يمكن تغييرها بمجرد إنشائها. هذا لتجنب الالتباس حول إدارة الاشتراكات.
إذا ألقيت نظرة على لوحة تحكم Stripe، فسترى أن كل تلك المنتجات والخطط مدرجة. لا تقوم Discourse Subscriptions بإنشائها محليًا. يتم إنشاؤها في 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، اذهب إلى Products > Product catalog
- انقر فوق المنتج الذي تريد تضمينه في جدول الأسعار
- انقر على
Edit product More Optionsوأدخل ما يلي تحتMetadata:- المفتاح:
group_name - القيمة: اسم المجموعة على Discourse (على سبيل المثال،
trust_level_0)
- المفتاح:
- انقر على
Update productللحفظ
تأكد من أن اسم المجموعة يطابق المجموعة المحددة تحت
User_Groupsعلى Discourse
إنشاء جدول أسعار Stripe الخاص بك
- اذهب إلى Products > Pricing tables
- أنشئ جدولًا جديدًا وأضف المنتجات التي قمت بإنشائها للتو
- بعد نشر الجدول، انسخ معرف جدول الأسعار الموجود داخل كود التضمين (يبدأ بـ
prctbl_...) - الصق معرف جدول الأسعار في
discourse_subscriptions_pricing_table_idوقم بتمكين إعداد جدول أسعار الاشتراكات. - انقر فوق علامات الصح الخضراء لحفظ كلا الإعدادين.
خطوة موصى بها:
عند إعداد جدول الأسعار داخل Stripe، يوصى بتوجيه المستخدم إلى موقعك بعد اكتمال عملية الدفع وإلا سيظلون في صفحة تأكيد Stripe دون رابط للعودة إلى موقعك.
إعادة التوجيه إلى https://<your-site>/my/billing/subscriptions هو خيار جيد للاشتراكات. بالنسبة للدفعات لمرة واحدة، يمكنك ربطها مباشرة بـ https://<your-site>/my/billing/payments.
تحصيل ضريبة المبيعات تلقائيًا
لتفعيل تحصيل ضريبة المبيعات تلقائيًا، قم بتحديد مربع إعداد الموقع discourse_subscriptions_enable_automatic_tax.
إذا قمت بتمكينه، ولكنك لم تقم بتكوين مثيل Stripe الخاص بك بشكل صحيح لتحصيل الضرائب، قد يرى المستخدمون هذه النافذة المنبثقة بعد إكمال عملية الدفع:
هناك هذا الدليل لمزيد من المعلومات، ولكن لا ينبغي أن يكون هناك الكثير للقيام به لأن الإضافة تمرر الآن المعلمة المناسبة automatic_tax[enabled]=true (الخطوة 5).
تأكد من تكوين تسجيلاتك (الخطوة 4) أيضًا:
إليك مثال على معاملة إضافة Discourse Subscription في Stripe تظهر أنه تم تحصيل الضرائب تلقائيًا:
الإعدادات
| الاسم | الوصف |
|---|---|
| discourse subscriptions enabled | تمكين إضافة Discourse Subscriptions. |
| 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















