← Tất cả sản phẩm
📥
Module PrestaShop

Downloads Pro by HabaChat

Bán file tải về trên PrestaShop: đơn thanh toán xong là khách nhận ngay link tải bảo mật, có hạn dùng và giới hạn lượt tải.

Phiên bản 1.1.0PrestaShop 8 · 939 KB
Hướng dẫn sử dụng

Tính năng nổi bật

Giao file tự động

Đơn chuyển sang trạng thái đã thanh toán là link tải được tạo và gửi email ngay, không cần thao tác tay.

🔁

Không gửi trùng

Khoá duy nhất trên dòng đơn hàng và file khiến việc đổi trạng thái nhiều lần không sinh thêm link hay email.

Link có hạn dùng

Đặt số ngày hết hạn kể từ lúc thanh toán, hoặc để 0 nếu muốn link sống mãi.

🔢

Giới hạn lượt tải

Mỗi lần mua có hạn mức riêng, đếm trước khi truyền file nên hủy giữa chừng vẫn bị tính.

🔐

File nằm ngoài web

Lưu trong private_files với .htaccess Deny from all và tên băm ngẫu nhiên, chỉ ra qua controller kiểm token.

👤

Buộc đăng nhập tuỳ chọn

Bật lên thì chỉ tài khoản đã mua mới tải được, người khác bị chuyển sang trang đăng nhập.

📂

Trang File của tôi

Khách xem lại mọi file đã mua trong tài khoản và tự bấm gửi lại email khi làm mất link.

🧾

Nhật ký và thu hồi

Ghi từng lượt tải kèm IP, có nút Revoke/Restore và tự thu hồi khi đơn bị hoàn tiền hoặc huỷ.

Giới thiệu

Bạn bán ebook, phần mềm, giáo án, file thiết kế hay bản vẽ. Đơn về, bạn mở email, tìm file trong Drive, dán link, gửi tay cho từng khách. Đơn đến lúc nửa đêm thì khách phải chờ đến sáng. Rồi cái link Drive đó được chia sẻ lại cho cả lớp, cả nhóm — bạn không biết ai đã tải, tải bao nhiêu lần, và cũng không thu hồi được khi khách đòi hoàn tiền.

Downloads Pro biến việc giao file thành một phần của quy trình đơn hàng: bạn gắn file vào sản phẩm một lần, phần còn lại chạy tự động.

Giao file tự động khi đơn được thanh toán

Module lắng nghe sự kiện đổi trạng thái đơn hàng. Khi đơn chuyển sang bất kỳ trạng thái nào được PrestaShop đánh dấu là "đã thanh toán" — chuyển khoản đã xác nhận, thanh toán thẻ, COD đã thu, trạng thái tự tạo của bạn — module tạo một grant (mã token riêng + hạn dùng + giới hạn lượt tải) cho từng file của từng dòng sản phẩm trong đơn, rồi gửi email chứa các link đó.

Việc tạo grant là idempotent: khoá duy nhất trên cặp (dòng đơn hàng × file) đảm bảo một đơn bị đổi trạng thái đi đổi lại — hoặc cổng thanh toán gọi callback hai lần — cũng không bao giờ sinh link trùng hay gửi email lần hai. Nếu email hỏng vì lý do gì, lỗi được ghi vào nhật ký PrestaShop chứ không làm hỏng việc xử lý đơn.

Link không chia sẻ được vô tội vạ

  • Token dài 48 ký tự hex sinh bằng bộ sinh ngẫu nhiên mật mã — không đoán được.
  • Hạn dùng tính theo ngày kể từ lúc thanh toán (mặc định 30 ngày, đặt 0 = không hết hạn).
  • Giới hạn lượt tải cho mỗi lần mua (mặc định 5, đặt 0 = không giới hạn). Lượt tải được đếm trước khi truyền file, nên một lần tải bị hủy giữa chừng vẫn tính — không ai dùng cách ngắt kết nối để tải vô hạn. Riêng yêu cầu resume (HTTP Range bắt đầu từ giữa file) không bị tính thêm, nên khách vẫn tải tiếp được file lớn.
  • Tuỳ chọn bắt buộc đăng nhập: link chỉ chạy với đúng tài khoản đã mua, ai khác bấm vào sẽ bị đưa về trang đăng nhập.
  • File thật nằm trong thư mục private_files/ có .htaccess "Deny from all", tên file trên đĩa là một chuỗi băm ngẫu nhiên. Không có URL nào trỏ thẳng tới file; đường duy nhất ra ngoài là controller đã kiểm tra token.

Khách tự phục vụ, bạn hết việc hỗ trợ

Khách nhận email mang logo và tên shop của bạn (mẫu song ngữ Việt/Anh, chọn theo ngôn ngữ đơn hàng), trong đó ghi rõ còn bao nhiêu ngày hạn dùng. Ngoài email, file còn xuất hiện ở hai chỗ trong tài khoản khách: mục "File của tôi" (My downloads) liệt kê mọi file đã mua kèm số lượt đã dùng, và ngay trong chi tiết đơn hàng cũng có nút tải. Mất email? Khách bấm "Gửi lại email" là hệ thống gửi lại — không cần nhắn tin cho bạn.

Nhật ký và thu hồi

