Thanh Toán (Payment Transactions)¶
Trang Thanh Toán (/dashboard/financial/payments) tổng hợp toàn bộ giao dịch thanh toán trong hệ thống. Từ đây có thể theo dõi trạng thái thanh toán, xem chi tiết từng giao dịch, thử lại các giao dịch thất bại, và xử lý hoàn tiền cho khách hàng.
Tổng Quan Trang¶

Stat Cards¶
| # | Card | Mô tả |
|---|---|---|
| ① | Tổng giao dịch | Tổng số giao dịch trong khoảng thời gian lọc |
| ② | Tổng tiền | Tổng doanh thu từ các giao dịch thành công |
| ③ | Tỷ lệ thành công | % giao dịch thành công / tổng giao dịch (kèm progress bar) |
| ④ | Đã hoàn tiền | Tổng giá trị đã hoàn lại cho khách hàng |
Action Buttons¶
| # | Nút | Mô tả |
|---|---|---|
| ⑤ | Refresh | Tải lại dữ liệu giao dịch |
Bộ Lọc¶
| # | Bộ lọc | Mô tả |
|---|---|---|
| ⑥ | Tìm kiếm | Tìm theo tên khách hoặc mã đặt phòng |
| ⑦ | Trạng thái | Lọc theo trạng thái giao dịch |
| ⑧ | Phương thức | Lọc theo phương thức thanh toán |
| ⑨ | Khoảng ngày | Lọc theo khoảng thời gian phát sinh giao dịch |
Bảng Giao Dịch¶
| # | Cột | Mô tả |
|---|---|---|
| ⑩ | Transaction ID | Mã giao dịch — nhấn để mở chi tiết |
| ⑪ | Khách & Đặt phòng | Thông tin khách hàng và mã đặt phòng liên kết |
| ⑫ | Số tiền | Giá trị giao dịch (VND) |
| ⑬ | Phương thức | Tag màu: CREDIT_CARD, DEBIT_CARD, BANK_TRANSFER, CASH, EWALLET |
| ⑭ | Trạng thái | Tag màu thể hiện trạng thái giao dịch |
| ⑮ | Ngày | Ngày tạo + ngày hoàn thành hoặc ngày thất bại |
| ⑯ | Thao tác | Nút Xem chi tiết · Retry (nếu thất bại) · Hoàn tiền (nếu thành công) |
Trạng Thái Giao Dịch¶
| Trạng thái | Màu | Biểu tượng | Ý nghĩa |
|---|---|---|---|
| pending | Cam | ⏱ | Đang chờ xử lý |
| success | Xanh lá | ✓ | Thanh toán thành công |
| failed | Đỏ | ✗ | Giao dịch thất bại |
| cancelled | Xám | ✗ | Đã hủy |
| refunded | Tím | ↩ | Đã hoàn tiền |
Phương Thức Thanh Toán¶
| Phương thức | Màu | Mô tả |
|---|---|---|
| CREDIT_CARD | Vàng | Thẻ tín dụng |
| DEBIT_CARD | Xanh dương | Thẻ ghi nợ |
| BANK_TRANSFER | Cyan | Chuyển khoản ngân hàng |
| CASH | Cam | Tiền mặt |
| EWALLET | Xanh lá | Ví điện tử |
Chi Tiết Giao Dịch¶

Nhấn vào Transaction ID hoặc icon mắt ở cột Thao tác để mở modal chi tiết.
| # | Phần | Mô tả |
|---|---|---|
| ① | Tiêu đề | Transaction ID đầy đủ |
| ② | Chi tiết giao dịch | Bảng Descriptions gồm tất cả trường thông tin |
| ③ | Đóng | Đóng modal |
| ④ | Retry Payment | Xuất hiện nếu trạng thái là failed — thử lại giao dịch |
| ⑤ | Process Refund | Xuất hiện nếu trạng thái là success — mở modal hoàn tiền |
Thông Tin Hiển Thị Trong Modal¶
| Trường | Mô tả |
|---|---|
| Transaction ID | Mã giao dịch đầy đủ |
| Amount | Số tiền giao dịch (VND) |
| Currency | Đơn vị tiền tệ |
| Payment Method | Phương thức thanh toán (tag màu) |
| Status | Trạng thái (tag màu + icon) |
| Transaction Type | Loại giao dịch (tag xanh) |
| Created At | Thời điểm tạo giao dịch |
| Completed At | Thời điểm hoàn tất (nếu có) |
| Updated At | Lần cập nhật gần nhất |
| Processed By | Nhân viên xử lý (nếu có) |
| Gateway Transaction ID | Mã giao dịch phía cổng thanh toán |
| Transaction Reference | Mã tham chiếu nội bộ |
| Notes | Ghi chú bổ sung |
Thử Lại Giao Dịch Thất Bại (Retry)¶
Khi giao dịch có trạng thái failed, hệ thống hiển thị nút Retry Payment trong: - Cột Thao tác trên bảng (icon ↺) - Footer của Modal chi tiết
Nhấn Retry sẽ khởi tạo lại giao dịch với cùng thông tin. Danh sách giao dịch tự cập nhật sau khi thử lại thành công.
Kiểm tra trước khi Retry
Xác nhận nguyên nhân thất bại trước khi thử lại — nếu lỗi do thẻ hết hạn hoặc tài khoản không đủ số dư, cần yêu cầu khách cung cấp phương thức thanh toán khác thay vì retry cùng phương thức.
Hoàn Tiền (Refund)¶

