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

# v1.86.0 (March 2, 2026)

> Thanh toán dựa trên tín dụng với khả năng chuyển tiếp, vượt hạn mức và kiểm soát hết hạn, trung tâm tùy chỉnh thiết kế và chủ đề thống nhất, trạng thái hoàn tiền và tranh chấp trong API danh sách thanh toán, bảng hoàn tiền trong cổng khách hàng, và sao chép sang chế độ trực tiếp cho bộ đếm

## Các tính năng mới

### 1. **Thanh toán dựa trên tín dụng**

Dodo Payments hiện hỗ trợ **Thanh toán dựa trên tín dụng**, một hệ thống linh hoạt để phát hành, quản lý và theo dõi quyền lợi tín dụng cho các đăng ký, sản phẩm một lần và thanh toán dựa trên sử dụng. Thay vì tính phí theo từng lần sử dụng hoặc giới hạn quyền truy cập thông qua các cờ tính năng, bạn phân bổ một nhóm tín dụng để khách hàng rút ra khi họ tiêu thụ dịch vụ của bạn.

<Frame>
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Checkout.png?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=21880df0e4b0b1a3cb8593dbeb8ae343" alt="Trang thanh toán hiển thị các khoản tín dụng bao gồm với việc mua sản phẩm" style={{ maxHeight: '500px', width: 'auto' }} width="1440" height="960" data-path="images/CBB/Checkout.png" />
</Frame>

**Bạn có thể làm gì**

| Khả năng                                   | Mô tả                                                                                                                             |
| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| **Đơn vị tùy chỉnh hoặc tín dụng tiền tệ** | Định nghĩa tín dụng theo đơn vị riêng của bạn (lượt gọi API, token, giờ tính toán) hoặc theo giá trị tiền tệ thực (USD, EUR)      |
| **Tín dụng đăng ký**                       | Phát hành tín dụng mỗi chu kỳ thanh toán với việc cấp lại tự động khi gia hạn                                                     |
| **Tín dụng một lần**                       | Cấp một số dư tín dụng cố định khi mua, lý tưởng cho gói nạp thêm hoặc bộ khuyến mãi                                              |
| **Khấu trừ dựa trên sử dụng**              | Liên kết tín dụng với bộ đếm để khấu trừ tự động dựa trên sự kiện tiêu thụ theo thời gian thực                                    |
| **Chuyển tiếp**                            | Cho phép tín dụng chưa sử dụng được chuyển sang kỳ sau với tỷ lệ % tối đa, khung thời gian và số lần chuyển tiếp có thể tùy chỉnh |
| **Kiểm soát vượt hạn mức**                 | Cho phép khách hàng tiếp tục sử dụng dịch vụ dù vượt số dư, với các tùy chọn xoá nợ, tính phí hoặc chuyển khoản số âm             |
| **Hết hạn**                                | Đặt thời hạn tín dụng từ 7 ngày cho đến không bao giờ, với số ngày tùy chỉnh                                                      |

**Vòng đời tín dụng**

1. **Tín dụng được cấp** - Cấp khi khách hàng mua sản phẩm kèm quyền lợi tín dụng. Với đăng ký, tín dụng được cấp lại mỗi chu kỳ thanh toán.
2. **Tín dụng được tiêu dùng** - Khấu trừ khi khách hàng sử dụng dịch vụ. Bộ đếm tự động khấu trừ dựa trên sự kiện thời gian thực, hoặc bạn có thể khấu trừ thủ công qua bảng điều khiển hoặc API.
3. **Tín dụng hết hạn hoặc chuyển tiếp** - Vào cuối chu kỳ thanh toán (hoặc sau khoảng thời gian hết hạn đã cấu hình), tín dụng chưa dùng sẽ hết hạn hoặc chuyển tiếp dựa trên cài đặt của bạn.
4. **Xử lý vượt hạn mức** - Nếu tín dụng cạn giữa chu kỳ, bạn có thể cho phép tiếp tục sử dụng và chọn cách xử lý vượt hạn mức vào cuối chu kỳ.

**Đính kèm tín dụng vào sản phẩm**

