Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Openexchangeratesbundle Laravel Package

qbil-software/openexchangeratesbundle

Symfony bundle for integrating the Open Exchange Rates API, providing configurable services to fetch currency exchange rates and use them in PHP applications. Simplifies API access and rate handling.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Multi-currency pricing and checkout: deciding whether to localize prices into buyer currencies (EUR, GBP, MXN) rather than billing in a single base currency. FX retrieval is the enabling plumbing; the package itself only removes a few hours of integration work.
  • Build vs. buy for currency conversion: the honest answer this package informs is "build." A single HTTP call to a rates API wrapped in a thin service, plus caching and fallback logic, is roughly 50–150 lines. There is no complex domain here worth buying.
  • Roadmap sequencing for internationalization: if FX is a prerequisite for a currency-switching epic, this tells you the dependency is small and low-risk to schedule — but the vendor choice (OpenExchangeRates vs. ECB vs. a paid provider) is the decision that actually matters, not the wrapper.
  • Compliance and finance reporting normalization: converting historical transactions into a reporting currency for dashboards or board packs. This is a decision about rate sourcing and auditability, not about a bundle.
  • Use cases it realistically fits: internal tooling, back-office reporting, prototyping a currency feature, or a Symfony 2.8/3.x/4.x legacy app that already depends on OpenExchangeRates and needs a quick client.
  • What it does not support well: invoice-grade or accounting-grade FX. Commercial feed rates and legally mandated rates (e.g., central bank rates for tax invoices in some jurisdictions) differ; finance sign-off is a separate decision this package cannot de-risk.

Caveat the assessment must lead with: despite being catalogued as a Laravel/PHP package, this is a Symfony bundle (Symfony 2.8+), not a Laravel package. It will not drop into a Laravel service provider stack. In a Laravel codebase you would be writing the equivalent integration yourself anyway, which reinforces the "build" conclusion.

When to Consider This Package

Consider it only when all of the following hold:

  • The stack is Symfony 2.8–4.x (or you are prepared to verify compatibility with your pinned Symfony version) and you want the DI configuration done for you.
  • You have already chosen OpenExchangeRates as the provider and accepted its plan limits — notably that free-tier rates are USD-based only, which means cross-rate triangulation for non-USD pairs is your responsibility, plus attribution requirements and request quotas.
  • FX is non-critical path: display-only conversion, internal reporting, or a prototype. Not settlement, not invoicing, not anything a finance team audits.
  • You are comfortable owning the code: the package's last release was November 2019, it has 3 stars and 0 dependents, so there is effectively no community, no security-response process, and a non-trivial chance the HTTP client and Symfony wiring are stale against current versions.

Look elsewhere — or write ~100 lines yourself — when:

  • The stack is Laravel, or Symfony 5/6/7. No compatible path here.
  • You need historical or time-series rates for backfill and reconciliation. Confirm the package exposes historical endpoints with usable date handling; if not, it is a spot-rate client only.
  • You need resilience: multi-provider failover, circuit breaking, stale-cache fallback, and rate-drift alerting. None of that is in scope for a thin bundle.
  • Exchange-rate accuracy is contractual or regulated. Buy from a vendor with an SLA and an audit trail, or consume the mandated public source directly.
  • Your security policy forbids dependencies with no releases in 5+ years. Given the 2019 date, this is likely a blocker for most orgs regardless of code quality.

How to Pitch It (Stakeholders)

For executives (one paragraph): We evaluated a small open-source Symfony component for pulling foreign-exchange rates from OpenExchangeRates. The recommendation is not to adopt it as a dependency. It is MIT-licensed and free, but it is a thin wrapper around a single HTTP API, last updated in 2019, with negligible community adoption (3 stars, zero downstream users) and no maintenance signal. Replacing it in-house is a one-to-two-day engineering task, which is cheaper than the ongoing cost and audit friction of carrying an unmaintained third-party package. The real decision is not the wrapper — it is which rate provider we standardize on and whether our use of FX is display-grade or finance-grade, since those carry different accuracy, licensing, and compliance obligations. That choice should be made deliberately and owned by one team, because currency conversion is easy to hack in and expensive to get wrong later.

For engineering: Treat this as a reference implementation, not a dependency. It shows the shape of the integration — a rate client, a base-currency assumption, a cache layer — which is useful as a design sketch. Build the equivalent against your existing HTTP client with: a short cache TTL matched to provider update frequency, a persisted last-known-good rate for provider outages, explicit handling of USD-base triangulation for non-USD pairs, and a config-driven provider so swapping vendors later is a config change rather than a refactor. Do not add a 2019-vintage Symfony bundle to a modern stack to save half a day.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource