Menu

定价与支付模块完整指南

Nexty.dev 提供了一套完整的 SaaS 定价与支付解决方案,基于 Stripe 支付网关和 Supabase 数据库构建。代码设计遵循 SaaS 产品支付功能最佳实践,支持一次性购买和订阅两种付费模式,具备完整的用户权益管理、积分系统和多语言支持。

主要特性

  • 双重付费模式:一次性购买 + 订阅制
  • 积分系统:一次性积分 + 订阅积分管理
  • Stripe 集成:完整的支付流程和 Webhook 处理
  • 多语言支持:定价计划的国际化
  • 管理后台:可视化的定价计划管理
  • 权益管理:灵活的用户权益配置
  • 退款处理:自动化的退款和权益回收

核心功能

定价计划管理

  • 环境隔离:支持 testlive 环境,与 Stripe 环境关联,避免数据混乱
  • 多语言配置:通过 lang_jsonb 字段支持多语言,支持一键翻译
  • 权益定义:默认提供 one_time_creditsmonthly_credits 字段作为积分权益,可通过 benefits_jsonb 字段自由定义计划权益
  • 显示控制:支持高亮显示、排序、激活状态控制
  • 实时预览:卡片修改实时预览,定价卡片展示内容安全可控

支付流程

一次性购买流程

Loading diagram...

订阅流程

Loading diagram...

积分系统

Nexty.dev 的积分系统提供了以下开箱即用的特性:

  • 一次性积分:购买后永久有效,支持累积计算
  • 订阅积分:每个计费周期重置,按月/年分配
  • 扣除策略:支持多种扣除优先级策略
  • 余额管理:实时余额查询和更新

对于简单的 SaaS 产品,你可以直接使用内置的逻辑。如果需要更复杂的积分系统和处理逻辑,可以通过 benefits_jsonb 字段自由扩展,并根据后续的教程开发对应的逻辑。

数据库设计

核心表结构

  1. pricing_plans - 定价计划表
  • 存储所有定价计划配置
  • 支持多语言和权益定义
  • 环境隔离(test/live)
  1. orders - 订单表
  • 记录所有支付交易
  • 支持多种订单类型
  • 完整的支付信息追踪
  1. subscriptions - 订阅表
  • 同步 Stripe 订阅状态
  • 订阅生命周期管理
  • 计费周期追踪
  1. 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/ - 用户订阅管理