21. Thanh toán cho người dùng (Transfer)#
Mục tiêu#
Cho phép Admin tạo và quản lý đợt thanh toán cho Influencer.
Luồng nghiệp vụ#
- Admin truy cập "Thanh toán".
- Xem danh sách đợt thanh toán / tạo mới.
- Hệ thống tổng hợp: người dùng có hoa hồng chưa thanh toán (đã đối soát).
- Admin xem chi tiết / xuất Excel.
- Xác nhận / Hủy thanh toán (kèm lý do).
- Kết thúc đợt: khóa, cập nhật số dư, ghi log giao dịch.
Tích hợp#
- Tích hợp với Service TOS (AccessTrade) để đẩy lệnh rút tiền.
- Retry tự động khi push thất bại (cron mỗi 30 phút).
API đã triển khai#
GET /transfers— Danh sáchPOST /transfers— Tạo đợtGET /transfers/:id— Chi tiếtPUT /transfers/:id— Cập nhậtPUT /transfers/:id/change-status— Đổi trạng tháiPATCH /transfers/:id/change-declined— Đánh dấu từ chốiGET /transfers/:id/withdraw-cashes— Danh sách giao dịch rút tiền
Tiêu chí chấp nhận (Acceptance Criteria)#
| # | Tiêu chí | Điều kiện đạt |
|---|---|---|
| AC-21.1 | Tạo đợt thanh toán | Tạo đợt → hệ thống tổng hợp user có hoa hồng đã đối soát chưa thanh toán |
| AC-21.2 | Xem chi tiết | Hiển thị danh sách user + số tiền + trạng thái — hỗ trợ phân trang |
| AC-21.3 | Xuất Excel | Tải file Excel chứa đầy đủ thông tin thanh toán |
| AC-21.4 | Xác nhận thanh toán | Confirm → đẩy lệnh rút tiền sang Service TOS, trạng thái cập nhật |
| AC-21.5 | Hủy thanh toán | Cancel + lý do → trạng thái hủy, số dư user không thay đổi |
| AC-21.6 | Kết thúc đợt | Khóa → cập nhật số dư user (đã thanh toán), ghi log giao dịch |
| AC-21.7 | Retry tự động | Push TOS thất bại → cron retry mỗi 30 phút → thành công sau retry |
22. Quản lý ngân sách chiến dịch (Budget)#
Mục tiêu#
Cho phép Admin cấu hình và theo dõi ngân sách chiến dịch.
Luồng nghiệp vụ#
- Admin tạo ngân sách cho chiến dịch: số tiền giới hạn (budget cap).
- Hệ thống tự động giám sát (cron mỗi 30 phút):
- Tính tổng hoa hồng phát sinh + dự kiến
- 75% → Cảnh báo (warning)
- 95% → Chặn bài đăng mới
- 100% → Ngừng tính hoa hồng (không lưu hoa hồng dự kiến)
- Gửi cảnh báo qua email (Admin) và giao diện/email (Influencer).
API đã triển khai#
POST /budget-campaigns— Tạo ngân sáchGET /budget-campaigns— Danh sáchGET /budget-campaigns/:id— Chi tiếtPUT /budget-campaigns/:id— Cập nhậtPATCH /budget-campaigns/:id/status— Đổi trạng thái
Tiêu chí chấp nhận (Acceptance Criteria)#
| # | Tiêu chí | Điều kiện đạt |
|---|---|---|
| AC-22.1 | Tạo ngân sách | Tạo budget cap cho chiến dịch → lưu thành công, hiển thị trong danh sách |
| AC-22.2 | Cảnh báo 75% | Hoa hồng phát sinh đạt 75% budget → Admin nhận email cảnh báo |
| AC-22.3 | Chặn submit 95% | Đạt 95% → tự động chặn Creator submit content mới cho chiến dịch |
| AC-22.4 | Ngừng tính hoa hồng 100% | Đạt 100% → hệ thống không lưu hoa hồng dự kiến mới |
| AC-22.5 | Thông báo Creator | Creator nhận thông báo khi chiến dịch bị chặn submit do vượt budget |