Chuyển tới nội dung chính

Từ chương trình (0đ + có phí) đến landing page và thanh toán SePay

Mục này đi trọn một vòng cho bất kỳ chương trình nào: tạo chương trình, cho khách đăng ký miễn phí, thêm gói có phí ngay trong form, gắn form vào landing page và bật thu tiền qua SePay. Landing page không chứa khóa SePay; mọi việc tạo đơn, hiện QR và nhận tiền do hệ thống xử lý. Ví dụ thực tế đã chạy: Mục 19.

BướcLàm ở đâuKết quả
0RUNBOOK mục 8, Chính sách chia tiền, Edu SettingsLàm một lần: SePay nhận tiền được, có chính sách chia đã xuất bản, có link chính sách
1Chương trìnhChương trình ở trạng thái Mở, có lịch, Zoom, Zalo
2Form đăng kýBật Cho tham gia miễn phí: đây là phần 0đ
3Gói bánGói có phí, đã có quyền lợi, chính sách chia và đã bật
4Form đăng kýForm gom cả 0đ và các gói có phí, có domain landing
5Landing pageChèn mã nhúng, khách đăng ký và trả tiền ngay trên trang
6Landing + SePayThử gói 0đ và một giao dịch thật nhỏ

Bước 0 — Chuẩn bị một lần (không lặp lại cho mỗi chương trình)​

  1. SePay: nhờ quản trị hệ thống làm theo RUNBOOK — mục 8 (webhook, API token, giao dịch thật). Chưa xong mục này thì khách vẫn thấy QR nhưng hệ thống chưa tự xác nhận tiền về; đơn phải ghi nhận thu tay (xem mục 06).
  2. Chính sách chia tiền: có ít nhất một bản Đã xuất bản còn hiệu lực (xem mục 04). Gói có phí không bật bán được nếu thiếu.
  3. Cài đặt Edu → Thương hiệu và email: điền Link chính sách bảo mật (https); form và trang mua hiện link này cho khách. Để trống Link chính sách hoàn tiền: ô này có giá trị thì form nhúng hiện link “Chính sách hoàn tiền” cho khách.

Bước 1 — Tạo chương trình​

  1. Cách nhanh: mở Mở chương trình mới (thanh bên Chương trình → Mở chương trình mới) và đi từng bước. Cách tay: mở Chương trình → Thêm.
  2. Điền Mã chương trình (chữ thường, không dấu, ví dụ workshop-ai-t11), Tiêu đề, Loại chương trình (Workshop hoặc Class), Ngày bắt đầu/kết thúc.
  3. Điền Link tham gia Zoom và Link nhóm Zalo: hệ thống chèn hai link này vào email xác nhận và màn cảm ơn. Thêm các buổi học (Edu Live Session) để khách thấy giờ buổi đầu sau khi đăng ký.
  4. Đổi Trạng thái sang Open (Mở) rồi lưu. Chương trình còn Draft thì form không bật được.

Bước 2 — Phần miễn phí (0đ)​

Gói miễn phí không phải là một Gói bán. Không tạo Gói bán giá 0. Khách được vào chương trình miễn phí nhờ ô Cho tham gia miễn phí trên Form đăng ký (bước 4). Khách chọn tham gia miễn phí thì nhận ngay email Zoom + Zalo và được ghi vào CRM cho Sale chăm sóc.

Bước 3 — Tạo gói có phí​

  1. Mở Gói bán → Thêm. Mỗi mức giá là một gói riêng (ví dụ gói 500.000đ, gói 1.000.000đ).
  2. Điền Mã gói (ví dụ ws_basic_500k), Tiêu đề, Giá bán (VND) là số nguyên đồng (500000), Chương trình vừa tạo, Mô tả ngắn khách đọc được.
  3. Tích Bán qua form (để hiện trong form trên landing). Tích thêm Bán qua link trực tiếp nếu muốn có link mua thẳng /buy/<mã gói> cho nút “Mua ngay”.
  4. Bảng Quyền lợi: thêm ít nhất một dòng khách nhận sau khi trả tiền (khóa học, buổi tư vấn, license…). Chọn cách giao Tự động hoặc Thủ công (giao cho Sale xử lý).
  5. Chọn Chính sách chia đã xuất bản. Công ty không hoàn tiền. Gói bán để 0 ngày hoàn tiền (ô này đã ẩn); không hứa hoàn tiền với khách hay affiliate. Đơn bán trước 21/10/2026 vẫn theo cam kết lúc mua. Muốn mở bán trong khoảng thời gian thì điền Mở bán từ/đến.
  6. Tích Bật rồi lưu. Thiếu quyền lợi, thiếu chính sách còn hiệu lực hoặc chưa chọn cửa bán thì hệ thống từ chối bật và nói rõ thiếu gì.
