Chuyển đến nội dung chính

Tính năng mới

1. Bộ sản phẩm

Nhóm các sản phẩm liên quan lại với nhau để mang đến trải nghiệm thanh toán thống nhất, lựa chọn kế hoạch và con đường nâng cấp/giảm cấp liền mạch trong Cổng thông tin Khách hàng.
Trang thanh toán bộ sản phẩm hiển thị nhiều tùy chọn kế hoạch
Lợi ích chính
  • Thanh toán dựa trên bộ sưu tập: Hiển thị tất cả các sản phẩm từ một bộ trong một giao diện thanh toán, cho phép khách hàng so sánh và chọn kế hoạch ưa thích của họ
  • Quản lý sản phẩm có tổ chức: Nhóm các sản phẩm liên quan (ví dụ: Starter, Pro, Enterprise) dưới một bộ duy nhất
  • Tích hợp Cổng thông tin Khách hàng: Cho phép khách hàng nâng cấp hoặc giảm cấp giữa các sản phẩm trong cùng một bộ
  • Kiểm soát của thương nhân: Bật, tắt và thay đổi thứ tự của sản phẩm trong mỗi bộ
Cách thức hoạt động Tạo một phiên thanh toán cho một bộ:
const session = await client.checkoutSessions.create({
  product_collection_id: 'pdc_abc123',
  product_cart: [], // Required: pass an empty array for collection checkout
  return_url: 'https://yoursite.com/return'
});

// Redirect customer to the checkout
window.location.href = session.url;
Kết quả: Một trải nghiệm thanh toán thống nhất nơi khách hàng có thể xem và chọn từ tất cả các sản phẩm có sẵn trong bộ của bạn.
Thanh toán theo bộ lý tưởng cho các doanh nghiệp đăng ký nơi bạn muốn khách hàng so sánh các kế hoạch bên cạnh nhau trước khi mua hàng.
Tìm hiểu thêm: Hướng dẫn Bộ sản phẩm

2. Phương thức Thanh toán RevolutPay & Billie cho Tiền tệ GBP

Mở rộng các tùy chọn thanh toán với RevolutPay và Billie hiện có sẵn toàn cầu cho các giao dịch thanh toán một lần GBP, mang lại cho khách hàng của bạn nhiều sự linh hoạt hơn trong cách họ thanh toán. Phương thức Thanh toán Mới
Phương thức Thanh toánQuốc gia Hỗ trợTiền tệHỗ trợ Đăng ký
RevolutPayToàn cầuGBPKhông (chỉ một lần)
BillieToàn cầuGBPKhông (chỉ một lần)
  • RevolutPay – Thanh toán nhanh chóng và liền mạch cho người dùng Revolut trên toàn cầu
  • Billie – Giải pháp Mua Ngay Trả Sau B2B cho phép doanh nghiệp cung cấp các điều khoản thanh toán linh hoạt cho khách hàng của họ
Những phương thức thanh toán này tự động có sẵn cho các giao dịch GBP. Không yêu cầu cấu hình bổ sung.
Tìm hiểu thêm: Phương thức Thanh toán

3. Xem trước Phiên Thanh toán

Xem trước các phiên thanh toán trước khi tạo chúng để tính toán chính xác giá, thuế, giảm giá và tổng cộng. Hiển thị giá thực cho khách hàng trước khi họ tiếp tục thanh toán. Cách thức hoạt động
const preview = await client.checkoutSessions.preview({
  product_cart: [
    { product_id: 'prod_123', quantity: 1 }
  ],
  billing_address: {
    country: 'US',
    state: 'CA',
    zipcode: '94102'
  },
  discount_code: 'SAVE20'
});

console.log('Subtotal:', preview.subtotal);
console.log('Tax:', preview.tax);
console.log('Discount:', preview.discount);
console.log('Total:', preview.total);
Tình huống sử dụng
  • Hiển thị giá tùy chỉnh: Hiển thị tổng số chính xác bao gồm thuế trước khi thanh toán
  • Xác thực giảm giá: Xác minh mã giảm giá và cho khách hàng thấy tiết kiệm
  • Hỗ trợ đa tiền tệ: Xem trước giá trong các loại tiền tệ khác nhau
  • Tóm tắt giỏ hàng: Xây dựng giao diện giỏ hàng tùy chỉnh với giá theo thời gian thực

Tài liệu Tham khảo Xem trước API

Xem tài liệu chi tiết về điểm cuối xem trước.

4. Hỗ trợ Siêu dữ liệu trong Yêu cầu Thay đổi Kế hoạch

Truyền siêu dữ liệu tùy chỉnh khi thay đổi các kế hoạch đăng ký, cho phép theo dõi tốt hơn và tích hợp với các hệ thống nội bộ của bạn trong quá trình chuyển đổi kế hoạch.
// Adding metadata when changing a subscription plan
await client.subscriptions.changePlan('sub_123', {
  product_id: 'prod_premium',
  proration_billing_mode: 'prorated_immediately',
  quantity: 1,
  metadata: {
    upgrade_reason: 'feature_request',
    previous_plan: 'basic',
    sales_rep: 'john@company.com'
  }
});
Tình huống sử dụng
  • Theo dõi lý do nâng cấp/giảm cấp: Lưu lý do tại sao khách hàng thay đổi kế hoạch
  • Liên kết với hồ sơ CRM: Gắn kết thay đổi kế hoạch với hoạt động bán hàng
  • Phân loại nội bộ: Đánh dấu thay đổi kế hoạch để báo cáo và phân tích
  • Lưu trữ hồ sơ: Duy trì các bản ghi về ai đã khởi xướng thay đổi kế hoạch
