Magento 和 Paypal 税收四舍五入问题

标签 magento paypal rounding

我在使用 Paypal 和 Magento 1.7.0.2 时遇到了一些舍入问题 - 网站上的所有价格均含税,税费为 20%(增值税)。

我去结账,一切都正确:

enter image description here

然后我点击place order,Paypal会是这样,这是不正确的,因为总计现在少了1p。这似乎是由税收的四舍五入方式引起的。

enter image description here

在某些情况下,它工作正常,但在其他情况下,税收四舍五入不正确。我已尝试更改 app/code/core/Mage/Tax/Model/Calculation.php 中的税收计算方法 calcTaxAmount()

我将此添加到 calcTaxAmount 方法中,这似乎修复了它,但它导致产品页面上的价格不正确(少了 1p)。

$amount = $this->roundUp($amount);

我很确定这是一个错误,但我没有主意。如果有人以前遇到过这个问题并且有解决方案,我会很高兴听到。非常感谢任何帮助。

编辑:这是我在 Magento 中的税务设置

enter image description here

最佳答案

我想我已经找到了这个困扰社区的问题的解决方案。

如果您的价格含税,则税费计算有误。

这是解决方法 - 在 Mage_Tax_Model_Calculation::calcTaxAmount() 中:

改变条件:

if ($priceIncludeTax)...

到:

if ( ! $priceIncludeTax ) ...

所以条件看起来像:

if ( ! $priceIncludeTax ) { 
    $amount = $price*(1-1/(1+$taxRate)); 
} else { 
    $amount = $price*$taxRate; 
}

详情看我的评论:http://www.magentocommerce.com/boards/viewthread/247201/P45/

切记不要修改核心文件——在本地创建一个副本

关于Magento 和 Paypal 税收四舍五入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11868985/

相关文章:

sql-server - SQL Server 中的 *UP* 舍入到最接近的 100

c++ - Boost 多精度舍入模式

Magento Migrate 客户无需密码。

magento - 获取特定类别级别

javascript - node.js 中的 PayPal 字段和小数错误

php - Paypal IPN 已验证但未运行我的插入

mysql - Magento 安装 - 标识符名称太长

magento - 如何将 Magento 分层导航 block 从左列移动到右列?

paypal - 有没有实时paypal ipn服务

optimization - 将 n 舍入为 m 的倍数的有效方法