php - www - xe currency
Acceso mediante programaciĆ³n a los tipos de cambio de moneda (15)
Estoy configurando un sistema de pedidos en línea, pero estoy en Australia y para clientes internacionales me gustaría mostrar los precios en dólares estadounidenses o euros para que no tengan que hacer un esfuerzo mental para convertirlos de dólares australianos.
¿Alguien sabe si puedo actualizar las tasas de cambio de la red en algún lugar en un formato fácil de analizar al que puedo acceder desde mi script PHP?
ACTUALIZACIÓN: ahora he escrito una clase PHP que implementa esto. Puedes obtener el código de mi sitio web .
iGoogle fue retirado el 1 de noviembre de 2013. Esta API ya no funciona.
Para obtener la tasa de cambio puede usar algo como esto:
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];
}
Puede agregar una memoria caché de DB allí para asegurarse de que no se acelere, etc.
Como se ha observado en otras publicaciones / comentarios, entonces usaría esta tasa para calcular sus monedas
Agregué la tabla de Open Data a YQL, puede usarla para recuperar datos de tasa de cambio de yahoo.finance.
El formato separado por comas es preferible a "donde par en (''EURUSD'', ''GBPUSD'')", pero de todos modos, puede usar ambos e incluso mezclarlos.
Aquí hay un servicio de Soap que ofrece tipo de cambio
Esta respuesta es MUY tarde, pero falta una información clave en las respuestas anteriores.
Si desea mostrar precios precisos a sus clientes, es importante comprender cómo funcionan las tasas de cambio de divisas.
La mayoría de los servicios de FX solo cotizan la tasa spot (a mitad de camino entre Bid y Ask). El spot es una especie de taquigrafía para el tipo de cambio, pero nadie obtiene el lugar porque solo puedes vender en la oferta o comprar en el ask. Por lo general, observa un margen mínimo del 1% entre ellos, por lo que la tasa spot es del 0,5% de descuento para sus clientes.
Pero no se detiene ahí, es casi seguro que sus clientes estén utilizando una tarjeta de crédito y Visa / Mastercard / Amex cobran tarifas de cambio de divisas. Estos no son triviales en mi experiencia, al MENOS 2.5%. Por ejemplo, Citibank Australia cobra un 3,3%. Estos varían de una tarjeta a otra, por lo que no hay forma de que pueda predecir el precio final que se facturará a sus clientes.
Si desea citar un precio "preciso" para sus clientes en función de una tasa de cambio, debe tener en cuenta lo anterior y proporcionar un buffer para que no termine cobrando más de lo que cotizó.
FWIW, he estado agregando el 4% a lo que indica la conversión F / X.
Este sitio tiene un servicio de conversión de divisas gratis:
Esto es trabajo para mí .
Una tasa de cambio API: http://currency-api.appspot.com/
Me siento obligado a agregar:
http://www.exchangerate-api.com/
Muerto fácil de usar con una API RESTful limpia y registro tarda 5 segundos. Incluye ejemplos de codificación para la mayoría de los idiomas principales, la mayoría tienen 2-3 líneas.
Las tarifas se actualizan cada hora, por lo que está bien para la mayoría de los usos, y puede obtener 30000 consultas mensuales por $ 7 al mes. Nunca he necesitado más que eso, pero las tarifas son muy razonables para volúmenes más altos.
Oanda.com expone las tasas de cambio como API XML, pero no de forma gratuita
Otro gran enlace libre y de código abierto es este:
https://raw.github.com/currencybot/open-exchange-rates/master/latest.json (Lo encontré aquí: http://josscrowcroft.github.com/open-exchange-rates/ )
[Actualizar]:
Los datos del proyecto de tasas de cambio abiertas se han alejado de GitHub.
Está disponible ahora en: http://openexchangerates.org/
Los datos en formato JSON están disponibles en: http://openexchangerates.org/latest.json
Sin tarifas de acceso, sin límites de tarifas , sin XML feo: solo tarifas de cambio gratuitas y actualizadas por hora en formato JSON.
Esto no es "completamente" gratis ahora. La nueva licencia establece que se permiten hasta 1000 visitas por mes, y luego debe pagar. También debe pagar si desea usar el convertidor de moneda única (funcionalidad básica).
[Nota: es posible que también desee ver this respuesta. ]
Puede obtener conversiones de moneda en un formato simple de yahoo:
Por ejemplo, para convertir de GBP a EUR: http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X&f=sl1d1t1ba&e=.csv
Recientemente implementé lo mismo, pero usando la API de Google. La URL de consulta se ve así:
http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD
Toma 3 parámetros. El primer parámetro es la cantidad, seguido del código de moneda ISO 4217 del que está convirtiendo, un signo de igual y un signo de interrogación, y el código de moneda al que está convirtiendo. Puede encontrar una lista de códigos que Google admite here . La respuesta a la consulta se verá así:
{lhs: "1 British pound",rhs: "1.6132 U.S. dollars",error: "",icc: true}
Esto es bastante fácil de entender, así que no voy a entrar en detalles aquí. Así es como manejé la respuesta a la consulta:
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;
}
Estoy seguro de que está lejos de la forma más elegante de hacerlo, pero soy bastante nuevo en PHP. ¡Espero eso ayude!
Sería bueno agregar
http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
a la lista.
Las tasas de referencia oficiales son proporcionadas por el Banco Central Europeo con base en el procedimiento de concertación diaria regular entre los bancos centrales dentro y fuera del Sistema Europeo de Bancos Centrales.
El feed está en XML y en otros formatos .
La actualización normalmente tiene lugar a las 14:15 (14:15) hora del BCE (= hora de Frankfurt).
coinnill.com tiene un tipo de servicio web.
le dará la tasa AUD -> USD, por ejemplo. Solo deberá analizar el XML que se devuelve.
Prueba esto RESTful (no estoy seguro si esto es realmente un RESTO, ya que lo obtuve originalmente de un SOAP, intenté acceder a él usando HTTP GET)
XE.com proporciona alimentación para sus tasas de cambio. No es gratis sin embargo.