Aylık: 299 TL | Yıllık: 2.999 TL
Tek paket var, cihaz limiti kullanıcı bazlı belirlenir.
1 yıl - Kullanıcı bir kez giriş yapınca 1 yıl boyunca giriş yapmış kalır.
Kullanıcı bazlı - Admin her kullanıcıya özel limit tanımlar (varsayılan: 1)
Her zaman aktif - Tüm girişler kayıt altında, istisnasız.
Tenant-aware - Her site kendi login tasarımını kullanır.
Hayır, zor değil. Laravel'de hazır paketler var. SMS entegrasyonu da basit.
Her tenant kendi SMS sağlayıcısını kullanır. Türkiye'de popüler seçenekler:
Kullanıcılar isteğe bağlı 2FA açabilir
SMS'in kimden geldiği (BTK onaylı olmalı)
Açınca her girişte telefonunuza kod gelir. Ekstra güvenlik sağlar.
2FA kodları bu numaraya gönderilir
Bu kullanıcı aynı anda 2 cihazdan giriş yapabilir
📱 iPhone 14 - Safari (İstanbul) - Şu an aktif
Kullanıcı limitini aştığında şu ekran çıkar:
Yeni cihazdan giriş yapmak için aşağıdakilerden birinden çıkış yapın:
📍 İstanbul, Türkiye
🕐 Son aktivite: 2 saat önce
🌐 IP: 85.xxx.xxx.xxx
📍 Ankara, Türkiye
🕐 Son aktivite: 3 gün önce
🌐 IP: 176.xxx.xxx.xxx
Bu işlem seçtiğiniz cihazdaki oturumu sonlandırır.
Bu sistem hem üyelik hem de Shop için kullanılacak. Tek bir kupon modülü, her yerde çalışır.
| Tür | Açıklama | Örnek |
|---|---|---|
| Yüzde İndirim | Toplam fiyattan % düşer | %20 indirim → 299 TL yerine 239 TL |
| Sabit İndirim | Sabit tutar düşer | 50 TL indirim → 299 TL yerine 249 TL |
| Sabit Fiyat | Ürün/abonelik sabit fiyata düşer | İlk ay 99 TL |
| Ücretsiz Deneme Uzatma | Deneme süresini uzatır | 7 gün yerine 14 gün deneme |
Kullanıcıların gireceği kod (büyük harf, boşluksuz)
Toplam kaç kez kullanılabilir (0 = sınırsız)
Bir kişi kaç kez kullanabilir
Bu tutarın altındaki alışverişlerde geçersiz
İlk üyeliğinizde geçerli
Kullanıcı ücretsiz kayıt olur. Deneme süresi başlar (örn: 7 gün).
Deneme süresinin yarısında mail: "3 gün kaldı, şimdi abone ol!"
Formül: Deneme süresi / 2 = Hatırlatma günü
Deneme bitmeden 1 gün önce: "Yarın sona eriyor!"
Ödeme yapılmadıysa ücretsiz pakete düşer. "Denemeniz sona erdi" maili.
Önerim: Deneme hakkı korunsun ama üzerine eklenmesin.
Yani Ali 299 TL öderse, hemen 1 aylık premium başlar. Deneme hakkı kaybolmaz, iptal ederse kullanabilir.
Alternatif: İlk ödeme yapılınca deneme hakkı sıfırlanır (daha basit).
Tüm otomatik işlemler arka planda cron ile çalışır:
Yarısında ve son gün mail gönderir
Deneme bitenleri ücretsiz pakete düşürür
X gün önce (ayarlanabilir) mail gönderir
Ödeme yapılmayan abonelikleri sonlandırır
90 günden eski giriş loglarını siler (opsiyonel)
Abonelik bitmeden bu kadar gün önce mail gönderilir
Açıksa kayıtlı karttan otomatik çekilir
| Zaman | İçerik | |
|---|---|---|
| 3 gün önce | Yenileme Hatırlatması | "Aboneliğiniz 3 gün sonra yenileniyor. Kartınızdan 299 TL çekilecek." |
| Yenileme günü | Ödeme Alındı | "Aboneliğiniz yenilendi. Yeni bitiş tarihi: XX/XX/XXXX" |
| Ödeme başarısız | Ödeme Hatası | "Ödeme alınamadı. 3 gün içinde kartınızı güncelleyin." |
| 3 gün sonra hala başarısız | Abonelik İptal | "Ödeme alınamadığı için aboneliğiniz sonlandırıldı." |
parent_company_id ve company_code alanları eklenecek. İleride kurumsal modül geldiğinde kullanılacak.
| Özellik | Tenant-Aware? | Açıklama |
|---|---|---|
| Login Ekranı | ✅ Evet | Her site kendi tasarımını kullanır |
| SMS API Ayarları | ✅ Evet | Her site kendi SMS sağlayıcısını tanımlar |
| Mail Şablonları | ✅ Evet | Her site kendi logo/renk/içerik kullanır |
| Kupon Kodları | ✅ Evet | Her sitenin kendi kuponları |
| Üyelik Ayarları | ✅ Evet | Oturum süresi, deneme süresi vs. her site farklı |
| Fiyatlar | ✅ Evet | Her site kendi fiyatlarını belirler |
| Giriş Logları | ✅ Evet | Her sitenin kendi log tablosu |
Bu soruları cevaplayın, TODO'yu güncelleyip kodlamaya başlayalım.