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

Open Exchange Rates Service Laravel Package

mrzard/open-exchange-rates-service

A Laravel integration for the Open Exchange Rates API that lets you fetch live and historical currency exchange rates, convert amounts between currencies, and list supported currencies through a simple, configurable service wrapper.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for FX data: The package itself is a thin wrapper, but it forces the real decision — whether to buy exchange-rate data from a vendor (Open Exchange Rates) versus maintaining a rate table or scraping. Evaluate the vendor contract, not the wrapper, as the durable asset.
  • Multi-currency pricing and localization roadmap: Supports decisions on displaying localized prices, supporting checkout in buyer currencies, and setting currency-switching scope for a release.
  • Display-only vs. transactional FX: Helps scope whether you need rates for informational display (product pages, approximate conversions) or for money movement (charging, refunds, payouts, ledger entries) — the latter demands historical rate persistence, rounding policy, and audit trails this package does not provide.
  • Caching and refresh cadence: Informs product behavior around rate staleness — how often prices update, whether quotes are locked at checkout, and how to communicate "exchange rate as of" timestamps to users.
  • Risk and compliance posture: Drives decisions on rounding rules, margin/spread disclosure, and whether FX gain/loss needs accounting treatment.
  • Prioritization evidence: With one star, zero dependents, and a last release in 2017, this is a signal that FX integration is not a differentiator worth owning in-house — favor a vendor integration isolated behind an internal interface.

When to Consider This Package

Consider it when:

  • You are on a legacy Laravel 5.x / PHP 5.6–7.x codebase and need a quick, low-effort hook into Open Exchange Rates for non-critical, display-only conversions.
  • You are running a time-boxed spike or internal tool where the cost of wiring the HTTP client yourself is the only thing you're trying to avoid.
  • You already hold an Open Exchange Rates subscription and want a familiar service-provider shape rather than a bespoke client.

Look elsewhere when:

  • You need maintained, security-reviewed dependencies — the 2017 release predates modern PHP and Laravel support, so compatibility with PHP 8+ and Laravel 9/10/11 is a blocker.
  • FX touches money: pricing at checkout, invoicing, payouts, or accounting. You need historical rate storage, idempotent conversion, rounding policy, and an audit trail — none of which a thin API wrapper supplies.
  • You require SLAs, vendor failover, or the ability to swap providers (ECB, Fixer, currencyapi). A one-vendor wrapper with no abstraction makes migration expensive.
  • You need active issue triage, PHP version bumps, or a community to lean on. Zero dependents and one star means effectively no support surface.

How to Pitch It (Stakeholders)

For executives: This is a small, unmaintained adapter to a commercial exchange-rate API. It is not a strategic dependency and should not appear on an architecture diagram. The decision worth funding is the data vendor — rate coverage, refresh frequency, historical access, and cost — plus a small internal abstraction so we can switch providers without a rewrite. Treat this package as a disposable one-day convenience at most.

For engineering: Isolate it. If we use it for a prototype, wrap it behind our own ExchangeRateProvider interface so the stale dependency never leaks into domain code. Plan a first-party client (Guzzle/Laravel HTTP client) with caching, retries, and persisted historical rates before anything touches money. Do not adopt for new services on PHP 8+ or current Laravel without a fork-and-own commitment.

Recommendation: Do not adopt as a dependency. Use it as a reference implementation for a ~100-line internal client, and spend the real effort on vendor selection, rate caching, and historical persistence.

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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core