SaaS订阅支付全链路拆解:shadcn-nextjs-boilerplate中Stripe从Checkout到Webhook同步的完整指南
SaaS订阅支付全链路拆解shadcn-nextjs-boilerplate中Stripe从Checkout到Webhook同步的完整指南【免费下载链接】shadcn-nextjs-boilerplateShadcn UI NextJS Boilerplate ⚡️ Free Open-source ChatGPT UI Admin Dashboard Template - Horizon AI Boilerplate项目地址: https://gitcode.com/gh_mirrors/sh/shadcn-nextjs-boilerplateshadcn-nextjs-boilerplateHorizon AI Boilerplate是一个免费的开源Stripe 订阅支付SaaS 模板Next.js shadcn/ui Supabase。它把 SaaS 产品最复杂的订阅支付链路封装成了三个可直接复用的模块——Stripe 客户端初始化、Checkout 会话创建、Webhook 事件同步配合一套带 RLS 策略的数据库设计让新手也能快速搭建自己的订阅计费系统。一条链路从用户付款到数据库同步整个 Stripe 订阅支付链路可以概括为5 步配置密钥在.env.local.example中配置STRIPE_SECRET_KEY服务端与NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY浏览器端创建 Checkout 会话服务端调用 Stripe API生成支付页地址并跳转用户在 Stripe Checkout 完成付款Stripe 托管的收银台处理卡号、税务等敏感信息Stripe 发送 Webhook 事件如checkout.session.completed、customer.subscription.updatedNext.js API Route 验签后写入 Supabase产品、价格、订阅状态同步到数据库 上图为模板中内置的账户设置界面用户可在此管理资料并接收「订阅即将到期」等通知这正是订阅制产品常见的运营触点。核心组件三个文件看懂 Stripe 集成1️⃣ 双端 Stripe 客户端项目将 Stripe 拆成了服务端和浏览器端两个客户端这是 SaaS 订阅支付集成的标准姿势服务端utils/stripe/config.ts— 用STRIPE_SECRET_KEY创建 Stripe 实例支持LIVE/test双环境密钥切换并注册了官方插件信息appInfo浏览器端utils/stripe/client.ts— 通过loadStripe加载stripe/stripe-js使用单例模式缓存 Promise避免重复初始化为什么必须拆开因为 Secret Key 泄露意味着资金风险绝不能出现在客户端。2️⃣ Webhook 同步中枢app/api/webhooks/route.ts是整个订阅支付链路的心脏它做了三件关键的事验签用stripe.webhooks.constructEvent校验Stripe-Signature头防止伪造请求事件过滤只监听 7 类相关事件忽略噪音分发处理按事件类型路由到不同的数据库操作Stripe 事件触发时机数据库动作product.created/product.updatedStripe 后台创建/修改产品upsert 到products表price.created/price.updated定价变更如月费 9.99 改 12.99upsert 到prices表checkout.session.completed用户支付成功写入订阅记录mode subscription时customer.subscription.created新建订阅插入订阅 同步账单资料customer.subscription.updated升级/降级/暂停更新订阅状态customer.subscription.deleted取消订阅状态置为 canceled3️⃣ 数据库同步层utils/supabase-admin.ts使用 Supabase 的 Service Role Key仅服务端可用完成四类操作createOrRetrieveCustomer把 Supabase 用户 ID 映射到 Stripe Customer ID写入customers映射表upsertProductRecord/upsertPriceRecord产品与价格同步manageSubscriptionStatusChange订阅状态变更的核心函数拉取 Stripe 订阅详情后 upsert 到subscriptions表copyBillingDetailsToCustomer新订阅时把卡信息、账单地址写回 Stripe Customer 和本地用户表数据库设计schema.sql 中的四张表打开schema.sql订阅支付相关的表设计得非常清晰且全部启用了Row Level SecurityRLS表作用权限策略customersSupabase 用户 ↔ Stripe Customer 映射私有表用户零访问products产品Stripe 为主数据源公开只读prices价格支持one_time/recurring、day/week/month/year 周期公开只读subscriptions订阅状态active/trialing/past_due/canceled等 8 种状态仅本人可查一个值得学习的设计subscriptions表保存了cancel_at_period_end、trial_start、trial_end等完整时间轴字段前端只需查询即可渲染订阅还剩 5 天到期这类提示。 上图即基于本模板构建的 SaaS 产品主界面AI Chat。users表中的credits/trial_credits字段正是订阅权益与免费试用的扣费基础。快速上手三步跑通 Stripe 订阅支付Step 1配置环境变量复制.env.local.example为.env.local填入 Stripe Dashboard → API Keys 中的测试密钥NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEYpk_test_xxx STRIPE_SECRET_KEYsk_test_xxx STRIPE_WEBHOOK_SECRETwhsec_xxxStep 2初始化数据库将schema.sql在 Supabase SQL Editor 中执行自动创建四张表、触发器和 RLS 策略。Step 3本地调试 Webhook无需部署即可在本地调试stripe listen --forward-to localhost:3000/api/webhooksfixtures/stripe-fixtures.json提供了可直接导入 Stripe 测试环境的示例产品与定价数据配合 Stripe 的测试卡号4242 4242 4242 4242即可完整走通一次订阅支付。还能往哪扩展模板已预置了/dashboard/subscription路由见components/routes.tsx当前处于禁用状态——这正是留给你发挥的空间✅ 接入 Stripe Customer Portal让用户自助管理/取消订阅✅ 在 AI 功能app/api/chatAPI/中加入订阅状态校验实现免费试用 3 次 → 付费解锁✅ 利用trial_credits字段实现试用额度扣减与到期降级✅ 用products/prices的 Realtime 订阅schema 中已创建supabase_realtimepublication实现定价页的实时刷新总结shadcn-nextjs-boilerplate 的 Stripe 集成示范了一条教科书级的 SaaS 订阅支付架构密钥前后端分离、Webhook 验签、事件驱动同步、RLS 权限隔离。对于想上线订阅功能的 Next.js 开发者这套从 Checkout 到 Webhook 的完整链路值得直接抄作业 ⚡【免费下载链接】shadcn-nextjs-boilerplateShadcn UI NextJS Boilerplate ⚡️ Free Open-source ChatGPT UI Admin Dashboard Template - Horizon AI Boilerplate项目地址: https://gitcode.com/gh_mirrors/sh/shadcn-nextjs-boilerplate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

