Php 从订单对象获取magento装运税率

Php 从订单对象获取magento装运税率,php,magento,Php,Magento,我需要知道如何获得订单的税率。目前我正在计算这个值 $order->getShippingTaxAmount() and $order->getShippingAmount() 这真的,真的很难看,但到目前为止,这是可行的。但是如果没有运费,我就得不到税率。我需要ERP系统执行其他任务的速率 我尝试对order对象使用“var_dump()”,并通过搜索税率来查找我的值,但什么也找不到。另一个想法是“获取类方法”,但也没有运气 我知道,还有另一条线索(#6940246),但解决方案

我需要知道如何获得订单的税率。目前我正在计算这个值

$order->getShippingTaxAmount() and $order->getShippingAmount()
这真的,真的很难看,但到目前为止,这是可行的。但是如果没有运费,我就得不到税率。我需要ERP系统执行其他任务的速率

我尝试对order对象使用“var_dump()”,并通过搜索税率来查找我的值,但什么也找不到。另一个想法是“获取类方法”,但也没有运气


我知道,还有另一条线索(#6940246),但解决方案是“全球性的”——我需要特定订单的税率,这取决于国家或客户——并且应该是历史性的

您可以使用
$tax\u info=$order->getFullTaxInfo()此方法直接来自订单模型。它将为您提供一个数组,其中包含该订单的详细税务信息,包括金额、税号、标题、税号和百分比


要接收例如以百分比表示的税率,您可以使用
$tax\u rate=$tax\u info[0]['percent']

如果您处于“报价”状态

$store = $quote->getStore()
$taxCalculation = Mage::getModel('tax/calculation');
$request = $taxCalculation->getRateRequest(null, null, null, $store);
$taxRateId = Mage::getStoreConfig('tax/classes/shipping_tax_class', $store);

//taxRateId is the same model id as product tax classes, so you can do this:
$percent = $taxCalculation->getRate($request->setProductClassId($taxRateId));

非常感谢。听起来不错:)我试试=)这只是订单第一项的税率。如果您有多个增值税税率,此值可能是错误的。然后,您应该使用foreach并查看['rates'][0]['percent']以获得正确的值,并对增值税(可能是当时用作装运增值税的所有项目中的最高值)执行您自己的逻辑。请注意,这在较新的Magento版本中可能不起作用,因为它们还提供动态装运税率。