developerlab/mollie-payment-bundle
AppKernel.php registration) is incompatible with Laravel’s autoloading and service provider model. A Laravel-compatible version would need to be refactored into a standalone package (e.g., using Laravel’s ServiceProvider or Package structure).Kernel vs. Laravel’s ServiceProvider/Bootstrap.Routing/EventDispatcher vs. Laravel’s Router/Events.Twig templating (if used for redirects/webhooks) vs. Laravel’s Blade.mollie/mollie-api-php, spatie/laravel-mollie), making this bundle redundant unless custom Symfony-specific features are needed.config.yml) may expose API keys in Laravel’s config/mollie.php.Queue system could replace Symfony’s event listeners, but this requires validation.api_key, api_key_test) be stored? Laravel’s .env is preferred over config.yml.AppKernel).Container vs. Symfony’s ContainerInterface).Router vs. Laravel’s Router with middleware).mollie/mollie-api-php directly for full control.spatie/laravel-mollie for a Laravel-native wrapper (includes webhooks, redirects, and queues).ServiceProvider.| Step | Action | Laravel Equivalent | Risk |
|---|---|---|---|
| 1 | Replace Bundle Registration | Create a Laravel ServiceProvider (e.g., MollieServiceProvider) |
Low |
| 2 | Port Configuration | Move config.yml → config/mollie.php (use .env for secrets) |
Low |
| 3 | Adapt API Client | Replace Symfony’s HttpClient with Laravel’s Http facade or Guzzle |
Medium |
| 4 | Rewrite Commands | Convert Symfony Console commands to Laravel Artisan commands |
Medium |
| 5 | Handle Webhooks | Replace Symfony event listeners with Laravel Events + Listeners or Queue jobs |
High |
| 6 | Redirect Routes | Replace Symfony routes with Laravel Route::get() or controller methods |
Low |
| 7 | Testing | Replace Symfony tests with Laravel’s PHPUnit + HttpTests |
High |
createPayment) can be reused.EventDispatcher, Twig, KernelEvents (e.g., KernelEvents::CONTROLLER).Events system or middleware for similar functionality.mollie_customer table. Laravel’s migrations would need to be adapted (e.g., using Schema::create).Phase 1: API Integration
Http or Guzzle.Phase 2: Webhooks
Route + Queue job.verifyWebhook method.Phase 3: Redirects
Session for redirect tokens.Phase 4: Commands & Exports
mollie:customers) as Laravel Artisan commands.Phase 5: Testing & Optimization
HttpClient → Laravel’s Http or Guzzle (minor effort).KernelEvents, Twig) will require deep Laravel-Symfony knowledge..env vs. config.yml).Queue for async processing.Retry package).mollie_customerHow can I help you explore Laravel packages today?