Я настраиваю систему онлайн-заказов, но нахожусь в Австралии, и для международных клиентов я хотел бы показывать цены в долларах США или евро, чтобы им не приходилось прилагать умственные усилия для конвертации из австралийских долларов.
Кто-нибудь знает, могу ли я получить актуальные курсы обмена из сети где-нибудь в удобном для анализа формате, к которому я могу получить доступ из моего PHP-скрипта?
ОБНОВЛЕНИЕ: я написал класс PHP, который это реализует. Вы можете получить код с моего сайта .
Ответы:
Вы можете конвертировать валюту в простом формате на 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 (14:15) по времени ЕЦБ (= Франкфуртскому времени).
источник
Недавно я реализовал то же самое, но с использованием API Google. URL-адрес запроса выглядит так:
Требуется 3 параметра. Первый параметр - это сумма, за которой следует код валюты ISO 4217, из которой вы конвертируете, знак равенства и вопросительный знак, а также код валюты, в которую вы конвертируете. Вы можете найти список кодов, которые поддерживает Google здесь . Ответ на запрос будет выглядеть так:
Это довольно понятно, поэтому я не буду здесь вдаваться в подробности. Вот как я обработал ответ на запрос:
Я уверен, что это далеко не самый элегантный способ сделать это, но я новичок в 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.finance.
Попробуйте в консоли YQL
Разделенный запятыми формат предпочтительнее, чем «где пара в ('EURUSD', 'GBPUSD')», но в любом случае вы можете использовать оба и даже смешивать их.
источник
Вот сервис Soap, который предлагает обменный курс
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 больше не работает.
Чтобы получить обменный курс, вы можете использовать что-то вроде этого:
Вы можете добавить туда кеш БД, чтобы убедиться, что вас не троттлинг и т. Д.
Как было отмечено в других сообщениях / комментариях, вы затем использовали бы этот курс для расчета своих валют.
источник
XE.com предоставляет информацию об их обменных курсах. Но не бесплатно.
источник
Oanda.com предоставляет курсы валют как XML API, но не бесплатно.
источник
coinnill.com имеет своего рода веб-сервис.
даст вам курс AUD -> USD, например. Вам просто нужно проанализировать возвращаемый XML.
источник
Я чувствую себя обязанным добавить:
http://www.exchangerate-api.com/
Очень просто использовать с чистым RESTful API, а регистрация занимает 5 секунд. Включает примеры кодирования для большинства основных языков, большинство из которых состоит из 2-3 строк.
Ставки обновляются ежечасно, поэтому это нормально для большинства случаев, и вы можете получать 30000 запросов в месяц за 7 долларов в месяц. Больше мне никогда не требовалось, но цены вполне приемлемые для больших объемов.
источник
Это работает для меня.
API курсов обмена валют: http://currency-api.appspot.com/
источник