> ## 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.

# Billing SDK

> Hệ thống thanh toán hoàn chỉnh cho các ứng dụng web hiện đại với các thành phần React, công cụ CLI và tích hợp full-stack

<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>

Billing SDK là một giải pháp mã nguồn mở toàn diện cung cấp hạ tầng thanh toán hoàn chỉnh cho các ứng dụng web hiện đại. Nó bao gồm các thành phần React, công cụ CLI và hỗ trợ tích hợp full-stack cho nhiều framework với Dodo Payments.

## Tổng quan

Billing SDK cung cấp:

* **Thành phần React**: Các thành phần thanh toán đã được xây dựng sẵn, có thể tùy chỉnh cho các ứng dụng React
* **Công cụ CLI**: Giao diện dòng lệnh để khởi tạo dự án và quản lý thành phần
* **Hỗ trợ Framework**: Tích hợp với Next.js, Express.js, Hono, Fastify và React
* **Nhà cung cấp thanh toán**: Tích hợp hoàn chỉnh với Dodo Payments

## Bắt đầu nhanh

Bắt đầu với Billing SDK chỉ trong vài phút:

<Steps>
  <Step title="Install the CLI">
    Sử dụng npx để chạy CLI mà không cần cài đặt:

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

    Hoặc cài đặt nó toàn cầu để sử dụng thường xuyên:

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

  <Step title="Initialize a Project">
    Chạy tiện ích thiết lập tương tác để tạo dự án thanh toán mới:

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

    Bạn sẽ được nhắc chọn:

    * Khung ưa thích của bạn (Next.js, Express.js, Hono, Fastify, React)
    * Nhà cung cấp thanh toán của bạn (Dodo Payments)
  </Step>

  <Step title="Add Components">
    Thêm các thành phần thanh toán riêng lẻ vào dự án của bạn:

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

## Các Framework được hỗ trợ

Billing SDK hỗ trợ nhiều framework với tích hợp Dodo Payments toàn diện:

| Framework  | Dodo Payments |
| ---------- | ------------- |
| Next.js    | ✅ Có          |
| Express.js | ✅ Có          |
| Hono       | ✅ Có          |
| React      | ✅ Có          |
| Fastify    | ✅ Có          |

## Lệnh CLI

### `@billingsdk/cli init`

Khởi tạo một dự án thanh toán mới với thiết lập hoàn chỉnh bao gồm cấu hình framework, tích hợp Dodo Payments và các phụ thuộc cần thiết.

**Chức năng:**

1. **Chọn Framework**: Chọn framework bạn ưa thích
2. **Cài đặt Mẫu**: Tải xuống và cài đặt các mẫu cụ thể cho framework với tích hợp Dodo Payments
3. **Quản lý Phụ thuộc**: Tự động cài đặt các phụ thuộc cần thiết
4. **Tạo Tệp**: Tạo các tệp cấu hình cần thiết và mã khởi tạo

**Ví dụ:**

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

### `@billingsdk/cli add`

Thêm các thành phần thanh toán riêng lẻ vào dự án hiện có của bạn bằng cách sử dụng hệ thống đăng ký shadcn/ui.

**Ví dụ:**

```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
```

**Điều gì xảy ra:**

1. Tải cấu hình thành phần từ đăng ký
2. Cài đặt các tệp thành phần vào thư mục `components/billingsdk/` của bạn
3. Cập nhật cấu hình dự án nếu cần
4. Cài đặt bất kỳ phụ thuộc bổ sung nào

## Cấu trúc Tệp Được Tạo

Sau khi chạy `init`, bạn sẽ có cấu trúc dự án hoàn chỉnh với:

* **API Routes**: Các điểm cuối toàn diện cho thanh toán, khách hàng, sản phẩm, đăng ký và webhook
* **Hooks**: Các hook React cho các hoạt động thanh toán (nếu sử dụng React/Next.js)
* **Tệp Thư viện**: Khởi tạo và tiện ích cho nhà cung cấp thanh toán
* **Cấu hình Môi trường**: Các tệp biến môi trường ví dụ

### Cấu trúc Ví dụ 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
```

## Cấu hình Môi trường

Cấu hình các biến môi trường của bạn sau khi khởi tạo:

```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>
  Luôn lưu trữ khóa API của bạn một cách an toàn bằng biến môi trường. Không bao giờ đẩy chúng lên hệ thống kiểm soát phiên bản.
</Warning>

## Các Thành phần Có sẵn

Billing SDK cung cấp một bộ sưu tập toàn diện các thành phần React:

* **Bảng Giá**: Nhiều biến thể để hiển thị giá sản phẩm
* **Quản lý Đăng ký**: Các thành phần để quản lý đăng ký của khách hàng
* **Giám sát Sử dụng**: Các thành phần trực quan để theo dõi thanh toán dựa trên mức sử dụng
* **Thành phần Thanh toán**: Các quy trình thanh toán đã được xây dựng sẵn
* **Cổng Khách hàng**: Các thành phần cho dịch vụ tự phục vụ của khách hàng

## Mã Nguồn Mở

Billing SDK được xây dựng dựa trên các nguyên tắc mã nguồn mở:

* 🔍 **Minh bạch**: Toàn bộ khả năng hiển thị về cách các thành phần hoạt động
* 🤝 **Cộng đồng**: Được xây dựng bởi các nhà phát triển, cho các nhà phát triển
* 🔒 **Bảo mật**: Mã mở có nghĩa là bảo mật tốt hơn thông qua việc xem xét của đồng nghiệp
* 📈 **Đổi mới**: Tốc độ lặp lại nhanh hơn thông qua các đóng góp của cộng đồng

<Info>
  Billing SDK được phát hành theo Giấy phép Công cộng GNU (GPL), đảm bảo dự án luôn mở và miễn phí.
</Info>

## Nhận Giúp đỡ

Cần hỗ trợ với Billing SDK?

* **Vấn đề trên GitHub**: [Mở một vấn đề](https://github.com/dodopayments/billingsdk/issues)
* **Tài liệu**: Truy cập [billingsdk.com/docs](https://billingsdk.com/docs)
* **Tài liệu đầy đủ về LLMs**: [billingsdk.com/llms-full.txt](https://billingsdk.com/llms-full.txt)

## Đóng góp

Chúng tôi hoan nghênh các đóng góp! Xem [hướng dẫn đóng góp](https://billingsdk.com/docs/contribution-open-source) của chúng tôi để biết chi tiết về:

* Báo cáo lỗi
* Yêu cầu tính năng
* Gửi yêu cầu kéo
* Thêm các thành phần mới
* Cải thiện tài liệu

## Tìm hiểu thêm

<CardGroup cols={3}>
  <Card title="Full Documentation" icon="book" href="https://billingsdk.com/docs">
    Hướng dẫn đầy đủ về Billing SDK kèm ví dụ và thực hành tốt nhất
  </Card>

  <Card title="CLI Reference" icon="terminal" href="https://billingsdk.com/docs/cli">
    Tài liệu CLI chi tiết cho tất cả lệnh và tùy chọn
  </Card>

  <Card title="Component Library" icon="boxes-stacked" href="https://billingsdk.com/docs/components">
    Duyệt tất cả các thành phần có sẵn với ví dụ trực tiếp
  </Card>
</CardGroup>
