API de tipos de cambio con conversión de moneda en PHP
Recientemente, estaba trabajando en el proyecto de un cliente en el que necesitaba cobrar el pago de usuarios de todo el mundo. El cliente que usa Razorpay para recibir pagos en línea. En Razorpay, debe convertir la tasa de moneda extranjera a INR (rupias indias) y luego cobrar el pago. Para realizar esta tarea, quería obtener la API de tipos de cambio que encontré en la API de tipos de cambio.
La API de tipos de cambio es un servicio de código abierto para los tipos de cambio actuales e históricos publicados por el Banco Central Europeo.
En este artículo, le mostraré cómo usar la API de tipos de cambio y obtener la cantidad de moneda extranjera.
Cómo utilizar la API de tipos de cambio de divisas
Este servicio proporciona puntos finales de API. Una vez que llegamos a los puntos finales junto con los parámetros, devuelven una respuesta adecuada.
Para dar llamadas a la API y manejar la respuesta, podemos elegir Guzzle (cliente PHP HTTP) o cURL. Ambos proporcionan una forma fácil y confiable de interactuar con las API.
Empecemos por el Guzzle primero. Instale Guzzle a través del compositor con el siguiente comando:
composer require guzzlehttp/guzzle
Tras la instalación, puede realizar una llamada a la API y recibir la respuesta escribiendo el código a continuación.
<?php
require_once 'vendor/autoload.php';
use GuzzleHttpClient;
$client = new Client([
// Base URI is used with relative requests
'base_uri' => 'https://api.exchangeratesapi.io/',
]);
// get all rates
$response = $client->request('GET', 'latest', [
'query' => [
'base' => 'USD',
]
]);
if($response->getStatusCode() == 200) {
$body = $response->getBody();
$arr_body = json_decode($body);
print_r($arr_body);
}
El código anterior le brinda una tasa de conversión de dólares estadounidenses para otras monedas. El usuario puede establecer otros símbolos de moneda en la tecla "base".
De la misma manera, los usuarios obtienen una tasa de conversión de una moneda única. Digamos que quiere el precio INR del dólar USD.
$response = $client->request('GET', 'latest', [
'query' => [
'base' => 'USD',
'symbols' => 'INR',
]
]);
La API de tipos de cambio también le proporciona datos históricos. En ese caso, debe pasar valores de fecha para las claves ‘start_at’ y ‘end_at’.
$response = $client->request('GET', 'history', [
'query' => [
'base' => 'USD',
'symbols' => 'INR',
'start_at' => '2020-01-01',
'end_at' => '2020-01-20'
]
]);
Interactuar con la API usando cURL
Preferí usar un Guzzle para interactuar con la API. Pero si alguien quiere usar cURL, puede usar el siguiente código. Asegúrese de haber habilitado la extensión cURL en su servidor.
<?php
$url = "https://api.exchangeratesapi.io/latest?base=USD";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
$arr_result = json_decode($response);
print_r($arr_result);
Se trata de obtener tipos de cambio en PHP. Espero que lo entiendas y puedas usarlo en tu trabajo de desarrollo. Me gustaría escuchar sus pensamientos o sugerencias en la sección de comentarios a continuación.
Artículos relacionados
- Encuentre la geolocalización usando la dirección IP de forma gratuita en PHP
- Cómo leer texto de una imagen en PHP