Siêu dữ liệu được đưa vào các sự kiện webhook, giúp dễ dàng xử lý các thay đổi kế hoạch với dữ liệu tùy chỉnh của bạn.
Tìm hiểu thêm: Hướng dẫn Siêu dữ liệu | API Thay đổi Kế hoạch

5. invoice_url Trường trong Phản hồi Thanh toán và Phản hồi Liên kết Thanh toán

Phản hồi Thanh toán và Phản hồi Liên kết Thanh toán hiện bao gồm một trường invoice_url, cung cấp quyền truy cập trực tiếp vào hóa đơn liên quan đến từng khoản thanh toán.
{
  "payment_id": "pay_2IjeQm4hqU6RA4Z4kwDee",
  "status": "succeeded",
  "invoice_url": "https://dodopayments.com/invoices/inv_2IsUnWGtRKFLxk7xAQeyt",
  "amount": 9900,
  "currency": "USD",
  // ... other fields
}
Tình huống sử dụng
  • Giao tiếp với khách hàng: Gửi liên kết hóa đơn trực tiếp cho khách hàng
  • Tích hợp kế toán: Liên kết các khoản thanh toán với hóa đơn trong phần mềm kế toán của bạn
  • Cổng tự phục vụ: Cho phép khách hàng dễ dàng truy cập hóa đơn của họ
  • Lưu giữ hồ sơ: Duy trì tham chiếu trực tiếp đến tài liệu hóa đơn

Lấy API Thanh toán

Xem sơ đồ Phản hồi Thanh toán.

6. Xác thực Giảm giá theo Tên Mã

Điểm cuối API mới để xác thực và lấy mã giảm giá theo tên mã của chúng (ví dụ: “SAVE20”) thay vì sử dụng ID giảm giá nội bộ. Xác minh tính đủ điều kiện giảm giá trước khi áp dụng chúng tại thanh toán.
// Validate a discount code before checkout
const discount = await client.discounts.getByCode('SAVE20');

console.log('Discount type:', discount.type);
console.log('Discount value:', discount.amount);
console.log('Valid until:', discount.expires_at);
Lợi ích
  • Xác thực trước khi thanh toán: Xác minh mã giảm giá trước khi tạo các phiên thanh toán
  • Phản hồi theo thời gian thực: Hiển thị cho khách hàng xem mã của họ có hợp lệ không
  • Xử lý lỗi: Phát hiện các mã không hợp lệ hoặc hết hạn sớm
  • Giao diện mã giảm giá tùy chỉnh: Xây dựng các trường nhập mã giảm giá với xác thực ngay lập tức

Lấy Giảm giá theo Mã API

Xem tài liệu điểm cuối đầy đủ.

7. Cải thiện khả năng Lọc cho Khách hàng, Giảm giá, và Khóa bản quyền

Các bộ lọc API mới cho việc liệt kê Khách hàng, Giảm giá, và Khóa bản quyền, giúp dễ dàng tìm và quản lý dữ liệu của bạn một cách lập trình. Bộ lọc API Khách hàng
Bộ lọcMô tả
emailLọc theo email khách hàng
nameLọc theo tên khách hàng (trùng một phần, không phân biệt chữ hoa chữ thường)
created_at_gteLọc khách hàng được tạo vào hoặc sau dấu thời gian này
created_at_lteLọc khách hàng được tạo vào hoặc trước dấu thời gian này
// Find customers by name created in the last 30 days
const customers = await client.customers.list({
  name: 'John',
  created_at_gte: '2026-01-01T00:00:00Z'
});
Bộ lọc API Giảm giá
Bộ lọcMô tả
codeLọc theo mã giảm giá (trùng một phần, không phân biệt chữ hoa chữ thường)
discount_typeLọc theo loại giảm giá (tỷ lệ phần trăm)
activeLọc theo trạng thái hoạt động (true = không hết hạn, false = hết hạn)
product_idLọc theo giới hạn sản phẩm (chỉ các giảm giá áp dụng cho sản phẩm này)
// Find active percentage discounts for a specific product
const discounts = await client.discounts.list({
  active: true,
  discount_type: 'percentage',
  product_id: 'prod_123'
});
Bộ lọc API Khóa bản quyền
Bộ lọcMô tả
customer_idLọc theo ID khách hàng
statusLọc theo trạng thái khóa bản quyền (active, expired, disabled)
product_idLọc theo ID sản phẩm
created_at_gteLọc khóa bản quyền được tạo vào hoặc sau dấu thời gian này
created_at_lteLọc khóa bản quyền được tạo vào hoặc trước dấu thời gian này
// Find active license keys for a specific product
const licenseKeys = await client.licenseKeys.list({
  status: 'active',
  product_id: 'prod_123'
});

8. Cải tiến UI/UX trong Bảng điều khiển

Phiên bản này bao gồm nhiều cải tiến UI/UX trên bảng điều khiển để mang đến một trải nghiệm trực quan và tinh tế hơn. Điểm nổi bật
  • Cải thiện điều hướng và tính đồng nhất trong bố cục
  • Tăng cường tương tác trên bảng dữ liệu
  • Cải thiện trạng thái tải và phản hồi
  • Thiết kế phần tử hình ảnh đã được tinh chỉnh
  • Cải thiện khả năng đáp ứng trên di động