Built on Laravel. Yours to fork.
Multi-tenant Laravel loyalty.
One Laravel install runs unlimited businesses, each with isolated data. Stripe billing through Laravel Cashier, plan tiers in config, your brand on the front.
Laravel Cashier Full source code
What ships, and what you build.
The multi-tenant foundation ships. Tenant isolation runs at the model layer. Stripe billing runs through Laravel Cashier. You configure plans, onboarding, and pricing for your own business. This is infrastructure you own, not a turnkey SaaS you launch in a weekend.
Model-layer isolation
Every query is scoped to its partner. A partner never sees another partner, and only sees members who have interacted with them. Isolation is in the code, not the interface.
The shared wallet
One customer account works across every business on the install, one login, one wallet. Each business sees only its own data. Shared wallet does not mean shared points.
Plans and billing
Plan tiers, limits, and feature flags live in config and read from environment variables. Manual billing needs zero setup. Stripe through Laravel Cashier adds subscriptions, checkout, and a billing portal.
Four guards. One codebase.
Admin, partner, staff, and member each run on their own Laravel auth guard and portal. The whole thing is full source you can read and extend. For a buyer-facing explainer of multi-tenancy, see the multi-tenant loyalty guide.
Part of the Laravel loyalty script
Common questions.
Can I build a loyalty SaaS on Laravel with this?
Yes, with a clear caveat. The multi-tenant foundation ships: one install runs many businesses, each with isolated data, plan tiers, and Stripe billing through Laravel Cashier. You still configure plans, onboarding, and pricing for your own business. It is infrastructure you own, not a turnkey SaaS you launch in a weekend.
How is tenant data isolated?
Isolation is enforced at the model layer, not hidden in the UI. Every query is scoped to its partner. A partner never sees another partner, and only sees members who have interacted with them.
What is the shared wallet?
One customer account per install works across every business on that install, one login, one wallet. Each business sees only its own data. Shared wallet does not mean shared points.
How does billing work?
Two modes. Manual billing works with zero configuration. Stripe billing runs through Laravel Cashier with webhook-driven subscription sync, self-service checkout, and a billing portal. Plan tiers and limits live in config and are overridable by environment variables.
Multi-tenant Laravel loyalty.
One Laravel install, many businesses, isolated data. You own the code. No monthly fees to us.
Laravel · PHP · Full source code · 12 languages