Back to Templates

⚡ Features
- 💳 Subscriptions — Stripe billing with checkout, portals, trials, and failed payment recovery
- 🔐 Authentication — Supabase auth with Update-powered extensions (e.g., magic links, redirects)
- 🔓 Entitlements — Easy access control by plan, org, or user role
- ⚙️ Full-stack ready — App Router, Middleware, Client, and Server usage supported
- 🎨 UI — Built with Tailwind CSS and shadcn/ui
🔗 Demo
Live demo: nextjs-supabase-stripe-update.vercel.app
🚀 Deploy to Vercel
Click the button below to instantly deploy the template and set up Update and Supabase:
🛠️ Local Setup
1. Clone the project
git clone https://github.com/updatedotdev/nextjs-supabase-stripe-update.git cd nextjs-supabase-stripe-update
2. Install dependencies
npm install
or
pnpm install
3. Configure environment variables
Create a .env.local
file based on the provided example:
cp .env.example .env.local
Fill in values from:
NEXT_PUBLIC_UPDATE_PUBLIC_KEY=...NEXT_PUBLIC_SUPABASE_URL=...NEXT_PUBLIC_SUPABASE_ANON_KEY=...
4. Run the dev server
npm run dev
Open http://localhost:3000 in your browser to view the app.
📦 What's Included
- 🔌 Update Client Setup:
utils/update/client.ts
— for browser-side usageutils/update/server.ts
— for server-side usage
- 🧠 Entitlements Checks:
- Example usage of
client.entitlements.check()
to conditionally render UI
- Example usage of
- 💳 Billing Integration:
- Stripe Checkout & Customer Portal
- Cancel/reactivate subscriptions
- Usage-based plans (coming soon)
🧩 Tech Stack
🤝 Support
- 📚 Full documentation
- 💬 Join our Discord
- 🐛 Found a bug? Open an issue
📄 License
MIT