لا يمكن للمستخدم إعادة شراء منتج اشتراك بعد إلغائه

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

ستحتاج إلى التأكد من أن هذا مُعدّ وفقًا لما ورد في المنشور الأصلي هنا: Discourse Subscriptions

إحدى الطرق لتأكيد ذلك من خادمك:

./launcher enter app
rails c
u = User.find_by_username(<username>)
c = DiscourseSubscriptions::Customer.where(user_id: u.id)
subscription = DiscourseSubscriptions::Subscription.where(customer_id: c.customer_id)

تأكد من استبدال <username> باسم المستخدم الفعلي.

إذا عاد المتغير subscription بقيمة []، فهناك مشكلة أخرى. أما إذا عاد بقيمة، فهذا يؤكد على الأرجح غياب الويب هوك.

لحذف إدخال DiscourseSubscriptions::Subscription حتى يتمكن المستخدم من شراء المنتج مرة أخرى:

تأكد من أن subscription يحتوي على قيمة واحدة فقط بتشغيل الأمر subscription.count. إذا كانت القيمة المُرجعة أكبر من 1، فستحتاج إلى إجراء مزيد من البحث للتأكد من أنك تحذف مثيل الاشتراك الصحيح. إذا حذفت الخطأ، ستكون بيانات اشتراكاتك في حالة غير متسقة وقد تؤدي إلى سلوك غريب.

بمجرد التأكد من وجود اشتراك واحد فقط، يمكنك تشغيل الأمر التالي:

subscription.destroy_all

تذكر أن subscription هو القيمة المُرجعة من مجموعة الاستعلامات الأولية التي قمنا بتشغيلها في وحدة تحكم Rails.

آمل أن يكون ذلك مفيدًا!