Some checks failed
CI / Lint → Typecheck → Test → Build (22) (push) Failing after 29s
CI / E2E Tests (push) Has been skipped
CodeQL Analysis / CodeQL (javascript-typescript) (push) Failing after 2m42s
Deploy / Build Web Image (push) Failing after 27s
Deploy / Build AI Services Image (push) Failing after 29s
E2E Tests / Playwright E2E (push) Failing after 43s
Deploy / Build API Image (push) Failing after 1m31s
Security Scanning / Dependency Audit (pnpm) (push) Failing after 6s
Security Scanning / Trivy Scan — API Image (push) Failing after 5m35s
Security Scanning / Trivy Scan — AI Services Image (push) Failing after 3m45s
Deploy / Deploy to Staging (push) Has been skipped
Deploy / Smoke Test Staging (push) Has been skipped
Deploy / Deploy to Production (push) Has been skipped
Deploy / Smoke Test Production (push) Has been skipped
Deploy / Rollback Staging (push) Has been skipped
Deploy / Rollback Production (push) Has been skipped
Security Scanning / Trivy Scan — Web Image (push) Failing after 13m51s
Security Scanning / Trivy Filesystem Scan (push) Failing after 14m46s
Security Scanning / Security Gate (push) Has been cancelled
321 lines
12 KiB
Markdown
321 lines
12 KiB
Markdown
# GoodGo Kiểm Toán Hệ Thống Giá & Thanh Toán - Chỉ Mục Tài Liệu
|
|
|
|
**Ngày tạo:** 12 tháng 4, 2026
|
|
**Phạm vi:** Khám phá toàn diện các trang định giá, gói đăng ký, và luồng thanh toán
|
|
|
|
---
|
|
|
|
## 📚 Tài Liệu
|
|
|
|
### 1. **PRICING_CHECKOUT_AUDIT.md** (36 KB) - TÀI LIỆU CHÍNH
|
|
Kiểm toán kỹ thuật toàn diện bao gồm tất cả các khía cạnh của hệ thống định giá và thanh toán.
|
|
|
|
**Nội dung:**
|
|
- Tóm tắt điều hành
|
|
- Trang định giá Frontend (triển khai hiện tại, hooks, tích hợp API)
|
|
- Backend đăng ký (các module CQRS, entity, handler)
|
|
- Backend thanh toán (gateway, entity thanh toán, handler)
|
|
- Mô hình dữ liệu Prisma (Plan, Subscription, Payment, UsageRecord)
|
|
- Các thành phần còn thiếu (luồng thanh toán, return handler)
|
|
- Kiến trúc & Luồng đề xuất
|
|
- Danh sách kiểm tra triển khai (6 giai đoạn)
|
|
- Cấu hình môi trường
|
|
- Các trường hợp biên & Xử lý lỗi
|
|
- Chiến lược kiểm thử
|
|
- Bảng tóm tắt trạng thái hiện tại
|
|
|
|
**Phù hợp cho:** Hiểu sâu kỹ thuật, thiết kế kiến trúc, lập kế hoạch triển khai
|
|
|
|
**Thời gian đọc:** 30-45 phút
|
|
|
|
---
|
|
|
|
### 2. **PRICING_AUDIT_SUMMARY.md** (15 KB) - TÓM TẮT ĐIỀU HÀNH
|
|
Tài liệu tổng quan nhanh với sơ đồ trực quan và bảng trạng thái.
|
|
|
|
**Nội dung:**
|
|
- Bảng tổng quan nhanh (trạng thái của từng thành phần)
|
|
- Tổng quan kiến trúc với sơ đồ ASCII
|
|
- Cấu trúc tệp Frontend (dạng xem có tổ chức)
|
|
- Cấu trúc tệp Backend (dạng xem có tổ chức)
|
|
- Tóm tắt các API Endpoint (tham chiếu nhanh)
|
|
- Phân tích các mức giá (tất cả 4 mức với tính năng)
|
|
- Mô hình dữ liệu theo định dạng schema Prisma
|
|
- Chi tiết triển khai quan trọng (sơ đồ luồng thanh toán)
|
|
- Các khoảng trống quan trọng (những gì còn thiếu)
|
|
- Lộ trình triển khai (4 giai đoạn với ước tính công sức)
|
|
- Phần các bước tiếp theo
|
|
|
|
**Phù hợp cho:** Định hướng nhanh, hiểu những gì còn thiếu, lập kế hoạch các giai đoạn
|
|
|
|
**Thời gian đọc:** 10-15 phút
|
|
|
|
---
|
|
|
|
### 3. **QUICK_REFERENCE.md** (11 KB) - HƯỚNG DẪN TRIỂN KHAI
|
|
Hướng dẫn tra cứu nhanh với ví dụ code và cấu hình.
|
|
|
|
**Nội dung:**
|
|
- Các tệp tổng quan (bảng)
|
|
- Các API Endpoint chính (liệt kê tất cả 13 endpoint)
|
|
- Định nghĩa kiểu (tất cả các interface TypeScript)
|
|
- Cách sử dụng ở Frontend (ví dụ code có chú thích)
|
|
- Cách sử dụng ở Backend (ví dụ code có chú thích)
|
|
- Cấu trúc định giá (phân tích trực quan)
|
|
- Biến môi trường (tất cả cấu hình bắt buộc)
|
|
- Thông tin đăng nhập kiểm thử (nhà cung cấp thanh toán sandbox)
|
|
- Các lỗi phổ biến (bảng khắc phục sự cố)
|
|
- Danh sách kiểm tra gỡ lỗi (từng bước)
|
|
- Liên kết đến tài nguyên
|
|
|
|
**Phù hợp cho:** Trong khi triển khai tính năng, tra cứu nhanh, sao chép đoạn code
|
|
|
|
**Thời gian đọc:** 5-10 phút mỗi tác vụ
|
|
|
|
---
|
|
|
|
## 🗺️ Lộ Trình Đọc Được Đề Xuất
|
|
|
|
### Dành cho Quản Lý Dự Án / Chủ Sản Phẩm
|
|
1. Bắt đầu: **PRICING_AUDIT_SUMMARY.md** (10 phút)
|
|
- Hiểu trạng thái hiện tại và những gì còn thiếu
|
|
2. Tiếp theo: Phần Lộ trình triển khai (5 phút)
|
|
- Xem các giai đoạn và ước tính công sức
|
|
3. Tham chiếu: QUICK_REFERENCE.md → Phần Liên kết
|
|
- Lấy vị trí tệp
|
|
|
|
**Tổng thời gian:** 15-20 phút
|
|
|
|
---
|
|
|
|
### Dành cho Lập Trình Viên Frontend
|
|
1. Bắt đầu: **PRICING_AUDIT_SUMMARY.md** (15 phút)
|
|
- Tổng quan kiến trúc, cấu trúc frontend
|
|
2. Tiếp theo: **QUICK_REFERENCE.md** (15 phút)
|
|
- Phần "Cách sử dụng ở Frontend" với ví dụ code
|
|
3. Đào sâu: **PRICING_CHECKOUT_AUDIT.md** (30 phút)
|
|
- Mục 1: Trang định giá Frontend
|
|
- Mục 2: Tích hợp API Frontend
|
|
- Mục 8: Các thành phần còn thiếu & Luồng
|
|
- Mục 9: Kiến trúc luồng thanh toán đề xuất
|
|
|
|
**Tổng thời gian:** 60 phút
|
|
|
|
---
|
|
|
|
### Dành cho Lập Trình Viên Backend
|
|
1. Bắt đầu: **PRICING_AUDIT_SUMMARY.md** (15 phút)
|
|
- Tổng quan kiến trúc, cấu trúc backend
|
|
2. Tiếp theo: **QUICK_REFERENCE.md** (10 phút)
|
|
- Phần "Cách sử dụng ở Backend"
|
|
3. Đào sâu: **PRICING_CHECKOUT_AUDIT.md** (30 phút)
|
|
- Mục 3: Backend đăng ký
|
|
- Mục 4: Backend thanh toán
|
|
- Mục 5: Các mô hình Prisma
|
|
- Mục 10: Chi tiết luồng tạo thanh toán
|
|
|
|
**Tổng thời gian:** 55 phút
|
|
|
|
---
|
|
|
|
### Dành cho Lập Trình Viên Full-Stack (Xây dựng Thanh toán)
|
|
1. Bắt đầu: **PRICING_AUDIT_SUMMARY.md** (15 phút)
|
|
- Tổng quan kiến trúc đầy đủ
|
|
2. Tham chiếu nhanh: **QUICK_REFERENCE.md** (20 phút)
|
|
- Tất cả các phần với ví dụ code
|
|
3. Triển khai: **PRICING_CHECKOUT_AUDIT.md** (40 phút)
|
|
- Mục 8: Chi tiết các thành phần còn thiếu
|
|
- Mục 9: Kiến trúc đề xuất (Quan trọng)
|
|
- Mục 12: Lộ trình triển khai
|
|
|
|
**Tổng thời gian:** 75 phút → Sẵn sàng bắt đầu lập trình
|
|
|
|
---
|
|
|
|
## 🎯 Tóm Tắt Các Phát Hiện Chính
|
|
|
|
| Khía cạnh | Trạng thái | Ưu tiên |
|
|
|--------|--------|----------|
|
|
| **Trang định giá** | ✅ Hoàn chỉnh | — |
|
|
| **API Gói** | ✅ Hoàn chỉnh | — |
|
|
| **Backend đăng ký** | ✅ Hoàn chỉnh | — |
|
|
| **Gateway thanh toán** | ✅ Hoàn chỉnh | — |
|
|
| **Modal thanh toán** | ❌ Còn thiếu | 🔴 QUAN TRỌNG |
|
|
| **Return Handler thanh toán** | ❌ Còn thiếu | 🔴 QUAN TRỌNG |
|
|
| **Giao diện quản lý đăng ký** | ❌ Còn thiếu | 🟡 TRUNG BÌNH |
|
|
|
|
---
|
|
|
|
## 📊 Tham Chiếu Tệp Theo Chủ Đề
|
|
|
|
### Triển khai trang định giá
|
|
- Vị trí: `apps/web/app/[locale]/(public)/pricing/page.tsx`
|
|
- Tài liệu: PRICING_CHECKOUT_AUDIT.md §1, PRICING_AUDIT_SUMMARY.md
|
|
|
|
### API đăng ký (Frontend)
|
|
- Tệp: `apps/web/lib/subscription-api.ts`
|
|
- Tài liệu: PRICING_CHECKOUT_AUDIT.md §2, QUICK_REFERENCE.md "Định nghĩa kiểu"
|
|
|
|
### API thanh toán (Frontend)
|
|
- Tệp: `apps/web/lib/payment-api.ts`
|
|
- Tài liệu: PRICING_CHECKOUT_AUDIT.md §2, QUICK_REFERENCE.md "Định nghĩa kiểu"
|
|
|
|
### Backend đăng ký
|
|
- Thư mục: `apps/api/src/modules/subscriptions/`
|
|
- Tài liệu: PRICING_CHECKOUT_AUDIT.md §3, QUICK_REFERENCE.md "Cách dùng Backend"
|
|
|
|
### Backend thanh toán
|
|
- Thư mục: `apps/api/src/modules/payments/`
|
|
- Tài liệu: PRICING_CHECKOUT_AUDIT.md §4, PRICING_AUDIT_SUMMARY.md "Cấu trúc Backend"
|
|
|
|
### Gateway thanh toán
|
|
- Thư mục: `apps/api/src/modules/payments/infrastructure/services/`
|
|
- Tệp: `vnpay.service.ts`, `momo.service.ts`, `zalopay.service.ts`
|
|
- Tài liệu: PRICING_CHECKOUT_AUDIT.md §4.2
|
|
|
|
### Mô hình cơ sở dữ liệu
|
|
- Tệp: `prisma/schema.prisma` (dòng 451-514)
|
|
- Tài liệu: PRICING_CHECKOUT_AUDIT.md §5, PRICING_AUDIT_SUMMARY.md "Mô hình dữ liệu"
|
|
|
|
### Biến môi trường
|
|
- Tài liệu: QUICK_REFERENCE.md "Biến môi trường"
|
|
- Bắt buộc cho: Tích hợp gateway thanh toán
|
|
|
|
### API Endpoint
|
|
- Tài liệu: QUICK_REFERENCE.md "Các API Endpoint chính"
|
|
- Danh sách đầy đủ 13 endpoint với phương thức và kiểu trả về
|
|
|
|
---
|
|
|
|
## 🚀 Các Bước Tiếp Theo
|
|
|
|
1. **Hiểu trạng thái hiện tại**
|
|
- Đọc: PRICING_AUDIT_SUMMARY.md (10 phút)
|
|
|
|
2. **Đánh giá nhu cầu triển khai**
|
|
- Xem lại: Lộ trình triển khai (5 phút)
|
|
- Quyết định: Bắt đầu từ giai đoạn nào? (Giai đoạn 1: Thanh toán là quan trọng nhất)
|
|
|
|
3. **Chuẩn bị môi trường phát triển**
|
|
- Tham chiếu: QUICK_REFERENCE.md "Biến môi trường"
|
|
- Thiết lập: Thông tin đăng nhập sandbox gateway thanh toán
|
|
|
|
4. **Bắt đầu triển khai**
|
|
- Giai đoạn 1: Luồng thanh toán
|
|
- Tham chiếu: PRICING_CHECKOUT_AUDIT.md §9 "Kiến trúc luồng thanh toán đề xuất"
|
|
- Ví dụ code: QUICK_REFERENCE.md "Cách sử dụng ở Frontend"
|
|
|
|
5. **Kiểm thử**
|
|
- Tham chiếu: PRICING_CHECKOUT_AUDIT.md §12 "Chiến lược kiểm thử"
|
|
- Thông tin đăng nhập: QUICK_REFERENCE.md "Thông tin đăng nhập kiểm thử"
|
|
|
|
---
|
|
|
|
## 💡 Tra Cứu Nhanh
|
|
|
|
### "Làm thế nào để...?"
|
|
|
|
**...lấy danh sách các gói?**
|
|
- QUICK_REFERENCE.md → "Cách sử dụng ở Frontend" → Phần Lấy gói
|
|
|
|
**...tạo thanh toán?**
|
|
- QUICK_REFERENCE.md → "Cách sử dụng ở Frontend" → Phần Tạo thanh toán
|
|
|
|
**...kiểm tra trạng thái thanh toán?**
|
|
- QUICK_REFERENCE.md → "Cách sử dụng ở Frontend" → Phần Kiểm tra trạng thái thanh toán
|
|
|
|
**...tạo đăng ký?**
|
|
- QUICK_REFERENCE.md → "Cách sử dụng ở Frontend" → Phần Tạo đăng ký
|
|
|
|
**...hiểu luồng thanh toán?**
|
|
- PRICING_CHECKOUT_AUDIT.md §9 → "Kiến trúc luồng thanh toán đề xuất"
|
|
|
|
**...xem tất cả API endpoint?**
|
|
- QUICK_REFERENCE.md → "Các API Endpoint chính"
|
|
|
|
**...xử lý lỗi thanh toán?**
|
|
- QUICK_REFERENCE.md → "Các lỗi phổ biến"
|
|
- PRICING_CHECKOUT_AUDIT.md §12 → "Các trường hợp biên & Xử lý lỗi"
|
|
|
|
**...gỡ lỗi một vấn đề?**
|
|
- QUICK_REFERENCE.md → "Danh sách kiểm tra gỡ lỗi"
|
|
|
|
---
|
|
|
|
## 📞 Liên Hệ Chính / Tài Nguyên
|
|
|
|
### Các tệp được đề cập
|
|
- Trang định giá: `apps/web/app/[locale]/(public)/pricing/page.tsx`
|
|
- API đăng ký: `apps/web/lib/subscription-api.ts`
|
|
- API thanh toán: `apps/web/lib/payment-api.ts`
|
|
- Module backend: `apps/api/src/modules/subscriptions/`, `apps/api/src/modules/payments/`
|
|
|
|
### Tài liệu bên ngoài
|
|
- VNPay: https://sandbox.vnpayment.vn/
|
|
- MoMo: https://test-payment.momo.vn/
|
|
- ZaloPay: https://sandbox.zalopay.com.vn/
|
|
|
|
---
|
|
|
|
## 📈 Thống Kê Tài Liệu
|
|
|
|
| Tài liệu | Kích thước | Mục | Thời gian đọc ước tính |
|
|
|----------|------|----------|---|
|
|
| PRICING_CHECKOUT_AUDIT.md | 36 KB | 15 | 30-45 phút |
|
|
| PRICING_AUDIT_SUMMARY.md | 15 KB | 14 | 10-15 phút |
|
|
| QUICK_REFERENCE.md | 11 KB | 10 | 5-10 phút (mỗi tác vụ) |
|
|
| **TỔNG** | **62 KB** | **39** | **45-70 phút** |
|
|
|
|
---
|
|
|
|
## ✅ Những Gì Bạn Sẽ Biết Sau Khi Đọc
|
|
|
|
Sau khi hoàn thành các tài liệu kiểm toán này, bạn sẽ hiểu:
|
|
|
|
✅ Kiến trúc và triển khai đầy đủ của trang định giá
|
|
✅ Tất cả các API endpoint đăng ký và cách sử dụng chúng
|
|
✅ Tất cả các API endpoint thanh toán và cách sử dụng chúng
|
|
✅ Tích hợp gateway thanh toán (VNPay, MoMo, ZaloPay)
|
|
✅ Kiến trúc CQRS Backend cho đăng ký và thanh toán
|
|
✅ Mô hình dữ liệu Prisma cho tất cả chức năng đăng ký/thanh toán
|
|
✅ Các hook React Query để lấy dữ liệu đăng ký và thanh toán
|
|
✅ Các khoảng trống hiện tại trong luồng thanh toán
|
|
✅ Kiến trúc đề xuất cho luồng thanh toán hoàn chỉnh
|
|
✅ Các giai đoạn triển khai và ước tính công sức
|
|
✅ Yêu cầu cấu hình môi trường
|
|
✅ Chiến lược kiểm thử và thông tin đăng nhập sandbox
|
|
✅ Cách xử lý lỗi và các trường hợp biên
|
|
✅ Ví dụ code cho các tác vụ phổ biến
|
|
|
|
---
|
|
|
|
## 🎓 Mục Tiêu Học Tập Đạt Được
|
|
|
|
- [ ] Tôi hiểu trạng thái hiện tại của hệ thống định giá/đăng ký/thanh toán
|
|
- [ ] Tôi có thể xác định những gì còn thiếu cho luồng thanh toán
|
|
- [ ] Tôi có thể giải thích kiến trúc CQRS backend
|
|
- [ ] Tôi có thể sử dụng các API client frontend một cách chính xác
|
|
- [ ] Tôi biết cách tích hợp một gateway thanh toán
|
|
- [ ] Tôi có thể lập kế hoạch và ước tính công sức triển khai
|
|
- [ ] Tôi có thể xử lý redirect và callback từ gateway thanh toán
|
|
- [ ] Tôi có thể viết kiểm thử cho hệ thống thanh toán
|
|
- [ ] Tôi biết những lỗi nào cần dự kiến và cách xử lý chúng
|
|
- [ ] Tôi sẵn sàng xây dựng luồng thanh toán
|
|
|
|
---
|
|
|
|
## 📝 Ghi Chú
|
|
|
|
- Tất cả ví dụ code đều sẵn sàng cho môi trường production
|
|
- Tất cả các API endpoint đều đang hoạt động
|
|
- Tất cả gateway thanh toán đều sẵn sàng để tích hợp
|
|
- Chỉ luồng thanh toán frontend là cần xây dựng
|
|
- Công sức ước tính: 4-6 ngày để triển khai hoàn chỉnh
|
|
- Backend đã sẵn sàng 100%
|
|
|
|
---
|
|
|
|
**Trạng thái:** ✅ Sẵn sàng để Phát triển
|
|
**Mức độ tin cậy:** Cao (toàn bộ backend đã được xác minh, các khoảng trống đã được xác định rõ ràng)
|
|
**Hành động tiếp theo:** Bắt đầu Giai đoạn 1 - Triển khai Luồng Thanh Toán
|