Skip to main content
Customer Portal là một trang web được lưu trữ, nơi khách hàng của bạn quản lý các gói đăng ký, xem và tải xuống hóa đơn cũng như lấy license key mà không cần liên hệ với bộ phận hỗ trợ.

Create Portal Session (API)

Tạo một portal link cho một khách hàng, có hiệu lực trong 24 giờ.

Subscriptions

Các gói định kỳ, nâng cấp, hạ cấp và add-on.
Customer Portal mới được cải tiến, hiển thị các gói đăng ký đang hoạt động, phương thức thanh toán và lịch sử thanh toán

Customer Portal là gì?

Portal là một trang self-service, được gắn thương hiệu bằng tên doanh nghiệp của bạn, nơi khách hàng có thể:
  • Truy cập lịch sử thanh toán: Xem các khoản thanh toán trước đây và tải xuống hóa đơn.
  • Quản lý gói đăng ký: Xem chi tiết gói đăng ký, tạm dừng và tiếp tục, đồng thời hủy ngay hoặc vào ngày thanh toán tiếp theo, tùy theo cài đặt của bạn.
  • Cập nhật phương thức thanh toán: Thay đổi phương thức thanh toán của một gói đăng ký hoặc kích hoạt lại gói đăng ký đang bị tạm giữ.
  • Lấy license key: Xem các license key gắn với giao dịch mua của họ.
  • Quay lại ứng dụng của bạn: Khi bạn truyền một return_url, portal sẽ hiển thị liên kết quay lại doanh nghiệp của bạn. Trên thiết bị di động, mũi tên quay lại trong header sẽ đưa người dùng về phần tổng quan của portal.
Nếu bạn chặn một khách hàng, portal của họ sẽ trở thành chỉ đọc. Họ vẫn có thể đăng nhập và xem hóa đơn, gói đăng ký và license key, nhưng không thể hủy, tạm dừng hoặc tiếp tục gói đăng ký, thay đổi gói hay cập nhật phương thức thanh toán. Portal profile trả về read_only: true để một custom integration có thể vô hiệu hóa các control của chính nó.

Lợi ích chính

  • Giảm khối lượng hỗ trợ: Khách hàng tự xử lý các yêu cầu thanh toán phổ biến.
  • Truy cập nhanh hơn: Khách hàng nhận được hóa đơn và license key ngay khi đăng nhập.
  • Giảm nguy cơ churn: Khách hàng xem được ngày gia hạn và chi tiết gói trước khi bị tính phí.
  • Liên kết có chữ ký, tự hết hạn: Mỗi sign-in link đều có chữ ký và hết hạn sau 24 giờ.
  • Trải nghiệm bản địa hóa: Portal có sẵn bằng 21 ngôn ngữ và chọn một ngôn ngữ dựa trên cài đặt trình duyệt của khách hàng.

Phương thức truy cập

Khách hàng truy cập portal thông qua static link hoặc dynamic link. Static link không bao giờ hết hạn. Khách hàng mở liên kết, nhập địa chỉ email và nhận sign-in link qua email. Static link phụ thuộc vào environment: Test Mode (dùng cho kiểm thử và phát triển):
Live Mode (dùng cho production với các giao dịch thật):
Thay {business_id} bằng business ID của bạn, sau đó chia sẻ liên kết với khách hàng. Static Link trong hộp thoại Share Invite đã chứa sẵn ID này.
Màn hình đăng nhập qua email
1

Merchant Flow

  1. Đi đến Sales → Customers và mở một khách hàng, hoặc sử dụng cột Invite trong danh sách.
  2. Nhấp Share Invite.
  3. Sao chép Static Link và chia sẻ với khách hàng.
2

Customer Flow

  1. Mở static link.
  2. Nhập địa chỉ email được sử dụng khi mua hàng và nhấp Get Access Link.
  3. Mở sign-in link được gửi qua email. Liên kết có hiệu lực trong 24 giờ.