Tín dụng được đính kèm như các **quyền lợi** trong quy trình tạo sản phẩm. Bạn có thể đính kèm tối đa **3 tín dụng cho mỗi sản phẩm**, và tín dụng hoạt động với cả ba loại giá: đăng ký, thanh toán một lần và thanh toán dựa trên sử dụng.

```typescript theme={null}
// Create a checkout session for a product with attached credits
const session = await client.checkoutSessions.create({
  product_cart: [
    {
      product_id: 'pdt_ai_pro_plan',
      quantity: 1,
    }
  ],
  customer: { email: 'customer@example.com' },
  return_url: 'https://yourapp.com/success'
});
```

**Khấu trừ dựa trên sử dụng**

Khi tín dụng được liên kết với bộ đếm, hệ thống tự động khấu trừ tín dụng dựa trên các sự kiện sử dụng được nhập. Cấu hình tỷ lệ **đơn vị bộ đếm trên tín dụng** để kiểm soát chuyển đổi (ví dụ: 1.000 cuộc gọi API = 1 tín dụng).

```typescript theme={null}
// Send usage events that deduct credits automatically
await fetch('https://test.dodopayments.com/events/ingest', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.DODO_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    events: [{
      event_id: `gen_${Date.now()}`,
      customer_id: 'cus_abc123',
      event_name: 'ai.generation',
      timestamp: new Date().toISOString(),
      metadata: { model: 'gpt-4', tokens: 1500 }
    }]
  })
});
```

**Trải nghiệm khách hàng**

Khách hàng có thể xem và quản lý số dư tín dụng trong **Cổng khách hàng** dưới phần Tín dụng, với số dư hiện có, lịch sử giao dịch và phân tích sử dụng. Tín dụng cũng hiển thị trong trang thanh toán, chi tiết đăng ký và trang giao dịch thanh toán.

<Frame>
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Customer%20Portal.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=b8afe1f89242f9e347b26b990dd00fe8" alt="Giao diện tín dụng Cổng khách hàng với số dư và lịch sử giao dịch" style={{ maxHeight: '500px', width: 'auto' }} width="3016" height="2030" data-path="images/CBB/Customer Portal.jpg" />
</Frame>

**Webhook**

Thanh toán dựa trên tín dụng kích hoạt các sự kiện webhook cho mọi thay đổi vòng đời tín dụng:

| Sự kiện                     | Mô tả                                                    |
| --------------------------- | -------------------------------------------------------- |
| `credit.added`              | Tín dụng được cấp cho khách hàng                         |
| `credit.deducted`           | Tín dụng được tiêu thụ qua sử dụng hoặc ghi nợ thủ công  |
| `credit.expired`            | Tín dụng chưa dùng đã hết hạn                            |
| `credit.rolled_over`        | Tín dụng được chuyển tiếp sang cấp phát mới              |
| `credit.rollover_forfeited` | Tín dụng bị tịch thu khi đạt giới hạn chuyển tiếp tối đa |
| `credit.overage_charged`    | Áp dụng phí vượt hạn mức                                 |
| `credit.manual_adjustment`  | Điều chỉnh tín dụng/ghi nợ thủ công                      |
| `credit.balance_low`        | Số dư giảm xuống dưới ngưỡng cấu hình                    |

<Tip>
  Bắt đầu với các cài đặt đơn giản: không chuyển tiếp, không vượt hạn mức, rồi bổ sung dần khi bạn hiểu cách khách hàng sử dụng tín dụng. Hầu hết cài đặt có thể được cập nhật bất cứ khi nào mà không ảnh hưởng đến các cấp phát hiện có.
</Tip>

Tìm hiểu thêm: [Credit-Based Billing](/features/credit-based-billing) | [Credit Webhook Payloads](/developer-resources/webhooks/intents/credit) | [Credit Entitlements API](/api-reference/credit-entitlements/create-credit-entitlement)

### 2. **Tùy chỉnh thiết kế & chủ đề**

