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

Subscription Bundle Laravel Package

terox/subscription-bundle

Terox Subscription Bundle provides subscription and plan management for PHP applications, including configurable plans, lifecycle handling, and integration points for recurring billing and payment workflows. Add paid memberships or SaaS-style access control with minimal setup.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Critical fit note: This remains a Symfony bundle for Symfony 3.3+/4+, not a Laravel package. For a Laravel roadmap it is not a direct dependency candidate; it is at most a domain-model reference or a legacy Symfony accelerator.
  • New signal to weigh (0.2.0): The project shipped its first release since 2018, but it is a breaking-change stabilization release, not a feature release. ManagerSubscription::create($product, $user) now requires the owning user, SubscriptionRepositoryInterface::findByProduct now takes a UserInterface, and findById is new. This changes the stability profile rather than the capability profile: the API is still pre-1.0 and explicitly permitted to break interfaces.
  • Subscription/plan modeling: Still supports decisions about whether plans, user subscriptions, and access entitlements are first-class product objects. The addition of an explicit subscription owner ($user) is conceptually useful — it forces a product decision on whether a subscription belongs to a user, an account/tenant, or a seat, before you model entitlements. The new findById supports direct entitlement lookups without a product-scoped query.
  • Build vs. buy vs. reuse: 11 stars, 0 dependents, and a multi-year gap followed by a breaking 0.x release keep this out of any strategic “buy/reuse” decision for a new product. Treat it as a low-cost spike/reference implementation or a short-term accelerator in an existing Symfony 3.3/4 codebase only.
  • Roadmap prioritization: If subscription management is core to revenue, billing, entitlements, or compliance, prioritize a maintained billing platform or an owned domain model. If subscriptions are peripheral, avoid adopting an unmaintained bundle and keep the domain thin. A breaking 0.2.0 with no deprecation path reinforces the "own the domain" conclusion.
  • Upgrade-cost data point: Anyone who spiked on 0.1.x now faces a hard break with no deprecation layer and no migration guide beyond three bullet points. That is direct evidence about total cost of ownership for this dependency.
  • Use cases to evaluate: Internal admin assignment of plans to users, simple entitlement checks, legacy Symfony feature packaging, and migration discovery. Do not assume it covers payments, invoicing, tax, proration, dunning, PCI scope, or modern subscription lifecycle requirements without code-level validation.
  • Exit-cost planning: Any decision to use it should include a fork/vendor strategy, test coverage, security review, pinned version constraint (0.2.*, not ^0.2), and a documented exit path.

When to Consider This Package

Consider it only when all or most of the following are true:

  • You are maintaining an existing Symfony 3.3/4 application and need a small, MIT-licensed starting point for plan/subscription concepts.
  • The scope is limited to internal plan assignment or basic entitlement modeling, not revenue-critical billing.
  • You are willing to vendor/fork the bundle, audit the code, add tests, pin the dependency, and own maintenance.
  • You have Symfony expertise in-house and can wrap the bundle behind your own interfaces to limit coupling.
  • You are starting fresh or can absorb the 0.2.0 breaking changes (owner-aware create, user-scoped findByProduct, new findById) — or you are deliberately pinning to 0.1.x and accepting that you are frozen on an unsupported line.
  • You accept that 11 stars, 0 dependents, and a single stabilization release after a multi-year gap are material adoption risks, and that 0.x semantics mean further breaks are plausible.

Look elsewhere when:

  • You are building on Laravel or modern PHP/Symfony versions. This bundle is not a Laravel package and targets old Symfony versions.
  • You need active maintenance, security updates, PHP 8+ compatibility, or a supported integration path. One maintenance release is not a maintenance commitment.
  • You need payments, subscriptions with proration, invoices, tax, dunning, coupons, trials, SCA/PCI, or compliance-grade billing.
  • You require strong documentation, test coverage, community support, or predictable upgrade paths — 0.2.0 shipped with a three-bullet changelog and no upgrade guide.
  • Subscription management is core to the business model. In that case, choose a maintained billing/subscription provider or build a small owned domain model with clear boundaries.

How to Pitch It (Stakeholders)

Executive summary: This is a small MIT-licensed Symfony bundle for managing subscription plans and user subscriptions. It is not a Laravel package. There is a new 0.2.0 release — the first since 2018 — but it is a breaking stabilization release, not a feature investment: it changes the subscription-creation signature to require an owner, changes a repository interface, and adds one lookup method, with no migration guide and no deprecation path. Community validation remains thin (11 stars, 0 dependents). I would not recommend it as a strategic dependency for a new Laravel product or any revenue-critical subscription capability. It may be useful only as a short-term reference or legacy Symfony accelerator, with explicit budget for code audit, forking, testing, upgrade handling, and eventual replacement.

Engineering summary: Treat it as an unmaintained Symfony 3.3/4-era domain bundle, not a production-ready subscription platform. Version 0.2.0 fixes the ownership model — ManagerSubscription::create($product, $user), SubscriptionRepositoryInterface::findByProduct($product, $user), and a new findById — but delivers it as a hard break on a 0.x package with no deprecation layer or upgrade notes. If explored, isolate it behind internal interfaces, vendor/fork it, pin to an exact or narrow version constraint, add tests and security review, and document an exit plan. If any code was already spiked on 0.1.x, budget the migration explicitly and treat it as a sunk-cost checkpoint. For Laravel, do not force integration; reuse only conceptual patterns. For greenfield work, prefer a maintained Laravel billing/subscription package or a minimal in-house plan/subscription model aligned to actual product and billing requirements.

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