> ## 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.118.3 (6 tháng 10, 2026)

> Thanh toán cho nhiều subscription, Moderation API, GCash, AlipayHK, FPS và Touch 'n Go, Apple Pay tại Ấn Độ, cảnh báo Ethoca, nhật ký email khách hàng, email ở chế độ kiểm thử, checkout từ phải sang trái, dashboard được thiết kế lại và Dodo Sync 1.0.

## Tính năng mới

### 1. **Checkout nhiều Subscription**

Một checkout giờ đây có thể bán nhiều subscription cùng lúc. Thêm từ hai sản phẩm subscription trở lên vào `product_cart` và khách hàng sẽ thanh toán cho tất cả trong một payment duy nhất, với một invoice.

Mỗi sản phẩm trở thành một subscription riêng và gia hạn theo lịch riêng, vì vậy các gói có chu kỳ thanh toán hoặc thời gian dùng thử khác nhau có thể nằm chung trong một cart. Trang checkout hiển thị **Tổng tiền đến hạn hôm nay**, sau đó là một dòng cho mỗi subscription, kèm thời gian dùng thử, số tiền gia hạn và ngày thanh toán tiếp theo.

Một cart chứa tối đa 20 sản phẩm. Cart có nhiều hơn một subscription cũng không thể chứa sản phẩm mua một lần.

Payment ghi nhận toàn bộ giao dịch mua: `is_multi_subscription` là `true` và `subscription_ids` liệt kê mọi subscription được tạo, còn `subscription_id` là `null`.

