Skip to content

Đang trong quá trình Xây dựng

Các chi tiết tính năng trong tài liệu này có thể thay đổi trong các giai đoạn nghiên cứu, thảo luận, thiết kế và triển khai.

Payment / Thanh toán

Xử lý thanh toán với nhiều phương thức.

Tổng quan

Thuộc tínhGiá trị
ID ModuleCORE-09
Giai đoạnGiai đoạn 1 (QR/Tiền mặt), Giai đoạn 3 (SoftPOS)
Mức độ ưu tiênRẤT CAO
Phụ thuộcĐơn hàng, Thiết bị

Module Thanh toán xử lý tất cả các giao dịch thanh toán, hỗ trợ nhiều phương thức thanh toán bao gồm mã QR, thiết bị POS, tiền mặt và thanh toán di động. Nó tích hợp với cơ sở hạ tầng thanh toán của VNPAY để xử lý giao dịch liền mạch và xác nhận thanh toán thời gian thực.

┌─────────────────────────────────────────────────────────────────┐
│                    CÁC PHƯƠNG THỨC THANH TOÁN                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐       │
│    │  MÃ QR      │    │  POS/THẺ    │    │    TIỀN MẶT  │       │
│    │  (VNPAY)    │    │  (VNPAY)    │    │             │       │
│    └──────┬──────┘    └──────┬──────┘    └──────┬──────┘       │
│           │                  │                  │               │
│           └──────────────────┼──────────────────┘               │
│                              ▼                                  │
│                    ┌─────────────────┐                          │
│                    │  THANH TOÁN ĐƠN HÀNG │                          │
│                    └─────────────────┘                          │
│                              │                                  │
│           ┌──────────────────┼──────────────────┐               │
│           ▼                  ▼                  ▼               │
│    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐       │
│    │  GIAO DỊCH  │    │   HÓA ĐƠN   │    │   BIÊN LAI  │       │
│    │  ĐÃ GHI NHẬN  │    │  (Hóa đơn điện tử)│    │   (In)      │       │
│    └─────────────┘    └─────────────┘    └─────────────┘       │
│                                                                 │
│    Giai đoạn 3: ┌─────────────┐    ┌─────────────┐             │
│                 │   SOFTPOS   │    │   VÍ ĐIỆN TỬ │             │
│                 │ (Chạm để thanh toán)│    │  (Ví điện tử)│             │
│                 └─────────────┘    └─────────────┘             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

User Stories

Giai đoạn 1 - Thanh toán Cốt lõi

IDVới vai trò...Tôi muốn...Để...
US-01Thu ngânChấp nhận thanh toán bằng mã QRkhách hàng có thể thanh toán qua VNPAY
US-02Thu ngânChấp nhận thanh toán tiền mặtcác khoản thanh toán truyền thống hoạt động
US-03Thu ngânTự động tính tiền thừatôi trả lại tiền thừa chính xác
US-04Thu ngânXử lý thanh toán bằng thẻkhách hàng có thể sử dụng thẻ
US-05Thu ngânTách thanh toán theo phương thứckhách hàng có thể thanh toán một phần tiền mặt, một phần QR
US-06Chủ doanh nghiệpXem xác nhận thanh toántôi biết các khoản thanh toán đã thành công
US-07Chủ doanh nghiệpXem lịch sử thanh toántôi có thể theo dõi tất cả các khoản thanh toán

Giai đoạn 2-3 - Thanh toán Nâng cao

IDVới vai trò...Tôi muốn...Để...
US-08Chủ doanh nghiệpChấp nhận thanh toán SoftPOSđiện thoại của tôi trở thành một thiết bị chấp nhận thẻ
US-09Chủ doanh nghiệpChấp nhận thanh toán một phầnkhách hàng có thể thanh toán tiền đặt cọc
US-10Chủ doanh nghiệpXử lý hoàn tiềntôi có thể trả lại tiền cho khách hàng
US-11Chủ doanh nghiệpĐối soát thanh toán hàng ngàyngăn kéo tiền mặt khớp với số liệu
US-12Thu ngânChấp nhận thanh toán bằng ví điện tửcó nhiều tùy chọn thanh toán hơn

Ma trận Tính năng

Tính năngGĐ 1GĐ 2GĐ 3Mô tả
Thanh toán mã QR (VNPAY)Tạo mã QR động
Thanh toán tiền mặtTiền mặt với tính toán tiền thừa
Thiết bị POS (thẻ)Thanh toán thẻ qua thiết bị
Xác nhận thanh toánTrạng thái thanh toán thời gian thực
Nhiều phương thức thanh toánChia theo phương thức
Lịch sử thanh toánXem tất cả các khoản thanh toán
Xử lý hoàn tiềnTrả lại tiền cho khách hàng
SoftPOS (Chạm để thanh toán)Điện thoại làm thiết bị chấp nhận thẻ
Tích hợp ví điện tửMoMo, ZaloPay, v.v.
Thanh toán một phầnTiền đặt cọc, trả góp
Đối soát tiền mặtSố dư tiền mặt hàng ngày

Các Phương thức Thanh toán

┌─────────────────────────────────────────────────────────────────┐
│                    CHI TIẾT PHƯƠNG THỨC THANH TOÁN              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  PHƯƠNG THỨC        GIAI ĐOẠN   NHÀ CUNG CẤP  TÍNH NĂNG            │
│  ─────────────────────────────────────────────────────────────  │
│  │                                                              │
│  ├── VNPAY QR        GĐ1      VNPAY       Tạo QR động, Thời gian thực│
│  │                                       xác nhận, Phí thấp     │
│  │                                                              │
│  ├── TIỀN MẶT        GĐ1      Nội bộ      Tính tiền thừa,       │
│  │                                       Tích hợp ngăn kéo tiền mặt│
│  │                                                              │
│  ├── THẺ/POS         GĐ1      VNPAY       Visa/Master/JCB,     │
│  │                                       Không tiếp xúc        │
│  │                                                              │
│  ├── CHUYỂN KHOẢN NGÂN HÀNG GĐ2      Nhiều nhà cung cấp Chuyển khoản tài khoản,│
│  │                                       QR ngân hàng            │
│  │                                                              │
│  ├── SOFTPOS         GĐ3      VNPAY       NFC chạm để thanh toán,│
│  │                                       Điện thoại làm thiết bị chấp nhận thẻ│
│  │                                                              │
│  └── VÍ ĐIỆN TỬ      GĐ3      Nhiều nhà cung cấp MoMo, ZaloPay,       │
│                                       Ví VNPay                  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Các Luồng chính

Luồng Thanh toán QR

Luồng Thanh toán Tiền mặt

Luồng Thanh toán Thẻ

Luồng Thanh toán Chia nhỏ

Luồng Hoàn tiền


Quy tắc Nghiệp vụ

ID Quy tắcQuy tắcMô tả
BR-01Thanh toán = Tổng đơn hàngKhoản thanh toán phải bằng tổng đơn hàng
BR-02Cho phép nhiều phương thứcĐơn hàng có thể có nhiều khoản thanh toán
BR-03QR hết hạnMã QR hết hạn sau 5 phút
BR-04Tiền thừa chỉ cho tiền mặtTiền thừa chỉ được tính cho thanh toán tiền mặt
BR-05Hoàn tiền cùng phương thứcHoàn tiền về phương thức thanh toán ban đầu
BR-06Phê duyệt hoàn tiềnHoàn tiền yêu cầu phê duyệt của quản lý
BR-07Hoàn tiền tối đaHoàn tiền không thể vượt quá số tiền gốc
BR-08Yêu cầu ngăn kéo tiền mặtThanh toán tiền mặt cần ngăn kéo tiền mặt
BR-09Ghép nối thiết bịThanh toán thẻ cần thiết bị ghép nối
BR-10Hết thời gian chờ thanh toánThanh toán hết thời gian chờ sau 5 phút
BR-11Không QR một phầnThanh toán QR phải là số tiền chính xác
BR-12Ghi nhật ký giao dịchTất cả các khoản thanh toán được ghi vào sổ cái

Tiêu chí Chấp nhận

AC-01: Thanh toán QR

CHO   một đơn hàng với số tiền phải trả
KHI   thu ngân chọn thanh toán QR
THÌ   - Mã QR động được hiển thị
      - QR chứa số tiền chính xác
      - Xác nhận thanh toán nhận được trong < 5 giây
      - Trạng thái đơn hàng tự động cập nhật
      - Hóa đơn có thể được in

