Uma biblioteca PHP lida com currency fx (taxas e conversões) com facilidade. Bateria incluída ???.
Disponível para Laravel também.
Cansado de implementá-los e integrá-los com serviços de terceiros? Deixe que a CurrencyFX ajude você a fazer isso. Coberto por testes de unidade e testado em batalha!
Simplesmente inicialize a classe com os parâmetros necessários. E está pronto para usar em pouco tempo.
$ service = new CurrencyCloudService ( $ host , $ loginId , $ apiKey );
$ rateResponse = $ service -> getRates ( ' USD ' , ' SGD ' );
if (! $ rateResponse -> isOk ()) {
// failed to get the rate from third party service
// do something here
}
$ rate = $ rateResponse -> getOkResult ()-> rate ; // float (1.4xxx)
Requisito: Laravel 10+
Basta instalar o pacote e deixar a mágica da descoberta do Laravel acontecer?
Como já vinculamos os serviços no Laravel Container, basta atualizar os ENVs e pronto.
php artisan vendor:publish --tag=currency-fx-configs
Depois de publicar a configuração, verifique configs/currency-fx.php
.
Já definimos algumas chaves ENVs para você adicionar ?.
use CurrencyFX Services CurrencyLayerService ;
use CurrencyFX Services ExchangerRatesApiIoService ;
// global access
app (CurrencyLayerService::class)-> getRates ( ' USD ' , ' EUR ' );
// DI
class TransferService
{
public function __construct (
private ExchangerRatesApiIoService $ rateService
) {
}
public function transfer (): TransferResult
{
$ rateRes = $ this -> rateService -> getRates ( ' EUR ' , ' GBP ' );
if ( $ rateRes -> isError ()) {
return TransferResult:: error (...);
}
$ rate = $ rateRes -> getOkResult ()-> rate ;
}
}
Amamos testes, sempre. Temos 3 tipos de casos de teste:
Confira o TEST-README.md para saber mais!
Sinta-se à vontade para adicionar mais drivers e compartilhá-los com toda a comunidade PHP?
Obrigado, por favor, dê um ️️️ para apoiar o projeto.
Não se esqueça de compartilhar com seus amigos e colegas, para que eles também possam criar seus próprios produtos SaaS
LICENÇA MIT
ShipSaas, Seth Phat e colaboradores