Trang luôn hiển thị cùng một thông báo xác nhận. Dodo Payments chỉ gửi email chứa liên kết khi địa chỉ đó thuộc về khách hàng của doanh nghiệp bạn, vì vậy trang không tiết lộ khách hàng của bạn là ai.
Email đăng nhập không được gửi trong test mode. Để mở portal ở test mode, hãy sử dụng Dynamic Link hoặc tạo một session thông qua API.
Dynamic link đăng nhập thẳng một khách hàng vào portal mà không cần bước email. Liên kết hết hạn 24 giờ sau khi được tạo.
Dynamic link sẽ ngừng hoạt động sau 24 giờ. Khi hết hạn, khách hàng sẽ thấy trang thông báo hết hạn. Hãy tạo liên kết mới và gửi lại.
Truy cập trực tiếp bằng magic link
1

Merchant Flow

  1. Đi đến Sales → Customers và mở khách hàng.
  2. Nhấp Share Invite.
  3. Sao chép Dynamic Link và chia sẻ với khách hàng.
2

Customer Flow

  1. Mở dynamic link.
  2. Customer Portal mở trực tiếp mà không yêu cầu địa chỉ email.

Tính năng của portal

Tổng quan portal là một trang duy nhất. Trên máy tính, một panel ở bên trái mô tả portal. Khu vực chính liệt kê các gói đăng ký, phương thức thanh toán và lịch sử thanh toán của khách hàng.

Active Subscriptions

Mỗi gói đăng ký hiển thị tên gói, giá, ngày gia hạn và thời hạn hiệu lực. Manage subscription mở phần chi tiết, nơi khách hàng có thể chỉnh sửa thông tin thanh toán, thay đổi gói, tạm dừng hoặc hủy.

Payment Methods

Các phương thức thanh toán đã lưu, chẳng hạn như thẻ cùng network và bốn chữ số cuối, UPI, ví điện tử và phương thức ngân hàng. Thay đổi phương thức thanh toán của gói đăng ký từ trang chi tiết.

Billing History

Mỗi khoản thanh toán trong một bảng có Date, Status, Amount, Pricing Type, Entitlements và tùy chọn tải xuống Invoice.

Billing Information

Tên, email, số điện thoại và địa chỉ thanh toán, được hiển thị trên trang chi tiết gói đăng ký. Khách hàng có thể chỉnh sửa tên và địa chỉ thanh toán.

Tổng quan portal

Trang tổng quan hiển thị các gói đăng ký đang hoạt động, phương thức thanh toán đã lưu và lịch sử thanh toán trong một chế độ xem có thể cuộn.
Trang chính Customer Portal hiển thị các gói đăng ký đang hoạt động và phương thức thanh toán

Phương thức thanh toán và lịch sử thanh toán

Xa hơn bên dưới trang là các phương thức thanh toán đã lưu và lịch sử thanh toán, cùng trạng thái của từng khoản thanh toán và liên kết tải xuống cho từng hóa đơn.
Phương thức thanh toán và lịch sử thanh toán với tính năng tải hóa đơn

Hỗ trợ ngôn ngữ

Customer Portal có sẵn bằng 21 ngôn ngữ, để khách hàng có thể quản lý gói đăng ký, phương thức thanh toán và lịch sử thanh toán bằng ngôn ngữ của họ.

Cách chọn ngôn ngữ

  • Tự động phát hiện: Trong lần truy cập đầu tiên, portal đọc ngôn ngữ ưu tiên từ trình duyệt và tải ngôn ngữ đó nếu được hỗ trợ. Nếu không, portal sử dụng tiếng Anh.
  • Ghi đè thủ công: Khách hàng có thể thay đổi ngôn ngữ bất cứ lúc nào bằng bộ chọn ngôn ngữ ở góc dưới bên phải của trang, trên cả máy tính và thiết bị di động.
  • Lưu tùy chọn: Portal lưu lựa chọn trong cookie NEXT_LOCALE trong một năm, vì vậy ngôn ngữ được ghi nhớ qua các lần truy cập.

Ngôn ngữ được hỗ trợ

Thay đổi gói (nâng cấp/hạ cấp)

Khách hàng có thể nâng cấp hoặc hạ cấp từ portal giữa các sản phẩm trong cùng một Product Collection.
Để cho phép khách hàng có gói đăng ký hiện tại chuyển đổi gói, hãy thêm các sản phẩm gói đăng ký vào Product Collection và bật Allow Subscription Updates. Sau đó, khách hàng có thể chuyển đổi giữa các gói trong collection đó từ portal.

Các thao tác khả dụng

Cách hoạt động của thay đổi gói

  1. Khách hàng nhấp Change Plan trên trang chi tiết gói đăng ký.
  2. Portal liệt kê các gói khác trong product collection.
  3. Khách hàng chọn một gói. Panel Confirm Plan Change hiển thị gói hiện tại và gói mới, bảng phân tách từng dòng (khoản ghi có cho gói cũ và khoản phí cho gói mới), thuế và số tiền đến hạn ngay lúc này. Khách hàng cũng có thể nhập mã giảm giá tại đây.
  4. Khách hàng xác nhận bằng nút Pay, trong đó hiển thị số tiền đến hạn.
  5. Dodo Payments tính toán khoản phân bổ theo tỷ lệ và thu khoản phí từ phương thức thanh toán đã lưu hoặc trên hosted checkout page nếu bạn thu tiền thay đổi gói bằng payment link (xem Thu tiền thay đổi gói bằng Payment Link).
  6. Gói đăng ký chuyển sang gói mới. Việc này xảy ra ngay lập tức hay chỉ sau khi khoản phí được thanh toán thành công phụ thuộc vào cách xử lý payment failure của bạn. Thay đổi gói được thanh toán bằng payment link luôn chờ thanh toán hoàn tất.
Trang chi tiết gói đăng ký với các nút Change Plan, Pause Subscription và Cancel Subscription
Panel Confirm Plan Change hiển thị gói hiện tại và gói đã cập nhật, phân tích từng mục, trường nhập mã giảm giá và nút Pay
Thay đổi gói chỉ hoạt động giữa các sản phẩm trong cùng collection, và sản phẩm đích phải là sản phẩm gói đăng ký hoặc dựa trên usage. Sản phẩm one-time sẽ bị từ chối.
Theo mặc định, thay đổi gói ngay lập tức sẽ tính phí vào phương thức thanh toán đã lưu của khách hàng. Khi bật Collect Plan Change Payments by Payment Link, portal sẽ mở một hosted Dodo Payments checkout page trong tab mới thay thế, và khách hàng thanh toán tại đó. Điều này áp dụng cho các nâng cấp và hạ cấp phát sinh khoản phí.
Trang Settings → Subscriptions với tùy chọn Collect Plan Change Payments by Payment Link được bật và tooltip giải thích cách hoạt động
Trang Dodo Checkout được host từ một ví dụ riêng, nơi khách hàng thanh toán cho thay đổi gói
Gói đăng ký vẫn giữ gói hiện tại cho đến khi thanh toán checkout thành công. Khoản thanh toán thất bại hoặc bị bỏ dở sẽ không làm thay đổi gói đăng ký, và khách hàng có thể thử lại trong cùng checkout session. Các lần hạ cấp được lên lịch (effective_at: next_billing_date) không đi qua checkout; chúng được áp dụng vào ngày thanh toán tiếp theo như bình thường.
Cài đặt này chỉ áp dụng cho các thay đổi gói ngay lập tức. Khi payment link thay đổi gói chưa được thanh toán và chưa hết hạn, portal sẽ từ chối các yêu cầu thay đổi gói tiếp theo trên gói đăng ký đó.

Plan Change via Payment Link (API)

Cách yêu cầu payment link bằng collect_via_payment_link và xử lý response.

Các tùy chọn kiểm soát của business

Cấu hình những gì khách hàng có thể làm với gói đăng ký của họ trong Settings → Subscriptions:
  • Allow Subscription Updates: Cho phép khách hàng nâng cấp hoặc hạ cấp. Mặc định tắt.
  • Allow Immediate Cancellation: Cho phép khách hàng kết thúc gói đăng ký và mất quyền truy cập ngay lập tức. Mặc định bật.
  • Allow Cancellation at Next Billing Date: Cho phép khách hàng hủy vào cuối kỳ mà họ đã thanh toán. Mặc định bật.
  • Allow Subscription Pause: Cho phép khách hàng tự tạm dừng và tiếp tục gói đăng ký. Mặc định tắt.
  • Collect Plan Change Payments by Payment Link: Chuyển khách hàng đến checkout page để thanh toán cho thay đổi gói ngay lập tức, thay vì tính phí vào phương thức thanh toán đã lưu. Mặc định tắt.

Product Collections

Thiết lập product collection và cấu hình các lộ trình nâng cấp, hạ cấp.

Chi tiết gói đăng ký

Manage subscription trên bất kỳ gói đăng ký đang hoạt động nào sẽ mở trang chi tiết, hiển thị:
  • Chi tiết gói: Tên gói đăng ký, giá, ngày gia hạn và thời hạn hiệu lực.
  • Phương thức thanh toán: Phương thức thanh toán của gói đăng ký, cùng nút Edit.
  • Thông tin thanh toán: Tên, email, số điện thoại và địa chỉ thanh toán, cùng nút Edit cho tên và địa chỉ thanh toán.
  • Lịch sử thanh toán: Bảng gồm tất cả khoản thanh toán cho gói đăng ký này.
  • Pause Subscription: Hiển thị khi bạn cho phép tạm dừng self-service.
  • Cancel Subscription: Mở hộp thoại hủy.
Trang chi tiết gói đăng ký hiển thị thông tin gói, phương thức thanh toán, thông tin thanh toán và tùy chọn hủy

Hủy gói đăng ký

Khách hàng hủy từ trang chi tiết gói đăng ký. Cancel Subscription mở hộp thoại với hai tùy chọn:
  • Cancel at next billing date: Gói đăng ký vẫn hoạt động cho đến khi kỳ thanh toán hiện tại kết thúc, sau đó được hủy.
  • Cancel now: Gói đăng ký được hủy ngay lập tức.
Hai cài đặt trong Settings → Subscriptions kiểm soát riêng các tùy chọn này: Allow Immediate Cancellation và Allow Cancellation at Next Billing Date. Cả hai đều mặc định bật. Việc tắt một cài đặt chỉ xóa tùy chọn tương ứng, vì vậy bạn có thể cung cấp một tùy chọn mà không cần tùy chọn còn lại. Khi cả hai đều tắt, Cancel Subscription bị vô hiệu hóa và tooltip yêu cầu khách hàng liên hệ với bạn. Khách hàng đã lên lịch hủy sẽ thấy Revoke Cancellation để có thể tiếp tục sử dụng, cùng Cancel immediately, là hành động tương đương với Cancel now. Các cài đặt này không ảnh hưởng đến những lần hủy do chính bạn thực hiện.
Hộp thoại hủy gói đăng ký với các tùy chọn hủy vào ngày thanh toán tiếp theo hoặc hủy ngay lập tức

Lý do hủy

Trước khi xác nhận, khách hàng phải trả lời Why are you cancelling? bằng cách chọn một lý do từ danh sách cố định. Họ cũng có thể thêm nhận xét tùy chọn tối đa 500 ký tự trong Additional comments. Dodo Payments lưu cả hai thông tin trên gói đăng ký và trả về chúng trong webhook payloads và API, để bạn có thể phân tích lý do khách hàng rời đi và điều chỉnh thông điệp win-back.
Modal hủy với danh sách 'Why are you cancelling?' hiển thị các lý do như Quá đắt, Thiếu tính năng và Khác
Lý do được lưu trong field cancellation_feedback của gói đăng ký, còn nhận xét được lưu trong cancellation_comment.
Cả hai field cũng có trong webhook payload subscription.cancelled. Để tự thiết lập chúng, truyền chúng vào PATCH /subscriptions/{subscription_id} khi bạn hủy hoặc lên lịch hủy thông qua API.
Sử dụng cancellation_feedback cùng với Subscription Dunning để điều chỉnh email win-back. Ví dụ: gửi mã giảm giá cho khách hàng chọn too_expensive và khảo sát phản hồi cho những người chọn missing_features.

