Konfiguruję system zamówień online, ale jestem w Australii i dla klientów międzynarodowych chciałbym wyświetlać ceny w dolarach amerykańskich lub euro, aby nie musieli podejmować wysiłków umysłowych przy przeliczaniu z dolarów australijskich.
Czy ktoś wie, czy mogę pobierać aktualne kursy wymiany z sieci gdzieś w łatwym do przeanalizowania formacie, do którego mam dostęp z mojego skryptu PHP?
UPDATE: Napisałem teraz klasę PHP, która to implementuje. Możesz pobrać kod z mojej strony internetowej .
Odpowiedzi:
Możesz przeliczać waluty w prostym formacie z Yahoo:
Na przykład, aby przeliczyć z GBP na EUR:
http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X&f=sl1d1t1ba&e=.csv
źródło
Ta odpowiedź jest BARDZO późna, ale w powyższych odpowiedziach brakuje kluczowych informacji.
Jeśli chcesz wyświetlać swoim klientom dokładne ceny, ważne jest, aby zrozumieć, jak działają kursy wymiany walut.
Większość serwisów walutowych podaje tylko kurs spot (w połowie między ofertą kupna i sprzedaży). Spot jest rodzajem skrótu dla kursu walutowego, ale nikt go nie otrzymuje, ponieważ możesz sprzedawać tylko po licytacji lub kupować po zapytaniu. Zwykle patrzysz na co najmniej 1% spread między nimi, więc kurs spot wynosi 0,5% dla twoich klientów.
Ale to nie koniec, Twoi klienci prawie na pewno używają karty kredytowej, a Visa / Mastercard / Amex pobierają opłaty za wymianę walut. Z mojego doświadczenia wynika, że są one nietrywialne, na NAJMNIEJ 2,5%. Na przykład Citibank Australia pobiera 3,3%. Różnią się one w zależności od karty, więc nie ma sposobu, aby przewidzieć ostateczną cenę, jaką zapłacą Twoi klienci.
Jeśli chcesz podać swoim klientom „dokładną” cenę w oparciu o kurs wymiany, musisz wziąć pod uwagę powyższe i zapewnić bufor, aby w końcu nie naliczać więcej, niż podałeś.
FWIW, dodałem 4% do tego, co inaczej wskazywałaby konwersja F / X.
źródło
Dobrze by było dodać
http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
do listy.
Oficjalne stopy referencyjne podawane przez Europejski Bank Centralny na podstawie regularnej codziennej procedury uzgadniania między bankami centralnymi w ramach Europejskiego Systemu Banków Centralnych i poza nim.
Kanał jest w formacie XML i kilku innych formatach .
Aktualizacja zwykle odbywa się o godzinie 14.15 (14:15) czasu EBC (= czasu frankfurckiego).
źródło
Niedawno zaimplementowałem to samo, ale używając API Google. Adres URL zapytania wygląda następująco:
Przyjmuje 3 parametry. Pierwszym parametrem jest kwota, po której następuje kod waluty ISO 4217 , z którego konwertujesz, znak równości i znak zapytania oraz kod waluty, na którą konwertujesz. Listę kodów obsługiwanych przez Google można znaleźć tutaj . Odpowiedź na zapytanie będzie wyglądać następująco:
Jest to dość oczywiste, więc nie będę tutaj wchodził w szczegóły. Oto jak poradziłem sobie z odpowiedzią na zapytanie:
Jestem pewien, że nie jest to najbardziej elegancki sposób, ale jestem całkiem nowy w PHP. Mam nadzieję, że to pomoże!
źródło
kolejny świetny darmowy i otwarty link to:
https://raw.github.com/currencybot/open-exchange-rates/master/latest.json(znalazłem o tym tutaj: http://josscrowcroft.github.com/open-exchange-rates/ )
[Aktualizacja] :
Dane projektu Open Exchange Rate zostały przeniesione z GitHub.
Jest już dostępny pod adresem : http://openexchangerates.org/
Dane w formacie JSON są dostępne pod adresem : http://openexchangerates.org/latest.json
Bez opłat za dostęp, bez limitów kursów, bez brzydkiego XML - po prostudarmowe, aktualizowane co godzinę kursy wymiany w formacie JSON.To nie jest teraz „całkowicie” darmowe. Zgodnie z nową licencją dozwolonych jest do 1000 odsłon miesięcznie, za które trzeba zapłacić. Musisz również zapłacić, jeśli chcesz skorzystać z przelicznika jednej waluty (podstawowa funkcjonalność).
[Uwaga: możesz również spojrzeć na tę odpowiedź. ]
źródło
Dodałem tabelę Open Data do YQL, możesz jej użyć do pobrania danych kursów wymiany z yahoo.finance.
Wypróbuj w konsoli YQL
Format rozdzielany przecinkami jest lepszy od „gdzie para w ('EURUSD', 'GBPUSD')”, ale w każdym razie możesz używać obu, a nawet mieszać je.
źródło
Oto usługa Soap, która oferuje kurs wymiany
http://www.newyorkfed.org/markets/pilotfx.html
źródło
Ta strona oferuje bezpłatną usługę przelicznika walut:
http://www.webservicex.net/WS/WSDetails.aspx?WSID=10
źródło
Wypróbuj ten RESTful (nie jestem pewien, czy to naprawdę REST, ponieważ otrzymałem to pierwotnie z SOAP, po prostu próbowałem uzyskać do niego dostęp za pomocą HTTP GET)
źródło
iGoogle został wycofany 1 listopada 2013 r. Ten interfejs API już nie działa.
Aby uzyskać kurs wymiany, możesz użyć czegoś takiego:
Możesz dodać tam pamięć podręczną DB, aby upewnić się, że nie zostaniesz dławiony itp.
Jak zauważono w innych postach / komentarzach, będziesz wtedy używał tego kursu do obliczania swoich walut
źródło
XE.com zapewnia kanał z ich kursami wymiany. Jednak nie za darmo.
źródło
Oanda.com udostępnia kursy walut jako XML API, ale nie za darmo
źródło
coinnill.com ma swego rodzaju usługę internetową.
poda na przykład kurs AUD -> USD. Będziesz musiał tylko przeanalizować XML, który wróci.
źródło
Czuję się zmuszony dodać:
http://www.exchangerate-api.com/
Śmiertelnie prosty w użyciu z czystym interfejsem API RESTful, a rejestracja zajmuje 5 sekund. Zawiera przykłady kodowania dla większości głównych języków, większość ma 2-3 wiersze.
Stawki są aktualizowane co godzinę, więc jest to dobre dla większości zastosowań, a miesięcznie można uzyskać 30000 zapytań za 7 USD miesięcznie. Nigdy nie potrzebowałem więcej, ale stawki są bardzo rozsądne w przypadku większych ilości.
źródło
To działa dla mnie.
Interfejs API kursów wymiany walut: http://currency-api.appspot.com/
źródło