Xử lý yêu cầu rút tiền#
Mục tiêu: Admin tạo đợt Transfer, gom các yêu cầu rút tiền từ Influencer, duyệt/từ chối và đối soát kết quả từ cổng thanh toán (Techcombank API).
Mục tiêu#
- Tạo đợt Transfer với hạn mức min/max.
- Duyệt hoặc từ chối các withdraw requests trong đợt.
- Xác nhận đợt đã chuyển tiền thành công.
- Đối chiếu trạng thái sync với cổng thanh toán.
Điều kiện tiên quyết#
- Có quyền Xử lý rút tiền (role Finance/Admin).
- Có Influencer đã submit yêu cầu rút (có records pending).
- Kết nối cổng Techcombank đã setup (do DevOps).
Quy trình tổng thể#
Influencer submit withdraw
↓
Pending queue
↓
Admin tạo đợt Transfer (gom các request)
↓
New → Processing → Processed
↓
Admin xác nhận chuyển tiền
↓
Transferring → Transferred
↓
Finished / Rejected
Các bước thực hiện#
1. Tạo đợt Transfer#
- Vào menu Xử lý rút tiền.
- Bấm Tạo mới.
- Điền:
- Tên — ví dụ: "Transfer T4/2026 Đợt 1"
- Số tiền tối thiểu — default
200.000VND (chỉ nhận request >= số này) - Số tiền tối đa — giới hạn mỗi request (nếu có)
- Đối tác (nếu AT multi-partner)
- Lưu. Đợt có trạng thái New (cam).
2. Mở chi tiết đợt#
Vào đợt vừa tạo. Có 2 tab:
- Danh sách chờ duyệt — requests đang xử lý
- Danh sách đã từ chối — requests bị reject
Bảng hiển thị các cột:
| Cột | Ý nghĩa |
|---|---|
| Người dùng | Influencer |
| Số tiền | Tổng rút |
| Số tiền rút thực tế | Sau phí |
| Phí ngân hàng | |
| Tiền còn lại | Trong ví sau rút |
| Code | Mã giao dịch |
| Trạng thái | Draft/Pending/Processed/Transferring/Completed/Rejected |
| Số thẻ | Số tài khoản Techcombank |
| Tên chủ thẻ | |
| Tên chi nhánh | |
| Ngân hàng | Techcombank |
3. Duyệt/từ chối từng request#
Mỗi row có action:
- Xác nhận chuyển tiền — approve request → status Processed.
- Từ chối — reject + nhập lý do → status Rejected.
- Với các request bị reject, có thể chuyển về bảng chờ duyệt (undo) nếu decide lại.
4. Xác nhận đã chuyển tiền#
Sau khi xử lý thủ công giao dịch thật (qua Techcombank internal banking):
- Bấm Xác nhận hoàn tất trên request.
- Status → Completed (xanh lá).
- Tiền trừ khỏi ví Influencer (nếu chưa).
5. Các trạng thái request (withdraw cash item)#
| Status | Màu | Ý nghĩa |
|---|---|---|
| Draft | Cam | Nháp, chưa gửi |
| Pending | Cam | Đang chờ Admin duyệt |
| Processed | Cam | Đã duyệt, chờ chuyển tiền |
| Transferring | Cyan | Đang chuyển tiền |
| Completed | Xanh lá | Đã xong |
| Rejected | Đỏ | Bị từ chối |
6. Các trạng thái đợt Transfer#
| Status | Màu | Ý nghĩa |
|---|---|---|
| New | Cam | Mới tạo |
| Processing | Cyan | Đang xử lý |
| Processed | Cam | Đã duyệt xong, chờ chuyển tiền |
| Transferring | Cyan | Đang chuyển |
| Transferred | Cam | Đã chuyển, chờ confirm |
| Finished | Xanh lá | Hoàn tất |
| Rejected | Đỏ | Bị hủy |
Chi tiết từng bước#
Sync với cổng thanh toán#
Mỗi request có trường Sync Status với cổng TCB:
CREATED→ Mới tạoPENDING→ Đang xử lýSUCCESS→ Thành côngPAID→ Đã thanh toánUNPAID→ Chưa thanh toánCANCELLED→ Đã hủyFAILED→ Thất bại
Admin dùng status này để đối chiếu với trạng thái nội bộ và phát hiện lệch.
Xử lý giao dịch thất bại#
Nếu sync status = FAILED:
- Mở request, xem lỗi chi tiết.
- Nguyên nhân phổ biến:
- Sai số tài khoản → yêu cầu Influencer cập nhật và re-submit.
- Tên chủ tài khoản không khớp → Influencer cập nhật CMND/CCCD với ngân hàng.
- Quota TCB hết → chờ reset.
- Sau khi fix, có thể retry (tùy implementation).
Bulk actions#
Với đợt có nhiều request:
- Select all → Approve all / Reject all.
- Export đợt ra Excel để kiểm tra offline.
Hạn mức min/max#
- Min: 200.000 VND (mặc định). Request dưới số này không vào đợt.
- Max: nếu set, request > max bị loại.
- Mục đích: giảm phí ngân hàng (gộp nhiều request nhỏ không hiệu quả).
Lỗi thường gặp#
1. Request không xuất hiện trong đợt Transfer mới tạo#
- Số tiền request < min của đợt.
- Request đã thuộc đợt Transfer khác.
- Influencer chưa hoàn tất eKYC/TOS.
2. Approve nhưng không chuyển được tiền#
- Lỗi API Techcombank (rate limit, maintenance).
- Số tài khoản Influencer sai → reject và yêu cầu update.
3. Sync status kẹt ở PENDING#
- Callback từ TCB chưa về. Chờ thêm (thường 5–30 phút).
- Nếu > 1 giờ, liên hệ DevOps kiểm tra webhook.
4. Đợt stuck ở Transferring#
- Một số request đang chuyển. Xem tab Danh sách chờ duyệt để identify.
- Force-complete từng request nếu cần.
5. Tên chủ tài khoản không đúng#
→ Reject với lý do "Tên chủ tài khoản không khớp". Influencer cần vào hồ sơ, sửa tên chủ tài khoản → re-submit withdraw.
Câu hỏi thường gặp (FAQ)#
Bao lâu phải xử lý 1 request?
SLA thường là 7 ngày (tham khảo hệ thống). Admin nên xử lý trong 24–48 giờ để Influencer không phàn nàn.
Có thể gộp nhiều request của cùng 1 Influencer?
Thường không. Mỗi withdraw request là 1 giao dịch riêng (Influencer submit nhiều lần = nhiều request). Admin xử lý từng cái.
Phí ngân hàng tính thế nào?
Cấu hình trong hệ thống. Phí trừ vào tiền rút (Influencer nhận = Rút − Phí).
Từ chối sai có thể undo không?
Có. Trong tab Danh sách đã từ chối, có action Chuyển về bảng chờ duyệt.
Audit log có tracking đầy đủ không?
Có. Mọi approve/reject/status change đều ghi vào audit log: ai làm, khi nào, reason. Xem Audit Log.
Refund (hoàn tiền về ví) tự động hay thủ công?
Khi reject, hệ thống tự động hoàn tiền về ví Influencer. Admin không cần thao tác thêm.
Liên kết liên quan#
Tham khảo SRS: admin-portal/08-thanh-toan