Skip to content

UC_Thanh toán & Giao dịch

Giới thiệu & tài liệu liên quan

Đặc tả Use Case cho các nghiệp vụ chính của module Thanh toán & Giao dịch (CORE-08). Xem thêm Tổng quan module · SRS · UI.


UC1 — Kết nối phương thức thanh toán

MụcNội dung
Use Case IDUC_CORE08_PROV_001
Use Case NameKết nối phương thức thanh toán của sân
Use Case DescriptionChủ sân kết nối một nhà cung cấp thanh toán (QR VNPAY · thẻ ngân hàng · POS di động) theo từng sân bằng thông tin xác thực; hệ thống lưu mã hóa, che bớt khi hiển thị và chỉ dùng được cho đúng sân đó.
System Under DesignPayment Client · Service Thanh toán
Primary ActorChủ sân
Supporting/External ActorNhà cung cấp thanh toán
PriorityHIGH
TriggerChủ sân vào Cài đặt → Phương thức thanh toán và nhấn [+ Kết nối nhà cung cấp]
Pre-ConditionNgười dùng đã đăng nhập với quyền Chủ sân trên sân đang chọn
Post-ConditionPhương thức thanh toán ở trạng thái đã kết nối; thông tin xác thực được lưu mã hóa, che bớt và giới hạn theo sân

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Chủ sânMở màn hình Cài đặt → Phương thức thanh toán
2Chủ sânNhấn [+ Kết nối nhà cung cấp]
3Chủ sânChọn nhà cung cấp: QR VNPAY · thẻ ngân hàng · POS di động
4Chủ sânNhập thông tin xác thực do nhà cung cấp cấp
5Chủ sânNhấn [Lưu kết nối]
6Service Thanh toánKiểm tra hợp lệ, lưu thông tin xác thực ở dạng mã hóa, gắn với đúng sân
7Payment ClientHiển thị phương thức ở trạng thái đã kết nối, thông tin xác thực được che bớt

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_3A.13Sân đã có một phương thức cùng loại → Chủ sân cập nhật thông tin xác thực thay vì tạo mới
2AF_6A.16Chủ sân tạm ngắt một phương thức đã kết nối → phương thức chuyển trạng thái tạm ngưng, không nhận thanh toán mới

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_5.15Thiếu hoặc sai thông tin xác thực → hệ thống báo lỗi và yêu cầu nhập lại
2EF_6.16Người dùng không có quyền Chủ sân → hệ thống chặn thao tác kết nối

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR1Thông tin xác thực của nhà cung cấp luôn được lưu mã hóa và không bao giờ hiển thị đầy đủ
2BR2Thông tin xác thực giới hạn theo từng sân; một sân không dùng được thông tin xác thực của sân khác
3BR3Chỉ Chủ sân được kết nối hoặc đổi thông tin xác thực nhà cung cấp

UC2 — Thu thanh toán & theo dõi trạng thái thời gian thực

MụcNội dung
Use Case IDUC_CORE08_PAY_002
Use Case NameThu thanh toán cho đơn POS
Use Case DescriptionThu ngân thu một khoản thanh toán cho đơn POS (đặt sân + FNB + dụng cụ); hệ thống nhận kết quả từ nhà cung cấp, cập nhật trạng thái thời gian thực (pending → paid / failed / expired) và thông báo cho đơn khi thành công.
System Under DesignPayment Client · Service Thanh toán
Primary ActorThu ngân
Supporting/External ActorNhà cung cấp thanh toán · Module Đơn hàng
PriorityHIGH
TriggerThu ngân nhấn [Nhận thanh toán] trên đơn POS và chọn phương thức
Pre-ConditionĐơn POS đang mở; sân đã kết nối ít nhất một phương thức thanh toán
Post-ConditionKhoản thanh toán chuyển sang paid; đơn được thông báo để tất toán; hoặc failed / expired và đơn vẫn để mở

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Thu ngânTrên đơn POS, nhấn [Nhận thanh toán]
2Thu ngânChọn phương thức: tiền mặt · QR VNPAY · thẻ ngân hàng · ví
3Service Thanh toánKhởi tạo khoản thanh toán ở trạng thái pending
4Nhà cung cấp thanh toánGửi kết quả thanh toán về hệ thống
5Service Thanh toánCập nhật trạng thái paid, thông báo cho đơn để tất toán
6Payment ClientHiển thị trạng thái cập nhật thời gian thực cho Thu ngân

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_2A.12Thu 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 đồng nhất
2AF_4A.14Nhà cung cấp gửi lại cùng một kết quả → hệ thống bỏ qua lần thứ hai, không tạo hiệu ứng trùng lặp

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_4.14Nhà cung cấp báo thất bại / hết hạn → khoản thanh toán đặt failed / expired, đơn vẫn để mở cho thu lại
2EF_2.12Sân chưa kết nối phương thức được chọn → hệ thống chặn và hướng dẫn kết nối trước

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR4Cùng một kết quả thanh toán chỉ được áp dụng một lần dù được gửi nhiều lần
2BR5Chỉ khoản thanh toán thành công mới thông báo cho đơn để tất toán; thất bại / hết hạn giữ đơn mở
3BR6Trạng thái thanh toán được phát thời gian thực để Thu ngân không phải làm mới thủ công
4BR7Đường tiền mặt và đường nhà cung cấp cùng quy tụ về một trạng thái thống nhất

UC3 — Tự động ghi sổ thu/chi từ sự kiện

