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

Stripe Laravel Laravel Package

cartalyst/stripe-laravel

Laravel integration for the Stripe PHP SDK, providing a service provider, configuration file, and a Stripe facade for convenient access to Stripe's API—customers, charges, subscriptions, webhooks, and more—from within your Laravel application.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on payments plumbing. This package is a thin Laravel adapter over Stripe's official PHP SDK: a service provider, a Stripe facade, and a publishable config file for API keys. "Buying" it buys container wiring and config, not billing logic. The expensive work — subscription lifecycle, proration, dunning, webhooks, idempotency — is yours either way. Frame the decision as "Stripe plus how much billing logic we own," and treat this package as a minor input to that.
  • Wrapper vs. first-party SDK. Choosing between this and calling stripe/stripe-php directly is an ergonomics call, not a capability call. The facade exposes the full Stripe API, so there is no ceiling imposed. The wrapper's only value is DI, a config file, and a facade — all replaceable in an afternoon. Never treat it as a strategic dependency.
  • Billing model scoping. Raw Stripe objects (customers, charges, subscriptions, invoices) suit bespoke billing: usage-based, marketplace splits, custom invoicing. They do not suit a standard SaaS subscription roadmap, where Laravel Cashier gives you the opinionated lifecycle out of the box. Product should pick based on the billing model, not the wrapper.
  • Roadmap risk budgeting. A 337-star package with zero listed dependents sitting on the payment path is not a widely-vetted dependency. Adopting it is a supply-chain decision that gates the payments workstream; it should earn a roadmap slot only after a maintenance and security review, not before.
  • Version-fit check as a gate. The description says "Laravel 8 integration" while the current release (v17.0.0) targets Laravel 12. That drift is a decision input in itself — verify the actual composer.json constraint against your framework version before committing engineering time, and assume release notes are a summary rather than a changelog.

When to Consider This Package

Consider it when:

  • You need direct Stripe API access from a Laravel app and want it wired into the container with config, without an opinionated billing layer on top.
  • Your billing model is non-standard (usage-based, multi-party, custom invoicing) and Cashier's abstractions would fight you.
  • Your team is Laravel-fluent and prepared to own the Stripe integration surface — request construction, idempotency, webhook handling — themselves.
  • You have confirmed the package's Laravel/PHP constraint matches your app, and you accept owning upgrades as your framework moves.
  • You keep it at arm's length behind your own thin service layer, so swapping it for Cashier or the raw SDK later is a contained change.

Look elsewhere when:

  • Your roadmap is standard SaaS subscriptions. Laravel Cashier is the ecosystem default — better maintained, better documented, and it handles trials, proration, dunning, and webhook plumbing you would otherwise build.
  • You need vendor assurance for anything that moves money. A 337-star, zero-dependent package is not the place to accept an unquantified security disclosure and response posture.
  • You want the smallest dependency surface. Calling stripe/stripe-php directly is one fewer wrapper to audit and upgrade — and the facade saves you very little if you're abstracting Stripe behind your own port anyway.
  • You're on a Laravel version the wrapper doesn't declare support for. Confirm in composer.json; do not infer from the README or the latest release note.
  • You require documented support/EOL policy, SLAs, or maintainer response guarantees. None of that is evident here.

Validate before adoption: the resolved framework/PHP constraints, release cadence and open-issue responsiveness, whether a security disclosure process exists, how quickly the package follows stripe-php majors, whether the Stripe API version is pinned in config, and whether any webhook verification or idempotency is provided (assume it is not).

How to Pitch It (Stakeholders)

Executives: This is a convenience wrapper, not a payments strategy. The strategic commitment is to Stripe; this package saves a few hours of Laravel wiring and nothing more. The risk to flag is adoption depth — modest stars, no dependent projects, unknown maintainer posture — on a component that touches money. Fund it out of the billing or payments workstream as an engineering choice, not a standalone initiative, and pair adoption with a review of the maintainers' security and release process. If the roadmap includes self-serve subscriptions, Laravel Cashier is the better-supported and safer default.

Engineering: Treat this as plumbing. It registers the official Stripe SDK in the container, exposes a Stripe facade, and ships a publishable config file — that is the whole proposition, and it is cheap to replace, which is the favorable part of its risk profile. Before adopting: confirm the Laravel constraint against our actual app version (the README's "Laravel 8" versus the v17 Laravel 12 release needs resolving), review release cadence and the security disclosure channel, pin the Stripe API version explicitly in config, and confirm keys come from env or a secrets manager rather than a committed file. Decide explicitly whether we build the subscription lifecycle or use Cashier. If we adopt, isolate all Stripe calls behind our own interface so swapping this wrapper, Cashier, or the raw SDK is a contained refactor. Also standardize: mixed direct-SDK and wrapper usage across services doubles the upgrade surface for no benefit.

Product: Choose based on the billing model, not the wrapper. Shipping standard plans, trials, and self-serve upgrades? Push for Cashier — it reaches market faster with fewer gaps than building on a thin wrapper. Shipping a bespoke model (usage-based, marketplace, custom invoicing)? This package or the raw SDK is the right level of abstraction, and the wrapper is a minor convenience. Either way, do not let the choice of wrapper become the decision. The decision is Stripe plus how much billing logic we intend to own; this package is one small input, and the recurring cost to budget is upgrade tracking across two upstream clocks — Laravel majors and stripe-php/Stripe API versions.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console