Bỏ qua menu, vào nội dung chính

Thiết kế website bán hàng nối kho, thanh toán

Website bán hàng khác website giới thiệu ở chỗ có tiền và hàng chạy qua nó. ALODEV thiết kế cả phần khách thấy và phần phía sau: luồng trạng thái đơn, giữ tồn kho, đối chiếu thanh toán, nối vận chuyển. Trang sản phẩm chuẩn SEO kỹ thuật, tải nhanh trên điện thoại.

Tóm tắt

Thời gian
Thường 5 đến 8 tuần từ khi chốt yêu cầu và có nội dung
Thanh toán
VNPay, MoMo, ZaloPay, ViettelMoney, mã QR ngân hàng, thu hộ khi giao
Quản lý
Đơn, tồn kho, khách, mã giảm giá trong khu quản trị
Sở hữu
Mã nguồn, tên miền, dữ liệu đơn hàng đứng tên doanh nghiệp

Một website bán hàng gồm những phần nào

Phần khách nhìn thấy chỉ là một nửa. Nửa còn lại là các quy tắc chạy phía sau, và chính nửa này quyết định website có bán được hàng hay gây ra khiếu nại. Danh sách dưới đây là những phần thường có trong một website bán hàng, và phần nào quyết định chi phí.

Các phần của website bán hàng
PhầnKhách thấy gìPhía sau là gì
Danh mục và tìm kiếmLọc theo loại, giá, thuộc tính; tìm bằng chữCấu trúc thuộc tính sản phẩm, chỉ mục tìm kiếm
Trang sản phẩmẢnh, mô tả, biến thể màu và cỡ, tồn khoDữ liệu cấu trúc cho Google, tồn khả dụng theo biến thể
Giỏ hàng và thanh toánGiỏ, mã giảm giá, địa chỉ, phương thức thanh toánTính giá, thuế, phí vận chuyển; giữ hàng; tạo đơn một lần
Thanh toán trực tuyếnChuyển sang cổng hoặc quét mã QRXác minh kết quả từ cổng, đối chiếu số tiền, xử lý gọi lại hai lần
Vận chuyểnPhí và thời gian dự kiến, mã vận đơnNối API đơn vị vận chuyển, nhận trạng thái giao
Khu quản trịKhông thấyĐơn, tồn kho, khách, khuyến mãi, báo cáo, phân quyền

Luồng đơn hàng: phần khó nhất

Mỗi đơn đi qua một chuỗi trạng thái, và mỗi chuyển trạng thái phải do một sự kiện thật gây ra, không do ai bấm tay cho tiện. Thiết kế chuỗi này trước khi vẽ giao diện là việc khiến website ít lỗi nhất.

Chuỗi trạng thái đơn hàng và sự kiện gây ra chuyển trạng thái
Trạng tháiDo sự kiện nàoHệ quả
Chờ thanh toánKhách chọn thanh toán trực tuyếnGiữ hàng trong một khoảng thời gian ngắn do doanh nghiệp đặt
Đã thanh toánCổng thanh toán báo thành công và số tiền khớpChuyển sang xác nhận, không giữ hàng nữa mà trừ tồn
Đã xác nhậnNhân viên hoặc quy tắc tự động xác nhậnSinh phiếu lấy hàng cho kho
Đã giao vận chuyểnKho bàn giao cho đơn vị vận chuyển, có mã vận đơnGửi mã theo dõi cho khách
Hoàn thànhĐơn vị vận chuyển báo giao thành côngMở quyền đánh giá, tính đối soát thu hộ
Huỷ hoặc hoànKhách huỷ, thanh toán hết hạn, giao thất bạiTrả tồn về kho, hoàn tiền nếu đã thu

Mỗi lần chuyển trạng thái ghi lại ai hoặc hệ thống nào làm, lúc nào. Khi khách hỏi đơn của tôi đâu, nhân viên nhìn một màn hình là biết, không phải gọi sang kho.

Thanh toán trực tuyến: chỗ tiền thật chạy qua

Khi khách thanh toán qua cổng, cổng gọi ngược về website để báo kết quả. Cuộc gọi này có thể đến hai lần, đến muộn, hoặc không đến vì mạng. Website thiết kế đúng không tin trình duyệt của khách báo thanh toán xong, chỉ tin thông báo từ cổng có chữ ký hợp lệ.

  • Xác minh chữ ký của mọi thông báo từ cổng thanh toán trước khi đổi trạng thái đơn.
  • Đối chiếu số tiền và mã đơn trong thông báo với đơn trong cơ sở dữ liệu; lệch thì giữ đơn và báo nhân viên.
  • Thông báo đến hai lần chỉ có hiệu lực một lần nhờ mã giao dịch duy nhất.
  • Đơn chờ thanh toán quá hạn tự huỷ và trả hàng về kho; nếu thông báo thành công đến muộn sau đó, đơn được đưa vào hàng chờ xử lý tay để không mất tiền khách.
  • Số thẻ nhập trên trang của cổng, không đi qua máy chủ website.

