Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Payum Stripe Checkout Session Bundle Laravel Package

prometee/payum-stripe-checkout-session-bundle

A Symfony bundle that integrates Stripe Checkout Session with Payum, letting you accept card payments through Stripe's hosted checkout. It provides a ready-to-use payment gateway and simplifies wiring Stripe Checkout into Payum-based applications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The first thing a TPM should flag is a naming mismatch: the package is catalogued as prometee/payum-stripe-checkout-session-bundle, but the repository is Sylius/PayumStripeBundle. That is a Symfony bundle built on Payum (the payment abstraction library used heavily by Sylius), not a Laravel-native package. It contributes a Payum gateway factory for Stripe Checkout Session — the hosted, redirect-based Stripe flow — and is designed to be wired into a Symfony service container. Treat it as a Sylius/Payum ecosystem artifact, not a drop-in Laravel payment library.

Integration feasibility. Feasible where Payum is already in use, most plausibly a Sylius storefront. On Laravel, integration is possible only through Payum's standalone builder or the lightly maintained Payum Laravel bridge — meaning the team effectively owns the wiring. Stripe Checkout Session is a simple flow (server creates session → customer redirects → webhook confirms), and it does not map cleanly onto Payum's authorize/capture lifecycle, so expect custom action classes.

Technical risk. High for a greenfield Laravel app: 20 stars, 0 dependents, effectively no external validation, single-vendor governance (Sylius/Prometee), and a future-dated release (2026-04-14) that should be verified as a real publish rather than metadata noise. Risk drops materially if the org already runs Sylius, where the bundle is a first-class citizen.

Key questions.

  • Is the target application Symfony/Sylius or Laravel? This changes the answer entirely.
  • Why does the package name diverge from the repo name, and is the Packagist publisher verified?
  • Which Payum and Stripe API versions does the current release pin?
  • Does the bundle cover webhook receipt and session status reconciliation, or only session creation?
  • Is this bundle used inside Sylius core or upstream Sylius plugins (a proxy for maintenance quality)?
  • What is the support path if Stripe changes the Checkout Session API?

Integration Approach

Stack fit. Strong in Symfony + Sylius, where Payum is already present and DI wiring is supported. Weak in Laravel — there is no service provider, no Laravel config publishing, no facade, and the payment domain model differs from what Laravel teams usually expect (Cashier-style). If the platform is Laravel, evaluate laravel/cashier or a direct Stripe SDK integration before adopting this bundle.

Migration path. On Sylius: composer require, register the gateway factory, configure a Payum gateway, and point the checkout workflow at it. On non-Sylius PHP: use Payum's PayumBuilder to instantiate the gateway manually, then wrap in whatever framework integration exists. On Laravel this means owning a service provider, config, and webhook receiver — budget explicitly for that.

Compatibility. Verify PHP version support, Payum major version, Symfony version constraints, and the Stripe API version the bundle targets. Diff composer.json constraints against the app's lockfile before committing.

Sequencing.

  1. Spike — sandbox Stripe account; prove session create → redirect → webhook → order-state transition in a throwaway app on the target framework.
  2. Decide — adopt the bundle vs. build around the Stripe SDK directly (or Cashier on Laravel). Document the decision.
  3. Harden — webhook signature verification, idempotency keys, session-expiry handling, and a reconciliation job against the Stripe API.
  4. Integrate — wire into the checkout flow behind a feature flag; run in parallel with the existing gateway.
  5. Cut over — with monitoring and a documented rollback to the prior gateway.

Operational Impact

Maintenance. Small dependency footprint, but low-velocity upstream. Assume fixes for Stripe API drift or PHP/Symfony upgrades may not arrive promptly. Mitigate by vendoring the bundle into the monorepo (Composer path repository) or planning a fork-and-patch contingency.

Support. No commercial backing identified; support is GitHub issues only. For a production payment path, that is a material gap — either assign a named internal owner or keep the package off the critical path.

Scaling. Stripe carries the payment volume; the scaling concern is the webhook consumer and state reconciliation. Queue webhook events, handle them idempotently keyed on event.id, and keep synchronous work out of the request/response path.

Failure modes.

  • Missed webhook → order stuck in "pending"; needs a scheduled reconciliation sweep against Stripe.
  • Abandoned or expired sessions; ensure cleanup and non-blocking customer recovery.
  • Stripe API version drift; pin the version and test on upgrade.
  • Duplicate or out-of-order events; enforce idempotency and event ordering tolerance.
  • Framework drift; Payum is stable but low-velocity, and Symfony major upgrades may lag.

Ramp-up. Developers with Payum/Sylius experience: hours to days. Laravel developers without Payum exposure: one to two weeks to be confident, because they must learn Payum's gateway/action/status model in addition to Stripe's Checkout Session flow. Fund a short spike and a written runbook before considering production.

TPM recommendation. Viable only inside a Sylius/Payum estate, and even then only with a named owner and a reconciliation safety net. For a Laravel application, prefer Cashier or the official Stripe SDK and treat this bundle at most as a reference implementation.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib