musahmusah/laravel-multipayment-gateways
Full Changelog: https://github.com/MusahMusah/laravel-multipayment-gateways/compare/1.8.0...2.0.1
This is a beta release. Stable release is scheduled for March 17, 2026. Install via:
composer require musahmusah/laravel-multipayment-gateways:^2.0@beta
ConsumesExternalServices trait; HTTP layer is now handled internally via Laravel HTTP ClientFlutterwaveConstant class removed — replaced by the FlutterwaveChargeType enumHttpMethodFoundException removed — consolidated into HttpClientExceptionPaymentResponse DTO — all gateway responses are now returned as a typed PaymentResponse data object instead of raw arrays, giving you consistent, predictable response structures across all gatewaysPaymentManager — new unified entry point to resolve any gateway at runtime via Payment::gateway('paystack') or the Payment facadePaymentGateway enum — type-safe enum for referencing supported gateways (PaymentGateway::Paystack, PaymentGateway::Flutterwave, etc.)Kuda facade — new Kuda facade added alongside the existing gateway facadesFlutterwaveContract and PaystackContract are now broken into focused sub-contracts (e.g. FlutterwaveChargeContract, PaystackTransactionContract) for better IDE support and extensibilityguzzlehttp/guzzle dependency; the package now uses Laravel's built-in HTTP Client, reducing dependencies and improving testabilitydeclare(strict_types=1) added across the entire codebase for stronger type safetyHttpClientException — richer exception context with better error messages from gateway responsesHttp::fake() throughout; new integration tests added for Flutterwave, Paystack, and StripeFull Changelog: https://github.com/MusahMusah/laravel-multipayment-gateways/compare/1.8.0...2.0.0-beta.1
Full Changelog: https://github.com/MusahMusah/laravel-multipayment-gateways/compare/1.7.1...1.7.2
Full Changelog: https://github.com/MusahMusah/laravel-multipayment-gateways/compare/1.7.0...1.7.1
redirectToCheckout when carrying out transaction method by @MusahMusahHttpClientWrapper with any of the Payment Gateways. flutterwave->anymethod();
Added a HttpClientWrapper to enable making http get, post, put, patch and delete request using dependencies of the desired payment gateways in making such request.
All requests made through the HttpClientWrapper will have access to desired gateway base url, secret key among other dependencies. This change would allow extending the package beyond methods available in a specific gateway class, simply by calling any endpoint from your desired payment gateway api docs with parameters required to make the request should do.
In addition, the HttpClientWrapper is available via helpers, dependency injection and the facade of all payment gateways supported.
// Example of making http get request
paystack()->httpClient()->get('bank');
// Example of making http post request
$fields = [
"email" => "customer@email.com",
"first_name" => "Zero",
"last_name" => "Sum",
"phone" => "+2348123456789"
];
paystack()->httpClient()->post('customer', $fields);
// all payment gateways provided by the package can use the httpClient
Flutterwave::httpClient()->get('/banks/056');
stripe()->httpClient()->get('v1/customers/cus_4QFOF3xrvBT2nU');
paystack or stripeThe package provides two ways in handling webhooks.
Full Changelog: https://github.com/MusahMusah/laravel-multipayment-gateways/compare/1.7.2...1.8.0
How can I help you explore Laravel packages today?