Payment → Cart → Subscription veri akışı ve hata tespiti
✅ Payment Sayfası:
TAHA CELEP - 4.800 ₺ - PAY-20260116172554-2318F0
Ödeme kaydı var ve görünüyor
✅ Cart Sayfası:
TAHA - burcu@ketenciinsaat.com.tr - 0.00 TRY
Cart kaydı var ve kullanıcı görünüyor (sepet boş)
❌ Subscription Sayfası:
İsim hiç yok - Liste boş
Kullanıcının abonelik kaydı görünmüyor
⚠️ Ek Sorun:
Subscription sayfasında sıralama karışık (isim, soyisim, mail)
Cart tablosunda kayıt oluşur (customer_id ile User'a bağlı)
Modules/Cart/App/Models/Cart.php
Order tablosunda kayıt oluşur (status: pending, payment_status: pending)
Modules/Cart/App/Models/Order.php
Payment tablosunda kayıt oluşur (payable_type: Order, status: pending)
Modules/Payment/App/Models/Payment.php
Payment status: completed → Order.onPaymentCompleted() çağrılır
Order.php:413 - onPaymentCompleted()
Order.activateSubscriptionItems() → Subscription oluşur
Order.php:174-325 - activateSubscriptionItems()
Olası Nedenler:
Order.onPaymentCompleted() metodu çağrılmamış (PayTR callback hatası)activateSubscriptionItems() metodu hata vermiş (log'a yazılmış olmalı)orderable_type değeri yanlış (SubscriptionPlan olmalı)metadata['cycle_key'] yoksa hata oluşabilir)Kontrol edilecek log satırları:
🔵 Order::onPaymentCompleted START🔵 activateSubscriptionItems START✅ Yeni subscription zincire eklendi
Olası Nedenler:
pending_payment (varsayılan filtre: active)pending (zincirde sırada, henüz aktif değil)Dosya:
SubscriptionComponent.php:22public $filterStatus = 'active';
Tespit Edilen Eksikler:
Dosya: Modules/Payment/App/Http/Livewire/Admin/PaymentsComponent.php
Sorun: Payment listesinde kullanıcı bilgisi gösterilmiyor
Line 272-286: render() metodu
with(['paymentMethod'])❌ Eksik: payable.user ilişkisi yüklenmiyor
Dosya: Modules/Cart/App/Http/Livewire/Admin/CartComponent.php
Durum: Customer ilişkisi yükleniyor, isim gösteriliyor ✅
Line 236-254: render() metodu
with(['items', 'currency', 'customer'])orderByRaw('CASE WHEN customer_id IS NOT NULL THEN 0 ELSE 1 END')
Dosya: Modules/Subscription/App/Http/Livewire/Admin/SubscriptionComponent.php
Sorun: Varsayılan filtre 'active', sıralama subscription_id
Line 22: Varsayılan filtre
public $filterStatus = 'active';Line 160: Sıralama
orderBy($this->sortField, $this->sortDirection)❌ Varsayılan: subscription_id DESC (kullanıcı adına göre değil)
Dosya: Modules/Cart/App/Models/Order.php:174-325
Bu metot ödeme tamamlandığında subscription oluşturur
Kontrol noktaları:
1.1. Payment kaydını kontrol et
Payment::where('payment_number', 'PAY-20260116172554-2318F0')->first()
✓ Status, payable_type, payable_id kontrol et
1.2. Order kaydını kontrol et
Order::where('order_number', 'ORD2026011622E266')->first()
✓ Status, payment_status, user_id kontrol et
1.3. Subscription kaydını kontrol et
Subscription::where('user_id', {user_id})->get()
✓ Kayıt var mı? Status ne? metadata içinde order_id var mı?
1.4. Log kayıtlarını kontrol et
storage/logs/laravel-{tarih}.log
✓ "activateSubscriptionItems" ara, hata var mı?
Order kaydı var ama subscription oluşmamışsa:
Manuel aktivasyon:
$order = Order::find({order_id});
$order->markAsPaid($payment->amount);
↳ Bu metot activateSubscriptionItems() çağırır
Subscription var ama görünmüyorsa:
4.1. PaymentsComponent - Kullanıcı bilgisi ekle
Dosya: PaymentsComponent.php:272
- ->with(['paymentMethod'])+ ->with(['paymentMethod', 'payable.user'])
4.2. SubscriptionComponent - Varsayılan filtreyi değiştir
Dosya: SubscriptionComponent.php:22
- public $filterStatus = 'active';+ public $filterStatus = ''; // Tümünü göster
4.3. SubscriptionComponent - Sıralama seçenekleri ekle
View'da dropdown ekle:
- Kullanıcı Adı (A-Z)- Email (A-Z)- Tarih (Yeni-Eski)