Обновление заказов woocommerce с ebay вручную не работает при создании заказаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Обновление заказов woocommerce с ebay вручную не работает при создании заказа

Сообщение Anonymous »

Наши продукты представляют собой бывшие в употреблении товары, поэтому во Франции эти товары не облагаются налогом.
Существует налог на стоимость доставки.
Наш плагин не может справиться с этим, поэтому на данный момент мы получать заказы, включая текс в цене.
По причинам бухгалтерского учета мне нужно выставить окончательный счет, в котором налог с продаж в размере 20% указан в счете и в бухгалтерском учете.
Следующий скрипт должен выполнить работу, но он этого не делает. Он добавляет налог к ​​исходной цене ($cost), а не к сниженной цене на 20 % ($cost_new).

Код: Выделить всё

add_action('woocommerce_order_status_processing', 'update_shipping_tva', 10, 1);

function update_shipping_tva($order_id) {
// Get the WooCommerce order by order ID
$order = wc_get_order($order_id);
$items    = (array) $order->get_items('shipping');
$country  = $order->get_shipping_country();

if ($order) {
// Check if the order was created via eBay
$created_via = $order->get_meta('_created_via', true);

if ( strtolower(trim($created_via)) == 'ebay' ) {

// Set the array for tax calculations
$calculate_tax_for = array(
'country' => $country_code
);

// Loop through shipping items
foreach ( $items as $item ) {
$cost = $item->get_total();
wc_get_logger()->log('debug', 'cost before: ' . $cost);

$cost_new = round($cost / 1.2, 2);
$item->set_total( $cost_new );
$item->save();

$item->calculate_taxes( $calculate_tax_for ); // Calculate taxes

$item->save();

}

$order->calculate_totals(); // Recalculate totals and save

$order->add_order_note( 'orders with TVA from ebay' );

}

}
}
Я потратил немало часов и попыток, но безрезультатно. Спасибо всем.
И еще один вопрос: я также изменяю определенные заказы с помощью действия «woocommerce_order_status_processing». Могу ли я использовать это дважды или мне нужно поместить все в одну и ту же функцию, даже если я не смотрю на одни и те же продукты. Эта функция здесь касается всех товаров с ebay, другая применима только к определенным продажам на ebay (но она работает!).

Подробнее здесь: https://stackoverflow.com/questions/792 ... r-creation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»