Я использую таможенную плату для расчета скидки на основе количества товаров в корзине.
Скидка становится больше, если в корзине больше товаров.
Скидка должна составлять 5 евро на 2 продукта, но 6,05 евро, потому что 21% налога рассчитывается от суммы скидки.
Код, который я использую, является следующим
// Hook before calculate fees
add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees');
/**
* Add custom fee bij meer dan 2 artikelen
* @param WC_Cart $cart
*/
function add_custom_fees( WC_Cart $cart ){
if( $cart->cart_contents_count < 2 ){
return;
}
//$Korting = Winkelwagen geteld * 5) - 5 (-5 is om eerste product korting te verwijderen;
// Calculate the amount to reduce
$discount = ($cart->get_cart_contents_count() * 5) -5;
$cart->add_fee( 'Sinterklaaskorting', -$discount, false);
}
Может ли кто-нибудь помочь получить налог с комиссии.
API Fee можно настроить, чтобы сделать скидку, используя отрицательную плату, так же, как ваш код
Но в этом случае налоги всегда применяются при использовании отрицательной суммы, поэтому третий аргумент
$taxable
вWC_Cart
add_fees()
метод всегда верно даже если вы установите его в false.
Увидеть: Применить скидку к содержанию корзины без учета налогов в WooCommerce
Для этого случая нет поворота, так как WC_Cart
Плата API производится за плату, а не за скидку.
Вы можете использовать: Применить автоматически купон на основе определенного количества товаров в Woocommerce
с процентной скидкой, но налоги также применяются при использовании купонов.
Поэтому нет возможности получить скидку, не снимая при этом налоги.
Других решений пока нет …