ruudk/payment-stripe-bundle
Symfony bundle that adds Stripe as a payment provider to the ruudk/payment abstraction. Configure your Stripe API credentials, register the gateway as a service, and create charges through a consistent payment interface.
Architecture fit. Weak by definition: this is a Symfony2 bundle, not a Laravel package. It integrates through Symfony's bundle/DI/event system and the JMS\Payment\CoreBundle abstraction layer, neither of which has a Laravel equivalent. Adopting it in a Laravel codebase means either running a hybrid Symfony/Laravel stack (impractical) or porting the bundle's thin Stripe gateway class out of its Symfony wiring — at which point you have written a custom integration and the package is only a reference implementation.
Integration feasibility. Low. The bundle's actual value is a PaymentPluginController/gateway adapter that wraps the legacy Stripe PHP library (charges, customers, refunds) into JMSPaymentCore's plugin contract. Three transitive dependencies are each blocking on their own: (1) JMSPaymentCoreBundle is itself abandoned; (2) the legacy stripe/stripe-php versions it was built against predate Payment Intents; (3) the bundle expects Symfony 2.x-era container, event dispatcher, and PHP constraints (PHP 5.5–7.0 territory). Any one of these requires significant rework; together they are prohibitive.
Technical risk. High. Concrete risks:
Key questions for the requester.
Verdict. Not adoptable. Treat as a historical reference for how to shape a gateway adapter, not as a dependency.
Stack fit. None for a Laravel target. The idiomatic Laravel path is stripe/stripe-php (official SDK, actively maintained, current API version) or laravel/cashier if subscriptions/invoicing are in scope. Both give you first-class Payment Intents, SCA, webhooks, and Laravel service-provider/facade wiring — the exact integration surface this bundle was trying to provide for Symfony.
Migration path. If a system already runs this bundle, the migration is a strangler pattern:
stripe/stripe-php SDK alongside, pinned to a current API version, behind an internal PaymentGateway interface you own.Compatibility. Assume none. Effective constraints are roughly PHP ≤7.x, Symfony 2.x, and Stripe API 2015-era. Verify against composer.json before any spike, but the practical answer is "assume incompatible with anything current."
Sequencing. (1) Confirm framework target and required Stripe capabilities. (2) If Laravel: skip this package entirely and scope official-SDK vs. Cashier. (3) If a live Symfony2 system depends on it: run the inventory step first, because the migration is really a payments re-platforming with compliance sign-off, not a library swap. (4) Only after capability scoping should you pick a replacement — Cashier for subscription-shaped billing, raw SDK for bespoke flows.
Maintenance. Zero. Archived repository, no releases in ~9 years, no maintainer response path. Any bug or incompatibility is yours to fix in a fork, which converts an OSS dependency into internal code you now own permanently.
Support. None available — no upstream, no community (0 dependents, 7 stars), no vendor. Internal escalation only. This is the single largest operational cost: you are the maintainer.
Scaling. The library itself is thin; scaling limits will come from Stripe's API and your webhook processing, not this bundle. But the absence of idempotency-key handling and modern retry semantics from the era means you will likely need to add your own guards before traffic grows.
Failure modes to plan for.
Ramp-up. Low in absolute terms (small codebase, familiar Stripe concepts) but misleading — the effort is not learning the bundle, it is un-learning it and rebuilding around current Stripe primitives. Budget the team's time against Payment Intents and webhook best practices, not against this package's API.
How can I help you explore Laravel packages today?