إعداد جدار الدفع للمشتركين المدفوعين في VeloCMS
دليل شامل لتفعيل نظام العضوية، وربط Stripe، وتحديد مستويات الأسعار، وحجب المنشورات بحيث لا يطّلع على المحتوى الكامل إلا المشتركون المدفوعون.
يتيح لك نظام العضوية في VeloCMS تحصيل رسوم من القرّاء مقابل الوصول إلى المحتوى المميز — سواء أكان ذلك منشورات فردية أم فئات بأكملها أم أرشيفك الكامل. تُعالَج المدفوعات عبر Stripe باستخدام حسابك الخاص (BYOK — أحضر مفاتيحك بنفسك)، مما يعني أنك تحتفظ بـ 100% من الإيرادات دون أي رسوم منصة تتجاوز المعدل المعتاد لـ Stripe.
الخطوة 1 — إنشاء حساب Stripe والحصول على مفاتيح API
إن لم يكن لديك حساب Stripe، أنشئ واحدًا على stripe.com. بعد إتمام التهيئة، انتقل إلى Stripe Dashboard > Developers > API Keys. ستحتاج إلى مفتاحين: المفتاح السري (يبدأ بـ sk_live_ أو sk_test_) ومفتاح النشر (يبدأ بـ pk_live_ أو pk_test_). احتفظ بالمفتاح السري بعيدًا عن أي مكان — يجب ألا يظهر قط في أي كود يُنفَّذ على جانب العميل.
استخدم مفاتيح sk_test_ وpk_test_ أثناء الإعداد تجنبًا للرسوم الفعلية. انتقل إلى المفاتيح الحقيقية فقط حين تكون مستعدًا لاستقبال مدفوعات حقيقية. يمكنك اختبار تدفق الدفع بالكامل بأمان باستخدام رقم بطاقة الاختبار 4242 4242 4242 4242.
الخطوة 2 — ضبط إعدادات Stripe في VeloCMS
انتقل إلى Admin > Settings > Membership. فعّل خيار Enable Membership. الصق المفتاح السري لـ Stripe ومفتاح النشر في الحقلين المخصصين لهما. يُشفّر VeloCMS مفتاحك السري حال تخزينه باستخدام AES-256-GCM — فلا يُحفظ أبدًا بصيغة نصية صريحة. انقر فوق Save. سيُنشئ VeloCMS تلقائيًا منتجًا على Stripe وسجلَّي سعر (شهري وسنوي) استنادًا إلى الأسعار التي ستحددها في الخطوة التالية.
الخطوة 3 — تحديد أسعار الاشتراك
لا تزال في Admin > Settings > Membership. حدد ما يلي: اسم المستوى المجاني (الافتراضي: Free)، واسم المستوى المدفوع (الافتراضي: Member)، والسعر الشهري بعملتك، والسعر السنوي (عادةً 10 أضعاف السعر الشهري لمنح خصم شهرين)، ورمز العملة (USD أو GBP أو EUR وغيرها). أضف 3 إلى 5 جُمَل تصف مزايا العضوية — ستظهر في نافذة الترقية المنبثقة التي يراها القرّاء المجانيون حين يصطدمون بمنشور محجوب.
- مثال على السعر الشهري: 7 دولارات (معيار النشرة البريدية)، أو 10 دولارات (المدونة + الأرشيف)، أو 15 دولارًا (مجتمع مميز)
- مثال على السعر السنوي: 70 دولارًا (شهران مجانًا مقارنةً بالاشتراك الشهري)، أو 100 دولار، أو 150 دولارًا
- جمل المزايا: 'الوصول الكامل إلى جميع المنشورات'، 'جلسة أسئلة وأجوبة شهرية مع الكاتب'، 'الوصول إلى مجتمع Discord'، 'قراءة خالية من الإعلانات'
الخطوة 4 — إعداد Stripe webhook
يحتاج VeloCMS إلى معرفة وقت إنشاء اشتراك Stripe أو تجديده أو إلغائه. انتقل إلى Stripe Dashboard > Webhooks > Add Endpoint. عيّن رابط الـ endpoint إلى https://yourblog.velocms.org/api/member-webhook. فعّل الأحداث التالية: customer.subscription.created وcustomer.subscription.updated وcustomer.subscription.deleted وinvoice.payment_failed وcheckout.session.completed. انسخ الـ signing secret الخاص بالـ webhook والصقه في Admin > Settings > Membership > Webhook Secret.
الخطوة 5 — حجب أول منشور لك
أنشئ منشورًا جديدًا عبر Admin > Posts > New Post. في لوحة الإعدادات على اليمين، ابحث عن قسم Who Can Read This. اضبط مستوى الظهور على Paid subscribers. انشر المنشور. الآن افتح رابط المنشور وأنت غير مسجّل الدخول — ستجد أول 200 كلمة من المنشور يعقبها نافذة منبثقة للترقية. يرى الأعضاء المجانيون جدار الدفع ذاته. لا يطّلع على المحتوى الكامل إلا المشتركون المدفوعون.
الخطوة 6 — تدفق الدفع للمشترك
حين ينقر القارئ على زر الترقية، يُحال إلى /member/subscribe حيث يختار الفوترة الشهرية أو السنوية. يفتح الدفع في صفحة مدفوعات مستضافة على Stripe. عند النجاح، يُعاد توجيهه إلى المنشور الأصلي الذي أصبح متاحًا الآن. لا تستغرق العملية بأكملها أكثر من 60 ثانية للمشترك الجديد.
الخطوة 7 — إدارة المشتركين
يظهر جميع المشتركين في Admin > Members. تعرض قائمة الأعضاء البريد الإلكتروني والمستوى (مجاني / مدفوع) وحالة الاشتراك (نشط / ملغى / متأخر الدفع) وتاريخ الاشتراك. يمكنك منح الوصول المدفوع أو سحبه يدويًا من هذه الصفحة — وهو أمر مفيد للاشتراكات المجانية المُهداة والمبالغ المستردة ورفع مستوى خدمة العملاء. يُقسّم منشئ حملات النشرة البريدية جمهورك حسب المستوى — أرسل محتوى حصريًا إلى المشتركين المدفوعين فقط.
بمجرد الانتهاء من الإعداد، يعمل جدار الدفع بصورة تلقائية كاملة — إذ يتولى Stripe التجديدات، وإعادة المحاولة عند فشل الدفع، وإلغاء الاشتراكات. تصلك رسالة بريد إلكتروني حين ينضم مشترك مدفوع جديد وأخرى حين ينتهي اشتراك.
إرسال حملات النشرة البريدية للمشتركين المدفوعين فقط
حين يصبح لديك مشتركون مدفوعون، يمكنك إرسال حملات النشرة البريدية إليهم حصريًا. انتقل إلى Admin > Newsletter > New Campaign. في قسم Audience، اختر 'Paid subscribers' من القائمة المنسدلة. ستُرسَل الحملة إلى الأعضاء الذين يملكون اشتراكًا مدفوعًا نشطًا فقط. استخدم هذا الخيار لتقديم محتوى مميز — تحليلات معمّقة ووصول مبكر وتحديثات المجتمع — مما يعزز قيمة المستوى المدفوع. سيواصل المشتركون المجانيون الذين يتلقون النشرة الاعتيادية استقبال الحملات الموجّهة إلى 'الجميع' أو 'المجاني'.