Применить нулевой налог к ​​австралийским заказам на сумму свыше 1000 долларов в Woocommerce - PullRequest
0 голосов
/ 18 января 2019

В связи с новыми австралийскими правилами gst мне нужно иметь возможность взимать стандартную gst с продаж австралийским клиентам стоимостью менее 1000 долларов США и нулевым рейтингом gst при продажах выше 1000 долларов США (так как они обрабатываются таможней AU).

Я хотел бы использовать Установить различные налоговые ставки в зависимости от цены товара в корзине в Woocommerce код ответа, который можно адаптировать к моим потребностям, ориентируясь на заказы с австралийским адресом доставки.

Если кто-нибудь знает, как я могу это сделать, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 18 января 2019

Используя код, подобный связанному ответу, вы можете попробовать следующее, которое будет нацелено на австралийских клиентов, чьи промежуточные итоги корзины составляют $1000:

add_action( 'woocommerce_before_calculate_totals', 'apply_conditionally_zero_tax_rate', 10, 1 );
function apply_conditionally_zero_tax_rate( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
        return;

    // Targeting australia billing country only
    if ( WC()->customer->get_billing_country() !== 'AU' )
        return;

    $defined_amount = 1000;
    $subtotal = 0;

    // Loop through cart items (1st loop - get cart subtotal)
    foreach ( $cart->get_cart() as $cart_item ) {
        $subtotal += $cart_item['line_total'];
    }

    // Targeting cart subtotal up to the "defined amount"
    if ( $subtotal < $defined_amount )
        return;

    // Loop through cart items (2nd loop - Change tax rate)
    foreach ( $cart->get_cart() as $cart_item ) {
        $cart_item['data']->set_tax_class( 'zero-rate' );
    }
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

...