إضافة اشتراكات Discourse

:discourse2: ملخص تتيح إضافة “اشتراكات Discourse” لمالكي المواقع بيع اشتراكات دورية أو مشتريات لمرة واحدة تمنح الوصول إلى مجموعة في مثيل Discourse.
:open_book: دليل التثبيت تُدرج هذه الإضافة ضمن نواة Discourse. لا حاجة لتثبيت الإضافة بشكل منفصل.

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

الميزات

تدعم إضافة اشتراكات Discourse الميزات التالية:

سيأخذك زر “اشترك” الموجود في شريط التنقل العلوي إلى صفحة الاشتراك /s حيث يتم سرد الاشتراكات التي قمت بتكوينها لموقعك:

بمجرد أن ينقر المستخدم على أحد أزرار “اشترك” لخطة معينة، ستفتح صفحة الدفع لتلك الخطة:

بعد أن يملأ المستخدم تفاصيل الدفع وعنوانه ويضغط على “اشترك”، سيظهر له رسالة “شكرًا لك!” وسيتم نقله إلى صفحة الفواتير:

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

المصطلحات

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

:police_car_light: كن حذرًا جدًا في الحفاظ على مفاتيحك الخاصة في Stripe آمنة ومحمية في جميع الأوقات.

:warning: إذا قمت بإيقاف تشغيل مثيل Discourse الخاص بك، أو قمت بإلغاء تثبيت هذه الإضافة، أو إذا أصبح موقعك غير متصل بالإنترنت، سيستمر Stripe في فرض رسوم على عملائك مقابل خدمتك حتى يتم إلغاء الاشتراك.

التكوين

  1. تثبيت وتفعيل الإضافة
  2. تكوين بوابة الدفع (Stripe)
  3. تكوين الويب هوك والأحداث في Stripe
  4. أضف مفاتيح Stripe (العامة، السرية، سر الويب هوك) تحت Admin > Plugins > Installed > Subscriptions > Settings /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions.
  5. إنشاء مجموعة ينضم إليها مشتركوك عبر الشراء
  6. إنشاء منتج وخطة تحت Admin > Plugins > Subscriptions
  7. الربح!

إعداد بوابة الدفع الخاصة بك.

أولاً، ستحتاج إلى حساب مع بوابة الدفع Stripe. للبدء، يمكنك إعداد حساب في وضع الاختبار ومعرفة كيفية عمل كل شيء دون إجراء أي معاملات حقيقية أو الحاجة إلى إعداد حساب بنكي. لا يوجد مفتاح تبديل لوضع الاختبار في الإضافة؛ بدلاً من ذلك، تأكد من استخدام مفاتيح المطور (تبدأ بـ pk_test، sk_test)

إعداد الويب هوك والأحداث في حساب Stripe الخاص بك

:bomb: الويب هوك مطلوب لجعل إلغاء الاشتراكات يعمل بشكل كامل. تأكد من تكوينها بشكل صحيح.

بمجرد أن يكون لديك حساب على Stripe، ستحتاج إلى إخبار Stripe بعنوان موقعك الإلكتروني حتى يتمكن من إشعارك بشأن معاملات معينة. يمكنك إدخال ذلك في لوحة تحكم Stripe تحت Endpoints > URL.

عنوان الويب هوك: [عنوان خادمك]/s/hooks – حيث [عنوان خادمك] هو عنوان URL لتثبيت Discourse الخاص بك.

ستحتاج أيضًا إلى إخبار Stripe بالأحداث التي يجب أن يبلغك عنها عبر عنوان الويب هوك.

حاليًا، تستجيب اشتراكات Discourse للأحداث التالية:

  • customer.subscription.deleted
  • customer.subscription.updated
  • checkout.session.completed

إضافة مفاتيح API و الويب هوك من Stripe إلى إعدادات الإضافة

يجب أن يكون Stripe مخولًا للتواصل مع موقعك الإلكتروني. للقيام بذلك، ينشر Stripe زوجًا من المفاتيح الخاصة والعامة لـ API و سر توقيع لويب هوك الخاص بك.

لإذن الويب هوك، أضف مفاتيح API وسر الويب هوك من Stripe إلى صفحة الإعدادات الخاصة بك (تحت Developers).

