Wordpress WooCommerce: Sadece IBAN ile Ödemeye İndirim Mümkün müdür?
9
●146
- 06-04-2026, 10:26:00
- 06-04-2026, 10:31:03Merhaba,Maharaja adlı üyeden alıntı: mesajı görüntüle
functions.php ye yapıştırınız :
add_action( 'woocommerce_cart_calculate_fees', 'odeme_yontemi_indirimi' ); function odeme_yontemi_indirimi( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; $secilen_odeme = WC()->session->get( 'chosen_payment_method' ); if ( $secilen_odeme !== 'bacs' ) return; $indirim_orani = 15; // İstediğiniz yüzdeliğe göre değiştirin $ara_toplam = $cart->get_subtotal(); $indirim_tutari = $ara_toplam * ( $indirim_orani / 100 ); $cart->add_fee( 'Havale/EFT İndirimi (%' . $indirim_orani . ')', -$indirim_tutari, true ); } add_action( 'wp_footer', 'odeme_degisince_sepeti_guncelle' ); function odeme_degisince_sepeti_guncelle() { if ( ! is_checkout() ) return; ?> <script> jQuery(function($){ $('form.checkout').on('change', 'input[name="payment_method"]', function(){ $('body').trigger('update_checkout'); }); }); </script> <?php } - 06-04-2026, 10:33:47genelde iban indirimi yapan siteler phising onun için dikkat edin hocam soruşturma açılabılıyorMaharaja adlı üyeden alıntı: mesajı görüntüle
- 06-04-2026, 11:14:52Hocam çok teşekkürler kod çalıştı fakat ufak bir detay var. Acaba şöyle bırsey mumkun mu?Anestezy adlı üyeden alıntı: mesajı görüntüle
yuzde değil de 5000 tl yerine 3500 tl gibi birşey mesela? bir de sadece tek bir ürün için yapabilir miyiz? Mesela ürün ID633 - 06-04-2026, 11:20:43ben teşekkür ederim buyurun hocam :Maharaja adlı üyeden alıntı: mesajı görüntüle
add_action( 'woocommerce_cart_calculate_fees', 'urun_633_havale_indirimi' ); function urun_633_havale_indirimi( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; $hedef_urun_id = 633; $normal_fiyat = 5000; $havale_fiyati = 3500; $indirim_tutari = $normal_fiyat - $havale_fiyati; // 1500 TL $secilen_odeme = WC()->session->get( 'chosen_payment_method' ); if ( $secilen_odeme !== 'bacs' ) return; $urun_sepette = false; foreach ( $cart->get_cart() as $item ) { if ( $item['product_id'] == $hedef_urun_id ) { $urun_sepette = true; break; } } if ( ! $urun_sepette ) return; $cart->add_fee( 'Havale/EFT İndirimi (ID:' . $hedef_urun_id . ')', -$indirim_tutari, true ); } add_action( 'wp_footer', 'odeme_degisince_sepeti_guncelle' ); function odeme_degisince_sepeti_guncelle() { if ( ! is_checkout() ) return; ?> <script> jQuery(function($){ $('form.checkout').on('change', 'input[name="payment_method"]', function(){ $('body').trigger('update_checkout'); }); }); </script> <?php }şu an ki güncelleme de yapı biraz daha sorun yaratabilir ilerleyen süreçlerde. Eklenti olarak geliştirilmesinde fayda var
birden fazla ürüne yapmak istediğinizde :
$indirimli_urunler = [
633 => [ 'normal' => 5000, 'havale' => 3500 ],
741 => [ 'normal' => 8000, 'havale' => 6000 ],
];
foreach ( $cart->get_cart() as $item ) {
$id = $item['product_id'];
if ( isset( $indirimli_urunler[ $id ] ) ) {
$tutar = $indirimli_urunler[$id]['normal'] - $indirimli_urunler[$id]['havale'];
$cart->add_fee( 'Havale İndirimi (ID:' . $id . ')', -$tutar, true );
}
}
eklenti olarak yapıldığında panelden seç / vazgeç gibi pratik olarak daha iyi kullanabilirsiniz. Bu kodları tabi ki yardım etmek amaçlı paylaşıyorum fakat özel eklenti olarak kodlanmasını isterseniz ulaşabilirsiniz daha önce bir müşterime yaptım. Umarım işinize yarar sevgiler... - 06-04-2026, 11:31:43hocam cok tesekkur ederim emeğinize sağlık.Anestezy adlı üyeden alıntı: mesajı görüntüle
- 06-04-2026, 12:31:57Gayet net ve açıklayıcı ellerine sağlık hocam. Faydalı bilgi.Anestezy adlı üyeden alıntı: mesajı görüntüle
