概述
Billing SDK 包括:- React Components:适用于 React 应用的预构建、可自定义计费组件。
- CLI Tooling:用于初始化项目和添加组件的命令行界面。
- Framework Support:支持 Next.js、Express.js、Hono、Fastify、NestJS 和 React 的模板。
- Payment Provider:与 Dodo Payments 的完整集成。
快速开始
要在现有项目中设置 Billing SDK,请从项目根目录运行 CLI:1
Install the CLI
使用 如果经常使用,也可以全局安装。全局安装会添加
npx 运行 CLI,无需安装它:billingsdk 命令,例如 billingsdk init:2
Initialize a Project
运行交互式设置,将计费功能添加到项目中:CLI 会提示你选择:
- 你的框架:Next.js、Express.js、React、Hono、Fastify 或 NestJS。CLI 会检测你的框架,并将其标记为已检测到。
- 你的支付提供商:选择 Dodo Payments。
3
Add Components
将各个计费组件添加到您的项目:
支持的框架
Billing SDK 为以下每个框架提供了 Dodo Payments 模板:CLI 命令
@billingsdk/cli init
init 会在项目中设置计费功能:它会安装带有 Dodo Payments 集成的框架模板,以及模板所需的依赖项。
它的功能:
- Framework Selection:选择框架和支付提供商。
- Template Installation:CLI 会从 Billing SDK registry 下载适用于框架和提供商的模板,并安装其中的文件。
- Dependency Management:CLI 会使用 npm、pnpm、Yarn 或 Bun 安装模板依赖项,例如
dodopayments、standardwebhooks和zod。 - File Generation:CLI 会写入配置文件和样板代码。对于 Express.js、Fastify、Hono 和 NestJS,这些文件会写入
src/。
init,请传入 --framework、--provider 和 --yes,例如 npx @billingsdk/cli init --framework nextjs --provider dodopayments --yes。添加 --dry-run 可列出文件而不写入文件,添加 --no-install 可跳过依赖项安装,或添加 --package-manager 以选择 npm、pnpm、yarn 或 bun。
@billingsdk/cli add
add 通过 shadcn/ui registry 系统在项目中安装单个计费组件。它会使用包管理器的 runner 运行 shadcn@latest add @billingsdk/<component>。
示例:
shadcnCLI 会从 registry 下载组件配置。- 它会将组件文件安装到
components/billingsdk/目录中。 - 如果需要,它会更新项目配置。
- 它会安装所有额外依赖项。
生成的文件结构
运行init 后,项目中会包含:
- API Routes:用于结账、客户、客户付款、产品、订阅和 webhooks 的端点。React 模板不包含 API 路由。
- Hooks:用于计费操作的
useBillingReact hook,适用于 React 和 Next.js。 - Library Files:Dodo Payments 客户端设置和辅助函数,位于
lib/dodopayments.ts中。 - Environment Configuration:环境文件示例
.env.example。
Next.js 示例结构
对于 Next.js,init 会写入以下文件:
环境配置
初始化后,设置环境变量。从控制面板中的 Developer → API Keys 获取 API key,并从 Developer → Webhooks 获取 webhook key:DODO_PAYMENTS_ENVIRONMENT 设置为 test_mode 或 live_mode。生成的 Dodo Payments 客户端对于任何其他值都会抛出错误。
可用组件
Billing SDK 在以下类别中提供 React 组件:- Pricing Tables:八种变体,从
pricing-table-one到pricing-table-eight,用于显示产品定价。 - Subscription Management:
subscription-management,以及用于取消订阅或更新方案的卡片和对话框。 - Usage Monitoring:圆形和线性用量计量器,以及用于基于用量计费的用量表格。
- Checkout Components:支付方式选择器、付款详情表单和支付失败卡片。
- Customer Portal:计费设置、计费页面、发票历史记录和即将产生的费用,供客户自助使用。
开源
Billing SDK 是开源项目:- 透明性:你可以了解每个组件的工作方式。
- 社区:开发者为其他开发者构建它。
- 安全性:任何人都可以审查代码中的安全问题。
- 创新:社区贡献可以加快开发速度。
Billing SDK 根据 GNU General Public License v3.0 (GPL-3.0) 发布,该许可证确保项目保持开放和免费。
获取帮助
如需 Billing SDK 方面的帮助,请使用以下资源:- GitHub Issues:提交 issue
- Documentation:访问 billingsdk.com/docs
- LLMs Full Documentation:billingsdk.com/llms-full.txt
贡献
Billing SDK 欢迎贡献。贡献指南介绍了如何:- 报告 bug
- 请求功能
- 提交 pull request
- 添加新组件
- 改进文档
了解更多
Full Documentation
Billing SDK 完整指南,包含示例和最佳实践
CLI Reference
涵盖所有命令和选项的详细 CLI 文档
Component Library
浏览所有可用组件及其实时示例