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

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

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

الميزات

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

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

عندما ينقر المستخدم على أحد أزرار «الاشتراك» لخطة معينة، ستُفتح صفحة الدفع لتلك الخطة:

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

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

المصطلحات

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

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

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

التكوين

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

قم بتكوين بوابة الدفع الخاصة بك.

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

قم بتكوين Webhooks والأحداث في حساب Stripe الخاص بك

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

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

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

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

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

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

أضف مفاتيح Stripe API و Webhook إلى إعدادات الإضافة الخاصة بك

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

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

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

  1. بعد إنشاء المنتجات على Discourse، انتقل إلى المنتجات > كتالوج المنتجات
  2. انقر على المنتج الذي تريد تضمينه في جدول الأسعار
  3. انقر على تعديل المنتج
  4. خيارات إضافية وأدخل ما يلي تحت بيانات وصفية:
    • المفتاح: group_name
    • القيمة: اسم المجموعة على Discourse (مثالًا: trust_level_0)
  5. انقر على تحديث المنتج للحفظ

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

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

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

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

عند إعداد جدول الأسعار داخل 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 يُمكّن تسجيلًا أكثر تفصيلًا للمساعدة في تصحيح الأخطاء. يرجى عدم تركه مفعلاً بشكل دائم في الإنتاج.

: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 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
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?
Just migrated a Xenforo site to Discourse
Just migrated a Xenforo site to Discourse
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