مشكلة الاشتراكات المتداخلة

لقد قامت مجتمعنا مؤخرًا بتغيير رسوم عضويته. نظرًا لطريقة عمل Stripe، كان علينا إنشاء منتج اشتراك جديد بالسعر الجديد ثم إبلاغ أعضائنا بأنهم سيحتاجون إلى التجديد يدويًا هذا العام ضمن المنتج الجديد. يرتبط كل من الاشتراك القديم والاشتراك الجديد بـ “مجموعتنا الخاصة”، مما يمنح أعضائنا أذونات لرؤية الفئات الخاصة.

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

لا أعرف كيف يمكن حل هذا، لذا آمل أن يكون لدى شخص ما هنا اقتراح. شكرًا مقدمًا!

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

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

   old_subscriptions=SubscriptionOrSomethingLikeThat.where(somefield: 'sub_xyz')
   old_subscriptions.destroy_all

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

إعجاب واحد (1)