工业PDA H5扫码实战:WebView Bridge打通原生与Web通信

工业PDA H5扫码实战:WebView Bridge打通原生与Web通信

1. 项目概述:当工业级PDA遇上H5最近在做一个挺有意思的项目,客户那边有一批IData T1工业级PDA,他们希望能在设备自带的浏览器里,通过一个H5页面直接调用扫码功能,把扫到的条码或二维码数据回填到网页表单里。这个需求听…

2026/8/25 10:09:54 阅读更多 →
工业级PDA H5扫码方案:JSBridge打通Web与原生硬件

工业级PDA H5扫码方案:JSBridge打通Web与原生硬件

1. 项目概述:当工业级扫码终端遇上H5最近在做一个挺有意思的项目,客户那边有一批IData T1工业级PDA,他们希望能在设备自带的浏览器里,直接运行一个H5页面来完成扫码作业。听起来简单,不就是调用摄像头扫个码嘛&#xf…

2026/8/25 10:09:54 阅读更多 →
strfry数据库设计原理:PackedEvent零拷贝编码+LMDB复合索引如何榨干查询性能

strfry数据库设计原理:PackedEvent零拷贝编码+LMDB复合索引如何榨干查询性能

strfry数据库设计原理:PackedEvent零拷贝编码LMDB复合索引如何榨干查询性能 【免费下载链接】strfry a nostr relay 项目地址: https://gitcode.com/gh_mirrors/st/strfry strfry 是一个用 C 编写的高性能 nostr relay(中继服务器)&am…

2026/8/25 10:08:51 阅读更多 →

最新新闻

基于LLM与自动化架构的AI信息聚合系统设计与实践

基于LLM与自动化架构的AI信息聚合系统设计与实践

1. 项目概述:一个AI信息聚合器的诞生做技术的人,尤其是关注AI领域动态的,每天都有一种“信息焦虑”。早上睁眼,脑子里第一个念头可能就是:OpenAI昨晚又发什么新东西了?Hugging Face上有没有什么惊艳的新模型…

2026/8/25 10:55:56 阅读更多 →
QClaw技能开发实战:从环境搭建到部署上线的完整指南

QClaw技能开发实战:从环境搭建到部署上线的完整指南

1. 项目概述:从零到一,掌握QClaw技能开发最近在开发者圈子里,QClaw这个工具的热度肉眼可见地涨起来了。无论是技术论坛还是项目交流群,总能看到有人在讨论如何用它来快速构建一个属于自己的“技能”。简单来说,QClaw是…

2026/8/25 10:55:56 阅读更多 →
AI智能体自动化部署实践:OpenClaw安装Hermes与自我进化验证

AI智能体自动化部署实践:OpenClaw安装Hermes与自我进化验证

1. 项目概述:当AI开始自我安装最近在折腾AI智能体(Agent)的朋友,可能都绕不开一个有点“元”的话题:让一个Agent去安装和配置另一个Agent。这听起来像是AI领域的“自举”或者“自我进化”的雏形实验。我手头这个项目&a…

2026/8/25 10:55:56 阅读更多 →
【TDengine】集群模式下,TDengine 如何保证数据一致性?

【TDengine】集群模式下,TDengine 如何保证数据一致性?

TDengine 3.4.x 集群数据一致性保障机制深度剖析 问题原文:“集群模式下,TDengine 如何保证数据一致性?” 解析范围:本文将系统性地拆解 TDengine 3.4.x 在集群模式下保障数据一致性的双重核心机制:基于 Raft 协议的 MNode 元数据强一致性 和 基于 WAL + 多副本同步的 VNo…

2026/8/25 10:55:56 阅读更多 →
【TDengine】TDengine 的副本机制(Replica)如何配置和工作?

【TDengine】TDengine 的副本机制(Replica)如何配置和工作?

TDengine 3.4.x 副本机制(Replica)深度解析:配置、原理与高可用实战 问题原文:“TDengine 的副本机制(Replica)如何配置和工作?” 解析范围:本文将全面、深入地剖析 TDengine 3.4.x 的副本机制。我们将从其在 MNode(元数据) 和 VNode(用户数据) 两个层面的不同实现…

2026/8/25 10:55:56 阅读更多 →
自用Android项目框架备份

自用Android项目框架备份

https://gitee.com/lxtttttttttt/demo 多模块功能模块可单独打包运行,多渠道,集成NDK音频录制/播放、AIDL跨进程等常用功能 项目结构: ├── app-main/ # 主应用模块 ├── app-login/ # 登录模块 ├── app-test/ …

2026/8/25 10:54:56 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →