Giới thiệu dự án
Trong kỷ nguyên chuyển đổi số và cuộc Cách mạng Công nghiệp 4.0, các phương thức thanh toán không dùng tiền mặt (Cashless Payment) tại Việt Nam đang có tốc độ tăng trưởng vượt bậc với hơn 85% người tiêu dùng sử dụng ví điện tử và thanh toán số hàng tuần (theo số liệu từ Ngân hàng Nhà nước Việt Nam). Cùng với xu hướng đó, nhu cầu rèn luyện thể thao, đặc biệt là bóng đá phong trào, gia tăng mạnh mẽ. Tại các cơ sở đào tạo như Trường Đại học Lâm Nghiệp (ĐHLN), khảo sát thực tế cho thấy có tới 23,87% sinh viên lựa chọn bóng đá cho các hoạt động ngoại khóa, khiến cụm 4 sân bóng mini luôn hoạt động hết công suất.
+-------------------------------------------------------------------------+
| BÀI TOÁN & GIẢI PHÁP VẬN HÀNH |
+-------------------------------------------------------------------------+
| Hiện trạng thủ công: Hệ thống tự động hóa (Django): |
| - 100% sổ sách/ghi chép tay ---> - Đặt sân Real-time 24/7 |
| - Thất thoát doanh thu: ~15% ---> - Chống trùng lịch (Double-book) |
| - Thanh toán tiền mặt chậm trễ ---> - Cổng MoMo xử lý giao dịch 2-3s |
+-------------------------------------------------------------------------+
Tuy nhiên, hầu hết các cụm sân bóng phong trào hiện nay vẫn vận hành theo phương thức truyền thống: ghi chép sổ sách thủ công hoặc liên hệ qua tin nhắn cá nhân. Quy trình này bộc lộ nhiều điểm nghẽn nghiêm trọng:
- Tỷ lệ trùng lịch (double-booking) cao vào các khung giờ cao điểm (17h00 - 21h00).
- Rủi ro thất thoát doanh thu lên tới 15 - 20% do thiếu cơ chế đối soát tức thời.
- Thanh toán tiền mặt gây mất thời gian, phát sinh sai sót trong việc thối tiền lẻ và khó kiểm soát doanh thu dịch vụ phụ trợ (nước uống, thuê phụ kiện).
Để giải quyết triệt để các hạn chế trên, đề tài khóa luận "Nghiên cứu các phương pháp thanh toán điện tử, ứng dụng xây dựng hệ thống quản lý đặt sân bóng tích hợp chức năng thanh toán nhanh" do sinh viên Phùng Khắc Hoan thực hiện dưới sự hướng dẫn của ThS. Trần Xuân Hòa (Khoa Kinh tế và Quản trị Kinh doanh - Ngành Hệ thống Thông tin, Trường Đại học Lâm Nghiệp) đã được triển khai.
Mục tiêu dự án
- Nghiên cứu chuyên sâu: Phân tích cơ chế hoạt động, luồng xử lý dữ liệu và tiêu chuẩn bảo mật của các cổng thanh toán trực tuyến hàng đầu tại Việt Nam (MoMo, ZaloPay, VNPay).
- Thiết kế & Xây dựng hệ thống: Phát triển ứng dụng web quản lý sân bóng toàn diện trên nền tảng Python/Django theo kiến trúc MTV (Model - Template - View).
- Tích hợp cổng thanh toán MoMo E-Wallet: Tự động hóa quy trình đặt cọc và thanh toán quét mã QR với thời gian phản hồi giao dịch đạt từ 2 đến 3 giây.
- Tối ưu hóa quản trị & Vận hành: Cung cấp bộ công cụ trực quan hóa doanh thu theo ngày/tháng/khung giờ, quản lý kho hàng phụ trợ và phân quyền tài khoản chặt chẽ.
Phạm vi và giới hạn hệ thống
- Phạm vi nghiên cứu & thử nghiệm: Cụm 4 sân bóng đá mini nhân tạo (có khả năng ghép thành sân 11 người phục vụ giải đấu) tại Trường Đại học Lâm Nghiệp.
- Phạm vi công nghệ: Nền tảng web chuẩn Responsive, kết nối RESTful API và giao thức thanh toán MoMo Payment Gateway.
- Giới hạn: Hệ thống tập trung tối ưu hóa trên nền tảng Web; giai đoạn đầu chưa triển khai ứng dụng di động độc lập (Native Mobile App) và áp dụng cơ chế thanh toán qua ví MoMo All-In-One (AIO).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát thực tế các mô hình quản lý sân bãi thể thao hiện nay cho thấy sự phân hóa rõ rệt giữa các giải pháp:
| Tiêu chí |
Quản lý thủ công (Sổ sách/Excel) |
Phần mềm POS truyền thống |
Hệ thống quản lý tích hợp MoMo (Đề tài) |
| Tính sẵn sàng (Availability) |
Giờ hành chính, phụ thuộc người trực |
Cục bộ tại quầy lễ tân |
Trực tuyến 24/7 trên mọi thiết bị |
| Thời gian xác nhận đặt sân |
5 - 15 phút (gọi điện/nhắn tin) |
2 - 5 phút (tại quầy) |
Tức thì (< 3 giây sau thanh toán) |
| Thanh toán trực tuyến |
Không hỗ trợ |
Hạn chế (chuyển khoản thủ công) |
Tích hợp sâu cổng MoMo QR/IPN Webhook |
| Kiểm soát thất thoát dòng tiền |
Thấp (dễ sai lệch số liệu) |
Trung bình (phụ thuộc thu ngân) |
Tuyệt đối (đối soát tự động qua mã GD) |
| Chi phí đầu tư ban đầu |
0 VNĐ |
Cao (mua license, phần cứng POS) |
Thấp (Mã nguồn mở Django, Linux) |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW:
- Must have (Bắt buộc): Đặt sân theo khung giờ thực tế, chống trùng lịch qua Transaction Lock, tích hợp MoMo API với chữ ký HMAC-SHA256, module phân quyền Admin/User, báo cáo thống kê doanh thu.
- Should have (Nên có): Quản lý danh mục bán hàng phụ trợ (
tb_product), chức năng Chat hỗ trợ trực tuyến (tb_chat), nhật ký thao tác hệ thống (Audit Log).
- Could have (Có thể mở rộng): Tích hợp bổ sung cổng VNPay-QR và ZaloPay Gateway, tính năng tự động gửi SMS/Email thông báo lịch đặt sân.
- Won't have (Chưa thực hiện ở pha này): Hệ thống IoT tự động bật/tắt dàn đèn sân bóng theo lịch đặt.
Thiết kế hệ thống
Kiến trúc hệ thống được xây dựng theo mô hình 3 tầng (3-Tier Architecture) kết hợp kiến trúc hướng dịch vụ kết nối với cổng thanh toán bên thứ ba:
graph TD
Client[Client: Web Browser / Mobile Browser] -->|HTTPS / REST API| WebServer[Web Server: Nginx Reverse Proxy]
WebServer -->|WSGI / HTTP| AppServer[App Server: Django Framework MTV]
AppServer -->|Django ORM / SQL| Database[(Database: PostgreSQL / SQLite)]
AppServer -->|JSON Payload / HMAC-SHA256| MoMoGateway[MoMo Payment Gateway]
MoMoGateway -->|IPN Webhook Callback| AppServer
+-----------------------------------------------------------------------+
| TECH STACK & CẤU HÌNH HỆ THỐNG |
+-----------------------------------------------------------------------+
| Backend Core : Python 3.9+ | Django Framework 4.x (MTV) |
| Database Engine : PostgreSQL 14 / SQLite3 (Hỗ trợ JSON, ACID) |
| Frontend UI : HTML5, CSS3, JavaScript (ES6+), Bootstrap 4.6 |
| Security Protocol : SSL/TLS, HMAC-SHA256, CSRF Token, ORM Sanitation |
| Web Server / Host : Nginx Reverse Proxy | Gunicorn WSGI | Linux Ubuntu|
| Payment Gateway : MoMo Payment AIO Service (RESTful API Endpoint) |
+-----------------------------------------------------------------------+
Thiết kế cơ sở dữ liệu quan hệ (RDBMS)
Cơ sở dữ liệu được chuẩn hóa ở dạng chuẩn 3NF với các bảng thực thể chính:
tb_role: Quản lý vai trò người dùng (Admin, Khách hàng, Thu ngân).
tb_user: Thông tin tài khoản, mật khẩu băm (PBKDF2/SHA256), email, số điện thoại.
tb_banggiasan: Cấu hình đơn giá theo từng loại sân (sân 5, sân 7, sân 11) và khung giờ (giờ tiêu chuẩn vs giờ vàng).
tb_lichdatsan: Khóa chính id_order, user_id, san_id, ngay_dat, khung_gio, tong_tien, trang_thai_thanhtoan (Pending, Success, Cancelled), phuong_thuc_tt (Cash, MoMo), momo_trans_id.
tb_product: Quản lý mặt hàng kinh doanh phụ trợ (nước ngọt, phụ kiện thi đấu).
tb_chat: Lưu trữ tin nhắn hỗ trợ trực tuyến giữa khách hàng và quản trị viên.
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình phát triển phần mềm Agile/Scrum rút gọn với 4 Sprint chính trong thời gian 12 tuần:
- Sprint 1 (Tuần 1 - 3): Khảo sát thực địa tại ĐH Lâm Nghiệp, thu thập yêu cầu người dùng, phân tích Use Case và thiết kế mô hình dữ liệu quan hệ E-R.
- Sprint 2 (Tuần 4 - 7): Xây dựng Core Module trên Django (Authentication, CRUD Lịch đặt sân, Dashboard Admin, Giao diện Responsive Bootstrap 4).
- Sprint 3 (Tuần 8 - 10): Tích hợp API Cổng thanh toán MoMo, lập trình hàm mã hóa chữ ký số HMAC-SHA256, xử lý IPN Webhook và Return URL.
- Sprint 4 (Tuần 11 - 12): Kiểm thử toàn diện (Unit Test, Integration Test, Security Test), tinh chỉnh hiệu năng và nghiệm thu hệ thống.
Implementation và kết quả
Quá trình phát triển và thuật toán lõi
Hệ thống sử dụng cơ chế bảo mật chữ ký điện tử HMAC-SHA256 để đảm bảo tính toàn vẹn dữ liệu khi giao tiếp giữa máy chủ ứng dụng (Merchant Server) và cổng thanh toán MoMo Server.
# momo_service.py - Khởi tạo giao dịch thanh toán MoMo AIO
import hmac
import hashlib
import json
import requests
import uuid
def create_momo_payment(order_id, amount, order_info, return_url, notify_url):
endpoint = "https://test-payment.momo.vn/v2/gateway/api/create"
partner_code = "MOMO_PARTNER_CODE"
access_key = "MOMO_ACCESS_KEY"
secret_key = "MOMO_SECRET_KEY"
request_id = str(uuid.uuid4())
request_type = "captureWallet"
extra_data = "" # Base64 encoded JSON string if needed
# Tạo chuỗi raw signature chuẩn định dạng của MoMo
raw_signature = (
f"accessKey={access_key}&amount={amount}&extraData={extra_data}"
f"&ipnUrl={notify_url}&orderId={order_id}&orderInfo={order_info}"
f"&partnerCode={partner_code}&redirectUrl={return_url}"
f"&requestId={request_id}&requestType={request_type}"
)
# Ký dữ liệu với thuật toán HMAC-SHA256
signature = hmac.new(
secret_key.encode('utf-8'),
raw_signature.encode('utf-8'),
hashlib.sha256
).hexdigest()
payload = {
'partnerCode': partner_code,
'partnerName': "SanBong_DHLN",
'storeId': "DHLN_Store",
'requestId': request_id,
'amount': amount,
'orderId': order_id,
'orderInfo': order_info,
'redirectUrl': return_url,
'ipnUrl': notify_url,
'lang': 'vi',
'extraData': extra_data,
'requestType': request_type,
'signature': signature
}
headers = {'Content-Type': 'application/json'}
response = requests.post(endpoint, data=json.dumps(payload), headers=headers, timeout=10)
return response.json()
Xử lý phản hồi tức thời qua cơ chế Instant Payment Notification (IPN Webhook) để cập nhật trạng thái đơn đặt sân:
# views.py - Xử lý Webhook IPN từ MoMo Server
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from .models import LichDatSan
@csrf_exempt
def momo_ipn_callback(request):
if request.method == 'POST':
data = json.loads(request.body.decode('utf-8'))
# 1. Trích xuất tham số và xác thực chữ ký signature nhận về
received_signature = data.get('signature')
secret_key = "MOMO_SECRET_KEY"
raw_signature = (
f"accessKey={data.get('accessKey')}&amount={data.get('amount')}"
f"&extraData={data.get('extraData')}&message={data.get('message')}"
f"&orderId={data.get('orderId')}&orderInfo={data.get('orderInfo')}"
f"&orderType={data.get('orderType')}&partnerCode={data.get('partnerCode')}"
f"&payType={data.get('payType')}&requestId={data.get('requestId')}"
f"&responseTime={data.get('responseTime')}&resultCode={data.get('resultCode')}"
f"&transId={data.get('transId')}"
)
calculated_signature = hmac.new(
secret_key.encode('utf-8'),
raw_signature.encode('utf-8'),
hashlib.sha256
).hexdigest()
if received_signature != calculated_signature:
return JsonResponse({'message': 'Invalid signature'}, status=400)
# 2. Xử lý logic nghiệp vụ khi thanh toán thành công (resultCode == 0)
order_id = data.get('orderId')
result_code = data.get('resultCode')
try:
booking = LichDatSan.objects.get(id_order=order_id)
if result_code == 0:
booking.trang_thai_thanhtoan = 'SUCCESS'
booking.momo_trans_id = str(data.get('transId'))
booking.save()
else:
booking.trang_thai_thanhtoan = 'FAILED'
booking.save()
return JsonResponse({'message': 'Success'}, status=200)
except LichDatSan.DoesNotExist:
return JsonResponse({'message': 'Order not found'}, status=404)
return JsonResponse({'message': 'Bad Request'}, status=400)
Kiểm thử và đánh giá chất lượng (Testing & Validation)
Hệ thống trải qua các kịch bản kiểm thử nghiêm ngặt trước khi triển khai:
| Mã kịch bản |
Mô tả kiểm thử |
Dữ liệu đầu vào / Thao tác |
Kết quả kỳ vọng |
Trạng thái |
| TC_AUTH_01 |
Kiểm tra xác thực đăng nhập Admin |
Sai mật khẩu 3 lần liên tiếp |
Báo lỗi, khóa IP tạm thời 5 phút |
PASSED |
| TC_BOOK_01 |
Đặt sân đồng thời (Race Condition) |
2 tài khoản đặt cùng 1 sân & 1 khung giờ |
Người hoàn tất trước được duyệt, người sau nhận cảnh báo trùng |
PASSED |
| TC_PAY_01 |
Tạo QR thanh toán MoMo hợp lệ |
Giỏ hàng 300.000 VNĐ, đầy đủ thông tin |
Trả về payUrl chứa mã QR sau 1.2s |
PASSED |
| TC_PAY_02 |
Giả mạo gói tin IPN Webhook |
Thay đổi amount nhưng giữ nguyên signature |
Hệ thống từ chối (HTTP 400 Invalid Signature) |
PASSED |
| TC_LOAD_01 |
Stress Test hiệu năng truy cập |
100 concurrent users đặt sân cùng lúc |
Thời gian phản hồi trang trung bình < 1.5s, không crash |
PASSED |
Kết quả đạt được
- Chức năng: Hoàn thành 100% các Use Case đề ra (Đăng nhập, Đặt sân trực tuyến, Quản lý bảng giá linh hoạt, Quản lý kho sản phẩm phụ trợ, Xem biểu đồ doanh thu tự động, Chat tư vấn).
- Hiệu năng: Thời gian hoàn tất luồng thanh toán từ khi quét mã QR đến khi nhận thông báo xác nhận đạt trung bình 2.4 giây.
- Độ tin cậy: Loại bỏ 100% hiện tượng trùng lịch sân; hệ số chính xác kế toán doanh thu đạt 100%.
Đổi mới và đóng góp
Các cải tiến kỹ thuật nổi bật
- Tích hợp thanh toán số chuyên sâu cho ngành thể thao cơ sở: Không dừng lại ở việc hiển thị số tài khoản ngân hàng tĩnh, hệ thống thiết lập cơ chế sinh mã QR động theo từng phiên giao dịch gắn liền với mã định danh hóa đơn (
orderId).
- Kiến trúc xử lý Callback đa luồng chống thất thoát đơn hàng: Kết hợp đồng thời cơ chế Client Redirect (
redirectUrl) để hiển thị giao diện cho người dùng và Server-to-Server Webhook (ipnUrl) để tự động kích hoạt trạng thái đơn hàng ngay cả khi khách hàng vô tình đóng trình duyệt.
- Cơ chế khóa giao dịch thông minh (Atomic Transaction Locking): Sử dụng Transaction Management của Django ORM để ngăn chặn hoàn toàn lỗi tranh chấp tài nguyên khi nhiều khách hàng cùng chọn một khung giờ cao điểm.
+------------------------------------------------------------------------+
| SO SÁNH CÁC GIẢI PHÁP VẬN HÀNH |
+------------------------------------------------------------------------+
| |
| 1. Phương pháp ghi sổ truyền thống: |
| [Đặt sân qua ĐT] --> [Ghi sổ tay] --> [Dễ trùng lịch / Mất dữ liệu] |
| |
| 2. Web đặt sân thông thường (Chuyển khoản thủ công): |
| [Tạo đơn] --> [CK theo STK] --> [Chụp bill gửi Admin] --> [Duyệt 15m]|
| |
| 3. Hệ thống Django + MoMo Gateway (Đề tài): |
| [Tạo đơn] --> [Quét QR MoMo] --> [IPN Webhook Auto-Update (2.4s)] |
| |
+------------------------------------------------------------------------+
Đóng góp cho ngành Hệ thống thông tin và kinh tế số
- Đóng góp một mô hình mẫu (Architectural Reference Model) hoàn chỉnh về việc tích hợp cổng thanh toán Fintech vào các hệ thống quản trị dịch vụ cục bộ dành cho sinh viên và các nhà phát triển.
- Chứng minh tính khả thi kinh tế của việc ứng dụng phần mềm mã nguồn mở (Python/Django, PostgreSQL) nhằm giảm thiểu chi phí chuyển đổi số cho các doanh nghiệp thể thao quy mô vừa và nhỏ.
Ứng dụng thực tế và triển khai
Kịch bản vận hành thực tế
- Dành cho người chơi (Sinh viên, Cán bộ): Truy cập trang web qua Smartphone, tra cứu lịch trống của 4 sân bóng ĐHLN trong ngày, chọn khung giờ 18h00 - 19h30, chọn hình thức thanh toán MoMo, quét mã QR hiển thị trên màn hình. Giao dịch thành công, lịch đặt lập tức chuyển sang trạng thái "Đã đặt" màu đỏ trên giao diện chung.
- Dành cho Ban quản lý sân: Đăng nhập Dashboard quản trị để theo dõi dòng tiền đổ về tài khoản MoMo Merchant theo thời gian thực, xem biểu đồ doanh thu theo ngày/tháng, kiểm soát lượng nước ngọt tiêu thụ trong ca trực mà không cần cộng sổ thủ công.
Kiến trúc triển khai hạ tầng (Deployment Plan)
[Internet Users]
│
▼ (HTTPS: Port 443 - SSL Let's Encrypt)
[Nginx Web Server] (Static Files / Reverse Proxy)
│
▼ (Unix Socket / HTTP)
[Gunicorn WSGI Server]
│
▼
[Django Application Layer (Python 3.9)]
│
▼ (TCP Port 5432)
[PostgreSQL Database Server]
Phân tích chi phí - Lợi ích (Cost-Benefit & ROI)
- Chi phí triển khai ban đầu:
- Máy chủ VPS Cloud Linux (2 Core, 4GB RAM): ~2.500.000 VNĐ/năm.
- Tên miền & Chứng chỉ SSL: ~300.000 VNĐ/năm.
- Phí đăng ký tích hợp cổng MoMo Merchant: Theo biểu phí chuẩn của MoMo (~1-2%/giao dịch thành công).
- Lợi ích kinh tế thu được:
- Cắt giảm 50% chi phí nhân sự trực ca tại quầy (tiết kiệm ước tính 30 - 45 triệu VNĐ/năm).
- Loại bỏ hoàn toàn thất thoát doanh thu (tiết kiệm 15 - 20 triệu VNĐ/năm).
- Tăng tỷ lệ lấp đầy sân vào giờ thấp điểm thông qua các chương trình giá linh hoạt hiển thị minh bạch trên web.
- Thời gian hoàn vốn (ROI): Ước tính đạt điểm hòa vốn chỉ sau 2 đến 4 tháng vận hành thực tế.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hệ thống hiện mới tích hợp thử nghiệm cổng MoMo ở môi trường Sandbox/UAT; cần hoàn tất thủ tục đăng ký pháp nhân doanh nghiệp để đấu nối chính thức sang môi trường Production.
- Chưa có tính năng hoàn tiền tự động (Auto Refund) qua API khi khách hàng thực hiện hủy lịch đặt trước khung giờ quy định.
- Module ứng dụng chat trực tuyến hiện hoạt động dựa trên cơ chế HTTP Polling cơ bản, chưa nâng cấp lên giao thức Full-Duplex WebSockets (Django Channels).
Hướng phát triển trong tương lai
- Mở rộng Gateway đa kênh: Bổ sung kết nối đồng thời với các cổng thanh toán VNPAY-QR, ZaloPay Gateway, Viettel Money và thẻ quốc tế Visa/Mastercard.
- Phát triển hệ sinh thái Mobile: Xây dựng ứng dụng di động đa nền tảng (React Native hoặc Flutter) tích hợp cơ chế Push Notification nhắc lịch thi đấu trước 60 phút.
- Chuyển đổi số toàn diện với IoT: Nghiên cứu tích hợp hệ thống đóng ngắt rơ-le thông minh điều khiển dàn đèn chiếu sáng sân bóng thông qua quét mã QR check-in tại cổng sân.
Đối tượng hưởng lợi
+-----------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-----------------------------------------------------------------------+
| [Sinh viên / Người nghiên cứu] |
| - Tài liệu tham khảo toàn diện về Django + Fintech Integration |
| - Source code mẫu về tạo chữ ký số HMAC-SHA256 & xử lý Webhook |
| |
| [Chủ sân bãi / Nhà quản lý] |
| - Tự động hóa vận hành 24/7, xóa bỏ 100% nguy cơ trùng lịch |
| - Cắt giảm 50% chi phí nhân sự trực ca, chống thất thoát doanh thu |
| |
| [Khách hàng / Cầu thủ phong trào] |
| - Trải nghiệm đặt sân và thanh toán không tiền mặt chỉ trong 2-3s |
| - Chủ động tra cứu bảng giá, lịch trống minh bạch mọi lúc mọi nơi |
+-----------------------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu cấu hình phần cứng và môi trường để triển khai hệ thống là gì?
Hệ thống được thiết kế tối ưu với Python/Django, có thể chạy mượt mà trên môi trường máy chủ Linux (Ubuntu 20.04/22.04 LTS), cấu hình tối thiểu 1 vCPU, 2GB RAM, 20GB SSD lưu trữ, cài đặt Nginx, Gunicorn và hệ quản trị cơ sở dữ liệu PostgreSQL 12+.
2. Hệ thống xử lý thế nào khi xảy ra sự cố mạng trong lúc thanh toán MoMo?
Hệ thống sử dụng cơ chế xử lý Webhook IPN (Instant Payment Notification) độc lập. Khi khách hàng thanh toán thành công, máy chủ MoMo sẽ tự động gửi yêu cầu ngầm (background POST request) đến endpoint /momo-ipn/ của hệ thống. Nếu máy chủ chưa phản hồi HTTP 200, MoMo sẽ tự động retry theo thuật toán Exponential Backoff, đảm bảo đơn hàng không bao giờ bị mất trạng thái.
3. Có thể tích hợp thêm các cổng thanh toán khác như VNPay hay ZaloPay không?
Kiến trúc hệ thống được thiết kế theo dạng Module hóa (Decoupled Architecture). Việc bổ sung các cổng thanh toán mới chỉ yêu cầu xây dựng thêm service handler tương ứng (như vnpay_service.py hoặc zalopay_service.py) theo đúng chuẩn Interface mà không làm ảnh hưởng đến cấu trúc cơ sở dữ liệu hay giao diện đặt sân hiện có.
4. Hệ thống bảo mật thông tin tài khoản và giao dịch của khách hàng như thế nào?
Toàn bộ thông tin tài khoản mật khẩu được mã hóa một chiều bằng thuật toán PBKDF2/SHA256. Giao dịch thanh toán được mã hóa dữ liệu với chữ ký số HMAC-SHA256 và truyền tải qua giao thức an toàn SSL/TLS. Hệ thống không lưu trữ thông tin thẻ hay mật khẩu ví của khách hàng mà ủy quyền hoàn toàn cho cổng thanh toán được cấp phép bởi Ngân hàng Nhà nước.
5. Chi phí duy trì và khả năng hoàn vốn của dự án ra sao?
Chi phí vận hành định kỳ của hệ thống rất thấp, chỉ khoảng 200.000 - 300.000 VNĐ/tháng cho hạ tầng máy chủ đám mây. Nhờ loại bỏ chi phí thất thoát và giảm tải nhân sự quản lý, các cơ sở sân bóng có thể đạt điểm hoàn vốn đầu tư phần mềm trong vòng 2 đến 4 tháng vận hành.
Kết luận
Đề tài khóa luận tốt nghiệp "Nghiên cứu các phương pháp thanh toán điện tử, ứng dụng xây dựng hệ thống quản lý đặt sân bóng tích hợp chức năng thanh toán nhanh" của sinh viên Phùng Khắc Hoan đã giải quyết thành công bài toán chuyển đổi số thiết thực trong công tác quản trị sân bãi thể thao phong trào.
Thông qua việc kết hợp nền tảng công nghệ mạnh mẽ Python/Django với giải pháp thanh toán điện tử hàng đầu MoMo E-Wallet, dự án không chỉ cung cấp một sản phẩm phần mềm hoàn chỉnh, an toàn, ổn định với tốc độ xử lý giao dịch vượt trội (2.4s) mà còn khẳng định giá trị khoa học trong việc kết nối kiến trúc ứng dụng web với hạ tầng Fintech hiện đại. Đây là nền tảng vững chắc để mở rộng sang các mô hình quản lý dịch vụ đặt chỗ thông minh trong tương lai.