我正在建立一个在线订购系统,但我在澳大利亚,对于国际客户,我想用美元或欧元显示价格,这样他们就不必花费精力去兑换澳元
有没有人知道我是否可以通过我可以从我的PHP脚本访问的易于解析的格式从网上获取最新的汇率?
更新:我现在编写了一个实现此功能的PHP类。 You can get the code from my website
答案 0 :(得分:71)
您可以从yahoo:
以简单格式获得货币转换例如,要将GBP转换为EUR:
http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X&f=sl1d1t1ba&e=.csv
答案 1 :(得分:39)
这个答案非常晚,但上述答案中缺少一些关键信息。
如果您想向客户展示准确的价格,了解外汇汇率的运作方式非常重要。
大多数外汇服务仅报出即期汇率(买卖价中间)。现货是汇率的一种简写,但没有人能够获得现货,因为您只能以买入价卖出或买入卖出。您通常会在它们之间看到至少1%的点差,因此您的客户的即期汇率为0.5%。
但它并不止于此,您的客户几乎肯定会使用信用卡,而Visa / Mastercard / Amex都会收取外汇费用。根据我的经验,这些都是非平凡的,至少2.5%。例如,花旗银行澳大利亚公司收取3.3%的费用。这些因卡而异,因此您无法预测客户需要支付的最终价格。
如果您想根据汇率向客户报出“准确”价格,您需要考虑上述因素并提供缓冲,以便您最终收取的费用不会超过您的报价。
FWIW,我一直在增加4%的F / X转换率。
答案 2 :(得分:26)
可能很高兴添加
http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
到列表中。
根据欧洲中央银行体系内外各中央银行之间的日常协调程序,European Central Bank提供官方参考汇率。
Feed采用XML格式some other formats 更新通常在下午2时15分进行。 (14:15)欧洲央行时间(=法兰克福时间)。
答案 3 :(得分:12)
另一个非常好的免费和开源链接是:
https://raw.github.com/currencybot/open-exchange-rates/master/latest.json
(我在这里找到了它:http://josscrowcroft.github.com/open-exchange-rates/)
的 [更新]:强>
开放汇率项目数据已从GitHub转移。
现在可在:http://openexchangerates.org/获取
JSON格式的数据位于:http://openexchangerates.org/latest.json
没有访问费,没有费率限制,没有丑陋的XML - 只是免费,每小时更新一次JSON格式的汇率。
现在这不是“完全”免费的。新许可证明每月最多可达1000次点击,然后您需要付费。如果您想使用单一货币转换器(基本功能),您还需要付费。
[注意:您也可以查看this答案。 ]
答案 4 :(得分:12)
我最近实现了相同的功能,但使用的是Google的API。查询URL如下所示:
http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD
需要3个参数。第一个参数是金额,后跟您要转换的ISO 4217货币代码,等号和问号,以及您要转换为的货币代码。您可以找到Google支持的代码列表here。对查询的响应如下所示:
{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很新。希望它有所帮助!
答案 5 :(得分:6)
我将Open Data表添加到YQL,您可以使用它从yahoo.finance中检索汇率数据。
以逗号分隔的格式优于“在'('EURUSD','GBPUSD')中的对位”但是无论如何,你可以使用它们甚至混合它们。
答案 6 :(得分:4)
这是一个提供汇率的肥皂服务
答案 7 :(得分:4)
此网站免费提供货币转换服务:
答案 8 :(得分:3)
Try this RESTful(我不确定这是否真的是一个REST,因为我最初是从SOAP获得的,我只是尝试使用HTTP GET访问它)
答案 9 :(得分:3)
要获得汇率,您可以使用以下内容:
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];
}
您可以在其中添加数据库缓存,以确保不会受到限制等。
正如其他帖子/评论所述,您可以使用此费率计算您的货币
答案 10 :(得分:2)
XE.com为其汇率提供汇票。虽然不是免费的。
答案 11 :(得分:2)
Oanda.com将货币汇率作为XML API公开,但不是免费的
答案 12 :(得分:1)
答案 13 :(得分:1)
我觉得有必要补充一下:
http://www.exchangerate-api.com/
使用简洁的RESTful API并且注册需要5秒钟。包括大多数主要语言的编码示例,大多数是2-3行。
费率每小时更新一次,因此适用于大多数用途,每月只需7美元即可获得30000个月查询。我从来不需要更多的东西,但是对于更高的产量来说,费率是非常合理的。
答案 14 :(得分:1)
这对我有用。
货币汇率API:http://currency-api.appspot.com/