Bu özellik henüz aktif değildir
Muzibu.com'da şu an için kupon veya indirim kodu sistemi bulunmamaktadır. Abonelik planları sabit fiyatlarla sunulmaktadır.
İlerleyen dönemlerde aşağıdaki özellikler eklenebilir:
Kupon kodu uygulandığında arka planda şu işlemler gerçekleşir:
Girilen kupon kodu coupons tablosunda aranır. Kod yoksa veya yazım hatası varsa "Geçersiz kupon" hatası döner. Büyük/küçük harf duyarsız arama yapılır.
Coupon::where('code', strtoupper($code))->first()
Kuponun başlangıç ve bitiş tarihleri kontrol edilir. Süresi dolmuş kuponlar kabul edilmez. Ayrıca kullanım limiti (toplam ve kullanıcı başına) kontrol edilir.
$coupon->isValid() && $coupon->usage_count < $coupon->usage_limit
Kupon belirli kullanıcılara özel mi? Yeni üyelere mi? Öğrencilere mi? Bu koşullar kontrol edilir. Aynı kullanıcı aynı kuponu daha önce kullanmış mı bakılır.
coupon_user pivot tablosu - kullanım geçmişi
Kupon tipi (yüzde/sabit tutar) ve değeri okunur. Sepet tutarına göre indirim hesaplanır. Minimum sepet tutarı şartı varsa kontrol edilir.
$discount = $coupon->type === 'percent' ? $total * $coupon->value / 100 : $coupon->value
Geçerli kupon session'a kaydedilir. Ödeme sayfasına geçildiğinde bu indirim uygulanır. Sepet değişirse indirim yeniden hesaplanır.
session(['coupon' => ['code' => $code, 'discount' => $discount]])
Ödeme tamamlandığında kuponun kullanım sayacı artırılır ve kullanıcı-kupon ilişkisi kaydedilir. Aynı kullanıcı aynı kuponu tekrar kullanamaz.
$coupon->increment('usage_count'); $coupon->users()->attach($userId)
Kupon sistemi geliştirme aşamasında