Mọi lần bấm tải đều được ghi lại: thành công hay thất bại, IP, trình duyệt, thời điểm. Màn hình Downloads Pro trong menu Improve cho bạn ba con số tổng quan (số grant, số đang còn hiệu lực, tổng lượt tải) và bảng Customer downloads liệt kê từng khách — đơn nào, file nào, dùng bao nhiêu trên bao nhiêu, hết hạn khi nào — với hai nút ResendRevoke. Khi đơn chuyển sang Refunded hoặc Canceled, toàn bộ grant của đơn đó tự động bị thu hồi; link ngừng hoạt động ngay, và bạn vẫn có thể bấm Restore nếu thu hồi nhầm.

So với sản phẩm ảo có sẵn của PrestaShop

Tính năng "virtual product" mặc định cho một file cho mỗi sản phẩm, không có bản ghi từng lượt mua, không có nhật ký, không thu hồi được và không gửi lại được email. Downloads Pro cho phép nhiều file trên một sản phẩm, mỗi lần mua là một grant riêng có hạn và có hạn mức, có nhật ký, có nút thu hồi và gửi lại.

Với 59 USD, bạn có bản quyền một tên miền, dùng chung một bộ mã cho PrestaShop 8 và 9, 1 năm cập nhật và hỗ trợ, và bản dùng thử 90 ngày miễn phí để chạy thật trước khi mua. Giấy phép chỉ khoá phần quản trị: kể cả khi giấy phép hết hạn, khách đã mua vẫn tải được file của họ.

Câu hỏi thường gặp

File tôi bán nặng vài trăm MB, hosting chia sẻ có tải nổi không?
Được. Module đọc file theo từng khối 256 KB rồi đẩy thẳng ra trình duyệt nên dung lượng file không ảnh hưởng bộ nhớ PHP, và nó bỏ giới hạn thời gian chạy khi truyền. Module cũng hỗ trợ HTTP Range nên khách tạm dừng, nối tiếp hoặc dùng trình quản lý tải đều được — lượt resume không bị tính thêm vào hạn mức. Giới hạn thật nằm ở khâu tải lên: dung lượng tối đa do upload_max_filesize và post_max_size của hosting quyết định, nếu cần bạn nhờ nhà cung cấp nâng lên.
Khách chuyển link cho người khác thì sao?
Link vẫn dùng chung được nếu bạn để mọi thứ mở, nên hãy dùng ba lớp chặn: đặt giới hạn lượt tải (mặc định 5) để một link không thể tải mãi, đặt hạn dùng theo ngày, và bật "Require customer login to download" nếu muốn chắc chắn — khi đó chỉ tài khoản đã mua mới tải được, người khác bị đẩy sang trang đăng nhập. Mọi lượt tải đều ghi IP nên bạn thấy ngay link nào bị lạm dụng và bấm Revoke.
Khách báo mất email hoặc không nhận được email thì xử lý thế nào?
Khách tự xử lý được: đăng nhập, vào "File của tôi" hoặc mở chi tiết đơn hàng rồi bấm "Gửi lại email" — hệ thống gửi lại các link còn hiệu lực. Phía bạn, mở Improve → Downloads Pro, tìm dòng của đơn đó và bấm Resend. Nút gửi lại hoạt động ngay cả khi bạn đã tắt tuỳ chọn gửi email tự động, vì đó là yêu cầu rõ ràng của khách.
Module có chạy với mọi cổng thanh toán không, và trạng thái nào được tính là đã thanh toán?
Có. Module không gắn với cổng thanh toán nào; nó nghe sự kiện đổi trạng thái đơn hàng của PrestaShop. Mọi trạng thái được đánh dấu cờ "Consider the associated order as validated/paid" trong Orders → Statuses đều kích hoạt giao file — gồm cả trạng thái bạn tự tạo. Nếu bán qua chuyển khoản, chỉ cần bạn xác nhận đơn sang trạng thái đã thanh toán là khách nhận link.
Khi tôi hoàn tiền cho khách thì link có bị khoá không?
Có. Khi đơn chuyển sang Refunded hoặc Canceled, toàn bộ grant của đơn đó bị thu hồi tự động và link ngừng hoạt động ngay lập tức. Với các trường hợp khác (hoàn tiền một phần, trạng thái riêng của bạn), vào Improve → Downloads Pro và bấm Revoke trên đúng dòng; nếu thu hồi nhầm thì bấm Restore để bật lại. File đã tải về máy khách trước đó thì đương nhiên không thu hồi được.
Key bản quyền dùng được cho mấy tên miền?
Một key kích hoạt trên đúng một tên miền bạn khai báo khi mua. Nếu bạn chuyển shop sang tên miền khác, hãy liên hệ chúng tôi để cấp lại key miễn phí.
Hết hạn bản quyền thì cửa hàng có ngừng chạy không?
Không. Bản quyền chỉ khoá phần quản trị trong Back office; phần hiển thị ngoài cửa hàng và dữ liệu đã có vẫn hoạt động bình thường. Gia hạn để tiếp tục nhận cập nhật và hỗ trợ.
Tôi nhận file cài đặt bằng cách nào?
Ngay sau khi thanh toán qua PayPal, bạn nhận email chứa key bản quyền và link tải file .zip. Link tải có hiệu lực 30 ngày.
📘Hướng dẫn sử dụng Downloads Pro by HabaChatTừ lúc cài đặt tới lúc chạy ổn định — kèm phần xử lý sự cố thường gặp.