Valuutakursside API koos valuutakonversiooniga PHP-s
Hiljuti töötasin kliendi projektiga, kus mul oli vaja kogu maailmas kasutajatelt makse koguda. Klient, kes kasutab veebimaksete saamiseks Razorpay-d. Razorpays peate teisendama välisvaluuta kursi INR-iks (India ruupiateks) ja seejärel tasuma makse. Selle ülesande täitmiseks soovisin saada valuutakursside API, mille leidsin valuutakursside API-st.
Vahetuskursside API on avatud lähtekoodiga teenus Euroopa Keskpanga avaldatud praeguste ja ajalooliste valuutakursside jaoks .
Selles artiklis näitan teile, kuidas kasutada vahetuskursside API-d ja saada välisvaluuta summat.
Kuidas kasutada valuutakursside API-d
See teenus pakub API lõpp-punkte. Kui jõuame lõpp-punktidesse koos parameetritega, tagastavad need asjakohase vastuse.
API-kõnede andmiseks ja vastuse saamiseks saame valida kas Guzzle (PHP HTTP klient) või cURL. Mõlemad pakuvad lihtsat ja usaldusväärset viisi API-dega suhtlemiseks.
Alustame kõigepealt Guzzle’ist. Installige Guzzle helilooja kaudu järgmise käsuga:
composer require guzzlehttp/guzzle
Installimisel saate API kõne teha ja vastuse saada, kirjutades alloleva koodi.
<?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);
}
Ülaltoodud kood annab teile USA dollari teisenduskursi teiste valuutade jaoks. Kasutaja saab ‘baas’ klahvile seada muud valuutasümbolid.
Samamoodi saavad kasutajad ümberarvestuskursi ühest valuutast. Oletame, et soovite USA dollari INR-hinda.
$response = $client->request('GET', 'latest', [
'query' => [
'base' => 'USD',
'symbols' => 'INR',
]
]);
Vahetuskursside API annab teile ka ajaloolisi andmeid. Sellisel juhul peate edastama võtmete ‘algus_at’ ja ‘lõpp_aart’ kuupäeva väärtused.
$response = $client->request('GET', 'history', [
'query' => [
'base' => 'USD',
'symbols' => 'INR',
'start_at' => '2020-01-01',
'end_at' => '2020-01-20'
]
]);
Suhtle API-ga, kasutades cURL-i
Eelistasin API-ga suhtlemiseks kasutada Guzzle’i. Aga kui keegi soovib kasutada cURL-i, saab ta kasutada allolevat koodi. Veenduge, et olete oma serveris lubanud laienduse cURL.
<?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);
See kõik on seotud valuutakursside saamisega PHP-des. Loodan, et saate sellest aru ja saate seda oma arendustöös kasutada. Tahaksin kuulda teie mõtteid või ettepanekuid allpool olevas kommentaaride jaotises.