FLYER Học sinh (exam.flyer.us) · PRD · Sprint 110
💳 Gói Premium & thanh toán
Monetization phía học sinh: bảng giá FLYER PRO (1 tháng → 4 năm), gói kim cương cho chấm AI, kích hoạt/gia hạn bằng mã, checkout VNPay/Polar — nội dung khoá mở theo server (viewerCanAccess/isPremium), không hardcode ở client.
Phiên bản 1.0
Ngày 15/08/2026
Owner Tùng (Product)
Trạng thái Đang chạy (production)
📈 Số liệu production (15/08/2026) Chưa có bảng dữ liệu tương ứng trên read-replica.
Mục lục
Bối cảnh & mục tiêu Người dùng & user stories
Phạm vi & phase Luồng sản phẩm
Spec UI (cho Designer) Business rules
Data & API (cho Developer) Edge cases đã xử lý
Acceptance criteria Ngoài phạm vi / tương lai
1 Bối cảnh & mục tiêuMonetization phía học sinh: bảng giá FLYER PRO (1 tháng → 4 năm), gói kim cương cho chấm AI, kích hoạt/gia hạn bằng mã, checkout VNPay/Polar — nội dung khoá mở theo server (viewerCanAccess/isPremium), không hardcode ở client.
Chuyển đổi free → PRO mượt ngay trong luồng học Bán kim cương như đơn vị chi tiêu AI B2B: kích hoạt hàng loạt qua mã (từ giáo viên/trường)
2 Người dùng & user stories
Vai trò User story Ưu tiên Phụ huynh Mua gói PRO cho con, cam kết hoàn tiền. P0 Học sinh Mua kim cương để chấm AI khi cần. P0 Trường Phát mã kích hoạt cho học viên. P1
3 Phạm vi & phase
Phase Nội dung Trạng thái Phase 1 Bảng giá + checkout + mã kích hoạt + cảnh báo hết hạn Done Phase 2 PremiumModal upsell theo ngữ cảnh + gói kim cương 3 mức Done Phase 3 Subscription trên ứng dụng (backlog 106); Global Success premium-only + Cambridge mở 3/5/10 bài (kế hoạch 108 — hiện gating theo server) Đề xuất
4 Luồng sản phẩmMàn hình thực tế — Gói Premium & thanh toán (exam.flyer.us). Chạm nội dung khoá → PremiumModal/NoAccess → /flyer-package → chọn kỳ hạn → checkout → mở khoá Có mã: Kích hoạt tài khoản → nhập mã → kích hoạt/gia hạn Sắp hết hạn: modal nhắc → gia hạn giữ nguyên tiến độ
5 Spec UI — cho DesignerBảng giá: kỳ hạn 1T/6T/1-4N, badge TIẾT KIỆM NHẤT, quyền lợi chi tiết, form Đăng ký tư vấn (SĐT phụ huynh) Trang kim cương: 3 gói (Trải nghiệm/Cơ bản/Học giỏi), giải thích giá chấm AI, tách Được tặng/Đã mua Checkout: VNPay + Polar, coupon tự áp khi reload, màn kết quả thành công/thất bại Thiết kế "vũ trụ FLYER" cho trẻ em: nền không gian, hành tinh Lottie, mascot Bingo; vi/en (mặc định vi). Ứng dụng exam là Next.js Pages Router + GraphQL v2 + REST v3/v4; deep-link ứng dụng mobile flyer-exam://.
6 Business rules
Rule Định nghĩa Gating nội dung 100% theo server: viewerCanAccess/isPremium/activeFlyerPackages Hoàn tiền "Cam kết hoàn tiền nếu không hài lòng" trên bảng giá Hết hạn Tiến trình được giữ nguyên; chỉ chặn nội dung premium
7 Data & API — cho Developeractivation_codes/activation_code_users; wallets; thanh toán VNPay source Exam + Polar link Route: /flyer-package, /diamonds-preview, /checkout(+/result), /warning-account-expired
8 Edge cases đã xử lý
Case Hành vi chuẩn Thanh toán thất bại Màn failed + thử lại, không mất coupon Mã kích hoạt sai/hết hạn Lỗi riêng theo userError Guest vào bảng giá Cho xem + đăng ký tư vấn không cần login Khách chưa đăng nhập Được làm thử/preview; toast + modal nhắc đăng nhập để lưu kết quả Mạng chậm Cảnh báo cáp quang/network chậm (remote config); SpeedTest ở home
9 Acceptance criteriaMua gói mở khoá tức thì không cần re-login Mã kích hoạt cộng đúng thời hạn Coupon giữ nguyên sau reload Cảnh báo hết hạn hiện đúng mốc
10 Ngoài phạm vi / tương laiSubscription trong ứng dụng mobile (backlog 106) Chính sách mở 3/5/10 bài đầu Cambridge + Global Success premium (kế hoạch, cần chốt với backend)
← Danh mục PRD · Nguồn: quét codebase flyer-webs/apps/exam + số liệu read-replica production · 15/08/2026.