我有基础货币的magento网站,显示的是IDR,但联邦快递的运费是按美元价格计算的。
如何在IDR中设置Fedex显示货币?
任何帮助将不胜感激
由于
答案 0 :(得分:0)
在fedex.com/us/developer/上,您将找到fedex开发人员手册。在第36页上,对于费率服务,它为您的问题提供了解决方案。
RequestedShipment / Preferred Currency:可选字段 - 表示调用者请求在所有返回的货币值中使用的货币(当可以选择时)。
<xs:element name="PreferredCurrency" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>This attribute indicates the currency the caller requests to have used in all returned monetary values (when a choice is possible).</xs:documentation>
</xs:annotation>
</xs:element>
其他信息:
检查app / code / core / Mage / Usa / Model / Shipping / Carrier / Fedex.php。 magento显示shiiping成本的方式在该文件中定义。正如您所见,getxurrencyquote调用getcurrencycode来显示货币。另一方面,该文件版本1.7不显示您需要IDR的货币。检查您的商店中是否定义了IDR,并将IDR添加到以下数组中:
public function getCurrencyCode ()
{
$codes = array(
'DOP' => 'RDD', // Dominican Peso
'XCD' => 'ECD', // Caribbean Dollars
'ARS' => 'ARN', // Argentina Peso
'SGD' => 'SID', // Singapore Dollars
'KRW' => 'WON', // South Korea Won
'JMD' => 'JAD', // Jamaican Dollars
'CHF' => 'SFR', // Swiss Francs
'JPY' => 'JYE', // Japanese Yen
'KWD' => 'KUD', // Kuwaiti Dinars
'GBP' => 'UKL', // British Pounds
'AED' => 'DHS', // UAE Dirhams
'MXN' => 'NMP', // Mexican Pesos
'UYU' => 'UYP', // Uruguay New Pesos
'CLP' => 'CHP', // Chilean Pesos
'TWD' => 'NTD', // New Taiwan Dollars
);
$currencyCode = Mage::app()->getStore()->getBaseCurrencyCode();
return isset($codes[$currencyCode]) ? $codes[$currencyCode] : $currencyCode;
}
更确切地说,如果需要IDR到IDN之类的转换,则必须检入该数组。我专注于这个解决方案,因为我检查magento报价时显示基础货币,因此配置文件中必须缺少运输。 希望它有所帮助。