WooCommerce меняет цену продукта и промежуточную сумму после оформления заказа в зависимости от способа оплаты - PullRequest
1 голос
/ 30 апреля 2020

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

Вот код, который я использовал для изменения валюты и итога:

add_action( 'woocommerce_checkout_create_order', 'change_total_after_checkout', 999, 1 );
function change_total_after_checkout($order) {
    $euro_rate = 1.15;
    $usd_rate = 1.24;

    $shipping_total = ($order->get_payment_method()==='eurosaccount') ?  ceil($order->get_shipping_total() * $euro_rate) : ceil($order->get_shipping_total() * $usd_rate);

    $total = ($order->get_payment_method()==='eurosaccount') ?  ceil($order->get_total() * $euro_rate) : ceil($order->get_total() * $usd_rate);

    if($order->get_payment_method()==='eurosaccount'){
        $order->set_currency('EUR');
        $order->set_shipping_total($shipping_total);
        $order->set_total($total);
    }elseif($order->get_payment_method()==='usaccount'){
        $order->set_currency('USD');
        $order->set_shipping_total($shipping_total);
        $order->set_total($total);
    }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...