Skip to content

Đơ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ìnhDùng đểSửa được không
Sản phẩmDanh mục mọi thứ đang bán, lấy Link thanh toánKhông — sản phẩm tự đồng bộ từ nơi khác
Đơn hàngAi mua gì, bao nhiêu tiền, qua nguồn nào, đã bàn giao chưaKhông — chỉ đọc
Giao dịchTừng lần khách thanh toán qua cổng, thành công hay thất bạiKhông — chỉ đọc
VoucherMã giảm giá → VoucherCó
Cổng thanh toánKhai OnePay / VNPay → Cổng thanh toánCó
Gói thuê bao, Thuê bao đang chạyBán combo/gói theo thời hạn → Combo khoá họcCó

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ánTạo ở đâuThành sản phẩm khi
Khoá họcPhươ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ê baoThương mại điện tử → Gói thuê baoLưu gói
Sự kiện có véMàn hình sự kiệnLưu sự kiện; Đang bán khi sự kiện đã đăng
Kho tài nguyênCá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 AIAI → 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áiNghĩa
Đang bánKhoá học đã xuất bản, hoặc gói/sản phẩm đang bật
NhápKhoá 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.

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.

  1. Vào Thương mại điện tử → Sản phẩm.
  2. Ở 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.
  3. 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ộtGhi chú
Mã đơnBấm để sao chép. Khách đọc mã này khi gọi hỗ trợ
Email, Khách hàngThông tin khách điền ở trang thanh toán
Sản phẩmHai dòng đầu, bấm để xem hết
Trạng tháiXem Trạng thái đơn
Tổng tiền, Tiền tệSố tiền sau giảm giá
Kênh quy côngLink 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ốiCó gì
Đơn hàng & khách hàngMã đơ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 đã muaTừ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ánTạ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áiNghĩa
Chờ xử lýĐơn vừa tạo, chưa chuyển sang cổng thanh toán
Chờ thanh toánKhá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ánTiền đã về, nhưng chưa bàn giao xong mọi sản phẩm — xem mục dưới
Đã giaoTiề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.

  1. 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.
  2. Cấp quyền cho khách bằng tay theo đúng thứ họ mua (ví dụ ghi danh tay vào khoá).
  3. 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ộtGhi chú
Mã giao dịchMã 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ánonepay, vnpay…
Đơn hàngBấ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):

WidgetNội dung
Tổng quan doanh thuTổ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 thuDoanh thu theo ngày
Đơn hàng theo trạng tháiPhâ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áoQuyền cầnTrả lời
Hiệu quả voucherview_any_voucherMỗ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ạiview_any_orderTỉ 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àngview_any_orderDoanh 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.

  1. Vào AI → Các gói credits AI → Tạo.
  2. Đ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ị.
  3. 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 địnhCó 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á).

LMS Documentation