MụcNội dung
Use Case IDUC_CORE08_POST_003
Use Case NameTự động ghi voucher từ sự kiện nghiệp vụ
Use Case DescriptionKhi một đơn POS thanh toán thành công, hoặc nhận đơn mua hàng, hoặc có biến động tồn kho, service Tài chính tự động ghi một voucher ghi sổ kép cân đối vào tài khoản tương ứng, mỗi sự kiện đúng một lần.
System Under DesignService Tài chính · Event Bus
Primary ActorService Tài chính (tác nhân hệ thống)
Supporting/External ActorModule Đơn hàng · Module Kho · Chủ sân (quan sát sổ cái)
PriorityHIGH
TriggerHệ thống nhận sự kiện thanh toán thành công / nhận mua hàng / biến động tồn kho
Pre-ConditionSân đã có tài khoản mặc định nhận thu bán hàng và các nhóm thu/chi tạo sẵn
Post-ConditionMột voucher cân đối được ghi vào sổ cái; số dư tài khoản cập nhật; cùng sự kiện không ghi lần thứ hai

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Event BusChuyển sự kiện nghiệp vụ tới service Tài chính
2Service Tài chínhXác định loại voucher theo sự kiện: thanh toán bán hàng → RECEIPT, nhận mua hàng → PAYMENT, biến động kho → ADJUSTMENT
3Service Tài chínhLập bút toán cân đối (tổng DEBIT bằng tổng CREDIT)
4Service Tài chínhGhi voucher vào tài khoản mặc định / tài khoản đối ứng tương ứng, gắn nhóm thu/chi
5Service Tài chínhCập nhật số dư hiện hành của tài khoản
6Service Tài chínhĐánh số voucher theo sân và theo loại

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_2A.12Sự kiện là chuyển tiền giữa hai tài khoản → ghi một voucher TRANSFER tổng bằng không
2AF_4A.14Sự kiện thiếu nhóm phù hợp → ghi vào nhóm mặc định theo loại để Chủ sân phân loại lại sau

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_1.11Cùng một sự kiện được gửi lại → hệ thống nhận ra đã ghi và bỏ qua, không tạo voucher trùng
2EF_3.13Bút toán không cân đối → hệ thống không ghi voucher và báo lỗi nội bộ để xử lý

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR8Mọi voucher đều cân đối: tổng DEBIT bằng tổng CREDIT
2BR9Mỗi sự kiện nghiệp vụ ghi tối đa một voucher (không ghi trùng)
3BR10Khoản thu bán hàng được ghi tự động vào tài khoản mặc định của sân
4BR11Voucher được đánh số theo từng sân và từng loại

UC4 — Tạo & huỷ voucher thủ công

MụcNội dung
Use Case IDUC_CORE08_VCH_004
Use Case NameTạo và huỷ voucher thủ công
Use Case DescriptionChủ sân ghi một phiếu thu / chi / chuyển / điều chỉnh thủ công theo quy trình nháp rồi phát hành; muốn huỷ thì ghi một bút toán đảo ngược cân đối, không xóa cứng lịch sử tài chính.
System Under DesignFinance Client · Service Tài chính
Primary ActorChủ sân
Supporting/External ActorQuản lý ca
PriorityMEDIUM
TriggerChủ sân vào Sổ cái và nhấn [+ Tạo voucher]
Pre-ConditionĐã có tài khoản và nhóm thu/chi để gán cho bút toán
Post-ConditionVoucher cân đối được phát hành và hiển thị trong sổ cái với số thứ tự; voucher huỷ được ghi bằng bút toán đảo, bản gốc giữ nguyên

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Chủ sânTrên màn Sổ cái, nhấn [+ Tạo voucher]
2Chủ sânChọn loại voucher: RECEIPT · PAYMENT · TRANSFER · ADJUSTMENT
3Chủ sânNhập tài khoản, nhóm thu/chi và các dòng tiền ở trạng thái nháp
4Chủ sânNhấn [Phát hành]
5Service Tài chínhKiểm tra cân đối, cấp số thứ tự, ghi voucher và cập nhật số dư
6Finance ClientHiển thị voucher đã phát hành trong sổ cái

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_6A.16Chủ sân huỷ một voucher đã phát hành → hệ thống ghi một bút toán đảo ngược cân đối; voucher gốc được giữ lại
2AF_3A.13Chủ sân lưu nháp và phát hành sau → voucher giữ ở trạng thái nháp tới khi được phát hành

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_4.14Tổng DEBIT khác tổng CREDIT → hệ thống chặn phát hành và yêu cầu cân đối lại
2EF_5.15Người dùng không có quyền tạo voucher → hệ thống chặn thao tác

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR12Voucher chỉ phát hành được khi cân đối (tổng DEBIT bằng tổng CREDIT)
2BR13Huỷ voucher thực hiện bằng bút toán đảo ngược cân đối, không xóa cứng lịch sử
3BR14Voucher theo vòng đời Nháp → Đã phát hành → Đã huỷ
4BR15Chỉ Chủ sân và Quản lý ca được tạo / huỷ voucher thủ công

Non-Functional Requirements

Non-Functional Requirements

TTLoạiYêu cầu
1Thời gian thựcTrạng thái thanh toán đến Thu ngân tức thì, không phải làm mới thủ công
2Toàn vẹnMọi voucher phải cân đối; số dư tài khoản luôn khớp tổng các dòng sổ cái đã ghi
3Chống trùngMỗi kết quả thanh toán và mỗi sự kiện nghiệp vụ chỉ được xử lý một lần
4Bảo mậtThông tin xác thực nhà cung cấp mã hóa khi lưu, che bớt khi hiển thị, giới hạn theo từng sân
5Truy vếtLịch sử tài chính không bị xóa cứng; chỉnh sửa qua bút toán đảo ngược
6Phân quyềnMọi thao tác giới hạn theo từng sân và theo vai trò của người dùng

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.