Tìm hiểu thêm: [Multi-Subscription Cart](/developer-resources/checkout-session#multi-subscription-cart)

### 2. **Moderation API**

Kiểm tra văn bản và hình ảnh trước khi chúng đến sản phẩm của bạn. Gửi nội dung đến `POST /moderation/screen` và nhận lại verdict là `allow`, `flag` hoặc `deny`, cùng các danh mục đã kích hoạt verdict đó.

Request chấp nhận tối đa 8.000 ký tự văn bản, một hình ảnh tối đa 5 MiB hoặc cả hai. Theo dõi nội dung bạn đã kiểm tra bằng `GET /moderation/usage`. Các lượt kiểm tra trong test mode được miễn phí và trả về verdict mô phỏng mà bạn có thể chủ động kích hoạt, giúp kiểm thử mọi nhánh trong integration.

Tìm hiểu thêm: [Moderation API](/features/moderation)

### 3. **GCash, AlipayHK, FPS và Touch 'n Go**

Bốn phương thức thanh toán địa phương mới tiếp cận khách hàng tại Đông Nam Á và Hong Kong:

| Phương thức | Quốc gia | Tiền tệ |
| - | - | - |
| **GCash** | Philippines | PHP |
| **AlipayHK** | Hong Kong | HKD |
| **FPS** | Hong Kong | HKD, CNY |
| **Touch 'n Go** | Malaysia | MYR |

Khách hàng quét mã QR trong ví hoặc ứng dụng ngân hàng để thanh toán. Cả bốn phương thức đều được bật theo mặc định và có thể tắt trong **Settings → Payment Methods**. Chúng chỉ hoạt động với payment một lần và không xuất hiện trong checkout subscription. Mỗi phương thức chỉ xuất hiện khi quốc gia thanh toán và tiền tệ khớp nhau, đồng thời [Adaptive Currency](/features/adaptive-currency) được bật.

Tìm hiểu thêm: [Asia-Pacific Payment Methods](/features/payment-methods/asia-pacific)

### 4. **Apple Pay tại Ấn Độ**

Khách hàng tại Ấn Độ giờ đây có thể thanh toán bằng Apple Pay. Subscription Apple Pay được thanh toán bằng INR sẽ sử dụng mandate của RBI, giống như các thẻ do Ấn Độ phát hành khác.

Tìm hiểu thêm: [Apple Pay tại Ấn Độ](/features/payment-methods/digital-wallets#apple-pay-in-india)

### 5. **Ethoca Alerts**

Ngăn chargeback trên Mastercard và các thẻ không phải Visa trước khi chúng được gửi. Khi tổ chức phát hành thẻ gửi cảnh báo Ethoca, Dodo Payments sẽ tự động refund payment, vì vậy dispute không trở thành chargeback và không ảnh hưởng đến tỷ lệ chargeback của bạn.

Ethoca alerts là tùy chọn tham gia. Đăng ký từ thẻ **Ethoca Alerts** trong **Settings → Dispute Resolution**, bên cạnh Visa RDR. Doanh nghiệp của bạn trước tiên cần có live payments và statement descriptor, đồng thời mỗi alert sẽ phát sinh phí. Việc đăng ký mất từ 2 đến 4 ngày làm việc để xác nhận.

Tìm hiểu thêm: [Ethoca Alerts](/features/transactions/disputes#ethoca-alerts)

### 6. **Nhật ký Email Khách hàng**

Mỗi khách hàng giờ đây có tab **Sent Emails** trong **Sales → Customers**, liệt kê các email Dodo Payments đã gửi cho họ trong 180 ngày qua. Mỗi mục hiển thị subject, category và trạng thái gửi — **Sent**, **Delivered**, **Failed**, **Marked as spam** hoặc **Not sent** — và email không gửi được sẽ cho biết lý do.

Mở bất kỳ email nào để đọc chính xác nội dung khách hàng đã nhận, rồi gửi lại email đó đến địa chỉ ban đầu hoặc địa chỉ mới, tối đa ba lần. Nhật ký tương tự cũng có sẵn qua API tại `GET /customers/{customer_id}/emails`.

Tìm hiểu thêm: [Email Logs](/features/email-logs)

### 7. **Email ở Test Mode**

Email khách hàng giờ đây được gửi trong test mode, giúp bạn kiểm tra toàn bộ trải nghiệm email trước khi go live. Email kiểm thử được gửi đến người nhận thực tế và mọi subject đều bắt đầu bằng `[TEST MODE]`.

Công tắc **Test Mode Emails** trong **Settings → Communication → Email** kiểm soát tính năng này và được bật theo mặc định. Một doanh nghiệp có thể gửi tối đa 100 email test mode mỗi tuần. Email trong live mode không bị ảnh hưởng.

Tìm hiểu thêm: [Test Mode Emails](/features/communication-preferences#test-mode-emails)

### 8. **Checkout từ phải sang trái**

Checkout giờ đây hiển thị từ phải sang trái bằng tiếng Ả Rập và tiếng Hebrew. Toàn bộ trang được phản chiếu — bố cục, điều hướng và phần tóm tắt đơn hàng — trong khi địa chỉ email, mã và số điện thoại vẫn giữ thứ tự đọc tự nhiên.

<Frame>
  <img src="https://mintcdn.com/dodopayments/JKGh8EdeOlomDLSl/images/checkout/checkout-rtl-arabic.png?fit=max&auto=format&n=JKGh8EdeOlomDLSl&q=85&s=89f32f6ad69dda36aabd76dfa0933fd0" alt="Trang checkout bằng tiếng Ả Rập được hiển thị từ phải sang trái, với phần tóm tắt đơn hàng ở bên phải và biểu mẫu thẻ ở bên trái" style={{ maxHeight: '500px', width: 'auto' }} width="1918" height="962" data-path="images/checkout/checkout-rtl-arabic.png" />
</Frame>

Tìm hiểu thêm: [Multi-Language Checkout](/features/checkout#multi-language-checkout)

### 9. **Tên Chủ thẻ Bắt buộc**

Đặt `feature_flags.require_cardholder_name` thành `true` trong checkout session để yêu cầu khách hàng nhập tên trên thẻ của họ. Trường này xuất hiện phía trên số thẻ. Cờ này mặc định là `false`. Các phương thức thanh toán khác bỏ qua cờ này, dù Apple Pay và Google Pay đã thu thập tên người thanh toán.

Tìm hiểu thêm: [Checkout Sessions](/developer-resources/checkout-session)

### 10. **Ai đã Hủy Subscription**

Subscription giờ đây có một object `cancelled_by` ghi nhận người đã hủy subscription. `actor_type` của object này là một trong các giá trị `customer`, `merchant_user`, `api_key` hoặc `dodo_team`; với khách hàng hoặc người dùng dashboard, object cũng bao gồm `name` và `email` của họ.

Trường này xuất hiện trong subscription ở các response API và trong mọi payload webhook `subscription.*`. Trường này áp dụng cho cả việc hủy ngay lập tức và hủy theo lịch, đồng thời là `null` khi không xác định được người thực hiện, chẳng hạn như việc hủy do hệ thống thực hiện.

Tìm hiểu thêm: [Get Subscription](/api-reference/subscriptions/get-subscriptions)

### 11. **Cài đặt Payout và Số dư Dự trữ**

Payout giờ đây có khu vực riêng trong **Settings → Payouts**, có thể truy cập từ **Manage** trên trang **Payouts**. Thay đổi tần suất payout sang chu kỳ ít thường xuyên hơn, đặt payout tối thiểu và quản lý các tài khoản ngân hàng đã liên kết tại một nơi.

Trang **Payouts** giờ đây hiển thị ngày payout tiếp theo thực tế, bỏ qua cuối tuần và ngày nghỉ ngân hàng, đồng thời cho biết khi ngày payout thay đổi. Nếu một phần payment đã settled được giữ làm khoản dự trữ, một dòng **Reserved** sẽ xuất hiện trên thẻ **Payout Balance**. Khoản tiền đó vẫn thuộc về bạn và sẽ tự động được trả lại vào số dư.

Tìm hiểu thêm: [Payout Structure](/features/payouts/payout-structure)

### 12. **Quy trình Xác minh Đơn giản hơn**

Việc xác minh tài khoản giờ đây là một checklist duy nhất với một nút duy nhất để tiếp tục — **Start Verification**, **Continue Verification** hoặc **Submit for Review**.

Mỗi biểu mẫu sẽ được lưu dưới dạng bản nháp khi bạn nhấp **Save and Continue**, giúp bạn điền mọi thông tin theo tốc độ của mình và gửi tất cả biểu mẫu để review cùng lúc. Việc xác minh danh tính mở trong một cửa sổ bảo mật trên cùng trang. Khi đội ngũ cần thêm thông tin, banner **Action required** sẽ cho biết cần bổ sung gì và thời hạn là khi nào.

Tìm hiểu thêm: [Account Verification](/miscellaneous/verification-process)

### 13. **Dashboard được Thiết kế lại**

**Settings** giờ đây là một trang duy nhất gồm các thẻ được nhóm vào **Your Profile**, **Business Settings** và **Payments & Commerce**, mỗi thẻ mở một khu vực riêng. **Tracking Integrations**, **Pricing**, **Dispute Resolution** và **Payouts** có các trang riêng, còn **Storefront** được chuyển từ sidebar vào Settings. Các liên kết cũ sẽ chuyển hướng đến những trang mới.

Search giờ đây nằm trong header, cùng với biểu tượng chat hỗ trợ. Tùy chọn đăng xuất được chuyển vào business switcher.

Mọi danh sách thả xuống về quốc gia, số điện thoại và tiền tệ trong dashboard giờ đây đều có thể tìm kiếm — theo tên, mã ISO hoặc mã quay số.

### 14. **Dodo Sync 1.0**

[Dodo Sync](/developer-resources/dodo-sync), package mã nguồn mở sao chép payment, khách hàng, subscription và license vào database riêng của bạn, đã đạt phiên bản 1.0.

* **Đồng bộ nhanh hơn.** Mỗi trang bản ghi giờ đây được ghi bằng một batch operation thay vì một query cho mỗi bản ghi trên MongoDB, PostgreSQL, MySQL và ClickHouse.
* **An toàn trên serverless.** `run()` giờ đây đợi mọi lần ghi database hoàn tất trước khi resolve, vì vậy một sync trên Vercel hoặc AWS Lambda không còn làm mất bản ghi khi function kết thúc. Gọi method `disconnect()` mới trong block `finally` để đóng kết nối database.
* **Database MongoDB của riêng bạn.** Bản ghi được ghi vào database có tên trong connection URI. Nếu URI không chỉ định database, Dodo Sync sẽ sử dụng `dodopayments_sync` như trước.
* **Secret được che trong CLI.** Interactive mode giờ đây che URI database và API key khi bạn nhập.

<Warning>
  Phiên bản 1.0 có ba thay đổi breaking đối với những ai nâng cấp từ `0.x`:

  * **Tên database MongoDB**: Database giờ đây lấy từ connection URI thay vì luôn là `dodopayments_sync`. Nếu URI của bạn chỉ định database, dữ liệu sẽ được chuyển đến đó.
  * **ID license MongoDB**: Các tài liệu license giờ đây được lưu theo license `id` thay vì `subscription_id`, đồng nhất với các database khác. Xóa collection `licences` hiện có trước khi nâng cấp; lần sync tiếp theo sẽ tạo lại collection này.
  * **Phiên bản MySQL**: Yêu cầu MySQL 8.0.20 trở lên.
</Warning>

Tìm hiểu thêm: [Sync với Database của bạn](/developer-resources/dodo-sync)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.