概述
Next.js 最小化模板提供了一个现成的起点,用于将 Dodo Payments 集成到您的 Next.js 应用程序中。此模板包括结账会话、Webhook 处理、客户门户和现代 UI 组件,帮助您快速开始接受付款。这个样板工程使用 Next.js 16 App Router、TypeScript、Tailwind CSS 4 以及
@dodopayments/nextjs 适配器。特性
- 快速设置 - 5 分钟内即可开始
- 付款集成 - 使用
@dodopayments/nextjs预配置的结账流程 - 现代化界面 - 使用 Tailwind CSS 的简洁深色定价页面
- Webhook 处理 - 可即刻使用的支付事件 webhook 端点
- 客户门户 - 一键订阅管理
- TypeScript - 完全类型化,类型精简聚焦
- 预填充结账 - 演示如何传递客户数据以提升用户体验
先决条件
在开始之前,请确保您拥有:- Node.js 20.9+(Next.js 16 所需)
- Dodo Payments 账户(从仪表板访问 API 和 Webhook 密钥)
快速开始
Get API Credentials
在 Dodo Payments 注册并从仪表板获取凭据:
- API 密钥: 仪表板 → 开发者 → API 密钥
- Webhook 密钥: 仪表板 → 开发者 → Webhooks
Run the Development Server
项目结构
自定义
更新产品信息
编辑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:故障排除
Module not found or build errors
Module not found or build errors
删除
node_modules 并重新安装依赖项:Checkout redirect fails
Checkout redirect fails
常见原因:
- 无效的产品 ID —— 请确认它在你的 Dodo 仪表板中存在
.env中的 API 密钥或环境设置错误- 检查浏览器控制台和终端中的错误
Webhooks not receiving events
Webhooks not receiving events
为了本地测试,请使用 ngrok 暴露你的服务器:在你的 Dodo dashboard 中将 webhook URL 更新为 ngrok URL。记得用正确的 webhook 验证密钥更新你的 .env 文件。
Customer portal link doesn't work
Customer portal link doesn't work
在
src/app/components/Header.tsx 中,用你在 Dodo 仪表板上的实际客户 ID 替换硬编码的 CUSTOMER_ID。或者集成你的身份验证系统与数据库,以动态获取客户 ID。了解更多
支持
需要有关模板的帮助吗?- 加入我们的 Discord 社区 进行提问和讨论
- 查看 GitHub 仓库 以获取问题和更新
- 联系我们的 支持团队 寻求帮助