jeroennoten/laravel-psp
A Laravel package that provides a unified payment service provider layer, letting you integrate and switch between payment gateways through a consistent API for creating, handling, and tracking payments in your application.
Architecture fit. The package presents two mutually exclusive identities and this must be resolved before any other evaluation. Repository metadata says "Laravel Package Service Provider for autoloading dependencies of packages in development" — a dev-time autoload/discovery utility. The supplied description.md says it is a driver-based abstraction for Payment Service Providers with a unified payment API, facade, and extensible contracts. These cannot both describe the same artifact. The v2.0.2 release note ("Also support having zero packages") is consistent with the package-autoloading interpretation and inconsistent with a payment gateway abstraction — payments do not arrive as a plural "packages" collection in that framing. As TPM, trust the repository metadata and release note; treat the payment description as contaminated or fabricated intake data and correct the record.
Integration feasibility. Low under either interpretation, for different reasons. If it is the autoload utility: last release June 2016, which predates Laravel 5.5's native package discovery (2017) and Composer 2. Modern repositories path/VCS entries, autoload-dev, and composer dump-autoload cover most of the stated use case. The package is therefore largely superseded for any current stack and would only be relevant to a legacy Laravel 5.x maintenance surface. If it is the payment abstraction: infeasible — a 7-star, zero-dependent, nine-year-dormant library cannot be justified anywhere in a payment path.
Technical risk. High regardless of identity. Specific risks: no maintainer activity since 2016; no security response capability; likely PHP 5.6/7.0-era illuminate/* constraints incompatible with Laravel 9/10/11; zero dependents means no field validation and no upstream pressure to fix defects; a single one-line release note is the entire observable change history; and the documentation conflict means supplied integration guidance cannot be trusted.
Key questions.
composer.json (require), src/, and the repository README — not from description.md.illuminate/* version ranges are declared, and does the package use the pre-5.5 discovery mechanism or PackageManifest?PackageManifest)?dump-autoload, native discovery)?Stack fit. No fit for a current Laravel 10/11 stack under either interpretation without a fork and an ownership commitment. Best case is a legacy Laravel 5.x context. Confirm PHP and illuminate/* constraints before spending any engineering time on a spike.
Migration path. Resolve the identity conflict first, then branch. For the package-autoload use case, compare directly against Composer path repositories, autoload-dev, composer dump-autoload, and Laravel's native discovery — in most 2017+ projects this is a deletion decision, not an adoption decision. For the payment use case, benchmark against maintained PSP abstractions and do not migrate to this package.
Compatibility. Verify (1) declared PHP and Laravel constraints against our fleet matrix; (2) whether registration is via the legacy config/app.php providers array or auto-discovery; (3) whether any facade alias collides with Laravel core; (4) whether filesystem or classmap scanning survives Composer 2 optimized/authoritative autoloaders; (5) whether a published config schema exists and differs from the version documented.
Sequencing.
composer.json and src/ from the repository directly; discard the incorrect source and correct the intake record. Do not proceed until this is closed.Maintenance. High if adopted. No release cadence since 2016, no maintainer, MIT-licensed so forkable — but forking means we own security patches, PHP/Laravel upgrades, and Composer compatibility indefinitely, for a capability that modern Composer and Laravel native discovery already provide. That trade is difficult to justify for a dev-time utility.
Support. Weak. Seven stars and zero dependents means no community, no Stack Overflow corpus, no third-party tutorials, and no upstream escalation path. All support burden lands on the integrating team. The documentation mismatch compounds this: first-line support cannot trust the supplied description and must read source to answer basic questions.
Scaling. Neutral for the autoload use case — it is dev-time only. Confirm the boot cost does not include per-request filesystem scanning; there is no evidence either way. For the payment-abstraction interpretation, scaling is moot because adoption should be rejected on maintenance grounds.
Failure modes.
Ramp-up. Low for comprehension — a Laravel-fluent engineer will read the source in under an hour. The TPM-level effort is concentrated in identity resolution, the alternatives comparison, and the adopt/reject decision, not in coding. Budget approximately one day for the spike and half a day for the alternatives write-up. Do not schedule integration effort until the identity conflict is closed and a named owner has accepted the fork obligation, if any.
How can I help you explore Laravel packages today?