SRS_Thanh toán & Giao dịch
Giới thiệu & tài liệu liên quan
Đặc tả yêu cầu phần mềm cho module Thanh toán & Giao dịch (CORE-08). Xem thêm Tổng quan module · UC · UI.
1/ Luồng Sequence
2/ Luồng di chuyển màn hình
3/ Đặc tả chi tiết theo màn hình
MH1: Cài đặt phương thức thanh toán
Mô tả màn hình: Danh sách phương thức thanh toán của sân (QR VNPAY · thẻ ngân hàng · POS di động · tiền mặt) kèm trạng thái kết nối; form nhập thông tin xác thực và khu vực đăng ký webhook.
Sự kiện 1 — Kết nối nhà cung cấp
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Nhấn [+ Kết nối nhà cung cấp], chọn loại nhà cung cấp |
| 2 | Chủ sân | Nhập thông tin xác thực và nhấn [Lưu kết nối] |
| 3 | Service Thanh toán | Hợp lệ: Lưu mã hóa theo sân, hiển thị phương thức ở trạng thái đã kết nối (che bớt) |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Thiếu / sai thông tin xác thực | "Thông tin xác thực không hợp lệ, vui lòng kiểm tra lại." | Dưới trường · lỗi | Chặn lưu, focus trường thiếu |
| 2 | Không có quyền Chủ sân | "Bạn không có quyền kết nối nhà cung cấp." | Toàn màn hình · cảnh báo | Ẩn nút kết nối, chỉ cho xem |
Sự kiện 2 — Đăng ký webhook
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Khai báo endpoint nhận sự kiện, chọn loại sự kiện và số lần thử lại |
| 2 | Service Thanh toán | Hợp lệ: Lưu đăng ký webhook theo sân |
Không hợp lệ — Sự kiện 2
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Endpoint để trống / sai định dạng | "Vui lòng nhập địa chỉ endpoint hợp lệ." | Dưới trường · lỗi | Chặn lưu |
MH2: Thu thanh toán & trạng thái thời gian thực
Mô tả màn hình: Bề mặt thu tiền cho đơn POS: chọn phương thức, hiển thị mã QR / hướng dẫn thanh toán, và badge trạng thái cập nhật thời gian thực (pending → paid / failed / expired).
Sự kiện 1 — Khởi tạo & theo dõi thanh toán
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Thu ngân | Nhấn [Nhận thanh toán], chọn phương thức |
| 2 | Service Thanh toán | Khởi tạo khoản thanh toán ở trạng thái pending |
| 3 | Nhà cung cấp thanh toán | Gửi kết quả về hệ thống |
| 4 | Service Thanh toán | Hợp lệ: Cập nhật paid, phát trạng thái thời gian thực, thông báo đơn tất toán |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Thanh toán thất bại / hết hạn | "Thanh toán không thành công. Vui lòng thử lại." | Badge trạng thái · cảnh báo | Đặt failed / expired, giữ đơn mở để thu lại |
| 2 | Sân chưa kết nối phương thức được chọn | "Phương thức này chưa được kết nối cho sân." | Hộp thoại · cảnh báo | Hướng dẫn Chủ sân kết nối trước |
MH3: Tài khoản & Ví
Mô tả màn hình: Danh sách tài khoản nơi tiền nằm (CASH · BANK · QR · POS di động) kèm số dư hiện hành; form tạo tài khoản với số dư đầu kỳ; đánh dấu tài khoản mặc định nhận thu bán hàng.
Sự kiện 1 — Tạo & xem tài khoản
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Nhấn [+ Tạo tài khoản], chọn loại và nhập số dư đầu kỳ |
| 2 | Service Tài chính | Hợp lệ: Lưu tài khoản, hiển thị số dư đầu kỳ là số dư hiện hành |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Thiếu tên / loại tài khoản | "Vui lòng nhập tên và chọn loại tài khoản." | Dưới trường · lỗi | Chặn lưu |
| 2 | Vai trò không được cấp quyền trên sân | "Bạn chỉ thấy tài khoản của sân được phân công." | Toàn màn hình · cảnh báo | Giới hạn danh sách theo phạm vi |
MH4: Sổ cái giao dịch
Mô tả màn hình: Tổng quan sổ cái ghi sổ kép: danh sách voucher (loại · số · ngày · trạng thái), số dư tài khoản và lịch sử dòng tiền; lối vào tạo voucher và quản lý nhóm.
Sự kiện 1 — Xem sổ cái & số dư
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Mở sổ cái, lọc theo tài khoản / loại voucher / khoảng thời gian |
| 2 | Service Tài chính | Hợp lệ: Trả về danh sách voucher và số dư khớp tổng các dòng đã ghi |
Sự kiện 2 — Theo dõi voucher tự động ghi
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Service Tài chính | Tự ghi voucher RECEIPT / PAYMENT / ADJUSTMENT từ sự kiện nghiệp vụ |
| 2 | Chủ sân | Xem voucher tự động trong sổ cái, phân loại lại nhóm nếu cần |
Không hợp lệ — Sự kiện 2
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Sự kiện nguồn gửi lại | (không hiển thị lỗi) | - | Bỏ qua, không ghi voucher thứ hai |
MH5: Form voucher thủ công
Mô tả màn hình: Form tạo voucher: chọn loại (RECEIPT / PAYMENT / TRANSFER / ADJUSTMENT), bảng dòng tiền (tài khoản · DEBIT / CREDIT · số tiền · nhóm), tổng kiểm tra cân đối, nút phát hành và banner huỷ.
Sự kiện 1 — Tạo & phát hành voucher
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Chọn loại voucher, nhập các dòng tiền (nháp) |
| 2 | Chủ sân | Nhấn [Phát hành] |
| 3 | Service Tài chính | Hợp lệ: Kiểm tra cân đối, cấp số thứ tự, ghi voucher, cập nhật số dư |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Tổng DEBIT khác tổng CREDIT | "Voucher chưa cân đối: tổng ghi nợ phải bằng tổng ghi có." | Khu vực tổng · lỗi | Chặn phát hành |
| 2 | Thiếu tài khoản / số tiền ở một dòng | "Mỗi dòng cần tài khoản và số tiền hợp lệ." | Dòng tiền · lỗi | Chặn phát hành, đánh dấu dòng thiếu |
Sự kiện 2 — Huỷ voucher
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Mở voucher đã phát hành, nhấn [Huỷ] |
| 2 | Service Tài chính | Hợp lệ: Ghi một bút toán đảo ngược cân đối; giữ nguyên voucher gốc |
Không hợp lệ — Sự kiện 2
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Voucher còn ở trạng thái nháp | "Voucher chưa phát hành nên không cần huỷ." | Banner · cảnh báo | Cho xoá nháp thay vì đảo bút toán |
MH6: Nhóm thu/chi
Mô tả màn hình: Danh sách nhóm thu/chi: 14 nhóm hệ thống tạo sẵn (được bảo vệ) và các nhóm tùy chỉnh theo sân; cho phép thêm nhóm con dưới nhóm cha.
Sự kiện 1 — Thêm nhóm tùy chỉnh
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Nhấn [+ Thêm nhóm], nhập tên, chọn kiểu (INCOME / EXPENSE) và nhóm cha |
| 2 | Service Tài chính | Hợp lệ: Lưu nhóm tùy chỉnh, sẵn sàng phân loại tiền |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Cố xoá / đổi nhóm hệ thống | "Nhóm hệ thống được bảo vệ, không thể gỡ bỏ." | Dòng nhóm · cảnh báo | Chặn thao tác |
4/ Trường hợp đặc biệt
Case đặc biệt cần xử lý
- Case: Kết quả thanh toán gửi lại. Cùng một kết quả từ nhà cung cấp chỉ được áp dụng một lần; lần gửi lại bị bỏ qua, không cập nhật trạng thái hay ghi sổ trùng.
- Case: Thanh toán tiền mặt. Đường tiền mặt cũng phát kết quả như nhà cung cấp để trạng thái phía sau và việc ghi sổ đồng nhất.
- Case: Huỷ voucher. Huỷ luôn là một bút toán đảo ngược cân đối; lịch sử tài chính không bao giờ bị xóa cứng.
- Case: Số dư khớp sổ cái. Số dư hiện hành của mỗi tài khoản luôn bằng tổng các dòng sổ cái đã ghi của tài khoản đó.