🛒

Sepetiniz Boş

Henüz sepetinizde ürün bulunmuyor.

Alışverişe Başla
// Kupon uygulama fonksiyonu function applyCoupon($db, $coupon_code) { $coupon_code = strtoupper(trim($coupon_code)); if (empty($coupon_code)) { return ['success' => false, 'message' => 'Lütfen kupon kodunu girin.']; } // Sepet boş mu kontrol et $cartData = getCartData($db); if ($cartData['total'] <= 0) { return ['success' => false, 'message' => 'Sepetinizde ürün bulunmuyor.']; } try { // Kupon var mı ve aktif mi kontrol et $stmt = $db->prepare(" SELECT * FROM coupons WHERE code = ? AND is_active = 1 AND start_date <= NOW() AND end_date >= NOW() "); $stmt->execute([$coupon_code]); $coupon = $stmt->fetch(PDO::FETCH_ASSOC); if (!$coupon) { return ['success' => false, 'message' => 'Geçersiz veya süresi dolmuş kupon kodu.']; } // Minimum tutar kontrolü if ($cartData['total'] < $coupon['minimum_amount']) { return ['success' => false, 'message' => 'Bu kupon için minimum ' . number_format($coupon['minimum_amount'], 0) . '₺ alışveriş yapmalısınız.']; } // Kullanım limiti kontrolü if ($coupon['usage_limit']) { $stmt = $db->prepare("SELECT COUNT(*) FROM coupon_usage WHERE coupon_id = ?"); $stmt->execute([$coupon['id']]); $usage_count = $stmt->fetchColumn(); if ($usage_count >= $coupon['usage_limit']) { return ['success' => false, 'message' => 'Bu kuponun kullanım limiti dolmuş.']; } } // İndirim hesapla $discount = 0; if ($coupon['type'] == 'percentage') { $discount = ($cartData['total'] * $coupon['value']) / 100; if ($coupon['maximum_discount'] && $discount > $coupon['maximum_discount']) { $discount = $coupon['maximum_discount']; } } else { $discount = $coupon['value']; } // İndirim sepet toplamından fazla olamaz if ($discount > $cartData['total']) { $discount = $cartData['total']; } // Kuponu session'a kaydet $_SESSION['applied_coupon'] = [ 'id' => $coupon['id'], 'code' => $coupon['code'], 'name' => $coupon['name'], 'type' => $coupon['type'], 'value' => $coupon['value'], 'discount' => $discount ]; return [ 'success' => true, 'message' => 'Kupon başarıyla uygulandı!', 'coupon' => $_SESSION['applied_coupon'], 'discount' => $discount ]; } catch (Exception $e) { return ['success' => false, 'message' => 'Kupon uygulanırken bir hata oluştu.']; } } // Kupon kaldırma fonksiyonu function removeCoupon() { unset($_SESSION['applied_coupon']); return ['success' => true, 'message' => 'Kupon kaldırıldı.']; }