質問
私はオンライン注文システムをセットアップしていますが、オーストラリアにいます。国際的な顧客のために、オーストラリアドルから変換するための精神的な努力をする必要がないように、米ドルまたはユーロで価格を表示したいです。
PHPスクリプトからアクセスできる解析しやすい形式で、どこかで最新の為替レートをネットから引き上げることができるかどうか誰にもわかりますか?
更新:これを実装するPHPクラスを作成しました。 ウェブサイトからコードを取得できます。
解決
yahooから簡単な形式で通貨換算を取得できます:
たとえば、GBPからEURに変換するには:
http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X&f=sl1d1t1ba&e=.csv
他のヒント
この回答は非常に遅れていますが、上記の回答には重要な情報がありません。
顧客に正確な価格を表示する場合は、外国為替レートの仕組みを理解することが重要です。
ほとんどのFXサービスは、スポットレート(買値と売値の中間)のみを引用しています。スポットは、為替レートの一種の略記ですが、入札でのみ販売または売りで購入できるため、誰もスポットを取得できません。通常、少なくとも1%のスプレッドが見られるため、顧客のスポットレートは0.5%オフです。
それで終わりではありません。顧客はほぼ確実にクレジットカードを使用しており、Visa / Mastercard / Amexはすべて外国為替手数料を請求しています。私の経験では、これらは少なからず、少なくとも2.5%です。たとえば、Citibank Australiaは3.3%を請求します。これらはカードごとに異なるため、顧客に請求される最終価格を予測することはできません。
"正確な"を引用したい場合為替レートに基づいて顧客に価格を設定する場合は、上記を考慮に入れ、見積額以上に請求しないようにバッファを提供する必要があります。
FWIW、F / X変換がそうでなければ示すであろうものに4%を追加しました。
追加するといいかもしれません
  http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
リストへ。
公式の参照率は、ヨーロッパ中央銀行によって提供され、定期的な毎日の中央銀行間の協調手続きに基づいています。および欧州中央銀行制度の外。
フィードはXMLで、他の形式。
更新は通常午後2時15分に行われます。 (14:15)ECB時間(=フランクフルト時間)。
最近、同じものを実装しましたが、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を初めて使用します。役に立てば幸いです!
もう1つの非常に優れた無料のオープンソースリンクは次のとおりです。
https://raw.github.com/currencybot/open- exchange-rates / master / latest.json
(私はここでそれを見つけました: http://josscrowcroft.github.com/open-exchange-料金/ )
[更新]:
Open Exchange RatesプロジェクトデータはGitHubから移動されました。
現在、 http://openexchangerates.org/ で入手できます。
JSON形式のデータは、 http://openexchangerates.org/latest.json で入手できます。
アクセス料金なし、レート制限なし、XMLいXMLなし-ただ無料、JSON形式の1時間ごとに更新される為替レート。
これは「完全に」ではありません。今すぐ無料。新しいライセンスでは、1か月あたり最大1000件のヒットが許可されているため、料金を支払う必要があります。単一通貨コンバーター(基本機能)を使用する場合も支払いが必要です。
[注:こちらの回答もご覧ください。 ]
YQLにOpen Dataテーブルを追加しました。これを使用して、yahoo.financeから為替レートデータを取得できます。
( 'EURUSD'、 'GBPUSD')のペアの"よりもコンマ区切り形式が望ましいとにかく、両方を使用することができ、それらを混ぜることもできます。
為替レートを提供する石鹸サービスです
このサイトには無料で通貨換算サービスがあります:
これをお試しくださいこれは実際には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];
}
そこにDBキャッシュを追加して、スロットルなどが発生しないようにすることができます。
他の投稿/コメントで指摘されているように、このレートを使用して通貨を計算します
XE.com は、為替レートのフィードを提供します。無料ではありません。
Oanda.comは通貨レートをXML APIとして公開していますが、無料ではありません
coinnill.comには一種のWebサービスがあります。
AUDが提供されます->たとえば、USDレート。戻ってくるXMLを解析するだけです。
追加する必要があります:
http://www.exchangerate-api.com/
クリーンなRESTful APIを使用して簡単に使用でき、サインアップには5秒かかります。ほとんどの主要言語のコーディング例が含まれています。ほとんどの言語は2〜3行です。
料金は1時間ごとに更新されるため、ほとんどの用途に適しています。また、1か月あたり7ドルで30000の月間クエリを取得できます。それ以上必要なことは一度もありませんが、量が多い場合は料金が非常に妥当です。
これは私のために働いています。
通貨為替レートAPI: http://currency-api.appspot.com/