ignited/laravel-omnipay
Laravel integration for the Omnipay payment library, giving you a clean, unified API to accept payments through PayPal, Stripe, Authorize.Net and dozens of other gateways. Configure drivers in Laravel, then purchase, authorize, capture, refund, and handle callbacks from one consistent interface.
Adopt it when:
Look elsewhere when:
For executives: Payments are infrastructure, not differentiation — but they are also a single point of failure and a lock-in risk. This package lets us integrate multiple payment providers through one consistent interface, configured rather than coded. Practically: we can launch with our preferred processor, add PayPal or a regional method for expansion without a rebuild, and renegotiate or replace a processor on commercial terms rather than engineering terms. It's MIT-licensed, so there's no licensing cost, and it keeps our payment logic out of any one vendor's SDK. The trade-off to acknowledge: it's a community package with limited downstream adoption, so we should pair it with a short technical validation and keep our own thin wrapper around it so we're never trapped by the dependency itself.
For engineering: This is a Laravel service provider and config layer over Omnipay — you get gateway instantiation from config, a facade, and a uniform purchase/authorize/capture/refund API across providers. We write checkout logic once against the Omnipay contract and swap gateways via config. It does not give us subscriptions, webhooks, or SCA handling — those stay provider-specific and we should scope them separately. Before committing, we need a one-sprint spike: verify Laravel/Omnipay version compatibility, exercise two gateways in sandbox, and confirm the release cadence is acceptable. We should isolate it behind our own PaymentGateway interface so a future swap — of the processor or of this package — is a contained change.
How can I help you explore Laravel packages today?