Tüm Sayfalar / 20 - Kupon Modülü
Sayfa 20 / 161
İndirim ve Kampanya Yönetimi

Kupon Modülü

Kullanıcılara indirim sağlayan esnek kupon sistemi

Biz Ne Yaptık?

Abonelik satışlarınızda kullanabileceğiniz esnek bir kupon sistemi oluşturduk. Yüzdelik veya sabit tutar indirimler tanımlayabilir, kullanım limitleri koyabilir ve tarih bazlı geçerlilik belirleyebilirsiniz.

Eski Yöntem

  • Manuel indirim hesaplama
  • Kullanım takibi yapılamaz
  • Suistimal edilebilir

Modern Mimari

  • Otomatik indirim hesaplama
  • Kişi başı ve toplam limit
  • Tarih bazlı geçerlilik kontrolü

Kupon Özellikleri

Yüzdelik İndirim

Örnek: %20 indirim

Sabit Tutar İndirim

Örnek: 50 TL indirim

Kullanım Limiti

Kişi başı ve toplam limit

Tarih Geçerliliği

Başlangıç ve bitiş tarihi

Arkada Ne Oluyor?

Kupon Uygulanırken

  1. 1 Kupon kodu veritabanında aranıyor
  2. 2 Tarih geçerliliği kontrol ediliyor
  3. 3 Kullanım limiti kontrol ediliyor
  4. 4 İndirim tutarı hesaplanıyor
Başarılı

Kupon uygulandı, indirim tutarı sepet toplamından düşüldü

Hata Durumları
  • - Kupon bulunamadı
  • - Süresi dolmuş
  • - Kullanım limiti aşıldı

Arkaplanda Neler Çalışıyor?

Kullanıcı kupon kodu girip "Uygula" butonuna tıkladığında, sistem şu doğrulama ve hesaplama adımlarını gerçekleştiriyor:

1. Kupon Arama

CouponService::findByCode() metodu girilen kodu coupons tablosunda arıyor. Kod büyük/küçük harf duyarsız olarak UPPER(code) ile karşılaştırılıyor.

2. Tarih Kontrolü

Kuponun starts_at ve expires_at alanları kontrol ediliyor. Bugünün tarihi bu aralıkta değilse "Kupon süresi dolmuş" veya "Kupon henüz aktif değil" hatası döndürülüyor.

3. Kullanım Limiti Kontrolü

coupon_usages tablosunda bu kuponun toplam ve bu kullanıcı tarafından kaç kez kullanıldığı sayılıyor. max_uses ve max_uses_per_user limitleri aşıldıysa hata döndürülüyor.

4. İndirim Hesaplama

Kuponun type alanına göre indirim hesaplanıyor: percentage ise sepet tutarı * (yüzde/100), fixed ise doğrudan tutar düşülüyor. Maksimum indirim limiti (max_discount) varsa o sınırda kalınıyor.

5. Sepete Bağlama

Tüm kontroller geçildiyse carts.coupon_id alanı güncelleniyor ve carts.discount_amount hesaplanan indirim tutarıyla dolduruluyor. Sepet toplam tutarı yeniden hesaplanıyor.

6. Kullanım Kaydı

Ödeme tamamlandığında coupon_usages tablosuna yeni kayıt ekleniyor: coupon_id, user_id, order_id, discount_amount. Bu sayede kullanım istatistikleri takip ediliyor.

Bu Sayfanın Anahtar Terimleri

Coupon (Kupon)

Belirli koşullarda indirim sağlayan özel kod.

Alışveriş merkezlerindeki indirim çeki gibi

Discount Type (İndirim Tipi)

Yüzdelik veya sabit tutar indirim seçeneği.

%20 mi yoksa 50 TL mi indirim?

Usage Limit (Kullanım Limiti)

Kuponun kaç kez kullanılabileceği sınırı.

Her kişi 1 kez kullanabilir gibi

Validity (Geçerlilik)

Kuponun geçerli olduğu tarih aralığı.

28 Şubat'a kadar geçerli gibi

🎊
🎉
💫
🎊
%20
İNDİRİM
AKTİF
Kupon Kodu
MUZIBU2026
28 Şubat'a kadar Sınırsız
KUPONLAR
İndirim Kampanyaları
%10
%30
%50
Esnek Kupon Sistemi

Yüzde veya Sabit Tutar İndirimi