- How do I install mhujer/fio-api-php in a Laravel application?
- Install it with composer require mhujer/fio-api-php. There is no Laravel auto-discovery, so bind the client as a singleton in a service provider and inject your Fio API token from config or the secret manager. On Laravel 9 or newer, expect a Composer conflict because the package pins Guzzle 6.
- Is mhujer/fio-api-php compatible with Laravel 10 and Laravel 11?
- Not out of the box. The package pins guzzlehttp/guzzle ^6, while Laravel 9, 10, and 11 ship Guzzle 7, so Composer will refuse to resolve the dependency set. Your practical options are to skip the package and call the Fio API with Laravel's HTTP client, or fork it, widen the Guzzle constraint to ^6|^7, run the fixture suite, and publish to a private VCS repository.
- Does mhujer/fio-api-php include a Laravel service provider or facade?
- No. It is a thin, framework-agnostic SDK with no service provider, facade, or config publishing. That keeps it easy to place behind your own port or interface, but you must wire the singleton binding and token configuration yourself.
- How does authentication work with the Fio Bank API through this package?
- Fio issues a per-account, revocable API token generated in internet banking, and you pass that token into the client. Store it in environment variables or a secret manager, never in source control, and plan for rotation and least-privilege issuance. Because the token can read real account movements, treat it as sensitive financial credentials and audit its use.
- Can I receive real-time transaction webhooks with mhujer/fio-api-php?
- No. Fio's API is pull-only and uses stateful server-side cursors, so this package cannot give you push or webhook-style ingestion. Design a scheduled poll with a persisted watermark instead of assuming near-real-time balance updates.
- How do I fetch Fio Bank transactions since the last sync?
- Use the cursor-based fetch and persist the returned lastId or lastDate watermark after each successful sync. Make the ingestion idempotent because overlapping polls and retries are normal in a polling model. Cursors are per token, so multi-account or multi-tenant designs need separate state per account token.
- Does mhujer/fio-api-php support sending domestic and foreign payments?
- The package blurb lists domestic and foreign payment submission, but the technical evaluation flags payment-order import as adjacent Fio API functionality that you should verify for your pinned version before planning around it. If you only need statements and transaction history, keep the integration read-only to avoid extra compliance review. Submitting payments materially raises risk, so require explicit sign-off before enabling it.
- Is mhujer/fio-api-php maintained and safe for production use?
- Treat it as unmaintained. The last release was August 2017, it has a single maintainer and about 37 stars, and there is no patch path for PHP 8.x incompatibilities or security response for transitive Guzzle issues. For production, fork and own the dependency, pin and audit it, or replace it with a small direct HTTP client.
- How should I test mhujer/fio-api-php without a real Fio Bank sandbox?
- There is no sandbox, so you either use a real Fio token or recorded fixtures. Plan for VCR-style cassettes as your contract tests and gate the first live-token run as an explicit milestone. Guarantee that CI and staging tokens are separate from production and never reused.
- Should I use mhujer/fio-api-php or call the Fio API directly with Laravel's HTTP client?
- A direct Http::withToken() client for this API is roughly 150 to 300 lines, and the wrapper's value is mainly ergonomics rather than capability. For Laravel 9 or newer, that direct client is usually simpler than forking a Guzzle 6 package. Fork the wrapper only if its typed transaction objects save enough effort to justify owning a vendored dependency.