:warning: إضافة مفاتيح الإنتاج سيجعل المدفوعات حية. إذا كنت تخطط للاختبار، فتأكد من التبديل إلى وضع 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 هذه محليًا. يتم إنشاؤها في Stripe.

الاختبار

اختبر باستخدام أرقام بطاقات الائتمان التالية:

  • 4242 4242 4242 4242
  • 4111 1111 1111 1111 (لا يتطلب مصادقة)
  • 4000 0027 6000 3184 (يتطلب مصادقة)

لمزيد من أرقام بطاقات الاختبار: Test card numbers | Stripe Documentation

قم بزيارة /s وقم بإدخال بعض معاملات الاختبار.

الانتقال إلى الإنتاج

بمجرد أن تكون مستعدًا للانتقال إلى الإنتاج، قم بتغيير مفاتيح API وسر الويب هوك إلى مفاتيح الإنتاج. ستحتاج إلى إنشاء منتجات وخطط جديدة في وضع الإنتاج.

كن على علم أنه إذا لم تقم بتكوين ويب هوك Stripe بشكل صحيح، وفشلت المدفوعات الدورية في المعالجة لأي سبب (انتهاء صلاحية بطاقة الائتمان، وما إلى ذلك)، فسيظل المستخدمون لديهم وصول إلى المجموعة. لكي يقوم Stripe بإلغاء الاشتراكات تلقائيًا، تأكد من تعيين إعدادات إدارة المدفوعات الفاشلة الخاصة بك مشابهة للصورة أدناه وتكوين الويب هوك كما هو موضح أعلاه.

تحديث معلومات الدفع

يمكن للمستخدمين تحديث البطاقة المستخدمة للاشتراكات الفردية من خلال زيارة صفحة الفواتير والنقر على زر التحرير بجوار الاشتراك، والذي سيفتح هذه الشاشة:

Stripe Checkout مع جداول أسعار Stripe

يمكنك أيضًا اختيار استبدال صفحات المنتجات والدفع الخاصة بإضافة الاشتراكات واستخدام Stripe Checkout مع جداول أسعار Stripe.

في لوحة تحكم Stripe:

  1. بعد إنشاء المنتجات على Discourse، انتقل إلى Products > Product catalog
  2. انقر على المنتج الذي ترغب في تضمينه في جدول الأسعار
  3. انقر Edit product
  4. More Options وأدخل ما يلي تحت Metadata:
    • Key: group_name
    • Value: اسم المجموعة على Discourse (على سبيل المثال، trust_level_0)
  5. انقر Update product للحفظ

:red_exclamation_mark: تأكد من تطابق اسم المجموعة مع المجموعة المحددة تحت User_Groups على Discourse

إنشاء جدول أسعار Stripe الخاص بك

  1. انتقل إلى Products > Pricing tables
  2. أنشئ جدولًا جديدًا وأضف المنتجات التي أنشأتها للتو
  3. بعد نشر الجدول، انسخ معرف جدول الأسعار الموجود داخل كود التضمين (يبدأ بـ prctbl_...)
  4. الصق معرف جدول الأسعار في discourse_subscriptions_pricing_table_id وقم بتفعيل إعداد جدول أسعار الاشتراكات.
  5. انقر على علامات الاختيار الخضراء لحفظ كلا الإعدادين.

خطوة موصى بها:

عند إعداد جدول الأسعار داخل 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 في Stripe يظهر أن الضريبة تم جمعها تلقائيًا:

الإعدادات

الاسم الوصف
discourse subscriptions enabled تفعيل إضافة اشتراكات Discourse.
discourse subscriptions extra nav subscribe إظهار زر الاشتراك في شريط التنقل الرئيسي
discourse subscriptions public key مفتاح Stripe القابل للنشر
discourse subscriptions secret key مفتاح Stripe السري
discourse subscriptions webhook secret سر ويب هوك 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 تفعيل تسجيل أكثر تفصيلاً للمساعدة في تصحيح الأخطاء. يرجى عدم تركه مفعلاً بشكل دائم في الإنتاج.

:discourse2: مستضاف بواسطةنا؟ تتوفر هذه الإضافة في خطط الاستضافة Pro و Business و Enterprise الخاصة بنا Subscriptions | Discourse - Civilized Discussion

