API de taxas de câmbio com conversão de moeda em PHP
Recentemente, estava trabalhando em um projeto de cliente em que precisava receber pagamentos de usuários de todo o mundo. O cliente que usa Razorpay para receber pagamentos online. No Razorpay, você precisa converter a taxa de moeda estrangeira em INR (Rúpias indianas) e, em seguida, cobrar o pagamento. Para realizar esta tarefa, eu queria obter a API de taxas de câmbio estrangeira que encontrei na API de taxas de câmbio.
A API de taxas de câmbio é um serviço de código aberto para as taxas de câmbio atuais e históricas publicadas pelo Banco Central Europeu.
Neste artigo, mostrarei como usar a API de taxas de câmbio e obter a quantidade de moeda estrangeira.
Como usar a API de taxas de câmbio
Este serviço fornece endpoints de API. Assim que atingirmos os endpoints junto com os parâmetros, eles retornarão uma resposta apropriada.
A fim de fornecer chamadas de API e resposta de tratamento, podemos escolher Guzzle (cliente PHP HTTP) ou cURL. Ambos fornecem uma maneira fácil e confiável de interagir com as APIs.
Vamos começar com o Guzzle primeiro. Instale o Guzzle por meio do composer pelo seguinte comando:
composer require guzzlehttp/guzzle
Após a instalação, você pode fazer uma chamada de API e receber a resposta escrevendo o código abaixo.
<?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);
}
O código acima fornece uma taxa de conversão em dólares americanos para outras moedas. O usuário pode definir outros símbolos de moeda para a chave ‘base’.
Da mesma forma, os usuários obtêm uma taxa de conversão de uma única moeda. Digamos que você queira o preço INR do dólar americano.
$response = $client->request('GET', 'latest', [
'query' => [
'base' => 'USD',
'symbols' => 'INR',
]
]);
A API de taxas de câmbio também fornece dados históricos. Nesse caso, você precisa passar valores de data para as chaves ‘start_at’ e ‘end_at’.
$response = $client->request('GET', 'history', [
'query' => [
'base' => 'USD',
'symbols' => 'INR',
'start_at' => '2020-01-01',
'end_at' => '2020-01-20'
]
]);
Interaja com a API usando cURL
Eu preferi usar um Guzzle para interagir com a API. Mas se alguém quiser usar cURL, pode usar o código abaixo. Certifique-se de ter habilitado a extensão cURL em seu 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);
É tudo sobre como obter taxas de câmbio em PHP. Espero que você entenda e possa usá-lo em seu trabalho de desenvolvimento. Eu gostaria de ouvir suas opiniões ou sugestões na seção de comentários abaixo.