Tính năng mới
1. Mã giảm giá: Giảm theo số tiền, lên lịch và quy tắc điều kiện
Mã giảm giá không còn chỉ hỗ trợ theo phần trăm. Giờ đây, một mã có thể trừ một số tiền cố định, bắt đầu theo lịch, có mức giá khác nhau theo từng loại tiền tệ và giới hạn đối tượng được phép sử dụng. Giảm theo số tiền Đặttype thành flat để trừ một số tiền cố định thay vì một phần trăm. Khoản giảm được phân bổ trên toàn bộ giỏ hàng thay vì áp dụng cho từng mục hàng.

currency_options cho phép một mã hoạt động chính xác trên mọi loại tiền tệ bạn bán. Mỗi mục thiết lập cho một loại tiền tệ duy nhất mức giảm tối đa (bản thân khoản trừ đối với mã Số tiền, mức giới hạn đối với mã Phần trăm) và giá trị giỏ hàng tối thiểu. Mã giảm theo số tiền yêu cầu ít nhất một tùy chọn tiền tệ có giá trị mặc định có thể xác định; tùy chọn tiền tệ vẫn là không bắt buộc đối với mã giảm theo phần trăm.
Điều kiện khách hàng
customer_eligibility kiểm soát những ai được phép sử dụng mã:

GET /discounts/{discount_id}/customers để liệt kê các khách hàng được liên kết, POST /discounts/{discount_id}/customers để liên kết họ và DELETE /discounts/{discount_id}/customers/{customer_id} để hủy liên kết một khách hàng.
Lên lịch và giới hạn theo từng khách hàng
Đặt starts_at để lên lịch phát hành mã trong tương lai — để trống sẽ giữ mã hoạt động ngay lập tức và giá trị này phải sớm hơn expires_at một cách nghiêm ngặt. Sử dụng per_customer_usage_limit để giới hạn số lần một khách hàng có thể sử dụng mã, đây là giới hạn riêng và không được vượt quá usage_limit tổng thể.
Giá trị giỏ hàng tối thiểu luôn được tính dựa trên giá gốc của giỏ hàng, không dựa trên tổng tạm tính giữa chừng trong một chuỗi áp dụng mã. Vì vậy, thứ tự áp dụng mã không bao giờ thay đổi việc có đạt mức tối thiểu hay không.
2. Trải nghiệm Webhooks được xây dựng lại
Phần webhooks trong dashboard đã được xây dựng lại thành trải nghiệm native, thay thế portal nhúng. Giờ đây, mọi thứ đều nằm trong dashboard với các bảng, bộ lọc và điều hướng nhất quán, đồng thời hoạt động chính xác trên thiết bị di động.- Endpoints — tạo và chỉnh sửa endpoint trong bảng bên, chọn các loại sự kiện từ cây có thể tìm kiếm và xem nhanh tỷ lệ lỗi trong 24 giờ qua.
- Hoạt động và nhật ký — theo dõi các lần thử gửi theo thời gian trên biểu đồ Hoạt động gửi, duyệt các message đã gửi và mở trang chi tiết message để kiểm tra payload cùng mọi lần thử gửi, bao gồm response code và thời lượng. Bạn có thể replay từng lần thử ngay tại đó.
- Danh mục sự kiện — duyệt mọi loại sự kiện mà Dodo Payments gửi, cùng schema và payload mẫu.
- Tổng quan endpoint — thống kê gửi trong 24 giờ qua, signing secret để xem hoặc xoay vòng và Lịch sử replay.
- Kiểm thử — gửi một sự kiện mẫu đến endpoint để xác minh receiver trước khi đưa vào hoạt động.
- Nâng cao — giới hạn tốc độ gửi, quản lý custom headers được gửi trong mọi request đến endpoint đó và chỉnh sửa transformation của endpoint.
- Replay hàng loạt — trên một endpoint, khôi phục các message không gửi được, replay những message chưa từng được gửi hoặc replay một phạm vi đã lọc.
- Cảnh báo qua email — tab Settings mới, nơi bạn có thể liệt kê các địa chỉ sẽ nhận email khi việc gửi đến một endpoint bắt đầu thất bại. Phân tách nhiều địa chỉ bằng dấu phẩy và để trống để tắt cảnh báo.
Đây chỉ là thay đổi trên dashboard. Các endpoint, signing secret, xác minh chữ ký, tên sự kiện và payload hiện có của bạn đều không thay đổi — không cần thực hiện công việc tích hợp nào.
3. Cash App Pay cho các gói đăng ký
Giờ đây Cash App Pay có thể hỗ trợ một gói đăng ký định kỳ, không chỉ thanh toán một lần. Phương thức này có sẵn trên các checkout tại Hoa Kỳ được tính phí bằng USD, cùng với các tùy chọn thẻ hiện có. Tìm hiểu thêm: Digital Wallets4. SEPA Direct Debit
SEPA Direct Debit hiện có sẵn trên toàn khu vực Eurozone, cho phép khách hàng thanh toán trực tiếp từ tài khoản ngân hàng thay vì sử dụng thẻ. Phương thức này được cung cấp trên checkout EUR cho các khoản thanh toán một lần. Tìm hiểu thêm: European Payment Methods5. Thông báo lỗi thanh toán rõ ràng hơn
Khi một khoản thanh toán thất bại, bạn và khách hàng giờ đây sẽ thấy nội dung được viết rõ ràng thay vì văn bản thô từ processor. Mỗi lỗi được phân loại qua 46 error code thống nhất, mỗi mã được ánh xạ cho hai nhóm đối tượng:- Bạn thấy tiêu đề cùng hành động được đề xuất trên payment, để biết nên yêu cầu khách hàng thử lại, liên hệ ngân hàng hay sử dụng thẻ khác.
error_messagetrên đối tượng Payment giờ đây chứa nội dung này bất cứ khi nàoerror_codelà một mã thống nhất được nhận diện. - Khách hàng của bạn thấy phần giải thích bằng ngôn ngữ đơn giản trên màn hình lỗi checkout, trong Customer Portal và trong email dunning — ví dụ: “Mã bảo mật của thẻ (CVC) có vẻ không chính xác. Vui lòng nhập lại và thử lần nữa.”
6. Cho phép khách hàng tự hủy gói đăng ký
Allow Subscription Cancellation giờ đây là một cài đặt chính thức trong tab Subscriptions của phần cài đặt dashboard và được thực thi xuyên suốt. Khi tắt cài đặt này, Customer Portal sẽ vô hiệu hóa nút hủy và API từ chối yêu cầu hủy do khách hàng khởi tạo với một403 — áp dụng cho cả luồng hủy ngay lập tức và luồng “hủy vào ngày thanh toán tiếp theo”. Trước đây, cài đặt này chỉ ẩn nút, vì vậy khách hàng vẫn có thể hủy qua API nếu cố ý thực hiện.
Cài đặt này được bật theo mặc định. Các lần hủy của chính bạn qua merchant API và dashboard không bị ảnh hưởng, đồng thời khách hàng luôn có thể thu hồi một yêu cầu hủy mà họ đã lên lịch.
Tìm hiểu thêm: Customer Portal | Subscriptions
7. Payout Webhooks
Giờ đây bạn nhận được webhooks cho các khoản payout của chính mình, nhờ đó có thể đối soát trong hệ thống kế toán mà không cần polling.payout.created trước đây được phát ra dưới dạng payout.not_initiated. Nếu một endpoint hiện có lọc theo payout.not_initiated, hãy cập nhật bộ lọc thành payout.created để tiếp tục khớp. Trường status trong payload vẫn báo cáo not_initiated ở giai đoạn này.8. Thay đổi email đăng nhập từ dashboard
Giờ đây bạn có thể thay đổi địa chỉ email dùng để đăng nhập mà không cần liên hệ bộ phận hỗ trợ. Tab Account đã được thiết kế lại và có thêm phần Change Email, với nút Change email để bắt đầu quy trình. Quy trình xác minh gồm hai bước: chúng tôi gửi một mã đến địa chỉ hiện tại để xác nhận đó là bạn, sau đó gửi mã thứ hai đến địa chỉ mới để xác nhận bạn kiểm soát địa chỉ đó. Sau khi cả hai địa chỉ được xác minh:- Từ đó, đăng nhập bằng địa chỉ mới. Địa chỉ cũ sẽ không còn hoạt động với mật khẩu, magic link và mã được gửi qua email.
- Mọi identity provider được liên kết, chẳng hạn như đăng nhập Google hoặc GitHub, sẽ bị hủy liên kết và phải được kết nối lại.
- Mật khẩu, businesses, quyền truy cập team và trạng thái xác minh của bạn không thay đổi.
- Một thông báo sẽ được gửi đến địa chỉ cũ để một thay đổi bất ngờ không bao giờ diễn ra trong im lặng.
9. Analytics: Widget mới và các tinh chỉnh
Dựa trên bản xây dựng lại của Analytics v3, bản phát hành này bổ sung các hình ảnh trực quan mới và cải thiện những hình ảnh hiện có.- Doanh thu theo quốc gia giờ đây là bản đồ choropleth toàn chiều rộng, với danh sách quốc gia được xếp hạng bên cạnh; card này cũng có thể chia sẻ như các card khác.
- Biểu đồ xu hướng được vẽ lại với crosshair khi di chuột, pill ngày cuộn trên trục x và tooltip nhỏ gọn.
- Preset ngày mới — Last 30 days thay thế Last 4 weeks và Last 6 months được thêm vào danh sách.
- Bộ lọc của bạn được duy trì. Preset ngày và chế độ so sánh giờ đây được lưu theo từng business và đồng bộ trên các thiết bị, thay vì đặt lại về mặc định trong mỗi phiên.
- Khách hàng hàng đầu được xác định theo tên, nếu không có thì dùng email.
- Doanh thu theo quốc gia giờ đây trả về tối đa 150 quốc gia hàng đầu.
Cải tiến và sửa lỗi
10. Lọc Payments theo tiền tệ
GET /payments chấp nhận query parameter currency tùy chọn, nhờ đó bạn chỉ có thể liệt kê các payments được quyết toán bằng một loại tiền tệ cụ thể — ví dụ GET /payments?currency=EUR. Bộ lọc tương tự cũng có trên bảng Payments trong dashboard.
Tìm hiểu thêm: List Payments
11. Kéo dài thời hạn phản hồi tranh chấp lên 10 ngày
Giờ đây bạn có 10 ngày để phản hồi tranh chấp sau khi tranh chấp được tạo, tăng từ 4 ngày. Đồng hồ đếm ngược trên tranh chấp trong dashboard và thời hạn phản hồi do API trả về đều phản ánh khoảng thời gian dài hơn. Tìm hiểu thêm: Disputes12. Biểu mẫu tài khoản ngân hàng nhận payout rõ ràng hơn
Việc thêm tài khoản ngân hàng nhận payout giờ đây ít gây nhầm lẫn hơn. Nhãn trường, mô tả và tooltip tự động điều chỉnh theo loại hình business, nhờ đó tên chủ tài khoản và tên người thụ hưởng không còn hiển thị như các mục trùng lặp đối với doanh nghiệp tư nhân. Khi chọn Other làm ngân hàng, bạn có thể tự do nhập tên; mã ngân hàng nội địa Trung Quốc được gắn nhãn là CNAPS; và trang payouts vẫn hiển thị trong chế độ test để bạn có thể truy cập các tài khoản đã liên kết từ cả hai chế độ. Tìm hiểu thêm: Payouts ProcessCác bản sửa lỗi và cải tiến khác
- Credit do thay đổi plan được hoàn lại khi payment thất bại. Credit proration được cấp trong lúc thay đổi plan đăng ký không còn bị giữ lại nếu payment phát sinh không thành công.
- Invoice của trial có tính phí hiển thị khoản phí trial, không phải mức giá định kỳ thông thường.
- Giảm giá theo phần trăm tuân thủ giá trị giỏ hàng tối thiểu, được tính theo giá cơ sở thay vì tổng tạm tính; timeout khóa giảm giá giờ đây trả về một error code riêng thay vì
503chung. - Xóa payment method đã bị xóa trước đó giờ đây thành công thay vì trả về lỗi, giúp request có tính idempotent an toàn.
- Đã sửa loại tiền tệ được sử dụng cho mức sàn mandate tại Ấn Độ khi cập nhật payment method của subscription.
- Các mục trong credit ledger vượt quá giới hạn cho phép bị từ chối với một
400có kiểu rõ ràng thay vì thất bại ở giai đoạn sau. - Sản phẩm Pay-what-you-want hỗ trợ số tiền cố định trong shared checkout links và entitlement ID được hiển thị trong panel chi tiết entitlement.
- Các bản sửa lỗi Analytics: chuỗi lifetime value, add-on được tính trong MRR, không so sánh kỳ trên các phạm vi all-time, chuỗi dừng ở bucket hiện tại và nhãn phạm vi cũng như so sánh rõ ràng hơn.
- Các bản sửa lỗi nhỏ và cải thiện độ ổn định trên toàn platform.