الاشتراكات: السماح للمستخدمين بشراء منتجات لمرة واحدة عدة مرات

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

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

شيء مثل:

product=DiscourseSubscriptions::Customer.find_by(user_id: 2, product_id: create_server_id)
product.product_id: 'install fulfilled'
product.save

هذا سيسمح للمستخدم بالشراء مرة أخرى. هل تعتقد أن هذا قد يكسر شيئًا آخر؟

3 إعجابات

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

أنا منفتح على إضافة إمكانية للمستخدمين لشراء منتجات الشراء لمرة واحدة أكثر من مرة.

5 إعجابات

كم ذلك صعب؟ لقد فوجئت إلى حد ما بهذا. هل يمكن لشخص ما، على سبيل المثال، الاشتراك في اشتراك جديد لاشتراك انتهى سلفه؟

3 إعجابات

شراء لمرة واحدة متكرر سيكون رائعًا.. هذا سيقلل إلى حد ما من الحاجة إلى دعم ‘ادفع ما تريد’ للاشتراكات الذي غير موجود حاليًا في Subscriptions: Pay What You Want Support .. أو ربما هناك فرصة لدمج الميزتين معًا؟ :slight_smile:

إعجابَين (2)

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

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

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

3 إعجابات

إذن، هل يمكن ببساطة تحديد عمليات الشراء لمرة واحدة على أنها غير نشطة تلقائيًا؟

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

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

5 إعجابات

آه! هذا يفسر الأمر. لم يكن لدي وقت للنظر في الأمر بعناية، فإضافتي تحتوي على آلاف الأجزاء المتحركة الأخرى التي لا أفهمها أيضًا.

لا أريد أن يكون هناك أي شيء يتعلق بعدم صحة ذلك! :christmas_tree: :tada:

5 إعجابات

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

يبدو إذن أن serialize_product هو ما يحدد ما إذا كان المنتج مشتركًا، وهو ما يحدد ما إذا كان بإمكانك شراؤه.

أعتقد أن ما يجب فعله هنا هو عدم تعيين subscribed إلى true للمنتج الذي اشتراه المستخدم إذا كان منتجًا لمرة واحدة؟ ليس واضحًا بالنسبة لي على الفور كيفية القيام بذلك، حيث يبدو أن هذه المعلومات على الأقل تتطلب ربط جداول (أو ربما طلبًا آخر؟).

ما فعلته حتى الآن هو تعديل القوالب يدويًا لعرض رابط الدفع/الزر دائمًا (شيء مثل {{#if product.subscribed_JP_disabled}})، وهذا يسمح لي بإجراء شراءات متعددة، على الرغم من أن هذا مجرد حل مؤقت.

6 إعجابات

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

5 إعجابات

مرحباً،

أنا مهتم جداً بهذه الميزة أيضاً. أتطلع إلى التحديث! :wink:

3 إعجابات

شكرًا لتصويتك، وعيد ميلاد سعيد! :birthday_cake:

لقد وضعت ذلك في قائمتي للمستقبل القريب :slight_smile:

6 إعجابات

توجد طلب دمج (PR) لهذا هنا:

7 إعجابات

نعتذر عن التأخير، لكن تم دمج هذا الآن!

5 إعجابات