Trang thanh toán và địa chỉ

Tab Cài đặt chung lo phần khách nhìn thấy: ô Tỉnh/Thành và Phường/Xã, địa chỉ 2 cấp hay 3 cấp, định dạng số điện thoại, chặn đơn ảo. Đây là module dùng chung của mọi plugin vận chuyển DevVN.

Tuỳ chọn Cấu hình Cập nhật 11.10.2026
Cài nhiều plugin vận chuyển DevVN thì chỉ có một bộ cấu hình này

GHTK, SPX, ViettelPost, VNPost và GHN đều mang theo cùng một module trang thanh toán. Bản nào nạp trước thì chạy, các bản sau tự nhường — nên bạn không phải khai lại ở từng plugin.

Mở tab Cài đặt chung

Vào WooCommerce → Cài đặt GHN, tab Cài đặt chung là tab đầu tiên.

Tab Cài đặt chung với khối Checkout field gồm định dạng SĐT, ẩn phường xã, hiển thị country và postcode
Bấm vào ảnh để phóng to.
  1. Cài đặt chung — tab đầu tiên.
  2. Định dạng SĐT ở VN — bắt số điện thoại phải đúng dạng Việt Nam (+84xxx hoặc 0xxx). Mặc định tắt. Nên bật: sai số là shipper không gọi được cho khách.
  3. Ẩn mục phường/xã — bỏ hẳn ô Phường/Xã khỏi trang thanh toán. Cân nhắc kỹ — GHN cần Phường/Xã để giao đúng chỗ.

Các ô còn lại theo cùng một kiểu: tích để bật, bỏ tích để tắt. KHÔNG bắt buộc nhập phường/xã cho khách bỏ trống ô này; Hiển thị trường country và last name cùng hai ô postcode mặc định tắt vì bán trong nước không cần.

Địa chỉ 3 cấp hay 2 cấp

Khối Công cụ ở cuối tab có mục Cập nhật dữ liệu địa chỉ với ba bộ dữ liệu:

  • "Mới nhất" — 2 cấp Tỉnh/Thành → Phường/Xã, theo địa giới sau sáp nhập 01.07.2025.
  • v2.0 - trước 01.07.2025 — 3 cấp cũ Tỉnh → Quận/Huyện → Phường/Xã. Đây là mặc định khi mới cài.
  • V1.8 - trước năm 2025 — bộ cũ hơn, chỉ để tương thích.

Muốn trang thanh toán dùng địa chỉ 2 cấp mới: chọn "Mới nhất" rồi bấm Cập nhật database ngay bên dưới, chờ chạy xong rồi mới đóng tab. Website dùng trang thanh toán dạng khối (Checkout block) thì module chỉ hỗ trợ ô địa chỉ ở chế độ 2 cấp.

Phí GHN hiện ra khi khách đã chọn đủ Tỉnh + Phường/Xã (2 cấp) hoặc Tỉnh + Quận/Huyện (3 cấp). Ở chế độ 3 cấp, nếu bạn bật Có hàng nặng? thì khách phải chọn thêm Phường/Xã.

Ô "Hỗ trợ tính phí ship tới phường/xã"

Ô tuỳ chọn Hỗ trợ tính phí ship tới phường xã
Bấm vào ảnh để phóng to.
  1. Hỗ trợ tính phí ship tới phường/xã — ô này thuộc module dùng chung và dành cho các hãng khác. Với GHN, bật hay tắt đều không đổi gì: khách đã chọn Phường/Xã thì plugin luôn gửi Phường/Xã sang GHN, và đổi Phường/Xã là phí được tính lại.

Cách tải dữ liệu địa chỉ

Ô Hình thức tải địa chỉ có ba lựa chọn, ảnh hưởng thẳng tới tốc độ trang thanh toán:

CáchKhi nào dùng
Tải bằng file jsonNhanh, plugin khuyến khích. Đây là mặc định, cứ để nguyên.
Tải bằng admin-ajax.phpChậm hơn, dùng khi cách trên bị hosting chặn.
Tải bằng get-address.phpNhanh nhưng gọi thẳng một file trong thư mục plugin; vài hosting chặn kiểu truy cập này.

Những khối còn lại

