Добавление дополнительной платы в корзину и при оформлении заказа — с использованием API комиссий

Добавление процентной надбавки ко всем транзакциям


/**
 * Добавляет 1% надбавку в корзину и на странице оформления заказа
 * Измените $percentage, чтобы задать нужный процент
 */
add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );

function woocommerce_custom_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    $percentage = 0.01;
    $surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage;

    $woocommerce->cart->add_fee( 'Надбавка', $surcharge, true, '' );
}

Добавление фиксированной надбавки ко всем транзакциям


/**
 * Добавляет фиксированную сумму надбавки в корзину и на оформление заказа
 */
add_action( 'woocommerce_cart_calculate_fees','wc_add_surcharge' );

function wc_add_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    $страна = array('US');

    // измените значение $fee, чтобы задать нужную сумму надбавки
    $fee = 1.00;

    if ( in_array( WC()->customer->get_shipping_country(), $страна ) ) :
        $woocommerce->cart->add_fee( 'Надбавка', $fee, true, 'standard' );
    endif;
}

Добавление надбавки в зависимости от страны доставки


/**
 * Добавляет 1% надбавку в зависимости от страны доставки
 * Налоги, стоимость доставки и сумма заказа учитываются при расчёте
 */
add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );

function woocommerce_custom_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    $страна = array('US');
    $percentage = 0.01;

    if ( in_array( $woocommerce->customer->get_shipping_country(), $страна ) ) :
        $surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage;
        $woocommerce->cart->add_fee( 'Надбавка', $surcharge, true, '' );
    endif;
}

Поделиться с друзьями
Документация WooCommerce