> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 计费 SDK

> 现代 Web 应用程序的完整计费基础设施，包含 React 组件、CLI 工具和全栈集成

<Frame>
  <iframe className="w-full aspect-video rounded-md" src="https://www.youtube.com/embed/32RVbEllEi0" title="Billing SDK | Dodo Payments" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />
</Frame>

计费 SDK 是一个全面的开源解决方案，为现代 Web 应用程序提供完整的计费基础设施。它包括 React 组件、CLI 工具和对多个框架的全栈集成支持，兼容 Dodo Payments。

## 概述

计费 SDK 提供：

* **React 组件**：为 React 应用程序预构建的可定制计费组件
* **CLI 工具**：用于项目初始化和组件管理的命令行界面
* **框架支持**：与 Next.js、Express.js、Hono、Fastify 和 React 的集成
* **支付提供商**：与 Dodo Payments 的完整集成

## 快速开始

几分钟内开始使用计费 SDK：

<Steps>
  <Step title="Install the CLI">
    使用 npx 运行 CLI，无需安装：

    ```bash theme={null}
    npx @billingsdk/cli --help
    ```

    或者为频繁使用全局安装：

    ```bash theme={null}
    npm install -g @billingsdk/cli
    ```
  </Step>

  <Step title="Initialize a Project">
    运行交互式设置以创建新的计费项目：

    ```bash theme={null}
    npx @billingsdk/cli init
    ```

    您将被提示选择：

    * 您偏好的框架（Next.js、Express.js、Hono、Fastify、React）
    * 您的支付提供商（Dodo Payments）
  </Step>

  <Step title="Add Components">
    将各个计费组件添加到您的项目：

    ```bash theme={null}
    npx @billingsdk/cli add pricing-table-one
    npx @billingsdk/cli add subscription-management
    ```
  </Step>
</Steps>

## 支持的框架

计费 SDK 支持多个框架，并提供全面的 Dodo Payments 集成：

| 框架         | Dodo Payments |
| ---------- | ------------- |
| Next.js    | ✅ 是           |
| Express.js | ✅ 是           |
| Hono       | ✅ 是           |
| React      | ✅ 是           |
| Fastify    | ✅ 是           |

## CLI 命令

### `@billingsdk/cli init`

初始化一个新的计费项目，包含框架配置、Dodo Payments 集成和必要的依赖项。

**它的功能：**

1. **框架选择**：选择您首选的框架
2. **模板安装**：下载并安装特定于框架的模板，包含 Dodo Payments 集成
3. **依赖管理**：自动安装所需的依赖项
4. **文件生成**：创建必要的配置文件和样板代码

**示例：**

```bash theme={null}
npx @billingsdk/cli init
```

### `@billingsdk/cli add`

使用 shadcn/ui 注册系统将单个计费组件添加到您现有的项目中。

**示例：**

```bash theme={null}
# Add a pricing table
npx @billingsdk/cli add pricing-table-one

# Add subscription management
npx @billingsdk/cli add subscription-management

# Add usage monitoring
npx @billingsdk/cli add usage-meter-circle
```

**发生的事情：**

1. 从注册表下载组件配置
2. 在您的 `components/billingsdk/` 目录安装组件文件
3. 如有需要更新您的项目配置
4. 安装任何附加依赖

## 生成的文件结构

运行 `init` 后，您将获得一个完整的项目结构，包括：

* **API 路由**：用于结账、客户、产品、订阅和 Webhook 的全面端点
* **Hooks**：用于计费操作的 React hooks（如果使用 React/Next.js）
* **库文件**：支付提供商客户端初始化和实用工具
* **环境配置**：示例环境变量文件

### Next.js 示例结构

```
your-project/
├── app/api/
│   └── (dodopayments)/
│       ├── checkout/route.ts
│       ├── customer/route.ts
│       ├── customer/payments/route.ts
│       ├── customer/subscriptions/route.ts
│       ├── product/route.ts
│       ├── products/route.ts
│       └── webhook/route.ts
├── hooks/
│   └── useBilling.ts
├── lib/
│   └── dodopayments.ts
└── .env.example
```

## 环境配置

初始化后配置您的环境变量：

```bash theme={null}
# DodoPayments
DODO_PAYMENTS_API_KEY=your_api_key_here
DODO_PAYMENTS_ENVIRONMENT=test_mode
DODO_PAYMENTS_WEBHOOK_KEY=your_webhook_key_here

# App URL
NEXT_PUBLIC_APP_URL=http://localhost:3000
```

<Warning>
  始终通过环境变量安全存储 API 密钥。切勿将其提交到版本控制。
</Warning>

## 可用组件

计费 SDK 提供了一整套 React 组件：

* **定价表**：多种变体用于显示产品定价
* **订阅管理**：用于管理客户订阅的组件
* **使用监控**：用于跟踪基于使用的计费的可视化组件
* **结账组件**：预构建的结账流程
* **客户门户**：用于客户自助服务的组件

## 开源

计费 SDK 基于开源原则构建：

* 🔍 **透明性**：完全了解组件的工作原理
* 🤝 **社区**：由开发者为开发者构建
* 🔒 **安全性**：开放代码意味着通过同行评审提高安全性
* 📈 **创新**：通过社区贡献加快迭代

<Info>
  Billing SDK 以 GNU 通用公共许可证（GPL）发布，确保项目保持开源和免费。
</Info>

## 获取帮助

需要计费 SDK 的帮助吗？

* **GitHub 问题**： [打开一个问题](https://github.com/dodopayments/billingsdk/issues)
* **文档**：访问 [billingsdk.com/docs](https://billingsdk.com/docs)
* **LLMs 完整文档**： [billingsdk.com/llms-full.txt](https://billingsdk.com/llms-full.txt)

## 贡献

我们欢迎贡献！请查看我们的 [贡献指南](https://billingsdk.com/docs/contribution-open-source)，了解：

* 报告错误
* 请求功能
* 提交拉取请求
* 添加新组件
* 改进文档

## 了解更多

<CardGroup cols={3}>
  <Card title="Full Documentation" icon="book" href="https://billingsdk.com/docs">
    完整的 Billing SDK 指南，包含示例和最佳实践
  </Card>

  <Card title="CLI Reference" icon="terminal" href="https://billingsdk.com/docs/cli">
    所有命令和选项的详细 CLI 文档
  </Card>

  <Card title="Component Library" icon="boxes-stacked" href="https://billingsdk.com/docs/components">
    浏览所有可用组件及其实时示例
  </Card>
</CardGroup>
