oxcom / magento2-currency-services

oxcom/magento2-currency-services

This is a module that allows to update currency rates from addition external sources.

  • OxCom
magento2-module Compatibility: Not yet tested Code Quality: Pending Tests: N/A Security: Pending LGPL-3.0-or-later

Are you the maintainer of oxcom?

Packagento pulls oxcom's Composer packages from the public registry so buyers can find them here.

Claim the namespace to take ownership, publish new releases directly, and start charging for premium versions.

Claim this namespace →

Viewing version 2.1.2. Latest version is 2.1.3. Switch to latest

Magento2 Currency Services

CI

This is a module that allows to update currency rates from addition external sources.

List of source services
  1. Google Finance
  2. European Central Bank
  3. Fixer
  4. Bank of Canada
Notes
  1. Fixer

    [The old, deprecated Fixer API will be discontinued on June 1st, 2018]
    We are happy to announce the complete relaunch of fixer.io into a more 
    stable, more secure, and much more advanced currency & exchange rate 
    conversion API platform. While the core structure of our API remains 
    unchanged, all users of the legacy Fixer API will be required to sign 
    up for a free API access key and perform a few simple changes to their 
    integration. To learn more about the changes that are required.
    

    Be aware that free access to Fixer API has limited functionality.

    You can setup Access Token for Fixer API in your administration panel
    for Magento.

  2. Google Finance

    Google does not provide a public currency-rates API. This integration parses
    the requested currency pair from the Google Finance quote page.

    Be aware that Google may change its HTML structure at any time.

  3. European Central Bank

    The reference rates are usually updated around 16:00 CET on every working 
    day, except on TARGET closing days. They are based on a regular daily 
    concertation procedure between central banks across Europe, which normally 
    takes place at 14:15 CET.
    

    Be aware about low refresh rate

  4. Bank of Canada

    The keyless Valet API publishes indicative business-daily rates for selected
    currencies. Rates are based on Canadian dollars and are normally published
    by 16:30 ET.

Install

$ composer require oxcom/magento2-currency-services
$ bin/magento module:enable OxCom_MagentoCurrencyServices
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

CLI commands

Rates can be imported manually per source, without waiting for cron or using
the admin panel:

$ bin/magento oxcom:importrates:ecb
$ bin/magento oxcom:importrates:fixer
$ bin/magento oxcom:importrates:google

Each command fetches rates from the given source and saves them, same as
admin System > Currency Rates > Import Now. Non-zero exit code + error
output if a rate can't be retrieved.

Commands are registered via DI, so after install run setup:upgrade (and
setup:di:compile in production mode) / flush cache before they show up in
bin/magento list.

Tests

Tests use local fixtures by default, so the regular suite does not require
network access:

$ composer install
$ vendor/bin/phpunit -c Test/phpunit.xml --no-coverage

Set CURRENCY_SERVICES_LIVE_TESTS=1 and FIXER_FREE_TOKEN to check the live
provider services. GitHub Actions runs that live suite against master every
Monday and Friday at 06:00 UTC.

Composer scripts are available for all checks:

$ composer cs    # phpcs (PSR-12 + Slevomat)
$ composer stan  # phpstan analyse
$ composer test  # phpunit (no coverage)

No changelog yet

The vendor hasn't published a changelog. Tagged releases appear in the Versions tab.

Versions
Version Stability QA Status Compatibility Released
2.1.3 stable Fail Magento 2.4.7-2.4.8 Details 2026-10-29 21:33:03
2.1.2 stable Not tested Not yet tested Details 2026-10-29 21:09:08
2.1.1 stable Fail Magento 2.4.7-2.4.9 Details 2026-08-19 11:16:00
2.1.0 stable Fail Magento 2.4.7-2.4.9 Details 2026-07-15 12:08:17
2.0.1 stable Not tested Not yet tested Details 2023-05-08 07:41:21
2.0.0 stable Not tested Not yet tested Details 2021-01-11 12:21:08
1.1.0 stable Not tested Not yet tested Details 2020-07-02 09:51:37
1.0.6 stable Not tested Not yet tested Details 2019-04-04 16:55:07
1.0.5 stable Not tested Not yet tested Details 2018-06-19 10:28:18
1.0.3 stable Not tested Not yet tested Details 2018-05-10 10:39:45
1.0.2 stable Not tested Not yet tested Details 2018-03-22 15:09:05
1.0.1 stable Not tested Not yet tested Details 2017-11-22 21:44:01
1.0.0 stable Not tested Not yet tested Details 2017-10-25 10:57:43

Requires 11

Package Constraint
ext-bcmath *
ext-curl *
ext-json *
ext-simplexml *
magento/framework ^103.0
magento/module-backend 100.0.*|100.1.*|100.2.*|101.0.*|102.0.*|103.0.*
magento/module-config 100.0.*|100.1.*|101.0.*|101.1.*|101.2.*
magento/module-directory 100.0.*|100.1.*|100.2.*|100.3.*|100.4.*
magento/module-store 100.0.*|100.1.*|100.2.*|101.0.*|101.1.*
php >=7.1
psr/log ^1.1|^2.0|^3.0

Requires-dev 5

Package Constraint
dealerdirect/phpcodesniffer-composer-installer ^1.0
phpstan/phpstan ^2.1
phpunit/phpunit ^10.5 || ^11.5
slevomat/coding-standard ^8.16
squizlabs/php_codesniffer ^3.13

No QA results yet

QA pipelines haven't run for this version. Compatibility and quality results appear here once the vendor publishes a tagged release that gets ingested.

License
LGPL-3.0-or-later
Homepage
https://github.com/OxCom/magento2-currency-services
Authors

More from oxcom

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.