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

Tab Cài đặt chung lo phần trang thanh toán: địa chỉ 2 cấp sau sáp nhập, số điện thoại Việt Nam, chặn đơn rác, cách hiện giá. Đây là module dùng chung với các plugin vận chuyển của DevVN, và chạy cả khi chưa kích hoạt License.

Tuỳ chọn Bước 10 / 11 Cập nhật 11.10.2026

Địa chỉ 2 cấp — làm việc này trước

Mới cài, module dùng bộ địa chỉ 3 cấp cũ (Tỉnh → Quận/Huyện → Phường/Xã, trước 01/07/2025). Muốn dùng địa chỉ 2 cấp sau sáp nhập (Tỉnh/Thành → Phường/Xã, 34 tỉnh thành) thì đổi ở khối Công cụ cuối tab.

Khối Công cụ với nút Cập nhật quốc gia, lựa chọn đơn vị hành chính Mới nhất, v2.0, v1.8 và nút Cập nhật database
Khối Công cụ ở cuối tab Cài đặt chung.
  1. Cập nhật quốc gia — đặt quốc gia Việt Nam cho toàn bộ tài khoản khách cũ. Chạy một lần nếu website trước đây bán quốc tế.
  2. Đơn vị hành chính — Mới nhất là bộ 2 cấp sau sáp nhập; v2.0 là bộ 3 cấp trước 01.07.2025; v1.8 là bộ trước năm 2025. Bộ dữ liệu có sẵn mã tỉnh, phường của Nhanh.vn, nên phí ship và đơn đăng lên Nhanh.vn nhận đúng địa chỉ.
  3. Cập nhật database — nạp bộ vừa chọn. Chọn xong bắt buộc bấm nút này, không thì lựa chọn chưa có tác dụng.
Đổi bộ địa chỉ là việc không hoàn tác được

Cập nhật database ghi đè toàn bộ bảng tỉnh, huyện, xã. Đơn cũ lưu mã theo bộ cũ có thể hiện sai địa chỉ sau khi đổi. Sao lưu cơ sở dữ liệu trước, và đổi vào lúc ít đơn.

Trang thanh toán dạng block (khối Thanh toán của WooCommerce) chỉ dùng được ô địa chỉ của module khi đang ở bộ 2 cấp.

Checkout field — các ô ở trang thanh toán

Tab Cài đặt chung, khối Checkout field với các ô định dạng số điện thoại, country và last name, postcode, xưng hô, không bắt buộc email và hình thức tải địa chỉ
Mọi ô trong khối này mặc định tắt. Bấm vào ảnh để phóng to.
  1. Cài đặt chung — tab đầu tiên, cũng là tab mở ra mặc định.
  2. Định dạng SĐT ở VN — bắt số điện thoại đúng dạng 0xxx hoặc +84xxx. Nên bật: số sai là shipper không gọi được.
  3. Xưng hô — thêm lựa chọn Anh/Chị, tiện khi gọi xác nhận đơn.
  4. KHÔNG bắt buộc nhập Email — khách không có email vẫn đặt được.
  5. Hình thức tải địa chỉ — để mặc định Tải bằng file json. Chỉ đổi khi hosting chặn đọc file json trong thư mục plugin.

Các ô country, last name, postcode chỉ bật khi cổng thanh toán quốc tế đòi những trường đó. Với bộ 3 cấp có thêm hai ô ẩn phường/xã hoặc không bắt buộc phường/xã.

Cài đặt chung — hiển thị giá và phí ship

Khối Cài đặt chung với các ô chuyển giá sang dạng chữ, chuyển đồng sang VNĐ, ẩn phương thức khi có freeship, thay đổi giao diện trang đơn hàng và làm tròn phí ship
Ảnh ẩn ba dòng quy đổi VNĐ sang USD (dành cho PayPal).
  1. Chuyển giá sang dạng chữ — 18.000đ thành 18k, 1.200.000đ thành 1tr200, áp cho toàn website.
  2. Chuyển ₫ sang VNĐ — thay ký hiệu ₫ bằng chữ VNĐ.
  3. Ẩn phương thức khi có free-shipping — đơn được miễn phí vận chuyển thì ẩn các phương thức tính tiền, chỉ để dòng miễn phí.
  4. Thay đổi giao diện trang đơn hàng — mặc định tắt. Bật thì danh sách đơn có cột sản phẩm, lọc theo ngày và tỉnh, đổi trạng thái ngay tại danh sách, và nút đăng đơn Nhanh.vn trong từng dòng. Xem bài đăng đơn.
  5. Làm tròn phí ship — làm tròn về hàng nghìn, ví dụ 18.050đ thành 18.000đ, 18.503đ thành 19.000đ.

Miễn phí ship theo cách thanh toán là một phương thức vận chuyển riêng — xem bài vận chuyển.

Chặn đơn rác

