sylius/omnipay-bundle
Sylius Omnipay Bundle integrates the Omnipay PHP payment library with Sylius, letting stores configure multiple payment gateways through one unified API. It provides gateway factories, configuration, and payment handling for Sylius checkout.
league/omnipay and the individual gateway packages; this bundle contributes wiring only.composer.json. For any Laravel product, the PM decision is "use league/omnipay plus the specific gateway package directly," not this bundle.Consider it only when all of the following hold:
Look elsewhere when:
Decision rule for a PM: if the question is "adopt or remediate," and the answer is not "we already run it," the answer is no.
For executives. This is a legacy adapter, not a strategic asset. It sits between the storefront and Omnipay's gateway catalog and contributes configuration convenience — nothing more. It is archived, unmaintained, and effectively unadopted, so it carries unpatched security and framework-compatibility risk in the highest-blast-radius part of our system: payments. Do not fund new capability on it. The real decision is not "should we use Omnipay" but "when and in what order do we move off this," and it should be budgeted as scheduled debt cleanup, not incident response.
For engineering. Do not introduce this into a new project, and do not treat it as a Laravel dependency — it isn't one. If you inherit it: pin the version, wrap it behind an internal PaymentGateway interface, and treat the bundle as replaceable glue. The durable dependency is league/omnipay itself, which can be wired directly via a small owned service layer (or a Laravel service provider) with less dead weight. Migrate gateway by gateway behind that same interface — today delegating to the bundle, then to direct Omnipay, then to native Sylius payment requests plus official SDKs or hosted checkout — so application and checkout code never changes. Sequence it as: inventory which gateways and flows actually traverse the bundle; freeze new gateway additions behind it; build the interface and move the highest-risk or highest-volume gateway first; retire the dependency; only then take on broader framework upgrades. Keep the payments migration and the Symfony upgrade on separate tracks, with the interface as the seam. Document the gateway inventory, credential rotation, and gateway-level health checks before touching code, and set an explicit retirement date so the program has a forcing function rather than an indefinite legacy tail.
How can I help you explore Laravel packages today?