Я использую WooCommerce add_fee () , чтобы добавить плату за упаковку к моим заказам.
Код, на мой взгляд, довольно прост:
// Add custom cart fee
add_action( 'woocommerce_cart_calculate_fees', 'cp_add_custom_price' );
function cp_add_custom_price( $cart_object ) {
global $woocommerce;
$totalGoods = WC()->cart->get_cart_contents_count();
$feeTitle = ( get_locale() === 'en_US' ) ? 'Package fee' : 'Paketpauschale';
$fee = 2.48;
if( $totalGoods > 0 ) {
$woocommerce->cart->add_fee( $feeTitle, $fee, true );
}
}
Я хочу, чтобы комиссия составляла 2,95 евро с немецким налогом с оборота 19%.Как в корзине, так и во время оформления заказа, комиссия отображается правильно, как показано ниже:

Однако после оформления заказа плата меняется на гораздо более низкое значение

Левое значение показывает «итого», а правое показывает 19% налог с продаж.
Я понятия не имею, откуда WooCommerce вдруг получает эти значения, когда я ввел 2,48в моем коде и когда страницы корзины и оформления заказа показывают правильное значение.
Я понимаю, что это может быть вызвано некоторыми другими вычислениями или плагинами, которые мы используем, но я надеюсь, что кто-то мог столкнуться с той же проблемой,Я использую WooCommerce 3.5.4
Небольшое обновление: мы только что получили заказ из другой страны со ставкой 0%.Цена за комиссию была правильно рассчитана на уровне 2,48, поэтому это должно быть проблемой с налогом с продаж 19%.