error_code được chuẩn hóa và error_message ở dạng dễ đọc. Hướng dẫn này chỉ ra cách đọc các trường đó, quyết định có nên thử lại hay không và khôi phục khoản thanh toán an toàn.
Cách Dodo Payments Báo Cáo Một Thất Bại
Mỗi khoản thanh toán thất bại đều có các trường sau trên payment object:error_code và error_message là null cho đến khi một khoản thanh toán thất bại. Luôn kiểm tra status trước.Webhook payment.failed
Webhook payment.failed là cách đáng tin cậy nhất để phát hiện lỗi. Event chứa toàn bộ payment object trong data:
payment.failed payload
error_code và định tuyến dựa trên giá trị đó:
Quyết định có nên Retry hay không: Soft Decline và Hard Decline
error_code cho biết việc retry cùng payment method có đáng thực hiện hay không.
Xem Transaction Failures để biết danh sách đầy đủ các loại decline và hành động được đề xuất.
Xử lý lỗi tại Checkout và khi Renewal
Cách khôi phục phụ thuộc vào việc customer có đang hiện diện hay không.- At checkout (customer present)
- On subscription renewal (customer not present)
Khách hàng đang chủ động thực hiện checkout. Hiển thị thông báo rõ ràng và cho phép họ thử lại hoặc sử dụng card khác.
requires_payment_method— khách hàng chưa cung cấp payment method. Đây thường là trường hợp rời bỏ checkout, không phải decline. Thu hút lại khách hàng để hoàn tất thanh toán (xem Khôi phục giỏ hàng bị bỏ quên).requires_customer_action— cần xác thực bổ sung (chẳng hạn như 3DS). Yêu cầu khách hàng hoàn tất bước này. Xem 3D Secure.
Retry Payment Thất bại
Subscriptions: Bật Subscription Payment Retries để tự động khôi phục các trường hợp soft decline. Để thử lại ngay thay vì chờ theo lịch, hãy sử dụng Manual Payment Retry từ dashboard hoặc API. Bạn cũng có thể kích hoạt quá trình khôi phục bằng cách yêu cầu khách hàng cập nhật payment method thông qua Update Payment Method API, thao tác này sẽ charge mọi khoản còn nợ. One-time payments: Gửi lại checkout hoặcpayment_link để khách hàng có thể thử lại bằng payment method khác. One-time payments không được tự động retry.
Hiển thị lỗi cho khách hàng an toàn
Hiển thị cho khách hàng một thông báo thân thiện, không bao giờ hiển thịerror_code thô hoặc error_message dành cho merchant.
Trên các giao diện do Dodo Payments kiểm soát (checkout, Customer Portal, email dunning), việc ánh xạ này đã được thực hiện sẵn cho bạn, bao gồm cả cơ chế dự phòng sang thông báo chung đối với các trường hợp decline liên quan đến gian lận. Bạn chỉ cần sử dụng ánh xạ bên dưới khi hiển thị lỗi trong sản phẩm của riêng mình.
Customer-facing messaging
Liên quan
Transaction Failures
Mọi decline code, loại decline và hành động được đề xuất.
Error Codes
Các lỗi API và logic nghiệp vụ không phải là card decline.
Subscription Payment Retries
Tự động khôi phục soft decline trong các lần gia hạn subscription.
Subscription Dunning
Các chuỗi email khôi phục hard decline.
Payment Webhooks
Schema payload đầy đủ cho các payment event.
Testing Failures
Các test card mô phỏng decline và lỗi gia hạn.