У меня есть два пользовательских способа оплаты. Я хочу изменить валюту, цену товара, промежуточный итог, стоимость доставки в зависимости от выбранного способа оплаты. Я использую фильтр 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);
}
}
Однако я не уверен, как изменить цену продукта и промежуточный итог. Эти изменения должны быть отражены в электронных письмах.