Appearance
Đơn hàng, giao dịch và sản phẩm
Trang này dành cho người quản trị, kế toán (finance) và nhân viên bán hàng (sales): đọc đơn hàng, đối soát giao dịch với cổng thanh toán, lấy link thanh toán để gắn lên trang đích.
Mọi màn hình ở đây nằm trong nhóm menu Thương mại điện tử của khu vực quản trị (/admin) và chỉ có khi tổ chức bật module Thương mại điện tử (Ecommerce). Cấu hình cổng thanh toán ở trang riêng: Cổng thanh toán OnePay / VNPay. Mã giảm giá: Mã giảm giá (Voucher).
Bản đồ màn hình
| Màn hình | Dùng để | Sửa được không |
|---|---|---|
| Sản phẩm | Danh mục mọi thứ đang bán, lấy Link thanh toán | Không — sản phẩm tự đồng bộ từ nơi khác |
| Đơn hàng | Ai mua gì, bao nhiêu tiền, qua nguồn nào, đã bàn giao chưa | Không — chỉ đọc |
| Giao dịch | Từng lần khách thanh toán qua cổng, thành công hay thất bại | Không — chỉ đọc |
| Voucher | Mã giảm giá → Voucher | Có |
| Cổng thanh toán | Khai OnePay / VNPay → Cổng thanh toán | Có |
| Gói thuê bao, Thuê bao đang chạy | Bán combo/gói theo thời hạn → Combo khoá học | Có |
Sản phẩm đến từ đâu
Bạn không tạo sản phẩm ở màn hình Sản phẩm. Mỗi thứ bán được tự sinh ra một dòng ở đây khi bạn tạo nó ở chỗ gốc của nó:
| Thứ bán | Tạo ở đâu | Thành sản phẩm khi |
|---|---|---|
| Khoá học | Phương thức đăng ký Trả phí của khoá (Phương thức đăng ký) | Mỗi phương thức trả phí là một gói (biến thể) của sản phẩm khoá học |
| Gói thuê bao | Thương mại điện tử → Gói thuê bao | Lưu gói |
| Sự kiện có vé | Màn hình sự kiện | Lưu sự kiện; Đang bán khi sự kiện đã đăng |
| Kho tài nguyên | Cách truy cập Trả phí của kho (Kho tài nguyên → Bán kho) | Lưu cách truy cập có giá |
| Gói credits AI | AI → Các gói credits AI (xem bên dưới) | Lưu gói |
| Sản phẩm công cụ | Kho công cụ → Sản phẩm công cụ (Kho công cụ) | Lưu sản phẩm |
Cột Trạng thái của sản phẩm đi theo chỗ gốc:
| Trạng thái | Nghĩa |
|---|---|
| Đang bán | Khoá học đã xuất bản, hoặc gói/sản phẩm đang bật |
| Nháp | Khoá học chưa xuất bản, hoặc gói/sản phẩm đang tắt |
| Đã lưu trữ | Không còn bán |
Muốn đổi giá, đổi tên hay ngừng bán: sửa ở chỗ gốc, sản phẩm tự cập nhật theo. Cột Loại hiện mã kỹ thuật của loại sản phẩm (course, subscription_plan, ai_credits_pack…), không phải tên tiếng Việt.
Đổi giá không ảnh hưởng đơn cũ
Mỗi đơn chụp lại giá tại thời điểm đặt. Sửa giá về sau chỉ áp cho đơn mới.
Lấy link thanh toán
Mỗi gói của một sản phẩm có một đường dẫn thanh toán công khai dạng /checkout/<số>. Gắn nó lên trang đích, bài quảng cáo, tin nhắn cho khách.
- Vào Thương mại điện tử → Sản phẩm.
- Ở dòng sản phẩm, bấm Link thanh toán. Nút chỉ hiện khi sản phẩm có ít nhất một gói đang mở bán.
- Hộp thoại liệt kê từng gói kèm giá; bấm Sao chép cạnh gói cần dùng.
Khách mở link là vào thẳng trang thanh toán, không cần đăng nhập: họ điền họ, tên, email, số điện thoại, chọn phương thức thanh toán và nhập mã giảm giá nếu có.
Thêm ?voucher=MÃ vào cuối link thì mã được điền sẵn và tự áp khi trang mở — tiện cho email hoặc tin nhắn ưu đãi. Ví dụ /checkout/12?voucher=HE2026.
Link vẫn sống sau khi bạn ngừng quảng cáo
Link thanh toán không tự hết hạn. Gỡ xuất bản khoá học hay tắt gói không đóng link: trang thanh toán chỉ kiểm gói giá còn hoạt động. Muốn dừng bán, xoá phương thức ghi danh Trả phí của khoá, hoặc xoá gói. Khi thứ gốc bị xoá, link cũ trả trang không tồn tại.
Khách trả tiền cho khoá đã gỡ xuất bản
Nếu khách vẫn thanh toán qua link của một khoá đã gỡ xuất bản, đơn sẽ kẹt ở Đã thanh toán vì không bàn giao được — xem mục dưới.
Đọc danh sách đơn hàng
Thương mại điện tử → Đơn hàng (/admin/orders) liệt kê đơn mới nhất trước.
| Cột | Ghi chú |
|---|---|
| Mã đơn | Bấm để sao chép. Khách đọc mã này khi gọi hỗ trợ |
| Email, Khách hàng | Thông tin khách điền ở trang thanh toán |
| Sản phẩm | Hai dòng đầu, bấm để xem hết |
| Trạng thái | Xem Trạng thái đơn |
| Tổng tiền, Tiền tệ | Số tiền sau giảm giá |
| Kênh quy công | Link giới thiệu hoặc Mã giảm giá — đơn được ghi công cho cộng tác viên qua kênh nào (Cộng tác viên). Đơn tạo trước khi có cột này để trống |
| Chiến dịch (UTM) | Ẩn sẵn, bật trong nút chọn cột. Dòng nhỏ bên dưới là nguồn. Chỉ có khi tổ chức bật đo nguồn truy cập |
| Thời điểm đặt |
Ô tìm kiếm tìm theo mã đơn, email và tên khách. Bộ lọc: Kênh quy công, Nguồn (UTM), Chiến dịch (UTM) — hai bộ lọc UTM chỉ đưa ra những giá trị đã từng xuất hiện trên đơn, nên không gõ nhầm tên chiến dịch được. Ý nghĩa các tham số UTM: Link theo dõi nguồn.
Trang chi tiết đơn
Bấm vào một dòng để mở trang chi tiết. Trang chỉ đọc: đơn hàng là sổ sách tài chính, không có nút sửa hay xoá.
| Khối | Có gì |
|---|---|
| Đơn hàng & khách hàng | Mã đơn, trạng thái, tên, email, điện thoại, Tài khoản người mua, các mốc Thời điểm đặt / thanh toán / bàn giao / huỷ, Kênh quy công, Người giới thiệu và Mã giới thiệu, nguồn UTM, ghi chú của khách |
| Sản phẩm đã mua | Từng dòng hàng: tên, loại, gói, số lượng, đơn giá, thành tiền, và cột Đã bàn giao (giờ bàn giao) hoặc Chưa bàn giao |
| Thanh toán | Tạm tính, Giảm giá, Mã giảm giá, Tổng tiền, và Các lần thanh toán: cổng, mã giao dịch, mã giao dịch tại cổng, trạng thái, số tiền, số tiền đã hoàn (nếu có), thời điểm thành công / thất bại, Lý do thất bại |
Ô Tài khoản ghi "Chưa có tài khoản (đơn chưa thanh toán)" với khách vãng lai chưa trả tiền: tài khoản chỉ được tạo (hoặc gắn vào tài khoản sẵn có theo email) sau khi thanh toán thành công. Người giới thiệu đã bị xoá tài khoản vẫn hiện tên kèm "(tài khoản đã xoá)".
Trạng thái đơn
| Trạng thái | Nghĩa |
|---|---|
| Chờ xử lý | Đơn vừa tạo, chưa chuyển sang cổng thanh toán |
| Chờ thanh toán | Khách đã được chuyển sang cổng nhưng chưa trả xong. Khách trả thất bại thì đơn vẫn ở trạng thái này để khách thử lại — lần thất bại nằm ở Các lần thanh toán |
| Đã thanh toán | Tiền đã về, nhưng chưa bàn giao xong mọi sản phẩm — xem mục dưới |
| Đã giao | Tiền đã về và khách đã nhận đủ (ghi danh khoá, kích hoạt gói, cộng credits…) |
| Hết hạn | Đơn chờ thanh toán quá lâu bị đóng tự động |
| Thất bại, Đã huỷ | Trạng thái kết thúc |
Đơn treo tự hết hạn. Mỗi đêm hệ thống chuyển các đơn Chờ thanh toán quá 14 ngày (mặc định, chỉnh ở khối Thu hồi đơn bỏ dở; tính từ lần cập nhật gần nhất) sang Hết hạn. Đơn hết hạn vẫn tra cứu được, không bị xoá. Bật/tắt và chuỗi email nhắc khách quay lại thanh toán: Thu hồi đơn bỏ dở.
Đơn "Đã thanh toán" mà chưa bàn giao
Bình thường đơn đi thẳng từ Chờ thanh toán sang Đã giao trong vài giây sau khi cổng báo tiền về. Đơn dừng ở Đã thanh toán nghĩa là khách đã trả tiền nhưng có ít nhất một sản phẩm không bàn giao được — ví dụ khoá học đã bị gỡ xuất bản sau khi khách mở trang thanh toán.
- Mở đơn, xem khối Sản phẩm đã mua: dòng nào ghi Chưa bàn giao là dòng bị lỗi.
- Cấp quyền cho khách bằng tay theo đúng thứ họ mua (ví dụ ghi danh tay vào khoá).
- Báo đội kỹ thuật kèm Mã đơn để tìm nguyên nhân.
Hệ thống phát cảnh báo vận hành mức nghiêm trọng cho đúng tình huống này (nhóm cảnh báo tài chính). Nên có một luật cảnh báo gửi nó tới người trực — xem Cảnh báo vận hành.
Với đơn 0đ (voucher giảm 100%), nếu bàn giao lỗi thì khách không nhận email "đã thanh toán", để tránh một email mời vào học dẫn tới trang báo không có quyền.
Giao dịch
Thương mại điện tử → Giao dịch liệt kê từng lần thanh toán, không phải từng đơn: một đơn có thể có nhiều giao dịch (khách thử thẻ hỏng rồi thử lại, hoặc đổi cổng).
| Cột | Ghi chú |
|---|---|
| Mã giao dịch | Mã hệ thống gửi sang cổng — dùng để tra trên trang quản trị của OnePay/VNPay |
| Cổng thanh toán | onepay, vnpay… |
| Đơn hàng | Bấm để mở thẳng trang chi tiết đơn (nếu bạn có quyền xem đơn) |
| Sản phẩm, Trạng thái, Số tiền, Tiền tệ, Thời điểm thành công |
Trạng thái giao dịch: Chờ xử lý, Đang xử lý, Thành công, Thất bại, Đã huỷ, Đã hoàn, Không hợp lệ.
Màn hình quản trị không có nút hoàn tiền. Hoàn tiền thực hiện trên hệ thống của cổng thanh toán.
Đối soát cuối ngày
Danh sách giao dịch không có bộ lọc. Sắp theo cột Thời điểm thành công để gom giao dịch trong ngày (hoặc dùng báo cáo của chính cổng thanh toán), so tổng với báo cáo của cổng thanh toán. Nếu cổng ghi nhận tiền về mà ở đây không có giao dịch thành công tương ứng, cổng chưa gọi được về hệ thống — kiểm lại URL webhook (Cổng thanh toán).
Doanh thu: widget và báo cáo
Widget trên Dashboard (hiện theo quyền):
| Widget | Nội dung |
|---|---|
| Tổng quan doanh thu | Tổng doanh thu, Doanh thu tháng này, Đơn hàng tháng này, số đơn Chờ thanh toán |
| Xu hướng doanh thu | Doanh thu theo ngày |
| Đơn hàng theo trạng thái | Phân bố đơn theo trạng thái |
Báo cáo ở Trung tâm báo cáo (Trung tâm báo cáo):
| Báo cáo | Quyền cần | Trả lời |
|---|---|---|
| Hiệu quả voucher | view_any_voucher | Mỗi mã: lượt dùng, chiết khấu, doanh thu kèm theo, tỉ lệ doanh thu/chiết khấu |
| Cổng thanh toán: thành công / thất bại | view_any_order | Tỉ lệ lỗi theo từng cổng — một cổng đột nhiên hỏng nhiều trông giống "tháng này bán chậm" nếu chỉ nhìn tổng doanh thu |
| Doanh thu theo nguồn khách hàng | view_any_order | Doanh thu theo nguồn và chiến dịch của tài khoản người mua. Chỉ có khi tổ chức bật đo nguồn truy cập |
Doanh thu luôn tính theo ngày thanh toán, không theo ngày tạo đơn: đơn tạo tháng trước mà trả tháng này là doanh thu tháng này.
Bán gói credits AI
Học viên mua thêm credits AI qua trang gói credits trong Learnspace (/learnspace/ai-credits). Trang này không có mục menu riêng — người học vào bằng nút Mua thêm credits ở trang ví credits AI.
Điều kiện: tổ chức bật cả AiCredits, Thương mại điện tử và module cầu nối AiCreditsCommerce. Tổ chức chỉ dùng credits AI để đo lường (không bán) thì không cần cầu nối này.
- Vào AI → Các gói credits AI → Tạo.
- Điền Tên gói, Mô tả, Số credits, Credits thưởng, Giá (đơn vị nhỏ nhất) — với VND là số đồng đầy đủ, ví dụ
99000—, Đơn vị tiền tệ, Thứ tự hiển thị. - Bật Đang hoạt động để mở bán. Gói tự xuất hiện ở Sản phẩm và có Link thanh toán như mọi sản phẩm khác.
Khách mua xong, credits được cộng vào ví ngay khi cổng báo tiền về.
Tắt cầu nối không hạ trạng thái sản phẩm
Tắt AiCreditsCommerce thì trang gói credits đóng và link thanh toán cũ của gói bị từ chối — nhưng ở màn hình Sản phẩm các gói vẫn hiện "Đang bán", và vẫn chọn được khi giới hạn voucher theo sản phẩm. Muốn danh sách khớp thực tế, tắt Đang hoạt động của từng gói trước khi tắt cầu nối.
Giá bán credits cho học viên và chi phí trả cho nhà cung cấp AI là hai con số độc lập — xem Theo dõi chi phí AI.
Ai làm được gì
| Vai trò mặc định | Có gì |
|---|---|
Kế toán (finance) | Toàn quyền đơn hàng, giao dịch, voucher, sản phẩm, sản phẩm công cụ, cổng thanh toán, gói thuê bao và thuê bao; xem ví và gói credits AI; cả ba widget doanh thu |
Bán hàng (sales) | Xem sản phẩm, giao dịch, voucher; xem đơn hàng; xem thuê bao; widget Tổng quan doanh thu và Đơn hàng theo trạng thái |
Quản trị (admin) | Mọi thứ |
Tên quyền: view_any_order / view_order (đơn hàng), *_payment (giao dịch), *_product (sản phẩm), *_voucher, *_payment_gateway_config (cổng thanh toán). Trang chi tiết đơn chỉ cần view_order. Cách sửa vai trò: Vai trò và phân quyền.
Câu hỏi thường gặp
Khách báo đã trả tiền nhưng không vào được khoá. Tìm đơn theo email. Đã giao → khách đang đăng nhập nhầm tài khoản khác email mua hàng. Đã thanh toán → xem mục trên. Chờ thanh toán → cổng chưa báo tiền về; kiểm Các lần thanh toán và trang quản trị của cổng.
Khách vãng lai mua xong có phải tự tạo tài khoản không? Không. Hệ thống tạo tài khoản theo email trên đơn và gửi email kèm link đặt mật khẩu. Nếu khách thanh toán ngay trên trình duyệt đã mở trang thanh toán, trang cảm ơn tự đăng nhập cho họ. Hai trường hợp không tự đăng nhập: email đã có tài khoản từ trước (khách đăng nhập bằng mật khẩu của mình), và khách mở trang thanh toán ở máy này nhưng trả tiền ở máy khác.
Trang thanh toán báo "Tenant này chưa kích hoạt cổng thanh toán nào." Chưa có cổng nào được bật Kích hoạt ở Thương mại điện tử → Cổng thanh toán. Đơn 0đ (voucher 100%) vẫn đi được vì không cần cổng.
Có tạo đơn tay cho khách chuyển khoản được không? Không có màn hình tạo hoặc sửa đơn. Khách chuyển khoản ngoài hệ thống thì cấp quyền trực tiếp (ví dụ ghi danh tay vào khoá).