139 إعجابًا
Steady plugin for community funding
ProCourse Memberships :money_with_wings:
Group membership subscriptions with profit split
Email drip campaign
Discourse Category Lockdown
How to give unpaid users limited access without making Discourse private?
Discourse for Membership Association Members?
Super simple Discourse-Wordpress-membership integration
Please suggest a good Discourse Plugin for Membership that supports Indian Payment Gateway
Login required after some days of free access
User can't repurchase a subscription product after canceling
Allow users to donate to pay hosting fees for a site
Send an invite to a user but complete their profile programmatically
User Card Directory
Multiple paywalls with common communication hub
Discourse Subscriptions + btcpayserver
Discourse subscriptions - changing price during recurring subscription
Any good Memberpress alternatives for wordpress?
Subscription Access To Discourse
Add user to group after purchase
Do I need Wordpress? Or Discourse can be my solution to ALL?
How to move Topics in Category into their own Pinned Topic inside new Categories?
Discourse Subscriptions - user not removed from group when subscription cancelled
Discourse Subscriptions - user not removed from group when subscription cancelled
Discourse vs Skool
Subscription Access To Discourse
Tax implication of funding a forum
Tick badge for username?
Subscription update problem
Setting up a subscription group
How would I install a cryptocurrency paywall?
Charging a membership fee
Discourse Subscriptions with Thrive Cart
Admin creating subscription for user
Plugin for charity donations?
Allow subscription of predetermined length
Link Sign Up to Subscriptions Plugin
User monetization with group access?
Allow option to open Stripe payment website
Embed a list of Discourse topics onto an external site
Is it possible to use the subscription plugin to limit creating topics in a category to subscribers?
Best approach to a landing page/payment front end
Managing consumable AI costs
Allow multiple ‘new topic’ drafts
Stripe iframe causes a blank page on my print layout
No 'deleted' event in Stripe?
Tell us how you manage subscriptions on Discourse
Addding a paid group who can reply to topics but not create them
Integration with WP membership Pro
Hosting questions
Alternative sign up pathways
Control Category Visibility and Access by User Levels
Tighter integration of account-creation and subscriptions?
Blank page when resuming discourse app
Does the Subscriptions plugin work with "one-off" payment pricing tables?
Subscriber group automation (Remove and Add users to specific group with subscription)
"Support Us" Banner Not Updating
Tip or Pay Button - for user post/content, does it exist already?
May I or can I monetize my forum?
May I or can I monetize my forum?
Bundling more popular plugins with Discourse core
Guest Gate Theme Component
Error loading route Caused by plugin 'discourse-subscriptions'
Why doesn't Discourse hosting include the Subscriptions plugin on the Starter plan?
Rebuild fails when these plugins are present
Changing excerpt length
Installing discourse for free?
Options to manage payments for paid Discourse communities
Using a plug-in to monetize my Discourse
ProCourse Memberships :money_with_wings:
UX: Add metadata to subscription page to improve SEO and link UI design
A feature request related to this plugin. Pointed questions or rewarded questions
Plugin to use Discourse for classified ads or as a job board?
Subscription Plugin not working (Error)
How to set message limits for user groups?
API POST for New User
ProCourse Memberships :money_with_wings:
Steady plugin for community funding
New customer setup
Discourse Category Lockdown
Making group joins automatic to an external pricing plan
Platform integration - videos
Any way to accept paypal or stripe payment at signup?
Looking for feedback on Discourse Subscriptons
WooCommerce Discourse Website newbie help
Switching to Discourse Subscriptions from WordPress Subscriptions
Integration with Wix.com membership to only let the paid member can access to Discourse
2020: The Year in Review
Managing Subscriptions through Wordpress (Ultimate Member + Paid Memberships Pro)
Discourse Unlock
How does uninstalling the Subscriptions plugin affect Stripe billing?
Memberful opinions?
Is there an E-commerce plugin for Discourse?
Memberful opinions?
Prefill custom html with user's email address?
Can't make the subscription plugin work
How to charge members for my Discourse website?
New site landing-page + discourse integration and marketing
Pay or Play usage?
Latest topics on homepage with only members to read in detail?
Banner text customization for Subscriptions plugin
Subscriptions: Change User's Plan
Donation Bar for House Ad
Can I use the Subscriptions plugin on my own server?
Limiting Subscription Length
Discourse Subscriptions - use API to find out product, plan and renewal date