Tạm dừng gói đăng ký

Tạm dừng cho khách hàng một lựa chọn giữa việc giữ và hủy gói đăng ký. Gói đăng ký bị tạm dừng sẽ ngừng tính phí nhưng vẫn giữ gói và lịch sử, để khách hàng có thể tiếp tục sau đó thay vì phải mua lại. Khách hàng mở hộp thoại Pause your subscription từ trang chi tiết gói đăng ký. Hộp thoại hiển thị gói hiện tại, cảnh báo rằng quyền truy cập sẽ kết thúc ngay lập tức và giải thích cách ngày thanh toán thay đổi. Khách hàng xác nhận bằng Pause subscription.
Hộp thoại tạm dừng gói đăng ký hiển thị gói hiện tại, cảnh báo quyền truy cập bị thu hồi ngay lập tức và nút xác nhận tạm dừng
Hộp thoại cho khách hàng biết điều gì sẽ xảy ra và hệ thống hoạt động như sau:
  • Quyền truy cập dừng ngay lập tức. Các tính năng, nội dung tải xuống và license key đi kèm gói đăng ký sẽ ngừng hoạt động cho đến khi gói đăng ký được tiếp tục.
  • Thời gian tạm dừng không có ngày kết thúc. Gói đăng ký vẫn bị tạm dừng cho đến khi khách hàng tiếp tục.
  • Không mất thời gian đã thanh toán. Ngày thanh toán tiếp theo và ngày gia hạn đều được dời về sau theo thời lượng tạm dừng.
Việc tiếp tục sử dụng cùng quy trình và được xác nhận bằng Resume subscription. Gói đăng ký trở về active và quyền truy cập được khôi phục.
Cài đặt Allow Subscription Pause trong Settings → Subscriptions kiểm soát việc tạm dừng self-service và mặc định tắt. Khi cài đặt tắt, khách hàng không thể bắt đầu lần tạm dừng mới, nhưng vẫn có thể tiếp tục một lần tạm dừng do chính họ bắt đầu. Các lần tạm dừng bạn bắt đầu từ dashboard không bị ảnh hưởng.

How Pausing Works

Toàn bộ hành vi tạm dừng, bao gồm ảnh hưởng đến thanh toán, quyết toán mức sử dụng và webhook.

Cập nhật phương thức thanh toán

Khách hàng thay đổi phương thức thanh toán của gói đăng ký bằng Edit cạnh phương thức thanh toán trên trang chi tiết gói đăng ký. Đây cũng là cách khách hàng kích hoạt lại gói đăng ký đang bị tạm giữ sau một lần thanh toán thất bại.

Kích hoạt lại gói đăng ký đang bị tạm giữ

Gói đăng ký chuyển sang on_hold khi thanh toán thất bại. Portal hiển thị Your subscription is currently on hold và yêu cầu khách hàng cập nhật phương thức thanh toán. Khi họ thực hiện, Dodo Payments sẽ:
  1. Tạo một khoản phí cho số tiền còn thiếu
  2. Tạo hóa đơn cho khoản phí
  3. Thu khoản thanh toán bằng phương thức thanh toán mới
  4. Kích hoạt lại gói đăng ký về active khi thanh toán thành công
Gói đăng ký ở trạng thái on_hold sẽ không được gia hạn. Khách hàng phải cập nhật phương thức thanh toán để thanh toán số tiền còn thiếu và kích hoạt lại gói đăng ký.
Khi các khoản phí cho gói đăng ký on_hold được thanh toán, gói đăng ký sẽ trở lại trạng thái active.

Kích hoạt lại gói đăng ký trong thời gian ân hạn

