Php 在Magento中签出时删除税费

Php 在Magento中签出时删除税费,php,magento,Php,Magento,我正在从事的一个项目允许客户购买能够免税(通过残疾/慢性疾病)的产品。我在结帐过程中添加了一个附加步骤,以便客户可以轻松填写增值税免税表。一旦填写了该表格,我需要从他们的报价/订单中删除税费 我已经做了相当多的挖掘工作来研究我如何可能做到这一点。下面是我到目前为止得到的代码,尽管它可以工作,但当我通过我们的支付提供商时,税收已经重置。即使我使用支票/汇票付款选项 文件:app/code/local/Vat/emption/controllers/OnepageController.php(方法:

我正在从事的一个项目允许客户购买能够免税(通过残疾/慢性疾病)的产品。我在结帐过程中添加了一个附加步骤,以便客户可以轻松填写增值税免税表。一旦填写了该表格,我需要从他们的报价/订单中删除税费

我已经做了相当多的挖掘工作来研究我如何可能做到这一点。下面是我到目前为止得到的代码,尽管它可以工作,但当我通过我们的支付提供商时,税收已经重置。即使我使用支票/汇票付款选项

文件:
app/code/local/Vat/emption/controllers/OnepageController.php
(方法:
saveExemptAction()


任何建议都将不胜感激

最简单的方法是将客户的组更改为不缴纳增值税的组(您可以在“销售>税务>管理税务规则”中定义)。
在他们填写完表格后,您更改了他们的组(
$customer->setGroup(self::group_豁免_增值税)->save();
),从这一刻起,他们将不纳税。
让我知道这是否对你的问题有效,如果你需要更多的帮助

$quote = $this->getOnepage()->getQuote();
$quote->setCustomerTaxClassId(6); // Tried forcing a custom tax class id
$quote->setCustomerGroupId(4); //also tried forcing a different customer group...

foreach($quote->getAllItems() as $item){
                   // Attempt to zero the tax on each item
                    $item->setTaxAmount(0);
                    $item->setBaseTaxAmount(0);
                    //re-calculate & save each item.
                    $item->calcTaxAmount();
                    $item->save();
                }
 $quote->collectTotals()->save();