Khối Cấu hình Google reCAPTCHA và khối Nâng cao với ô chặn order theo IP và theo từ khoá
Bấm vào ảnh để phóng to.
  1. Sử dụng Google reCAPTCHA V3 (Khuyên dùng) — chọn xong, hai ô Sitekey, Secretkey hiện ra. Tạo cặp khoá loại v3 tại trang quản trị reCAPTCHA, khai đúng tên miền.
  2. Kích hoạt cho tạo đơn hàng — bật reCAPTCHA ở bước đặt hàng.
  3. Chặn order với các IP — mỗi IP một dòng, chặn cả dải bằng dấu sao, ví dụ 192.168.1.*.
  4. Chặn order với các từ khoá — mỗi giá trị một dòng. Plugin so với tên, số điện thoại, email, địa chỉ của đơn và chặn khi trùng hoàn toàn (không phải "có chứa"). Hợp để chặn số điện thoại hay bom hàng.
Chặn đơn rác chỉ chạy ở trang thanh toán cổ điển

Kiểm tra định dạng số điện thoại, chặn IP, chặn từ khoá và reCAPTCHA chỉ chạy khi trang thanh toán dùng mã ngắn [woocommerce_checkout]. Trang thanh toán dạng block không đi qua các bước kiểm tra này. Sitekey và Secretkey phải cùng một cặp, cùng phiên bản — lẫn khoá v2 với v3 là khách không đặt được hàng; bật xong hãy tự đặt thử một đơn ở cửa sổ ẩn danh.

Sổ địa chỉ và tách đơn

Hai tính năng này thuộc module trang thanh toán dùng chung với plugin GHTK của DevVN. Ảnh dưới chụp từ module đó; ở bản plugin của bạn, hai khối này nằm trong cùng tab Cài đặt chung.

Sổ địa chỉ khách hàng

Khách đã đăng nhập lưu được nhiều địa chỉ giao hàng và chọn nhanh khi thanh toán.

Khối Sổ địa chỉ khách hàng với ô kích hoạt và hai kiểu giao diện chọn địa chỉ
Ảnh minh hoạ phía trên khối là giao diện kiểu Card mà khách sẽ thấy.
  1. Kích hoạt — chỉ có tác dụng với khách đã đăng nhập.
  2. Dropdown select — một ô chọn gọn nhẹ.
  3. Card + nút "Đổi địa chỉ" — hiện địa chỉ đang chọn thành thẻ, bấm để mở hộp chọn, giống các sàn thương mại điện tử.

Tách đơn hàng

Tách một đơn thành hai, chọn sản phẩm và số lượng tách ra — dùng khi một phần hàng chưa về mà khách muốn nhận trước phần còn lại.

Khối Tách đơn hàng với ô kích hoạt, danh sách trạng thái cho phép tách và trạng thái đơn mới
Khối Tách đơn hàng.
  1. Kích hoạt — bật thì trang sửa đơn có thêm hộp Tách đơn hàng.
  2. Trạng thái cho phép tách — chỉ đơn ở các trạng thái được tích mới tách được.
  3. Trạng thái đơn mới — để Giống đơn hiện tại là an toàn nhất.
Tách đơn trước khi đăng lên Nhanh.vn

Đơn mới tách ra được chép thông tin từ đơn gốc, có thể gồm cả ID đơn trên Nhanh.vn của đơn gốc. Tách xong mà hộp Đăng đơn Nhanh.vn của đơn mới đã hiện một ID đơn, thì đó là đơn của đơn gốc — đừng bấm Huỷ đơn trên Nhanh.vn ở đơn mới. Lập trình viên có thể chặn việc chép này bằng hook, xem bài hook.

Nhớ bấm Lưu thay đổi

Mọi ô trong tab chỉ có hiệu lực sau khi bấm Lưu thay đổi ở cuối trang. Riêng hai nút trong khối Công cụ chạy ngay khi bấm.

Lỗi thường gặp

Hiện tượngNguyên nhân và cách xử lý
Trang thanh toán vẫn hỏi Quận/HuyệnĐang dùng bộ 3 cấp. Chọn Mới nhất rồi bấm Cập nhật database.
Ô tỉnh, phường trống hoặc quay mãiHosting chặn đọc file json. Đổi Hình thức tải địa chỉ sang admin-ajax.php.
Khách báo không đặt được hàng sau khi bật reCAPTCHAKhoá sai cặp, sai phiên bản hoặc chưa khai tên miền ở Google. Kiểm tra lại, đặt thử ở cửa sổ ẩn danh.
Đã chặn số điện thoại mà vẫn có đơnTừ khoá phải trùng hoàn toàn (khách nhập thêm dấu cách hay +84 là khác), hoặc trang thanh toán đang dạng block.
Phí ship Nhanh.vn không ra với địa chỉ 2 cấpChọn bộ Mới nhất mà chưa bấm Cập nhật database, hoặc khách chưa chọn phường/xã.

Tiếp theo: xem cửa hàng còn hàng.

Hỗ trợ Zalo