Các cổng thanh toán trong nước thường gặp gồm VNPay, MoMo, ZaloPay, ViettelMoney và mã QR chuyển khoản ngân hàng. Mỗi cổng có tài liệu và môi trường thử riêng; việc đăng ký tài khoản kinh doanh với cổng do doanh nghiệp thực hiện.

Tồn kho, giá và khuyến mãi

Hai sự cố làm khách giận nhiều nhất là đặt được món đã hết hàng và giá hiển thị khác giá thanh toán. Cả hai đều xử lý được bằng thiết kế.

  • Tồn khả dụng theo từng biến thể (màu, cỡ), trừ đi hàng đang được giữ cho đơn chờ thanh toán.
  • Hai khách bấm đặt món cuối cùng cùng lúc: máy chủ cho một người giữ được, người còn lại thấy thông báo hết hàng ngay ở bước giỏ.
  • Giá tính ở máy chủ, không tính ở trình duyệt; giá ở giỏ và giá thanh toán luôn là một.
  • Quy tắc khuyến mãi có thứ tự ưu tiên và giới hạn rõ: mã giảm giá dùng một lần, mã theo nhóm khách, tổng giảm tối đa mỗi đơn.

Nếu cửa hàng còn bán tại quầy hoặc trên sàn thương mại điện tử, tồn kho nên nằm ở một nơi dùng chung. Phần đó mô tả ở trang Phần mềm quản lý kho và bán hàng.

SEO và tốc độ cho trang sản phẩm

Trang sản phẩm là nơi khách tìm bằng tên món hàng rồi đến. Những lỗi kỹ thuật ở đây gây thiệt hại thật vì số trang lớn: một lỗi lặp lại hàng nghìn lần.

  • Dữ liệu cấu trúc Product với giá, tình trạng còn hàng; chỉ khai điều có thật, không khai đánh giá nếu chưa có đánh giá thật.
  • Mỗi sản phẩm một đường dẫn cố định; bộ lọc và sắp xếp không sinh hàng nghìn đường dẫn trùng nội dung (dùng canonical và loại khỏi chỉ mục).
  • Sản phẩm hết hàng tạm thời giữ trang và ghi rõ hết hàng; sản phẩm ngừng bán chuyển hướng 301 tới danh mục.
  • Ảnh sản phẩm có kích thước theo màn hình, tải chậm phần dưới màn hình, giữ chỗ để trang không giật khi ảnh tải xong.
  • Đo tốc độ trên điện thoại thật chứ không chỉ điểm tổng của công cụ giả lập.

Chuẩn SEO kỹ thuật và cách nghiệm thu được mô tả chi tiết ở trang Thiết kế website doanh nghiệp. Doanh nghiệp tự kiểm bằng công cụ Khám sức khoẻ website và PageSpeed miễn phí.

Làm riêng hay dùng nền tảng bán hàng dựng sẵn

Nền tảng dựng sẵn có thể đưa cửa hàng lên rất nhanh và phù hợp khi quy trình bán phổ thông. Làm riêng đáng giá khi website phải nối chặt với kho, ERP hoặc phần mềm riêng, khi quy tắc giá và đơn hàng đặc thù, hoặc khi doanh nghiệp muốn sở hữu toàn bộ mã nguồn và dữ liệu.

  • Hỏi trước: đơn một ngày nhiều hay ít, có nhiều kênh bán không, tồn kho nằm ở đâu.
  • Hỏi về dữ liệu: dữ liệu khách và đơn có xuất ra được toàn bộ không, và xuất ở định dạng nào.
  • Hỏi về chi phí lâu dài: phí theo đơn hay theo tháng sẽ thế nào khi doanh số tăng, so với chi phí bảo trì mã nguồn riêng.

Bộ công nghệ

Chi tiết
  • Giao diện web

    Next.js, React, TypeScript

  • Máy chủ, API

    Go hoặc Node.js (NestJS)

  • Cơ sở dữ liệu

    PostgreSQL

Quy trình

Chi tiết
  1. Khảo sát cách bán

    Sản phẩm và biến thể, kênh bán, kho, cách giao hàng, cách thu tiền; vẽ chuỗi trạng thái đơn của doanh nghiệp.

  2. Chốt phạm vi và dựng cấu trúc

    Danh mục, thuộc tính sản phẩm, quy tắc giá và khuyến mãi, cổng thanh toán, đơn vị vận chuyển; đường dẫn và cấu trúc SEO.

  3. Thiết kế giao diện

    Bản mô phỏng bấm được cho điện thoại trước, sau đó máy tính; duyệt từng luồng mua hàng.

  4. Lập trình và nối cổng

    Làm theo đợt ngắn; thanh toán và vận chuyển thử trên môi trường thử của từng nhà cung cấp, gồm cả tình huống lỗi và gọi lại hai lần.

  5. Nạp sản phẩm và chạy thử

    Nạp sản phẩm, ảnh, tồn kho; thử mua thật với số tiền nhỏ; kiểm tốc độ và SEO kỹ thuật.

  6. Ra mắt và theo dõi

    Chuyển tên miền, theo dõi lỗi và đơn trong tuần đầu, bàn giao khu quản trị và tài liệu.

