Программный доступ к курсам обмена валют [закрыто]
я настраиваю систему онлайн-заказов, но я нахожусь в Австралии, и для международных клиентов я хотел бы показать цены в долларах США или евро, поэтому им не нужно прилагать умственные усилия для конвертации из австралийских долларов.
кто-нибудь знает, если я могу вытащить до даты обменных курсов из сети где-то в формате простой для разбора я могу получить доступ из моего PHP-скрипта ?
обновление: теперь я написал PHP класс, который реализует это. вы можете получить код с моего сайта.
15 ответов:
вы можете получить конвертацию валют в простом формате от 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%. Например, Citibank Australia взимает 3,3%. Они варьируются от карты к карте, так что нет никакого способа для вас, чтобы предсказать окончательную цену, что ваши клиенты будут начисляться.
Если вы хотите процитировать "точная" цена для ваших клиентов, основанная на обменном курсе, вам нужно учитывать вышеизложенное и предоставить буфер, чтобы вы не взимали больше, чем вы указали.
FWIW, я добавлял 4% к тому, что в противном случае указывало бы преобразование F/X.
было бы неплохо добавить
http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
в список.
официальные справочные курсы обеспечивает Европейский Центральный Банк на основе регулярной ежедневной процедуры согласования между центральными банками внутри и за пределами европейской системы центральных банков.
фид находится в XML и некоторые другие форматы.
Обновление обычно происходит в 14: 15 по времени ЕЦБ (=Франкфуртское время).
недавно я реализовал то же самое, но с помощью 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 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.
Это не" полностью " бесплатно сейчас. Новое лицензирование гласит, что до 1000 посещений в месяц разрешено, а затем вам нужно заплатить. Вам также нужно заплатить, если вы хотите использовать конвертер валют (базовая функциональность).[ Примечание: Вы можете хочу посмотреть на этой ответ, как хорошо. ]
Я добавил открытую таблицу данных в YQL, вы можете использовать ее для получения данных обменного курса от yahoo.финансы.
формат, разделенный запятыми, предпочтительнее, чем "где пара in ('EURUSD','GBPUSD')", но в любом случае вы можете использовать оба и даже смешивать их.
попробуй такое RESTful (я не уверен, что это действительно отдых, так как я получил Это изначально из мыла, я просто попытался получить к нему доступ с помощью 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 обеспечивает питание для их обменных курсов. Но не бесплатно.
coinnill.com имеет своего рода веб-сервис.
даст вам AUD -- > курс доллара США, например. Вам просто нужно проанализировать XML, который возвращается.
Я вынужден добавить:
http://www.exchangerate-api.com/
Dead простой в использовании с чистым RESTful API и регистрация занимает 5 секунд. Включает примеры кодирования для большинства основных языков, большинство из которых имеют длину 2-3 строки.
курсы обновляются ежечасно, так что это нормально для большинства применений, и вы можете получить 30000 ежемесячные запросы за $7 в месяц. Мне никогда не нужно было больше, чем это, но ставки очень разумны для более высоких объемов.
Это работает для меня .
A валютный курс API:http://currency-api.appspot.com/