Я использую laravel 7 для отображения цен в разных валютах. Валюта Torann laravel выглядит просто, но Google Finance больше не работает, а openexchangerate не поддерживает валюту по умолчанию «EUR» для бесплатного аккаунта для обновления курсов валют. Я хочу добавить в этот пакет exchangeratesapi.io.
/**
* Fetch rates from exchangeratesapi
*
* @param $defaultCurrency
*/
private function updateFromExchangesRates($defaultCurrency)
{
$this->info('Updating currency exchange rates from exchangeratesapi.io...');
$client = new \GuzzleHttp\Client();
$exio = json_decode($client->get('https://api.exchangeratesapi.io/latest', ['verify' => 'C:\laragon\etc\ssl\cacert.pem']));
// Error getting content?
if (isset($exio->error)) {
$this->error($exio->description);
return;
}
// Parse timestamp for DB
$timestamp = \Carbon\Carbon::now();
// Update each rate
foreach ($exio->rates as $code => $value) {
$this->currency->getDriver()->update($code, [
'exchange_rate' => $value,
'updated_at' => $timestamp,
]);
}
$this->currency->clearCache();
$this->info('Update!');
}
Я пробовал поставить лайк и выдает ошибку
Updating currency exchange rates from exchangeratesapi.io...
ErrorException
json_decode() expects parameter 1 to be string, object given
at ...\vendor\torann\currency\src\Console\Update.php:167
163| $this->info('Updating currency exchange rates from exchangeratesapi.io...');
164|
165| $client = new \GuzzleHttp\Client();
166|
> 167| $exio = json_decode($client->get('https://api.exchangeratesapi.io/latest', ['verify' => 'C:\laragon\etc\ssl\cacert.pem']));
168|
169| // Error getting content?
170| if (isset($exio->error)) {
171| $this->error($exio->description);
1 ..\vendor\torann\currency\src\Console\Update.php:167
json_decode()
2 ..\vendor\torann\currency\src\Console\Update.php:73
Torann\Currency\Console\Update::updateFromExchangesRates()
Что делать?