来自客户的两种情况: 低于1050的产品的GST为5%,高于1050的产品为10%
场景1: 如果购物车小计是1500,税收计算是正确的,这是12%,但如果应用50%的折扣,购物车总数低于1050,那么税收应该是5%而不是12%
场景2: 如果产品价值为1800且明智的话,购物车中有3种产品,总计达到5200,税收为12%但是当应用50%的折扣时,每个产品价值都低于1050,因此税收应为5%< / p>
上面的示例需要两个不同的代码。
我使用以下代码根据产品价值征税,但是当应用折扣时,税率保持不变,
add_filter('woocommerce_before_calculate_totals','change_cart_items_prices',10,1); function change_cart_items_prices($ cart_object){
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
foreach ( $cart_object->get_cart() as $cart_item ) {
// get product price
$price = $cart_item['data']->get_price();
// Set conditionaly based on price the tax class
if ( $price < 1050 )
$cart_item['data']->set_tax_class( 'GST/IGST @ 5%' ); // below 1051
if ( $price >= 1050 )
$cart_item['data']->set_tax_class( 'GST @ 12%' ); // Above 1051
}
}