Я использую add_fee () WooCommerce, чтобы добавить плату за упаковку к своим заказам .
Кодекс, на мой взгляд, довольно прост:
// 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% налогом с продаж.