Convertir de una moneda a otra con PHP y CurrencyConverterAPI


Hay varias opciones y servicios para convertir monedas, con currencyconverterapi podremos convertir entre diferentes monedas de manera gratuita.

El sitio https://www.currencyconverterapi.com/ nos ofrece una API para obtener la conversión de monedas/currencys.

Hay 2 opciones, una versión gratis que nos limita a 100 peticiones por hora y una versión premium que no hay limite de peticiones.

Vamos a hacer uso de la versión gratis, para fines de prueba, si alguien le gusta el servicio y no quiere tener limitaciones entonces tendremos que comprar una licencia.

Para usar la opción gratis debemos ir al link Free Version, se mostrara una imagen como la de arriba, vamos a hacer clic en el boton “Get Your Api KEY”, donde nos solicitara un email.

Proporcionamos nuestro email y nos enviaran la API KEY por email, ademas tendremos que verificar nuestra cuenta usando un link que nos envían en el mismo mensaje.

Codigo

Una vez que tenemos el API KEY entonces usaremos el siguiente código para convertir 1 USD a MXN o a cualquier otra moneda.

<?php
function convertCurrency($amount,$from_currency,$to_currency){
  $apikey = '7e44d1be0155f538cfbb';

  $from_Currency = urlencode($from_currency);
  $to_Currency = urlencode($to_currency);
  $query =  "{$from_Currency}_{$to_Currency}";

  // URL para solicitar los datos
  $json = file_get_contents("https://free.currconv.com/api/v7/convert?q={$query}&compact=ultra&apiKey={$apikey}");
  $obj = json_decode($json, true);

  $val = floatval($obj["$query"]);


  $total = $val * $amount;
  return number_format($total, 2, '.', '');
}

//uncomment to test
echo "1 USD equivale a ";
echo convertCurrency(1, 'USD', 'MXN');
echo " MXN";
?>

Lo que hacemos es leer la URL por ejemplo: https://free.currconv.com/api/v7/convert?q=USD_MXN&compact=ultra&apiKey=7e44d1be0155f538cfbb que nos devuelve el valor de conversión de 1 unidad, lo que hacemos es multiplicar el valor de la unidad por las uqe queremos convertir.

En el caso del USD equivale a 20.07 en este momento, si lo multiplicamos por 1 nos devuelve el mismo valor, pero si ingresamos los valores 5, 35, 105, etc… vamos a obtener las multiplicaciones correspondientes.

La función convertCurrency tiene 3 parámetros.

  • El primer parámetro es el monto que queremos convertir
  • El segundo parámetro es la moneda de origen en formato de 3 letras
  • El tercer parámetro es la moneda de destino en formato de 3 letras

Los formato de 3 letras de monedas son los mas populares para el manejo de monedas por ejemplo:

  • USD: Dolar americano
  • MXN: Peso mexicano
  • ARS: Peso Argentino
  • JPY: Yen japones
  • GBP: Libra esterlina
  • EUR: Euro
  • CAD: Dolar canadiense

Las monedas soportaras por el servicio CurrencyConverterAPI esta especificado en su pagina web.

Conclusion

Convertir entre 2 diferentes monedas es útil en diferentes situaciones, en venta de productos, intercambios de divisas, costo de servicios, apuestas, tiendas en linea y muchas usos mas.

Productos Relaciones

Leave a comment