KhốiLàm gì
Cài đặt chungChuyển giá sang dạng chữ (18.200đ → 18k200), đổi ₫ sang VNĐ, bỏ tiêu đề phương thức vận chuyển, ẩn phương thức khác khi có miễn phí ship, làm tròn phí ship, giao diện danh sách đơn hàng kiểu mới (mặc định bật — nút Tạo vận đơn GHN ngay trong danh sách đơn nằm ở giao diện này).
Sổ địa chỉ khách hàngCho khách lưu nhiều địa chỉ giao hàng. Mặc định tắt.
Tách đơn hàngCho quản trị viên tách một đơn thành đơn mới (chọn sản phẩm và số lượng). Mặc định bật. Xem cảnh báo bên dưới trước khi dùng với đơn GHN.
Lấy địa chỉ tự độngGợi ý địa chỉ theo số điện thoại khách đã mua lần trước.
Cấu hình Google reCAPTCHAChặn đơn ảo do máy tự đặt (reCAPTCHA v2 hoặc v3).
Nâng caoChặn đặt hàng theo IP (hoặc dải IP) và theo từ khoá trong tên, địa chỉ, email, số điện thoại.
Công cụCập nhật quốc gia và Cập nhật dữ liệu địa chỉ — xem mục 3 cấp hay 2 cấp ở trên.
Tách đơn sau khi đã có vận đơn GHN thì đơn mới mang theo mã vận đơn cũ

Đơn mới sao chép toàn bộ thông tin đơn gốc, gồm cả mã vận đơn GHN và trạng thái GHN. Khi đó bấm Hủy đơn hàng ở đơn mới là huỷ luôn vận đơn thật của đơn gốc, và trạng thái webhook gửi về có thể cập nhật vào đơn mới thay vì đơn gốc. Chỉ tách đơn khi đơn chưa tạo vận đơn GHN; tách xong mới tạo vận đơn cho từng đơn.

Kết nối Giao Hàng Nhanh (GHN) với WooCommerce trong 4 bước
Video bắt đầu ở 1:19: khách chọn tỉnh và phường/xã ở trang thanh toán, phí GHN hiện ra và tính lại khi đổi COD sang chuyển khoản.

Cách kiểm tra đã đúng chưa

  1. Mở trang thanh toán ở cửa sổ ẩn danh.
  2. Ô Tỉnh/Thành chọn được, chọn xong thì ô Phường/Xã (và Quận/Huyện nếu dùng 3 cấp) nạp theo.
  3. Chọn đủ địa chỉ và xem dòng GHN có hiện kèm phí không.
Trang thanh toán WooCommerce với ô Tỉnh/Thành phố và Phường/Xã, dòng Giao hàng hiện gói Hàng nhẹ kèm phí
Địa chỉ 2 cấp, dòng Giao hàng hiện gói GHN kèm phí. Dữ liệu mẫu. Bấm vào ảnh để phóng to.
Sửa lỗi WooCommerce không hiện phí ship GHN: 5 chỗ cần kiểm
Phí GHN không hiện ở trang thanh toán? Video này chỉ 5 chỗ cần kiểm theo thứ tự.

Lỗi thường gặp

Hiện tượngCách xử lý
Ô Phường/Xã trống, không chọn đượcBấm Cập nhật database ở khối Công cụ, hoặc đổi Hình thức tải địa chỉ sang cách khác.
Muốn 2 cấp mà form vẫn hỏi Quận/HuyệnĐang dùng bộ dữ liệu mặc định 3 cấp. Chọn "Mới nhất" rồi bấm Cập nhật database.
Chọn đủ Tỉnh/Quận mà phí GHN chưa hiện (3 cấp)Đang bật Có hàng nặng? nên khách phải chọn thêm Phường/Xã. Nếu đã chọn đủ mà vẫn chỉ thấy "Phí vận chuyển sẽ báo sau." thì xem Giải đáp thắc mắc.
Ô Tỉnh/Phường là ô gõ chữ, không phải danh sách chọnJavaScript của module không chạy — thường do plugin gộp/nén file JS. Tắt thử tính năng gộp JS.
Sửa ở đây mà trang thanh toán không đổiĐang bị cache. Xoá cache rồi thử ở cửa sổ ẩn danh.

Tiếp theo: tạo, huỷ và in vận đơn.

Hỗ trợ Zalo