Chỉ áp dụng với giao dịch có trạng thái success. Nhấn icon hoàn tiền (↩) trên bảng hoặc Process Refund trong modal chi tiết.
| # | Phần | Mô tả |
|---|---|---|
| ① | Tiêu đề | "Process Refund" |
| ② | Thông tin giao dịch | Transaction ID, phương thức thanh toán, số tiền gốc |
| ③ | Số tiền hoàn | Nhập số tiền cần hoàn (VND) — tối đa bằng số tiền gốc |
| ④ | Lý do hoàn tiền | Textarea nhập lý do (bắt buộc trước khi xác nhận) |
| ⑤ | Hủy | Đóng modal, không thực hiện hoàn tiền |
| ⑥ | Xác nhận hoàn | Gửi yêu cầu hoàn tiền — giao dịch chuyển sang trạng thái REFUNDED |
Hoàn tiền một phần được phép
Số tiền hoàn có thể nhỏ hơn số tiền gốc (hoàn tiền một phần). Tuy nhiên không thể hoàn số tiền vượt quá giá trị giao dịch ban đầu.
Lý do hoàn tiền là bắt buộc
Trường lý do không thể bỏ trống — đây là yêu cầu kế toán để đảm bảo audit trail đầy đủ. Ghi rõ lý do: yêu cầu của khách, lỗi hệ thống, hủy dịch vụ, v.v.
Mẹo & Thực Hành Tốt Nhất¶
Theo dõi tỷ lệ thành công hàng ngày
Stat card Tỷ lệ thành công kèm progress bar cho thấy ngay sức khỏe của hệ thống thanh toán. Nếu tỷ lệ giảm đột ngột, kiểm tra ngay cổng thanh toán và liên hệ nhà cung cấp.
Lọc theo phương thức để phân tích kênh thanh toán
Kết hợp bộ lọc Phương thức + Khoảng ngày để phân tích phương thức nào được ưa chuộng nhất theo từng tháng — hỗ trợ quyết định ưu tiên cổng thanh toán.
Giao dịch PENDING quá lâu cần xử lý
Giao dịch ở trạng thái pending quá 30 phút thường biểu hiện lỗi kết nối với cổng thanh toán. Liên hệ IT để kiểm tra webhook và xử lý thủ công nếu cần.
Hoàn tiền nhanh cải thiện trải nghiệm khách
Xử lý hoàn tiền trong vòng 24 giờ kể từ khi nhận yêu cầu — đây là benchmark ngành khách sạn. Ghi rõ thời gian xử lý trong phần Notes để theo dõi SLA.
Câu Hỏi Thường Gặp¶
Retry bao nhiêu lần thì dừng?
Hệ thống không giới hạn số lần retry thủ công. Tuy nhiên, nếu giao dịch liên tục thất bại sau 3 lần retry, nên chuyển sang phương thức thanh toán khác và ghi nhận sự cố để báo cáo.
Thời gian hoàn tiền đến khách mất bao lâu?
Thời gian phụ thuộc vào phương thức: thẻ tín dụng/ghi nợ thường mất 5–10 ngày làm việc; ví điện tử thường trong 1–3 ngày. Hệ thống PMS chỉ ghi nhận yêu cầu hoàn tiền — thực tế xử lý phụ thuộc cổng thanh toán.
Có thể hoàn tiền nhiều lần cho một giao dịch không?
Không. Một giao dịch chỉ có thể hoàn tiền một lần. Sau khi hoàn tiền thành công, trạng thái chuyển thành refunded và không còn nút hoàn tiền.
Stat card hiển thị số liệu theo thời gian nào?
Mặc định hiển thị toàn bộ dữ liệu. Để xem theo khoảng thời gian cụ thể, dùng bộ lọc Khoảng ngày — stat cards sẽ cập nhật theo bộ lọc này.
Vì sao một số giao dịch không có nút Retry hay Refund?
Retry chỉ hiển thị với giao dịch failed. Refund chỉ hiển thị với giao dịch success. Các trạng thái pending, cancelled, refunded không có thao tác bổ sung.
Liên Kết Liên Quan¶
- Hóa Đơn — Hóa đơn liên kết với các giao dịch thanh toán
- Cổng Thanh Toán — Cấu hình cổng thanh toán VNPay, OnePay, Stripe
- Báo Cáo Tài Chính — Phân tích doanh thu và dòng tiền