مع نضوج إضافة اشتراكات Discourse، أود البدء في التخطيط لنقل العضويات الحالية من اشتراكات WooCommerce إلى اشتراكات Discourse. يجب أن تنطبق العملية أدناه على إضافات العضوية/الاشتراك الأخرى في WordPress، وليس فقط WooCommerce.
هناك ثلاثة عناصر في هذا الانتقال تحتاج إلى معالجة:
إنشاء اشتراكات في Stripe
ربط اشتراك Stripe بالمستخدم في Discourse
عكس عملية SSO بحيث تصبح Discourse مزوّد SSO وWordPress العميل
(1) إنشاء اشتراكات في Stripe
يبدو أن إنشاء الاشتراكات في Stripe للمستخدمين الحاليين هو عملية يدوية في الوقت الحالي. أعضاءي موجودون بالفعل في Stripe، لذا سيكون سير العمل كالتالي:
تصدير جميع المشتركين والبيانات من اشتراكات WooCommerce
إنشاء اشتراك في Stripe لمستخدم من لوحة تحكم عملاء Stripe وجدولة أول دفعة لتطابق تاريخ انتهاء اشتراك WooCommerce الحالي.
إلغاء اشتراك المستخدم في WooCommerce.
تعطيل اشتراكات WooCommerce عند الانتهاء من جميع المستخدمين.
بمجرد إعداد المستخدم مع اشتراك في Stripe، كيف يمكننا إضافة هذا المستخدم الحالي إلى خطة اشتراك في Discourse؟ هذا ضروري لتمكين المستخدم من إلغاء الاشتراك وإزالة المستخدم من المجموعة في حالة فشل الدفع عبر Stripe.
(3) عكس عملية SSO لاستخدام Discourse كمزوّد وWP كعميل
نعم، هذا ليس شيئًا ستتمكن الإضافة من المساعدة فيه، ومع ذلك، قد تتمكن من استخدام واجهة برمجة تطبيقات Stripe لأتمتة بعض ذلك إذا كانت لديك أي مهارات في البرمجة. إذا لم تكن كذلك، فقد تكون الطريقة اليدوية هي السبيل الوحيد.
فقط للتأكد من فهمي لمشكلتك: لقد قمت بإنشاء الاشتراكات في Stripe وتريد ملء فجوة الوصول في Discourse؟ هل هذا صحيح؟
أعتقد أنه يجب أن يكون هناك طريقة للقيام بذلك عبر مهمة Rake، لكنها ليست شيئًا سأتمكن من معالجته قريبًا للأسف. سيكون ذلك موضع ترحيب للمساهمة البرمجية سيتعين عليك إنشاء سجل DiscourseSubscriptions::Customer بجميع المعلومات المناسبة ثم إضافة المستخدم إلى المجموعة.
نعم. سيحدث هذا بعد إكمال الخطوات من (1)، عند تعيين اشتراك جديد للعميل في Stripe.
العميل موجود بالفعل في Stripe (في حالتي) لأن WooCommerce Subscriptions ينشئ عميلاً في Stripe عند شراء عضوية، وبالتالي تتوفر البيانات ذات الصلة - بما في ذلك معلومات بطاقة الائتمان.
هل يمكن تغذية ملف CSV بدلاً من القيام بذلك واحداً تلو الآخر؟
أعتقد أن هذا سيكون عائقاً كبيراً لأي مجتمع قائم على العضويات، وبالتالي سنرى فقط المجتمعات الجديدة التي تتبناه.
تهانينا، جاستن! هذا إنجاز هائل! بدأت بالتعامل معه أمس ولا أستطيع الانتظار للبدء في استخدامه. سأبدأ أيضًا في البحث عن طرق لمساعدة فريق الهجرة على الانتقال من منصات مثل WooCommerce. لا يزال غير واضح حتى الآن ما إذا كان الأمر يمكن أن يكون مهمة rake “بسيطة” (ها!) أم أنها ستكون أشبه بهجرة المنتدى حيث تكون كل مهمة فريدة من نوعها (أتوقع أن يكون الأمر هو الأخير).
التحدي سيكون في جلب معلومات العملاء من Stripe إلى جدول Customer في الإضافة ومطابقتها. من هناك، سيكون الأمر في الغالب مجرد إضافة عضوية المجموعة. لكنك على الأرجح محق في أن كل حالة ستكون فريدة من نوعها.
بالإضافة إلى عنوان البريد الإلكتروني، يشارك Stripe و WooCommerce Subscriptions أيضًا معرف العميل: cus_ABCdefxyz ومعرف البطاقة: src_1234ABxyzasdf ومعرف المعاملة: ch_0123ABCDefgh
بحسب ما أذكر، يشارك PMPro نفس البيانات.
الطريقة الأفضل، في رأيي، هي تصدير جدول من كلا التطبيقين والتأكد من تطابقهما في جدول بيانات، ثم استخدام ملف CSV هذا كمصدر.
أنا فضولي لمعرفة ما إذا كان هذا قد نجح في النهاية. أنا أتطلع إلى مساعدة عميل على الانتقال من MemberPress ويبدو أنني سأحتاج إلى القيام بشيء مشابه. أود أن أتعلم من أي شخص جرب شيئًا مشابهًا.