我正在建立一个在线订购系统,但我在澳大利亚,对于国际客户,我想用美元或欧元显示价格,这样他们就不必花费精力去兑换澳元

有没有人知道我是否可以通过我可以从PHP脚本访问的易于解析的格式从网上获取最新的汇率?


更新:我现在编写了一个实现此功能的PHP类。 您可以从我的网站获取代码

有帮助吗?

解决方案

您可以从yahoo:

以简单格式获得货币转换

例如,要将GBP转换为EUR: <代码> http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X&f=sl1d1t1ba&e=.csv

其他提示

这个答案非常晚,但上述答案中缺少一些关键信息。

如果您想向客户展示准确的价格,了解外汇汇率的运作方式非常重要。

大多数外汇服务仅报出即期汇率(买卖价中间)。现货是汇率的一种简写,但没有人能够获得现货,因为您只能以买入价卖出或买入卖出。您通常会在它们之间看到至少1%的点差,因此您的客户的即期汇率为0.5%。

但它并不止于此,您的客户几乎肯定会使用信用卡,而Visa / Mastercard / Amex都会收取外汇费用。根据我的经验,这些都是非平凡的,至少2.5%。例如,花旗银行澳大利亚公司收取3.3%的费用。这些因卡而异,因此您无法预测客户需要支付的最终价格。

如果你想引用“准确”的话。根据汇率向客户提供价格,您需要考虑上述因素并提供缓冲,以便您最终收取的费用不会高于您的报价。

FWIW,我一直在增加4%的F / X转换率。

可能很高兴添加

&NBSP; http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml

到列表中。

官方参考费率由欧洲中央银行提供,基于中央银行之间的定期日常协调程序欧洲中央银行体系之外。

Feed采用XML格式,其他一些格式。结果 更新通常在下午2时15分进行。 (14:15)欧洲央行时间(=法兰克福时间)。

我最近实现了相同的功能,但使用的是Google的API。查询URL如下所示:

http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD

需要3个参数。第一个参数是金额,然后是您要转换的 ISO 4217 货币代码,等号和问题标记,以及您要转换为的货币代码。您可以找到Google支持的代码列表此处。对查询的响应如下所示:

{lhs: "1 British pound",rhs: "1.6132 U.S. dollars",error: "",icc: true}

这是不言自明的,所以我不会在这里详述。这就是我处理查询响应的方式:

function convert_currency($amount, $from_code, $to_code){
    ini_set('max_execution_time', 60);
    $temp = 'http://www.google.com/ig/calculator?hl=en&q=' . $amount . $from_code . '=?' . $to_code;

    $response = file_get_contents($temp);
    $result_string = explode('"', $response);

    $final_result = $result_string['3'];

    $float_result = preg_replace("/[^0-9\.]/", '', $full_result);

    return $float_result;
}

我确信这远远不是最优雅的方式,但我对PHP很新。希望它有所帮助!

另一个非常好的免费和开源链接是:

https://raw.github.com/currencybot/open-交换率/主/ latest.json 结果 (我在这里找到了它: http://josscrowcroft.github.com/open-exchange-利率/ 结果 的 [更新]:结果 开放汇率项目数据已从GitHub转移。
现在可以在以下网址获得: http://openexchangerates.org/
JSON格式的数据可在以下网址获得: http://openexchangerates.org/latest.json

没有访问费,没有速率限制,没有丑陋的XML - 只是免费,每小时更新一次JSON格式的汇率。
这不是“完全”的。现在免费。新许可证明每月最多可达1000次点击,然后您需要付费。如果您想使用单一货币转换器(基本功能),您还需要付费。

[注意:您也可以查看答案。 ]

我将Open Data表添加到YQL,您可以使用它从yahoo.finance中检索汇率数据。

在YQL控制台中试用

逗号分隔格式优于“其中对”('EURUSD','GBPUSD')&quot;但无论如何,你可以使用它们甚至混合它们。

这是一个提供汇率的肥皂服务

http://www.newyorkfed.org/markets/pilotfx.html

此网站免费提供货币转换服务:

http://www.webservicex.net/WS/WSDetails.aspx ?WSID = 10

试试这个 RESTful(我不确定是否这真的是一个REST,因为我最初是从SOAP获得的,我只是尝试使用HTTP GET访问它)

iGoogle于2013年11月1日停用。此API不再有效。

要获得汇率,您可以使用以下内容:

function get_exchange_rate($from, $to){
    $data = file_get_contents("http://www.google.com/ig/calculator?hl=en&q=1{$from}=?{$to}");
    preg_match('/rhs\:\s?"([0-9\.]+)/', $data, $m);
    return $m[1];
}

您可以在其中添加数据库缓存,以确保不会受到限制等。

正如其他帖子/评论所述,您可以使用此费率计算您的货币

XE.com 提供汇率的汇票。虽然不是免费的。

Oanda.com将货币汇率作为XML API公开,但不是免费的

coinnill.com有一种网络服务。

  

http://coinmill.com/rss/AUD_USD.xml

会给你AUD - &gt;以美元汇率为例。您只需要解析返回的XML。

我觉得有必要补充一下:

http://www.exchangerate-api.com/

使用简洁的RESTful API并且注册需要5秒钟。包括大多数主要语言的编码示例,大多数是2-3行。

费率每小时更新一次,因此适用于大多数用途,每月只需7美元即可获得30000个月查询。我从来不需要更多的东西,但是对于更高的产量来说,费率是非常合理的。

这对我有用。

货币汇率API: http://currency-api.appspot.com/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top