Paket satın alındığında üyelik süresinin uzatılmaması problemi
Sorun Ne?
Kullanıcı yeni paket satın aldığında sistem mevcut üyeliğini uzatmak yerine YENİ bir üyelik oluşturuyor.
Bu yüzden aynı kullanıcıda birden fazla aktif üyelik oluşuyor ve üyelik süresi uzamıyor.
Örnek:
User 2'nin veritabanında 2 ayrı aktif subscription var:
Neden Önemli?
Kullanıcı üyeliğini uzatmak için ödeme yapıyor ama mevcut süresi uzamıyor.
Sistem yanlış çalışıyor, müşteri memnuniyetsizliği ve potansiyel maddi kayıp söz konusu.
📁 CheckoutPage.php (satır 2073-2110):
📁 Order.php (satır 214-246):
| ID | User | Plan | Status | Başlangıç | Bitiş |
|---|---|---|---|---|---|
| 55 | 2 | 15 | active | 23.12.2025 | 23.12.2026 |
| 56 | 2 | 15 | active | 23.12.2025 | 23.12.2026 |
⚠️ User 2'nin 2 ayrı aktif subscription'ı var! Uzatma yerine yeni oluşturulmuş.
Sistem önce kullanıcının mevcut üyeliğini kontrol etmeli. Eğer aktif bir üyelik varsa, yeni üyelik oluşturmak yerine mevcut üyeliğin süresini uzatmalı.
Seçenek A: CheckoutPage'de Kontrol (Önerilen)
Seçenek B: Order::activateSubscriptionItems'da Düzeltme
CheckoutPage::createSingleSubscription() Güncelleme
Mevcut aktif subscription kontrolü ekle
Order::activateSubscriptionItems() Güncelleme
Uzatma mantığını düzelt (pending + aktif birlikte varsa)
Mevcut Veritabanını Düzelt
User 2'nin duplicate subscription'larını birleştir
Test Et
Yeni satın almada uzatma mantığının çalıştığını doğrula
Modules/Cart/app/Http/Livewire/Front/CheckoutPage.php
→ createSingleSubscription() - satır 2073
Modules/Cart/app/Models/Order.php
→ activateSubscriptionItems() - satır 168
→ onPaymentCompleted() - satır 421
Modules/Payment/app/Services/PayTRCallbackService.php
→ handleSuccessPayment() - satır 135