Программный доступ к курсам обмена валюты

Я настраиваю систему онлайн-заказа, но я в Австралии и для международных клиентов, я хотел бы показать цены в долларах США или евро, чтобы они не должны были делать умственные усилия, чтобы конвертировать из австралийских долларов.

Кто-нибудь знает, могу ли я поменять текущие курсы обмена с сети где-нибудь в удобном для анализа формате, который я могу получить из своего PHP-скрипта?


UPDATE: теперь я написал класс PHP, который реализует это. Вы можете получить код с моего сайта .

Solutions Collecting From Web of "Программный доступ к курсам обмена валюты"

Вы можете конвертировать валюту в простой формат из yahoo:

Например, чтобы конвертировать из GBP в EUR: http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X&f=sl1d1t1ba&e=.csv

Этот ответ ОЧЕНЬ поздний, но есть ключевой бит информации, отсутствующий в приведенных выше ответах.

Если вы хотите показать точные цены своим клиентам, важно понять, как работают обменные курсы.

Большинство услуг FX только цитируют спот-курс (на полпути между Bid и Ask). Место является своего рода сокращением обменного курса, но никто не получает место, потому что вы можете продавать только на торгах или покупать по запросу. Обычно вы просматриваете, по крайней мере, 1% -ный спрэд между ними, поэтому спот-курс составляет 0,5% для ваших клиентов.

Но это не останавливается на достигнутом, ваши клиенты почти наверняка используют кредитную карту, а Visa / Mastercard / Amex взимают комиссию за обмен валюты. В моем опыте это нетривиально, на уровне 2,5%. Например, Citibank Australia взимает 3,3%. Они варьируются от карточки к карточке, поэтому вам не нужно прогнозировать конечную цену, которую будут платить ваши клиенты.

Если вы хотите указать «точную» цену для своих клиентов на основе обменного курса, вам необходимо учитывать вышеизложенное и предоставить буфер, чтобы вы не загружали больше, чем вы цитировали.

FWIW, я добавлял 4% к тому, что в противном случае означает преобразование F / X.

Может быть приятно добавить

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

к списку.

Официальные эталонные ставки предоставляются Европейским центральным банком на основе регулярной процедуры ежедневного согласования между центральными банками как внутри, так и за пределами Европейской системы центральных банков.

Канал находится в формате XML и некоторых других форматах .
Обновление обычно происходит в 14:15 (14:15) времени ECB (= Франкфуртское время).

Недавно я реализовал то же самое, но использовал API Google. URL-адрес запроса выглядит следующим образом:

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

Он принимает 3 параметра. Первым параметром является сумма, за которой следует код валюты ISO 4217, из которого вы конвертируете, знак равенства и вопросительный знак и код валюты, к которому вы конвертируете. Вы можете найти список кодов, которые Google поддерживает здесь . Ответ на запрос будет выглядеть так:

 {lhs: "1 British pound",rhs: "1.6132 US 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/ )
[Обновить]:
Данные проекта «Открытые обменные курсы» были удалены с GitHub.
Он доступен сейчас: http://openexchangerates.org/
Данные в формате JSON доступны по адресу: http://openexchangerates.org/latest.json

Нет платы за доступ, без ограничений по скорости , без уродливого XML – только бесплатные , почасовые обновленные курсы обмена в формате JSON.
Сейчас это не совсем «бесплатно». В новом лицензировании указывается, что разрешено до 1000 обращений в месяц, а затем вам нужно заплатить. Вам также нужно заплатить, если вы хотите использовать конвертер единой валюты (базовые функции).

[Примечание. Возможно, вы захотите также посмотреть на этот ответ. ]

Я добавил таблицу Open Data в YQL, вы можете использовать ее для извлечения данных обменного курса из yahoo.finance.

Попробуйте в консоли YQL

Формат, разделенный запятыми, предпочтительнее «где пара в (« EURUSD »,« GBPUSD »)», но в любом случае вы можете использовать оба и даже смешать их.

Вот услуга Мыла, которая предлагает обменный курс

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

На этом сайте есть служба конвертации валют бесплатно:

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

Попробуйте этот RESTful (я не уверен, что это действительно REST, так как я получил это из SOAP, я просто пытался получить к нему доступ с помощью HTTP GET)

iGoogle был уволен 1 ноября 2013 года. Этот 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 -> USD, например. Вам просто нужно проанализировать XML, который возвращается.

Я вынужден добавить:

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

Мертвый, простой в использовании с чистым API RESTful, и регистрация занимает 5 секунд. Включает примеры кодирования для большинства основных языков, большинство из них длиной 2-3 строки.

Цены обновляются ежечасно, так что это нормально для большинства целей, и вы можете получать 30000 ежемесячных запросов за 7 долларов США в месяц. Мне никогда не требовалось больше, но ставки очень разумны для больших объемов.

Это работает для меня.

API обменного курса: http://currency-api.appspot.com/