当前位置: 首页 > news >正文

5分钟快速上手Next.js billing app:Lemon Squeezy订阅系统搭建教程

5分钟快速上手Next.js billing app:Lemon Squeezy订阅系统搭建教程

【免费下载链接】nextjs-billingNext.js billing app with Lemon Squeezy项目地址: https://gitcode.com/gh_mirrors/ne/nextjs-billing

Next.js billing app是一款基于Next.js 14构建的订阅制SaaS应用模板,集成了Lemon Squeezy支付系统,可帮助开发者快速搭建专业的订阅管理平台。本教程将带你在5分钟内完成从环境配置到系统部署的全流程,轻松实现订阅功能集成。

🌟 为什么选择Next.js + Lemon Squeezy组合?

这款模板采用现代化技术栈,专为订阅制应用设计:

  • 框架:Next.js 14提供卓越的性能和开发体验
  • 支付处理:Lemon Squeezy简化订阅管理和支付流程
  • 认证系统:集成GitHub OAuth实现安全登录
  • 数据存储:Neon + Drizzle ORM提供无服务器Postgres解决方案
  • UI组件:使用Wedges组件库打造专业界面

🚀 快速开始:5分钟安装步骤

1️⃣ 克隆项目仓库

首先将项目代码克隆到本地环境:

git clone https://gitcode.com/gh_mirrors/ne/nextjs-billing cd nextjs-billing

2️⃣ 安装依赖包

使用pnpm安装项目所需依赖:

pnpm install

3️⃣ 配置环境变量

复制环境变量模板并填写必要信息:

cp .env.example .env

需要配置的核心参数包括:

# Lemon Squeezy配置 LEMONSQUEEZY_API_KEY=your_api_key LEMONSQUEEZY_STORE_ID=your_store_id LEMONSQUEEZY_WEBHOOK_SECRET=random_secret # 数据库配置 POSTGRES_URL=your_neon_postgres_url # 认证配置 AUTH_GITHUB_ID=your_github_oauth_id AUTH_GITHUB_SECRET=your_github_oauth_secret AUTH_SECRET=random_auth_secret

4️⃣ 初始化数据库

运行以下命令初始化数据库结构:

pnpm db:push

5️⃣ 启动开发服务器

一切准备就绪,启动开发服务器:

pnpm dev

访问 http://localhost:3000 即可看到应用界面!

🔑 关键配置详解

Lemon Squeezy账户设置

  1. 访问Lemon Squeezy注册页面创建账户
  2. 在测试模式下,前往Settings > API创建API密钥
  3. Settings > Stores获取商店ID
  4. 生成随机字符串作为webhook密钥

数据库连接

本项目使用Neon提供的无服务器Postgres数据库:

  1. 注册Neon账户并创建数据库
  2. 从Neon控制台获取连接URL
  3. 将URL填入POSTGRES_URL环境变量

认证配置

GitHub OAuth设置:

  1. 创建GitHub OAuth应用
  2. 获取Client ID和Client Secret
  3. 生成32位随机字符串作为AUTH_SECRET:
openssl rand -hex 32

🔄 配置Webhook接收支付事件

Webhook是接收Lemon Squeezy支付事件的关键:

  1. 在应用仪表盘中点击"Setup webhook"按钮自动配置
  2. 或手动在Lemon Squeezy的Settings > Webhooks添加webhook URL
  3. 确保勾选subscription_createdsubscription_updated事件
  4. 填入与环境变量相同的webhook密钥

应用的webhook处理端点位于/api/webhook,负责接收并处理支付事件。

📦 核心功能模块

订阅管理

应用提供完整的订阅生命周期管理:

  • 查看当前订阅状态
  • 更改订阅计划
  • 暂停/恢复订阅
  • 取消订阅

相关代码位于src/components/dashboard/billing/subscription/目录,包括:

  • subscriptions.tsx:订阅状态展示
  • actions.tsx:订阅管理操作
  • change-plans.tsx:计划变更界面