Nếu bạn đặt grace period, lần gia hạn thất bại sẽ chuyển gói đăng ký sang past_due thay vì on_hold. Khách hàng vẫn có quyền truy cập cho đến thời hạn. Quá trình khôi phục hoạt động tương tự: khách hàng cập nhật phương thức thanh toán và gói đăng ký trở về active. Nếu họ không thực hiện gì, đến thời hạn gói đăng ký sẽ chuyển sang on_hold hoặc cancelled, tùy theo cấu hình của bạn, và quyền truy cập kết thúc.

Quy trình cập nhật phương thức thanh toán

1

Access Subscription Details

Nhấp Manage subscription trên gói đăng ký từ tổng quan portal.
2

Click Edit on Payment Method

Nhấp Edit cạnh phương thức thanh toán.
3

Select or Add Payment Method

Chọn một phương thức thanh toán đã lưu hoặc nhấp Add Payment Method và nhập thông tin mới.
4

Confirm Changes

Xác nhận cập nhật. Với gói đăng ký on_hold, thao tác này tạo một khoản phí cho số tiền còn thiếu.
5

Complete Payment (If On Hold)

Nếu gói đăng ký đang bị tạm giữ, khách hàng sẽ được chuyển hướng để thanh toán số tiền còn thiếu. Khi thanh toán thành công, gói đăng ký được kích hoạt lại.
6

Confirmation

Portal xác nhận phương thức thanh toán đã được cập nhật và, đối với gói đăng ký bị tạm giữ, gói đăng ký đã hoạt động trở lại.

Ví dụ tích hợp

Để chuyển khách hàng từ ứng dụng của bạn đến portal, hãy tạo portal session trên server và chuyển hướng khách hàng đến link được trả về. Liên kết có hiệu lực trong 24 giờ.
Để Dodo Payments cũng gửi liên kết qua email cho khách hàng, hãy truyền send_email: true.

Unified Customer Portal

Bên cạnh portal của doanh nghiệp bạn, Dodo Payments vận hành một Unified Customer Portal tại customer.dodopayments.com. Tại đó, khách hàng có thể xem và quản lý các giao dịch mua hàng và gói đăng ký từ mọi doanh nghiệp bán hàng thông qua Dodo Payments.
Unified Customer Portal

Tính năng của Unified Portal

  • Hiển thị giữa các doanh nghiệp: Xem giao dịch mua hàng và gói đăng ký từ mọi merchant Dodo Payments ở một nơi.
  • Quản lý tập trung: Quản lý các gói đăng ký với nhiều doanh nghiệp khác nhau từ một site.
  • Lịch sử thanh toán hợp nhất: Truy cập hóa đơn và lịch sử thanh toán của mọi giao dịch mua hàng.
  • Đăng nhập một lần: Đăng nhập một lần bằng địa chỉ email để truy cập giao dịch mua hàng từ tất cả merchant Dodo Payments.
Unified Customer Portal hoạt động song song với portal của doanh nghiệp bạn. Khách hàng có thể sử dụng một trong hai.

Khắc phục sự cố

  • Liên kết đã hết hạn: Tạo dynamic link mới và gửi cho khách hàng.
  • Email không được nhận diện: Yêu cầu khách hàng sử dụng địa chỉ email trong giao dịch mua hàng của họ. Không gửi email đăng nhập cho địa chỉ không thuộc về khách hàng của doanh nghiệp bạn.
  • Gói đăng ký bị tạm giữ: Khách hàng cập nhật phương thức thanh toán trong portal. Dodo Payments thu số tiền còn thiếu và kích hoạt lại gói đăng ký khi thanh toán thành công.
  • Cập nhật phương thức thanh toán thất bại: Nếu thanh toán thất bại khi cập nhật gói đăng ký on_hold, gói đăng ký vẫn bị tạm giữ. Khách hàng có thể thử lại bằng phương thức thanh toán khác.

Design & Theme Customization

Tùy chỉnh portal bằng các theme, typography và màu sắc dựng sẵn, cùng bản xem trước trực tiếp, từ trang Design.
Lần sửa đổi cuối 26 tháng 9, 2026