muzibu.com · subscription / payment / cart
Kartla ödeme PayTR üzerinden alınıyor; PayTR başarı dönüşü geldiği anda sipariş otomatik tamamlanıyor ve üyeliğin süresi uzuyor, ekstra onaya gerek kalmıyor. Ancak ödeme alınmadan oluşturulan bekleyen abonelik kayıtları deneme hakkını yanlış kilitleyebiliyor ve bazı premium kontrolleri veriyi yanlış yerden okuduğu için üyeyi yine de kısıtlayabiliyor.
PayTR başarı callback'i otomatik olarak siparişi tamamlıyor ve abonelik süresini anında güncelliyor.
Akış
PayTR callback → ödeme completed → Order::onPaymentCompleted çalışır → activateSubscriptionItems mevcut current_period_end üzerine gün ekler veya yeni abonelik açar.
Hız
Callback yanıtı alındığı anda çalışıyor; manuel onay ya da bekleme yok. Tek bağımlılık PayTR'in merchant_oid ile dönmesi ve payment/callback/paytr endpoint'inin erişilebilir olması.
Ödeme alınmadan açılan pending kayıtlar, ödeme başarısız olsa bile "trial kullandı" izini bırakıyor.
API'deki premium kontrolü central DB'deki subscriptions.ends_at alanını sorguluyor.
Direct (kart formu) entegrasyonu transaction_id alanını kullanıyor, tablo ve modelde bu alan yok.