概述
Next.js 最小化模板提供了一个现成的起点,用于将 Dodo Payments 集成到您的 Next.js 应用程序中。此模板包括结账会话、Webhook 处理、客户门户和现代 UI 组件,帮助您快速开始接受付款。此模板使用 Next.js 16 应用路由器,配合 TypeScript、Tailwind CSS 4 和
@dodopayments/nextjs 适配器。特性
- 快速设置 - 在 5 分钟内开始
- 支付集成 - 使用
@dodopayments/nextjs预配置的结账流程 - 现代 UI - 干净、深色主题的定价页面,使用 Tailwind CSS
- Webhook 处理程序 - 准备好的支付事件 Webhook 端点
- 客户门户 - 一键订阅管理
- TypeScript - 完全类型化,具有最小、专注的类型
- 预填充结账 - 演示传递客户数据以改善用户体验
先决条件
在开始之前,请确保您拥有:- Node.js 20.9+(Next.js 16 所需)
- Dodo Payments 账户(从仪表板访问 API 和 Webhook 密钥)
快速开始
1
克隆仓库
2
安装依赖
3
获取 API 凭证
在 Dodo Payments 注册并从仪表板获取您的凭证:
- API 密钥: 仪表板 → 开发者 → API 密钥
- Webhook 密钥: 仪表板 → 开发者 → Webhooks
4
配置环境变量
在根目录中创建一个 使用您的 Dodo Payments 凭证更新值:
.env 文件:5
添加您的产品
使用您在 Dodo Payments 中的实际产品 ID 更新
src/lib/products.ts:6
运行开发服务器
项目结构
自定义
更新产品信息
编辑src/lib/products.ts 以修改:
- 产品 ID(来自您的 Dodo 仪表板)
- 定价
- 特性
- 描述
预填充客户数据
在src/app/components/ProductCard.tsx 中,将硬编码的值替换为您的实际用户数据:
更新客户门户
在src/app/components/Header.tsx 中,替换硬编码的客户 ID:
Webhook 事件
该模板演示了在src/app/api/webhook/route.ts 中处理两个 Webhook 事件:
onSubscriptionActive- 当订阅变为活动时触发onPaymentSucceeded- 当支付成功时触发
部署
为生产构建
部署到 Vercel
[更新 Webhook URL
部署后,在 Dodo Payments 仪表板 中更新您的 Webhook URL:故障排除
模块未找到或构建错误
模块未找到或构建错误
删除
node_modules 并重新安装依赖:结账重定向失败
结账重定向失败
常见原因:
- 无效的产品 ID - 验证它是否存在于您的 Dodo 仪表板中
- 错误的 API 密钥或
.env中的环境设置 - 检查浏览器控制台和终端中的错误
Webhook 未接收事件
Webhook 未接收事件
客户门户链接无效
客户门户链接无效
在
src/app/components/Header.tsx 中,将硬编码的 CUSTOMER_ID 替换为来自您的 Dodo 仪表板的实际客户 ID。或者集成您的身份验证系统和数据库以动态获取客户 ID。了解更多
支持
需要有关模板的帮助吗?- 加入我们的 Discord 社区 进行提问和讨论
- 查看 GitHub 仓库 以获取问题和更新
- 联系我们的 支持团队 寻求帮助