Valuuttakurssien sovellusliittymä ja valuuttamuunnos PHP: ssä
Viime aikoina työskentelin asiakkaan projektissa, jossa minun piti kerätä maksuja käyttäjiltä ympäri maailmaa. Asiakas, joka käyttää Razorpaya verkkomaksujen vastaanottamiseen. Razorpay-sovelluksessa sinun on muunnettava valuuttakurssi INR: ksi (Intian rupia) ja veloitettava sitten maksu. Tämän tehtävän suorittamiseksi halusin saada valuuttakurssiohjelmointirajapinnan, jonka löysin valuuttakurssirajapinnasta.
Valuuttakurssirajapinta on avoimen lähdekoodin palvelu Euroopan keskuspankin julkaisemille nykyisille ja historiallisille valuuttakursseille .
Tässä artikkelissa näytän sinulle, kuinka voit käyttää valuuttakurssiohjelmointirajapintaa ja saada valuuttamäärä.
Kuinka käyttää valuuttakurssirajapintaa
Tämä palvelu tarjoaa API-päätepisteet. Kun osumme päätepisteisiin yhdessä parametrien kanssa, ne palauttavat asianmukaisen vastauksen.
API-puheluiden antamiseksi ja vastausten käsittelemiseksi voimme valita joko Guzzlen (PHP HTTP-asiakas) tai cURL: n. Molemmat tarjoavat helpon ja luotettavan tavan olla vuorovaikutuksessa sovellusliittymien kanssa.
Aloitetaan ensin Guzzlesta. Asenna Guzzle säveltäjän kautta seuraavalla komennolla:
composer require guzzlehttp/guzzle
Asennuksen yhteydessä voit soittaa API-puhelun ja vastaanottaa vastauksen kirjoittamalla alla olevan koodin.
<?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);
}
Yllä oleva koodi antaa sinulle USD-dollarin muuntokurssin muille valuutoille. Käyttäjä voi asettaa muita valuuttamerkkejä "perus" -näppäimelle.
Samalla tavalla käyttäjät saavat muuntokurssin yhdestä valuutasta. Oletetaan, että haluat USD: n INR-hinnan.
$response = $client->request('GET', 'latest', [
'query' => [
'base' => 'USD',
'symbols' => 'INR',
]
]);
Valuuttakurssien sovellusliittymä antaa sinulle myös historiallisia tietoja. Siinä tapauksessa sinun on välitettävä päivämääräarvot avaimille ‘start_at’ ja ‘end_at’.
$response = $client->request('GET', 'history', [
'query' => [
'base' => 'USD',
'symbols' => 'INR',
'start_at' => '2020-01-01',
'end_at' => '2020-01-20'
]
]);
Ole vuorovaikutuksessa API: n kanssa cURL: n avulla
Pidin parempana käyttää Guzzlea vuorovaikutuksessa API: n kanssa. Mutta jos joku haluaa käyttää cURL: ää, hän voi käyttää alla olevaa koodia. Varmista, että olet ottanut cURL-laajennuksen käyttöön palvelimellasi.
<?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);
Kyse on valuuttakurssien saamisesta PHP: ssä. Toivon, että ymmärrät sen ja voit käyttää sitä kehitystyössäsi. Haluaisin kuulla ajatuksesi tai ehdotuksesi alla olevassa kommenttiosassa.