0

我有使用基础货币的 magento 网站,显示的是 IDR,但 Fedex 运费是按美元价格计算的。

如何在 IDR 中设置 Fedex 显示货币?

任何帮助将不胜感激

谢谢

4

1 回答 1

1

在 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 在报价时显示基础货币,因此配置文件中必须缺少某些东西以进行运输。希望能帮助到你。

于 2013-08-31T19:16:32.533 回答