我有使用基础货币的 magento 网站,显示的是 IDR,但 Fedex 运费是按美元价格计算的。
如何在 IDR 中设置 Fedex 显示货币?
任何帮助将不胜感激
谢谢
在 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 成本的方式。如您所见,getxmlquote 调用 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 在报价时显示基础货币,因此配置文件中必须缺少某些东西以进行运输。希望能帮助到你。