产品计划展示

产品计划展示模块位于src/components/dashboard/billing/plans/,主要文件包括:

  • plans.tsx:计划列表组件
  • plan.tsx:单个计划卡片
  • change-plan-button.tsx:切换计划按钮

📝 上线前检查清单

准备部署到生产环境时,请完成以下步骤:

  1. 在Lemon Squeezy后台关闭测试模式
  2. 创建生产环境API密钥并更新环境变量
  3. 配置生产环境webhook
  4. 确保所有环境变量正确设置
  5. 运行数据库迁移:pnpm db:push

💡 实用提示

  • 使用Drizzle Studio管理数据库:pnpm db:studio
  • 开发环境需要使用ngrok或LocalCan创建公网URL接收webhook
  • Lemon Squeezy提供内置的Customer Portal,可作为订阅管理的替代方案
  • 应用采用Next.js App Router架构,支持组件级数据获取

通过本教程,你已经掌握了Next.js billing app的基本搭建流程。这个模板提供了坚实的基础,你可以在此之上构建更复杂的订阅功能,打造属于自己的SaaS产品!

【免费下载链接】nextjs-billingNext.js billing app with Lemon Squeezy项目地址: https://gitcode.com/gh_mirrors/ne/nextjs-billing

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1202085/

相关文章:

  • 如何在macOS上轻松创建Windows启动盘:WinDiskWriter完整指南
  • AI 辅助的 CSS 重构方案:自动识别冗余样式、选择器优化与层级扁平化
  • 终极CSS选择器生成指南:如何快速掌握高效定位工具
  • 如何永久保存微信聊天记录?5步实现个人数据自主管理终极指南
  • gvt并发下载机制解析:如何高效处理多个依赖下载
  • 终极Claude技能开发指南:3步构建你的AI工作流自动化神器
  • PDX 和人源化小鼠样本太珍贵?多因子检测要先解决“省样本”这件事
  • AI Agent技能开发与行业工作流实践指南
  • Blog.Admin国际化实现:如何快速添加多语言支持
  • 计算机毕业设计之基于jsp榆阳区中小学智慧校园系统
  • 大麦抢票神器完整指南:5步实现演唱会门票自动化抢购
  • 5步创建你的专属桌面伙伴:开源虚拟宠物完整指南
  • docker一键部署笔记
  • ComicTagger完全指南:如何为数字漫画添加专业元数据
  • SpotifyLyrics部署指南:在Windows、Linux和macOS上的完整安装
  • 【老金首饰变现怕被坑?宜昌本地回收这5家门店明码实价】 - 人间烟火小记
  • 如何通过Aave Protocol V2成为流动性提供者:新手入门赚取被动收入
  • AI 辅助前端数据流架构设计:从混乱流向到智能编排的工程演进
  • 计算机毕业设计之基于jsp羽毛球馆管理系统的设计与实现
  • checkmail深度解析:从格式验证到SMTP用户存在性检测全流程
  • Claude代码审查效能对比实测:vs GitHub Copilot、Tabnine、CodeWhisperer(附237份PR评审数据)
  • Kubernetes扩展模式的十字路口:从轻量级CRD到全功能Aggregated API Server,你的架构决策矩阵在此
  • 郑州金水二手名表回收怎么卖最划算?本地正规门店教你避坑高价变现 - 全城热点
  • 局域网本地链路,不同操作系统间通过IPV6远程桌面连接和文件共享
  • 第5讲:嵌入式场景二范式决策树:什么情况快写、什么情况严写
  • Ascend C GlobalTensor GetValue API
  • 计算机毕业设计之基于SpringBoot的家校交流服务平台
  • 如何完整备份微信聊天记录:WeChatMsg数据自主管理指南
  • 大连同城黄金回收避坑指南,街坊亲测这5家门店不压秤不套路 - 人间烟火小记
  • AMD ROCm完全指南:在AMD GPU上高效运行AI工作负载