2.0.0-beta.1
What's Changed
This is a beta release. Stable release is scheduled for March 17, 2026.
Install via:composer require musahmusah/laravel-multipayment-gateways:^2.0@beta
Breaking Changes
- Dropped support for PHP 8.0 and 8.1 — PHP 8.2+ is now required
- Dropped support for Laravel 8, 9, and 10 — Laravel 11, 12, and 13 are now supported
- Removed
ConsumesExternalServicestrait; HTTP layer is now handled internally via Laravel HTTP Client FlutterwaveConstantclass removed — replaced by theFlutterwaveChargeTypeenumHttpMethodFoundExceptionremoved — consolidated intoHttpClientException
New Features
PaymentResponseDTO — all gateway responses are now returned as a typedPaymentResponsedata object instead of raw arrays, giving you consistent, predictable response structures across all gatewaysPaymentManager— new unified entry point to resolve any gateway at runtime viaPayment::gateway('paystack')or thePaymentfacade- Runtime config overrides — gateway credentials can now be overridden at runtime without touching config files, useful for multi-tenant applications
PaymentGatewayenum — type-safe enum for referencing supported gateways (PaymentGateway::Paystack,PaymentGateway::Flutterwave, etc.)Kudafacade — newKudafacade added alongside the existing gateway facades- Split contracts —
FlutterwaveContractandPaystackContractare now broken into focused sub-contracts (e.g.FlutterwaveChargeContract,PaystackTransactionContract) for better IDE support and extensibility
Improvements
- Replaced Guzzle with Laravel HTTP Client — removed the
guzzlehttp/guzzledependency; the package now uses Laravel's built-in HTTP Client, reducing dependencies and improving testability - Strict types enforced —
declare(strict_types=1)added across the entire codebase for stronger type safety - Enums over constants — PHP 8.1+ native enums replace all string/integer constant classes
- Improved
HttpClientException— richer exception context with better error messages from gateway responses - Expanded test coverage — tests rewritten to use
Http::fake()throughout; new integration tests added for Flutterwave, Paystack, and Stripe
Full Changelog: 1.8.0...2.0.0-beta.1