GitHub Repository
完整的 FastAPI + Dodo Payments 样板
概述
FastAPI 模板为将 Dodo Payments 集成到您的 Python 后端提供了一个生产就绪的起点。此模板包括结账会话处理、Webhook 验证、客户门户集成和异步 API 模式,帮助您快速开始接受支付。该样板使用 FastAPI 的 async/await 模式,Pydantic 进行验证,以及
dodopayments Python SDK 实现无缝 API 集成。特性
- 快速设置 - 在 5 分钟内开始
- 异步支持 - 使用 FastAPI 的原生 async/await 模式构建
- 结账会话 - 使用 Python SDK 预配置的结账流程
- Webhook 处理 - 带有签名验证的安全 Webhook 端点
- 客户门户 - 轻松创建客户门户会话
- 类型安全 - 完整的 Pydantic 验证和类型提示
- 环境配置 - 准备使用的环境变量设置
先决条件
在开始之前,请确保您拥有:- Python 3.9+(推荐:Python 3.11+)
- pip 或 uv 进行包管理
- Dodo Payments 账户(以从仪表板访问 API 和 Webhook 密钥)
快速开始
1
Clone the Repository
2
Create Virtual Environment
设置独立的 Python 环境:或者使用 uv 进行更快的依赖管理:
3
Install Dependencies
4
Get API Credentials
在 Dodo Payments 注册并从仪表板获取你的凭据:
- API 密钥: 仪表板 → 开发者 → API 密钥
- Webhook 密钥: 仪表板 → 开发者 → Webhooks
5
Configure Environment Variables
在根目录创建一个 用您的 Dodo Payments 凭证更新值:
.env 文件:.env
6
Run the Development Server
项目结构
API 端点
该模板包括以下预配置的端点:代码示例
创建结账会话
处理 Webhook
客户门户集成
Webhook 事件
该模板演示了处理常见 Webhook 事件:
在 Webhook 处理程序中添加您的业务逻辑:
- 更新数据库中的用户权限
- 发送确认电子邮件
- 提供对数字产品的访问
- 跟踪分析和指标
本地测试 Webhook
对于本地开发,使用 ngrok 来暴露您的本地服务器:部署
Docker
生产注意事项
故障排除
Import errors or missing modules
Import errors or missing modules
确保你的虚拟环境已激活且依赖项已安装:
Checkout session creation fails
Checkout session creation fails
常见原因:
- 无效的产品 ID —— 在你的 Dodo 仪表板中验证其存在
.env中的 API 密钥或环境设置错误- 查看 FastAPI 日志以获取详细错误信息
Webhooks not receiving events
Webhooks not receiving events
对于本地测试,使用 ngrok 暴露你的服务器:在 Dodo dashboard 中将 webhook URL 更新为 ngrok URL。确保在
.env 文件中使用正确的 webhook 验证密钥。Webhook signature verification fails
Webhook signature verification fails
- 确保
DODO_PAYMENTS_WEBHOOK_KEY在.env中被正确设置 - 验证你使用的是原始请求体进行签名验证
- 检查你是否正确读取了
webhook-signature头
了解更多
Python SDK
包含异步支持的完整 Python SDK 文档
Webhooks Documentation
了解所有 webhook 事件及最佳实践
Checkout Sessions
深入了解结账会话配置
API Reference
完整的 Dodo Payments API 文档
支持
需要有关模板的帮助吗?- 加入我们的 Discord 社区 进行提问和讨论
- 查看 GitHub 仓库 以获取问题和更新
- 联系我们的 支持团队 寻求帮助