Lưu ý

Tài khoản Marketing chỉ tạo được gói nháp (chưa có quyền lợi, chính sách, chưa bật). Chủ doanh nghiệp hoàn thiện rồi mới bật bán. Gói đã có đơn thì đổi giá/quyền lợi bằng phiên bản mới, đơn cũ giữ giá cũ.

Bước 4 — Tạo form gom cả 0đ và gói có phí​

  1. Mở Form đăng ký → Thêm. Điền Mã form, Tiêu đề, Chương trình.
  2. Tích Cho tham gia miễn phí (phần 0đ). Bảng Gói được chọn: thêm từng gói có phí ở bước 3. Khách thấy ô “Tham gia miễn phí” và các gói với giá lấy trực tiếp từ hệ thống; đổi giá trong Gói bán thì landing đổi theo, không phải sửa trang.
  3. Ô Domain được nhúng: điền địa chỉ gốc của landing, mỗi dòng một địa chỉ, không kèm đường dẫn, ví dụ https://landing.example.com. Landing có cả bản www hoặc cả http thì khai từng dòng riêng.
  4. Điền Thông báo dữ liệu (nội dung khách đồng ý khi gửi form) và Phiên bản thông báo dữ liệu. Muốn khách nhập mã giảm giá thì tích Cho nhập mã giảm giá.
  5. Tích Bật rồi lưu. Form không bật được khi chương trình chưa Mở, thiếu domain, hoặc có gói chưa bật bán/không bán qua form. Hệ thống ghi rõ lý do.

Bước 5 — Gắn vào landing page​

  1. Trên form vừa lưu, bấm Lấy mã nhúng. Chọn Cách A: tự vẽ form nếu landing chưa có form, hoặc Cách B: gắn vào form có sẵn khi landing đã có giao diện riêng.

  2. Bấm sao chép và gửi cho người làm landing chèn vào chỗ hiển thị form. Cách A trông như sau (địa chỉ script là tên miền thanh toán của hệ thống; nút Lấy mã nhúng luôn điền đúng, đừng gõ tay):

    <div id="fb-form"></div>
    <script src="https://<tên-miền-thanh-toán>/assets/edu_business/js/embed.v1.js"></script>
    <script>
    window.EduForm.mount(document.getElementById("fb-form"), \{
    form: "<mã form>"
    \});
    </script>
  3. Cách B: khai báo <form data-edu-form="<mã form>"> trên form của landing; hệ thống tự thêm gói, thông báo dữ liệu và xử lý gửi. Đổi màu nút của cách A bằng biến CSS --edu-brand.

  4. Muốn nút “Mua ngay” không qua form: trỏ nút tới link mua thẳng https://<tên-miền-thanh-toán>/buy/<mã gói> (chỉ gói đã tích Bán qua link trực tiếp). Gắn thêm link theo dõi để đo kênh (Marketing, mục 04).

Bước 6 — Thanh toán SePay chạy thế nào và cách thử​

  1. Khách chọn Tham gia miễn phí: form ẩn, hiện màn cảm ơn có giờ buổi đầu, nút vào nhóm Zalo và link Zoom; email xác nhận gửi ngay.
  2. Khách chọn gói có phí: hệ thống tạo đơn và chuyển khách sang trang /checkout/… có mã QR SePay kèm số tiền và nội dung chuyển khoản đúng đơn. Khách quét và chuyển khoản.
  3. Tiền về: SePay báo webhook về hệ thống, hệ thống đối soát, đánh dấu đơn Đã thu, giao quyền lợi, gửi email biên nhận và ghi Sổ chia. Gửi lại cùng một webhook không tạo trùng chứng từ.
  4. Thử trước khi mở: (a) đăng ký thử gói 0đ bằng điện thoại, kiểm email, Zoom, Zalo; (b) tạo một gói thử 2.000đ, đặt đơn từ landing, chuyển khoản thật, kiểm đơn chuyển Đã thu và quyền lợi đã giao; (c) tắt gói thử rồi bật gói thật. Kế toán ghi nhận khoản thử bằng chứng từ điều chỉnh, không xóa.
Lỗi thường gặp

Form báo lỗi domain/CORS: Domain được nhúng khác http/https, khác www, hoặc có đường dẫn. Landing không thấy gói có phí: gói chưa Bật, chưa tích Bán qua form, hoặc chính sách chia hết hiệu lực. Khách thanh toán nhưng đơn chưa tự đóng: SePay chưa cấu hình xong (bước 0). Trên staging không chuyển tiền thật; chỉ dùng QR THỬ để xem giao diện.

Cần cấu hình trước khi dùng

Webhook và API token SePay, giao dịch thật 2.000đ: RUNBOOK — mục 8. Link chính sách bảo mật và chống bot cần kỹ thuật kiểm trước dùng thật.