AC-02: Thanh toán Tiền mặt

CHO   một đơn hàng với số tiền 85.000 VNĐ
KHI   khách hàng thanh toán bằng 100.000 VNĐ
THÌ   - Hệ thống hiển thị tiền thừa: 15.000 VNĐ
      - Ngăn kéo tiền mặt tự động mở
      - Thanh toán được ghi nhận
      - Đơn hàng hoàn tất thành công

AC-03: Thanh toán Chia nhỏ

CHO   một đơn hàng tổng cộng 100.000 VNĐ
KHI   khách hàng thanh toán 60.000 QR + 40.000 tiền mặt
THÌ   - Cả hai khoản thanh toán được ghi nhận
      - Đơn hàng hiển thị chi tiết thanh toán
      - Cả hai giao dịch được ghi lại
      - Đơn hàng hoàn tất khi tổng = 100.000

AC-04: Hết thời gian chờ Thanh toán

CHO   một khoản thanh toán QR đang chờ xử lý
KHI   khách hàng không thanh toán trong vòng 5 phút
THÌ   - Mã QR hết hạn
      - Trạng thái thanh toán hiển thị "Đã hết hạn"
      - Có tùy chọn tạo lại QR
      - Đơn hàng vẫn ở trạng thái đang chờ xử lý

AC-05: Xử lý Hoàn tiền

CHO   một đơn hàng đã hoàn tất với thanh toán QR
KHI   quản lý khởi tạo hoàn tiền đầy đủ
THÌ   - Yêu cầu hoàn tiền được gửi đến VNPAY
      - Hoàn tiền được xác nhận
      - Đơn hàng gốc được đánh dấu là đã hoàn tiền
      - Giao dịch hoàn tiền được ghi lại

Phụ thuộc

Thanh toán
├── Yêu cầu: Đơn hàng, Thiết bị
├── Yêu cầu bởi: Giao dịch, Báo cáo
└── Tích hợp: Cổng VNPAY, Mạng lưới Ngân hàng
ModuleMối quan hệ
Đơn hàngThanh toán cho đơn hàng
Thiết bịThiết bị POS, ngăn kéo tiền mặt
Giao dịchBản ghi giao dịch
Báo cáoBáo cáo thanh toán

Điểm Tích hợp

Cổng Thanh toán VNPAY

┌─────────────────────────────────────────────────────────────────┐
│                   TÍCH HỢP VNPAY                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Dịch vụ:                                                       │
│  ├── Tạo Mã QR (API VNPay QR)                                   │
│  ├── Webhook Trạng thái Thanh toán                              │
│  ├── Xử lý Thẻ (Thiết bị POS)                                   │
│  ├── Xử lý Hoàn tiền                                            │
│  └── SoftPOS (Giai đoạn 3)                                      │
│                                                                 │
│  Cấu hình:                                                      │
│  ├── ID Merchant                                                │
│  ├── ID Terminal                                                │
│  ├── Khóa Bí mật                                                │
│  ├── URL Webhook                                                │
│  └── Môi trường (Sandbox/Production)                            │
│                                                                 │
│  Bảo mật:                                                       │
│  ├── Xác minh chữ ký HMAC                                       │
│  ├── Mã hóa TLS 1.2+                                            │
│  └── Danh sách IP được phép cho webhooks                        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Tích hợp Ngăn kéo Tiền mặt

┌─────────────────────────────────────────────────────────────────┐
│                  KIỂM SOÁT NGĂN KÉO TIỀN MẶT                     │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Phương pháp kích hoạt:                                         │
│  ├── Kích hoạt máy in (qua máy in hóa đơn)                      │
│  ├── Điều khiển trực tiếp qua USB                               │
│  └── Lệnh mạng                                                  │
│                                                                 │
│  Các sự kiện:                                                   │
│  ├── Mở khi thanh toán tiền mặt                                │
│  ├── Mở khi có tiền thừa                                        │
│  ├── Mở để đổi tiền/đóng ca                                     │
│  └── Mở thủ công (yêu cầu quyền)                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Ảnh chụp màn hình

Ảnh chụp màn hình

Ảnh chụp màn hình sẽ được thêm sau khi triển khai giao diện người dùng.


Các Module Liên quan

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