Giới thiệu trang **Thiết kế** mới, một trung tâm thống nhất để tùy chỉnh giao diện và cảm nhận của trang thanh toán, cửa hàng và cổng khách hàng từ một nơi duy nhất. Chọn chủ đề có sẵn, cấu hình kiểu chữ và màu sắc, và áp dụng ghi đè theo từng phần, tất cả đều có bản xem trước trực tiếp trước khi lưu.

<Frame>
  <img src="https://mintcdn.com/dodopayments/vsqWNGxzquCPMqJB/images/design/general-overview.jpg?fit=max&auto=format&n=vsqWNGxzquCPMqJB&q=85&s=89f19bfb791cb903fccb3ea7127246ba" alt="Trang cài đặt thiết kế với chế độ xem trước trực tiếp của thanh toán, cổng khách hàng và cửa hàng" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/design/general-overview.jpg" />
</Frame>

**Điểm nổi bật chính**

| Tính năng                         | Mô tả                                                                                                 |
| --------------------------------- | ----------------------------------------------------------------------------------------------------- |
| **Trung tâm thiết kế thống nhất** | Cấu hình giao diện trang thanh toán, cửa hàng và cổng khách hàng từ một trang duy nhất                |
| **Chủ đề có sẵn**                 | Bắt đầu với chủ đề được chọn lọc (Dodo Pulses, Terminal, Bumblebee hoặc Bubblegum) và tùy chỉnh từ đó |
| **Chế độ sáng & tối**             | Định nghĩa bảng màu riêng cho mỗi chế độ                                                              |
| **Xem trước trực tiếp**           | Xem trước các thay đổi trên trang thanh toán, cổng khách hàng và cửa hàng trước khi lưu               |
| **Ghi đè theo từng phần**         | Tinh chỉnh từng phần mà không ảnh hưởng đến phần khác                                                 |
| **Điều khiển lập trình**          | Ghi đè chủ đề khi thanh toán thông qua API hoặc Checkout SDK                                          |

**Bắt đầu**

Đi đến **Thiết kế** trong thanh bên chính của Bảng điều khiển người bán. Trang có bốn tab:

| Tab                 | Mục đích                                                      |
| ------------------- | ------------------------------------------------------------- |
| **Tổng quan**       | Tên doanh nghiệp, logo, chọn chủ đề và cài đặt nâng cao chung |
| **Thanh toán**      | Ghi đè cài đặt chủ đề riêng cho trang thanh toán              |
| **Cửa hàng**        | Ghi đè cài đặt chủ đề và cấu hình bố cục cửa hàng             |
| **Cổng khách hàng** | Ghi đè cài đặt chủ đề cho cổng khách hàng                     |

**Cài đặt nâng cao**

Mở rộng phần Cài đặt nâng cao ở tab Tổng quan để điều chỉnh chi tiết kiểu chữ (Google Fonts chính/phụ, kích thước chữ, độ đậm chữ), cấu hình màu sắc (bảng màu riêng cho chế độ sáng và tối, bao gồm nền, chữ, nút và viền), và bán kính góc để kiểm soát độ bo tròn của các thành phần giao diện.

<Frame>
  <img src="https://mintcdn.com/dodopayments/vsqWNGxzquCPMqJB/images/design/general-color-settings.jpg?fit=max&auto=format&n=vsqWNGxzquCPMqJB&q=85&s=c09ecc738beb79cff0d130f46bb72b0a" alt="Cài đặt nâng cao được mở rộng hiển thị đầy đủ cấu hình màu cho chế độ sáng và tối" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="4192" data-path="images/design/general-color-settings.jpg" />
</Frame>

**Chủ đề có sẵn**

Bốn chủ đề được chọn lọc đi kèm sẵn:

* **Dodo Pulses** - Chủ đề mặc định với điểm nhấn xanh chanh và kiểu chữ sans-serif gọn gàng
* **Terminal** - Hướng đến nhà phát triển với kiểu chữ monospaced và điểm nhấn xanh hoàng gia
* **Bumblebee** - Điểm nhấn amber ấm áp và vàng sang trọng với phong cách đậm, cao cấp
* **Bubblegum** - Điểm nhấn hồng và magenta vui nhộn với các góc bo tròn hoàn toàn

