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

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

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

الميزات

تدعم إضافة Discourse Subscriptions الميزات التالية:

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

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

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

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

الشروط

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

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

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

التكوين

  1. قم بتثبيت & تفعيل الإضافة
  2. قم بتكوين بوابة الدفع (Stripe)
  3. قم بتكوين Webhooks & الأحداث في Stripe
  4. أضف مفاتيح Stripe الخاصة بك (العام، السري، سر webhook) تحت 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)

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

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

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

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

ستحتاج أيضًا إلى إخبار Stripe بالأحداث التي يجب أن يخطر بها عبر عنوان URL الخاص بـ webhook.

في الوقت الحالي، تستجيب Discourse Subscriptions للأحداث التالية:

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

إضافة مفاتيح Stripe API و Webhook إلى إعدادات الإضافة

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

لتفويض webhooks، أضف مفاتيح API وسر webhook من 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 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 الخاصة بك:

  1. بعد إنشاء المنتجات على Discourse، اذهب إلى Products > Product catalog
  2. انقر فوق المنتج الذي تريد تضمينه في جدول الأسعار
  3. انقر على Edit product
  4. More Options وأدخل ما يلي تحت Metadata:
    • المفتاح: group_name
    • القيمة: اسم المجموعة على 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 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 تمكين تسجيل أكثر تفصيلاً للمساعدة في تصحيح الأخطاء. يرجى عدم تركه مفعلاً دائمًا في الإنتاج.

: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
How to give unpaid users limited access without making Discourse private?
Super simple Discourse-Wordpress-membership integration
Discourse for Membership Association Members?
Please suggest a good Discourse Plugin for Membership that supports Indian Payment Gateway
Allow users to donate to pay hosting fees for a site
Login required after some days of free access
User can't repurchase a subscription product after canceling
User Card Directory
Subscription Access To Discourse
Multiple paywalls with common communication hub
Discourse Subscriptions + btcpayserver
Do I need Wordpress? Or Discourse can be my solution to ALL?
Send an invite to a user but complete their profile programmatically
Discourse subscriptions - changing price during recurring subscription
Any good Memberpress alternatives for wordpress?
Add user to group after purchase
How to move Topics in Category into their own Pinned Topic inside new Categories?
Discourse vs Skool
Subscription Access To Discourse
Tax implication of funding a forum
Discourse Unlock
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?
Discourse Category Lockdown
Allow option to open Stripe payment website
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
Alternative sign up pathways
Control Category Visibility and Access by User Levels
Tighter integration of account-creation and subscriptions?
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'
Embed a list of Discourse topics onto an external site
Blank page when resuming discourse app
Why doesn't Discourse hosting include the Subscriptions plugin on the Starter plan?
Hosting questions
Discourse Category Lockdown
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
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)
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?
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
Discourse Subscriptions - user not removed from group when subscription cancelled
Discourse Subscriptions - user not removed from group when subscription cancelled