muzibu.com · subscription · paytr · cart
Kartla ödeme PayTR üzerinden alınıyor ve PayTR başarı bildirir bildirmez sipariş otomatik tamamlanıyor; üyelik süresi anında uzuyor, onay beklemiyor. Ama ödeme yapılmadan açılan bekleyen abonelik kayıtları deneme hakkını yanlış kilitleyebiliyor; ayrıca bazı premium kontrolleri yanlış veritabanına baktığı için ödeyen kullanıcı bile engellenebiliyor.
PayTR dönüşü gelir gelmez abonelik süresi otomatik uzuyor, manuel onay yok.
Akış
PayTR callback → payment completed → Order::onPaymentCompleted → activateSubscriptionItems mevcut tarihe gün ekler veya yeni abonelik açar.
Hız
Callback yanıtıyla eşzamanlı çalışır; tek koşul PayTR’in merchant_oid ile dönmesi ve payment/callback/paytr erişilebilir olması.
Premium kontrollerinin doğru DB ve alanı okuması kritik.
Doğru kaynak: Tenant DB · subscriptions.current_period_end · status in (active, trial).
Yanlış kaynak: Central DB · ends_at alanı → Premium kullanıcı bile 403 görebilir.
Ödeme öncesi yazılan kayıtlar başarısız ödemede bile trial'i tüketmiş gösteriyor.
Central DB’deki ends_at sorgusu premium kullanıcıyı bile 403’e düşürebilir.
Direct akışı transaction_id alanını kullanıyor; modelde yok.