定价与支付模块完整指南
Nexty.dev 提供了一套完整的 SaaS 定价与支付解决方案,基于 Stripe 支付网关和 Supabase 数据库构建。代码设计遵循 SaaS 产品支付功能最佳实践,支持一次性购买和订阅两种付费模式,具备完整的用户权益管理、积分系统和多语言支持。
主要特性
- ✅ 双重付费模式:一次性购买 + 订阅制
- ✅ 积分系统:一次性积分 + 订阅积分管理
- ✅ Stripe 集成:完整的支付流程和 Webhook 处理
- ✅ 多语言支持:定价计划的国际化
- ✅ 管理后台:可视化的定价计划管理
- ✅ 权益管理:灵活的用户权益配置
- ✅ 退款处理:自动化的退款和权益回收
核心功能
定价计划管理
- 环境隔离:支持
test
和live
环境,与 Stripe 环境关联,避免数据混乱 - 多语言配置:通过
lang_jsonb
字段支持多语言,支持一键翻译 - 权益定义:默认提供
one_time_credits
和monthly_credits
字段作为积分权益,可通过benefits_jsonb
字段自由定义计划权益 - 显示控制:支持高亮显示、排序、激活状态控制
- 实时预览:卡片修改实时预览,定价卡片展示内容安全可控
支付流程
一次性购买流程
Loading diagram...
订阅流程
Loading diagram...
积分系统
Nexty.dev 的积分系统提供了以下开箱即用的特性:
- 一次性积分:购买后永久有效,支持累积计算
- 订阅积分:每个计费周期重置,按月/年分配
- 扣除策略:支持多种扣除优先级策略
- 余额管理:实时余额查询和更新
对于简单的 SaaS 产品,你可以直接使用内置的逻辑。如果需要更复杂的积分系统和处理逻辑,可以通过 benefits_jsonb
字段自由扩展,并根据后续的教程开发对应的逻辑。
数据库设计
核心表结构
- pricing_plans - 定价计划表
- 存储所有定价计划配置
- 支持多语言和权益定义
- 环境隔离(test/live)
- orders - 订单表
- 记录所有支付交易
- 支持多种订单类型
- 完整的支付信息追踪
- subscriptions - 订阅表
- 同步 Stripe 订阅状态
- 订阅生命周期管理
- 计费周期追踪
- usage - 用量表
- 用户积分余额管理
- 支持多种积分类型
- 实时余额更新
关键组件
后端组件
lib/stripe/
- Stripe 核心处理逻辑actions/prices/
- 定价计划管理actions/usage/
- 积分管理
前端组件
components/home/Pricing.tsx
- 定价展示components/home/PricingCTA.tsx
- 购买按钮app/[locale]/(protected)/dashboard/(admin)/prices/
- 管理后台app/[locale]/(protected)/dashboard/(user)/subscription/
- 用户订阅管理