swap

:currency_exchange: Currency exchange rates library

Github stars Tracking Chart

Swap

Build status
Total Downloads
Scrutinizer
Version

Swap allows you to retrieve currency exchange rates from various services such as Fixer or currencylayer
and optionally cache the results. It is integrated to other libraries like moneyphp/money and provides
a Symfony Bundle and a Laravel Package.

QuickStart

$ composer require php-http/curl-client nyholm/psr7 php-http/message florianv/swap
use Swap\Builder;

// Build Swap
$swap = (new Builder())

    // Use the Fixer.io service as first level provider
    ->add('fixer', ['access_key' => 'your-access-key'])
     
    // Use the currencylayer.com service as first fallback
    ->add('currency_layer', ['access_key' => 'secret', 'enterprise' => false])
     
->build();
    
// Get the latest EUR/USD rate
$rate = $swap->latest('EUR/USD');

// 1.129
$rate->getValue();

// 2016-08-26
$rate->getDate()->format('Y-m-d');

// Get the EUR/USD rate 15 days ago
$rate = $swap->historical('EUR/USD', (new \DateTime())->modify('-15 days'));

We recommend to use the services that support our project, providing a free plan up to 1,000 requests per day.

Documentation

The documentation for the current branch can be found here.

Sponsors :heart_eyes:

We are proudly supported by the following exchange rate providers offering free plans up to 1,000 requests per day:

Fixer

Fixer is a simple and lightweight API for foreign exchange rates that supports up to 170 world currencies.
They provide real-time rates and historical data, however, EUR is the only available base currency on the free plan.

currencylayer

Currencylayer provides reliable exchange rates and currency conversions for your business up to 168 world currencies.
They provide real-time rates and historical data, however, USD is the only available base currency on the free plan.

Services

Here is the list of the currently implemented services:, Service, Base Currency, Quote Currency, Historical, ---------------------------------------------------------------------------, ----------------------, ----------------, ----------------, Fixer, EUR (free, no SSL), * (paid), *, Yes, currencylayer, USD (free), * (paid), *, Yes, European Central Bank, EUR, *, Yes, Exchange Rates Api, *, *, Yes, National Bank of Romania, RON, *, Yes, Central Bank of the Republic of Turkey, *, TRY, Yes, Central Bank of the Czech Republic, *, CZK, Yes, Central Bank of Russia, *, RUB, Yes, WebserviceX, *, *, No, 1Forge, * (free but limited or paid), * (free but limited or paid), No, Cryptonator, * Crypto (Limited standard currencies), * Crypto (Limited standard currencies), No, CurrencyDataFeed, * (free but limited or paid), * (free but limited or paid), No, Open Exchange Rates, USD (free), * (paid), *, Yes, Xignite, *, *, Yes, Currency Converter API, *, *, Yes (free but limited or paid), Array, *, *, Yes, ## Integrations

Credits

License

The MIT License (MIT). Please see LICENSE for more information.

Overview

Name With Ownerflorianv/swap
Primary LanguagePHP
Program languagePHP (Language Count: 1)
Platform
License:MIT License
Release Count29
Last Release Name4.3.0 (Posted on )
First Release Namev1.0.0 (Posted on )
Created At2014-05-09 13:20:05
Pushed At2024-04-11 08:44:32
Last Commit At2024-04-11 10:41:32
Stargazers Count1.3k
Watchers Count37
Fork Count135
Commits Count283
Has Issues Enabled
Issues Count62
Issue Open Count0
Pull Requests Count65
Pull Requests Open Count0
Pull Requests Close Count13
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top