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.
🔗 Link mẫu trên productBảng giá FLYER PRO ↗Gói kim cương ↗đăng nhập tài khoản demo HS: 0909469666

1Bối cảnh & mục tiêu

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.

2Người dùng & user stories

Vai tròUser storyƯu tiên
Phụ huynhMua gói PRO cho con, cam kết hoàn tiền.P0
Học sinhMua kim cương để chấm AI khi cần.P0
TrườngPhát mã kích hoạt cho học viên.P1

3Phạm vi & phase

PhaseNội dungTrạng thái
Phase 1Bảng giá + checkout + mã kích hoạt + cảnh báo hết hạnDone
Phase 2PremiumModal upsell theo ngữ cảnh + gói kim cương 3 mứcDone
Phase 3Subscription 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

4Luồng sản phẩm

Gói Premium & thanh toán
Màn hình thực tế — Gói Premium & thanh toán (exam.flyer.us).
  1. Chạm nội dung khoá → PremiumModal/NoAccess → /flyer-package → chọn kỳ hạn → checkout → mở khoá
  2. Có mã: Kích hoạt tài khoản → nhập mã → kích hoạt/gia hạn
  3. Sắp hết hạn: modal nhắc → gia hạn giữ nguyên tiến độ

5Spec UI — cho Designer

6Business rules

RuleĐịnh nghĩa
Gating nội dung100% 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ạnTiến trình được giữ nguyên; chỉ chặn nội dung premium

7Data & API — cho Developer

8Edge cases đã xử lý

CaseHành vi chuẩn
Thanh toán thất bạiMàn failed + thử lại, không mất coupon
Mã kích hoạt sai/hết hạnLỗ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ậmCảnh báo cáp quang/network chậm (remote config); SpeedTest ở home

9Acceptance criteria

  1. Mua gói mở khoá tức thì không cần re-login
  2. Mã kích hoạt cộng đúng thời hạn
  3. Coupon giữ nguyên sau reload
  4. Cảnh báo hết hạn hiện đúng mốc

10Ngoài phạm vi / tương lai


← Danh mục PRD · Nguồn: quét codebase flyer-webs/apps/exam + số liệu read-replica production · 15/08/2026.