andreia/filament-stripe-payment-link
A Filament plugin for Laravel that brings Stripe payment links into your admin panel, letting you create and manage payment links for products or invoices. Streamline payment collection and share Stripe links directly from Filament without custom Stripe workflows.
Architecture fit. andreia/filament-stripe-payment-link is a narrow Filament plugin that surfaces Stripe Payment Link creation/selection inside a Filament admin panel form. It is a thin integration layer — it does not replace Stripe's SDK, does not own checkout, and does not model payments in your domain. Architecturally that is a good fit for teams already running Filament who want operators to generate a payable URL without leaving the admin, but it is a presentation-layer convenience, not a payments subsystem. Do not let it become the system of record for pricing, entitlements, or reconciliation — those must stay in your own tables keyed by Stripe price/product IDs.
Integration feasibility. Low effort. Composer install, publish config, supply Stripe secret key via environment, drop the field into an existing Filament resource form. No queue workers, no webhooks, no migrations implied by the release notes. The realistic estimate is well under a day for a developer already fluent in Filament, plus review time.
Technical risk. Three items dominate:
Key questions for the maintainer.
Stack fit. Requires Laravel with Filament installed and a Stripe account with Payment Links enabled. If your admin panel is Filament v3, this is a natural drop-in. If you are on a custom admin, Livewire-only, or Nova, the package offers nothing and you should call the Stripe SDK directly — the abstraction is too thin to be worth an adapter.
Migration path. Since there is no prior assessment, treat this as a greenfield evaluation rather than an upgrade. Pin to ^1.1.0 explicitly in composer.json; do not use a floating constraint. Publish the config file and keep the Stripe secret in your existing secrets manager, not in .env committed to the repo. If you are currently creating payment links manually in the Stripe dashboard, run the plugin in parallel for one billing cycle before retiring the manual process.
Compatibility. Two axes to verify before merging: Filament major version, and the Stripe PHP SDK constraint the package pulls in. The v1.1.0 API bump may force a transitive stripe/stripe-php version that conflicts with other Stripe-touching packages in your monorepo. Run composer why stripe/stripe-php across the dependency graph and resolve conflicts before the feature branch, not during.
Sequencing.
Because v1.1.0 changes the Stripe API version, step 2 is non-negotiable — a green CI badge does not demonstrate that the new API snapshot behaves identically.
Maintenance. Expect to track this package loosely rather than tightly. Releases appear low-cadence and mostly dependency-driven, so a quarterly review is proportionate. Budget a small recurring cost for Stripe API version drift: Stripe ships dated versions and deprecates old ones, and the plugin's upgrade is your trigger to re-test.
Support. No commercial support, no SLA, single primary maintainer. Internal ownership must be assigned to a named engineer on the platform team — "the Laravel team" is not an owner. Support burden is genuinely low because the blast radius is limited to an admin form field.
Scaling. Negligible runtime scaling concern: payment link creation is an operator-initiated action at human frequency, not a per-request hot path. The scaling question that matters is organizational — how many admin surfaces will embed this field, and whether each one independently calls Stripe. Centralize link creation behind one Filament action or service class so you are not scattering Stripe calls across resources.
Failure modes.
Ramp-up. Hours, not days, for a developer who knows Filament. The conceptual load is Stripe's Payment Link model (price, quantity, after-completion redirect, expiry) rather than the package itself. Include in onboarding: which Stripe mode the environment uses, where the secret key lives, and who to call when a link misbehaves.
How can I help you explore Laravel packages today?