<Tip>
  Sau khi chọn chủ đề có sẵn, bạn có thể tùy chỉnh thêm từng thuộc tính trong Cài đặt nâng cao. Bất kỳ thuộc tính nào không được chỉ định sẽ trở về mặc định của chủ đề.
</Tip>

Tìm hiểu thêm: [Design & Theme Customization](/features/design) | [Checkout Features](/features/checkout) | [Storefront](/features/storefront)

### 3. **Trạng thái hoàn tiền và trạng thái tranh chấp trong API danh sách thanh toán**

Đầu cuối danh sách `GET /payments` giờ bao gồm các trường `refund_status` và `dispute_status` trong mỗi mục thanh toán, giúp bạn xem trạng thái hoàn tiền và tranh chấp ngay lập tức mà không cần truy vấn từng thanh toán riêng lẻ.

| Trường           | Loại                      | Mô tả                                                                                          |
| ---------------- | ------------------------- | ---------------------------------------------------------------------------------------------- |
| `refund_status`  | `partial \| full \| null` | Tóm tắt trạng thái hoàn tiền cho thanh toán này. `null` nếu không tồn tại hoàn tiền thành công |
| `dispute_status` | `string \| null`          | Trạng thái tranh chấp gần nhất cho thanh toán này. `null` nếu không có tranh chấp              |

**Giá trị `dispute_status`**: `dispute_opened`, `dispute_expired`, `dispute_accepted`, `dispute_cancelled`, `dispute_challenged`, `dispute_won`, `dispute_lost`

<Tip>
  Sử dụng các trường này để xây dựng bảng điều khiển tranh chấp và hoàn tiền, kích hoạt cảnh báo khi trạng thái tranh chấp thay đổi, hoặc hiển thị các khoản thanh toán cần chú ý.
</Tip>

Tìm hiểu thêm: [API Liệt kê Thanh toán](/api-reference/payments/get-payments)

### 4. **Bảng Hoàn Tiền trong Cổng Khách Hàng**

Cổng Khách Hàng hiện đã có một mục riêng biệt **Hoàn Tiền** nơi khách hàng có thể xem tất cả các khoản hoàn tiền liên quan đến khoản thanh toán của họ. Mỗi mục hoàn tiền sẽ hiển thị số tiền hoàn lại, trạng thái, ngày và khoản thanh toán gốc mà nó được phát hành, cung cấp cho khách hàng sự minh bạch đầy đủ về lịch sử hoàn tiền của họ mà không cần liên hệ với bộ phận hỗ trợ.

<Check>
  Bảng hoàn tiền có sẵn tự động trong cổng khách hàng cho tất cả các doanh nghiệp. Không cần cấu hình.
</Check>

Tìm hiểu thêm: [Cổng Khách Hàng](/features/customer-portal)

### 5. **Sao Chép Sang Chế Độ Trực Tiếp cho Đồng Hồ**

Bây giờ bạn có thể **sao chép đồng hồ từ chế độ thử nghiệm sang chế độ trực tiếp** trực tiếp từ bảng điều khiển. Khi bạn đã hoàn tất việc thử nghiệm cấu hình đồng hồ ở chế độ thử nghiệm, hãy sử dụng hành động sao chép để nhân rộng nó sang chế độ trực tiếp với tất cả các cài đặt được bảo tồn: loại tổng hợp, tên sự kiện, bộ lọc, và các liên kết tín dụng. Điều này loại bỏ nhu cầu tạo lại đồng hồ thủ công khi chuyển từ phát triển sang sản xuất.

<Tip>
  Xây dựng và xác nhận cấu hình đồng hồ của bạn trong chế độ thử nghiệm trước, sau đó sao chép chúng sang chế độ trực tiếp khi bạn sẵn sàng đi vào sản xuất. Điều này đảm bảo cấu hình thanh toán của bạn được thử nghiệm trước khi nó xử lý việc sử dụng thực tế của khách hàng.
</Tip>

Tìm hiểu thêm: [Thanh toán Dựa trên Sử dụng](/features/usage-based-billing/introduction) | [Đồng Hồ](/features/usage-based-billing/meters)