Bàn giao

  • Website bán hàng chạy trên tên miền của doanh nghiệp
  • Khu quản trị đơn hàng, tồn kho, khách và khuyến mãi
  • Mã nguồn và cơ sở dữ liệu đứng tên doanh nghiệp
  • Biên bản thử thanh toán và vận chuyển, gồm cả tình huống lỗi
  • Biên bản kiểm SEO kỹ thuật và tốc độ trên điện thoại

Quyền sở hữu

Mã nguồn đứng tên doanh nghiệp · Không phí bản quyền · 3 đến 5 buổi đào tạo vận hành

Bảo hành

Bảo hành theo hợp đồng · Thời gian phản hồi sự cố theo gói bảo trì trong hợp đồng · Điều khoản tiến độ và bồi thường thỏa thuận trong từng hợp đồng

Thanh toán

Nghiệm thu từng chặng · Chia 3 đợt, có hoá đơn VAT

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

Tất cả câu hỏi
Làm website bán hàng mất bao lâu?

Thường 5 đến 8 tuần tính từ khi chốt yêu cầu và có nội dung, như ở trang Thiết kế website doanh nghiệp. Thời gian thay đổi theo số cổng thanh toán, số đường nối vận chuyển và kho.

Website có nhận thanh toán trực tuyến không?

Có, qua các cổng như VNPay, MoMo, ZaloPay, ViettelMoney và mã QR ngân hàng, kèm thu hộ khi giao hàng. Doanh nghiệp tự đăng ký tài khoản kinh doanh với cổng.

Có nối được với phần mềm kho hoặc kế toán đang dùng không?

Có qua API của phần mềm đó nếu có. Đây là phần cần làm rõ sớm nhất vì ảnh hưởng đến cách tính tồn kho và đơn hàng.

Trang sản phẩm có chuẩn SEO không?

Có phần SEO kỹ thuật: dữ liệu cấu trúc Product, đường dẫn cố định, xử lý bộ lọc, tốc độ trên điện thoại. ALODEV không cam kết thứ hạng vì thứ hạng do Google quyết định.

Tự thêm sản phẩm và sửa giá được không?

Được trong khu quản trị. Nhập hàng loạt từ tệp Excel có kiểm lỗi từng dòng.

Chi phí thiết kế website bán hàng bao nhiêu?

Tuỳ số tính năng, số cổng thanh toán và đường nối. Doanh nghiệp xem khoảng chi phí trong công cụ Ước tính chi phí; giá chốt trước khi viết mã.

Hỏi đáp về hợp đồng

Điều khoản
Thanh toán chia mấy đợt?

Mặc định ba đợt: 30% khi ký hợp đồng (đã chốt phạm vi và lịch từng chặng); 40% khi chạy thử hạng mục chính (hệ thống chạy trên dữ liệu thật của doanh nghiệp); 30% khi nghiệm thu, bàn giao (đã bàn giao mã nguồn, cơ sở dữ liệu và tài liệu). Mỗi đợt có hoá đơn VAT.

Nghiệm thu thế nào?

Theo từng chặng, trên dữ liệu thật. Cuối mỗi đợt 2 tuần doanh nghiệp xem bản chạy thử và ghi lỗi vào danh sách dùng chung. Lịch phản hồi và nghiệm thu ghi trong hợp đồng, thường 3 đến 5 ngày làm việc.

Bảo hành sau nghiệm thu gồm những gì?

Theo hợp đồng, tính từ ngày nghiệm thu, cho lỗi phát sinh từ mã đã bàn giao, lỗi tích hợp trong phạm vi hợp đồng và bản vá bảo mật quan trọng. Thời gian phản hồi và khắc phục sự cố theo gói bảo trì trong hợp đồng.

Khi nào doanh nghiệp nhận mã nguồn?

Sau khi doanh nghiệp thanh toán đầy đủ. Toàn bộ mã nguồn nằm trên kho GitHub hoặc GitLab của doanh nghiệp, kèm tài liệu kiến trúc, cơ sở dữ liệu, hướng dẫn triển khai và tài khoản quản trị gốc.

Dữ liệu thật dùng trong dự án được xử lý thế nào?

Ký NDA trước buổi khảo sát. Dữ liệu thật, thông tin nghiệp vụ và mã nguồn được giữ bí mật cả sau khi dự án kết thúc, không chia sẻ với bên thứ ba khi chưa có đồng ý bằng văn bản. Khi hệ thống đã vận hành, dữ liệu thật được xoá khỏi môi trường phát triển, chỉ giữ dữ liệu thử.

Ước tính chi phí cho dự án

Cần tư vấn?