FleetCart/Modules/Currency/Services/CurrencyRateExchanger.php
2023-12-03 14:07:47 +00:00

46 lines
845 B
PHP

<?php
namespace Modules\Currency\Services;
use Swap\Swap;
use Exchanger\Exception\Exception;
class CurrencyRateExchanger
{
/**
* Instance of swap.
*
* @var Swap
*/
private $swap;
/**
* Create a new CurrencyRateExchanger instance.
*
* @param Swap $swap
*/
public function __construct(Swap $swap)
{
$this->swap = $swap;
}
/**
* Exchange to the latest currency rate.
*
* @param string $fromCurrency
* @param string $toCurrency
*
* @return float|null
*/
public function exchange($fromCurrency, $toCurrency)
{
try {
return $this->swap->latest("{$fromCurrency}/{$toCurrency}")->getValue();
} catch (Exception) {
return 1;
}
}
}