オンライン注文システムをセットアップしていますが、オーストラリアにいます。海外のお客様の場合は、米ドルまたはユーロで価格を表示したいので、オーストラリアドルから換算するために精神的な労力を費やす必要がありません。
PHPスクリプトからアクセスできる解析しやすい形式で、ネットのどこかで最新の為替レートを取得できるかどうか誰かが知っていますか?
更新:これを実装するPHPクラスを作成しました。コードは私のウェブサイトから入手できます。
オンライン注文システムをセットアップしていますが、オーストラリアにいます。海外のお客様の場合は、米ドルまたはユーロで価格を表示したいので、オーストラリアドルから換算するために精神的な労力を費やす必要がありません。
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%と重要です。たとえば、シティバンクオーストラリアは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はかなり初めてです。それが役に立てば幸い!
別の非常に優れた無料のオープンソースリンクは次のとおりです。
https://raw.github.com/currencybot/open-exchange-rates/master/latest.json
(私はそれについてここで見つけました:http : //josscrowcroft.github.com/open-exchange-rates/)
[更新] :
Open Exchange RatesプロジェクトデータはGitHubから移動されました。
現在、 http
: //openexchangerates.org/
で入手できます。JSON形式のデータは、 http: //openexchangerates.org/latest.jsonで入手できます。
アクセス料金なし、レート制限なし、醜いXMLなし- 時間単位で更新される無料の為替レート(JSON形式)。
現在、これは「完全に」無料ではありません。新しいライセンスでは、1か月あたり最大1000件のヒットが許可されているため、料金を支払う必要があります。単一通貨のコンバーター(基本機能)を使用する場合も、支払いが必要です。
[注:この回答もご覧ください。]
YQLにOpen Dataテーブルを追加しました。これを使用して、yahoo.financeから為替レートデータを取得できます。
カンマ区切り形式は「where pair in( 'EURUSD'、 'GBPUSD')」よりも望ましいですが、いずれにせよ、両方を使用したり、それらを混在させることもできます。
このサイトには無料の通貨換算サービスがあります:
為替レートを取得するには、次のようなものを使用できます。
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キャッシュを追加して、スロットルなどが発生しないようにすることができます。
他の投稿/コメントで述べたように、このレートを使用して通貨を計算します
Oanda.comは通貨レートをXML APIとして公開していますが、無料ではありません
追加せざるを得ない:
http://www.exchangerate-api.com/
クリーンなRESTful APIで簡単に使用でき、サインアップには5秒かかります。ほとんどの主要言語のコーディング例が含まれ、ほとんどが2〜3行です。
料金は1時間ごとに更新されるので、ほとんどの場合は問題なく、月額$ 7で30000の月次クエリを取得できます。それ以上必要なことは一度もありませんが、量が多い場合のレートは非常に妥当です。
これは私のために働いています。
通貨為替レートAPI:http : //currency-api.appspot.com/