اتضح أن المستخدم يمكنه فعل ما طلبته (لقد غيرت “السماح” إلى “توضيح” في العنوان الآن)… لذا إليك اثنان جديدان ولكنهما مرتبطان…
طلبات الميزات: يجب أن توضح الصياغة الافتراضية النوعين المختلفين من الإلغاء. يجب أن تحتوي واجهة المسؤول على نفس عمود “الحالة” مثل واجهة المستخدم.
إليك بعض التفاصيل…
يبدو أن “إلغاء” في اشتراكات Discourse يعني شيئين مختلفين اعتمادًا على من يقوم بذلك! بالنسبة للمستخدم، فإنه يلغي فقط التجديد التلقائي؛ بالنسبة للمسؤول، فإنه يلغي الاشتراك بأكمله على الفور.
-
إذا نقر المستخدم على أيقونة سلة المهملات في
u/.../billing/subscriptions، يكون الاستعلام هو “هل أنت متأكد من أنك تريد إلغاء هذا الاشتراك؟”يؤدي اختيار “نعم” إلى تشغيل خطاف الويب
customer.subscription.updated.جزآن بارزان من الاستجابة هما
"cancel_at_period_end": trueو"status": "active". لا تزال صفحة اشتراك المستخدم تعرض “الحالة: نشط” ولكن بالنسبة لـ “التجديدات” تذكر الآن “ملغاة”. يظل المستخدم في المجموعة المشتركة.بشكل مزعج، لا تشير واجهة المسؤول الآن إلى أنه تم إلغاء التجديد التلقائي - فهي تحتوي فقط على “الحالة: نشط”.
-
إذا نقر المسؤول على “إلغاء” في
/admin/plugins/discourse-subscriptions/subscriptions، يكون الاستعلام مرة أخرى هو “هل أنت متأكد من أنك تريد إلغاء هذا الاشتراك؟” (كما يسأل عن ما إذا كان سيتم استرداد المبلغ).يؤدي اختيار “نعم” إلى تشغيل خطاف الويب
customer.subscription.deleted.تتضمن الاستجابة
"status": "canceled". يتم حذف الاشتراك في كل مكان ويتم إزالة المستخدم من المجموعة المشتركة.