首页 > 解决方案 > Woocommerce:设置税款并根据自定义字段值通过挂钩重新计算总计

问题描述

我一直在寻找解决问题的方法,但我什么也看不到,也不知道我还能检查什么。

我有一家与 woocommerce 合作的商店,我在其中设置和配置了一些税款 (VAT),这些税款 (VAT) 在账单表格中选择某个国家/地区时适用。问题仍然存在:我们有另一个字段,用户可以手动发布他/她来自的国家/地区(当然,客户希望这样)。这个自定义字段是确定我们要收取的税款类型的字段。

因此,如果客户在账单表格和“自定义字段”中输入相同的国家/地区,我们可以收取正确的金额,但如果客户在自定义字段中输入不同的国家/地区,我无法以正确的方式制作账单税(自定义字段中的国家/地区)。

我考虑过手动设置税款,但在账单中显示得很差。

我可以在自定义表单中设置一个选择(下拉菜单),但是有一个“账单信息与个人信息相同”复选框,我在 wooocommerce 配置中看不到任何允许选择一个或另一个下拉菜单的选项作为默认确定要应用的税款

另一个想法是通过钩子(woocommerce_checkout_create_order)设置正确的国家,然后重新计算总数。并重新计算一次并再次更改。这是一个正确的方法吗?woocommerce 核心是否会尊重已经制定的规则?(如适用税款但不更改价格)

信息:我通过类似的方式通过 POST 接收 billing_country 和 custom_field_country

add_action( 'woocommerce_checkout_create_order','change_actual_tax', 10, 1 );
function change_actual_tax( $order ) {
//the post
//the conditions

//the real deal who does not work at all

}


I tried the following at "the real deal":
$woocommerce->cart->add_fee( 'VAT(12%)', $newAmount, true, '' );

//another thing
$item_fee = new WC_Order_Item_Fee();
$item_fee->set_name( "VAT12" );
$item_fee->set_tax_status( 'taxable' );
$item_fee->calculate_taxes( $theCountryInfoArray );
$order->add_item( $item_fee );

收取一定费用对我来说不起作用,因为它必须像税款一样显示在账单上。

如果有人能指出我正确的方向,我会非常感激。

感谢阅读,对不起我的英语。

干杯!

标签: phpwordpresswoocommercehook

解决方案


推荐阅读