[woocommerce] Tính phí giao hàng (p1) – Tính phí dựa theo vị trí địa lý và tổng giá trị đơn hàng

Tính phí giao hàng là một vấn đề tương đối phức tạp, nhưng rất may woocommerce cho phép chúng ta khá linh động trong việc này. Vì bài viết rất dài nên mình sẽ tách ra làm nhiều phần để trình bày cho các bạn dễ theo dõi

Phần 1 : Tính phí giao hàng dựa theo vị trí địa lý và tổng giá trị đơn hàng, đây cũng là vấn đề hay gặp nhất trong thực tế

Phần 2 : Giao hàng cho sản phẩm đặc biệt, ví dụ như bạn mua ô tô thì hình thức giao hàng sẽ khác biệt hoàn toàn với việc bạn mua gói kẹo rồi

Phần 3 : Tính phí giao hàng dựa theo khối lượng

Phần 3 : Sử dụng plugin để tính phí cho đơn giản

Bây giờ chúng ta bắt đầu vào phần đầu tiên nào…..

Bước 1 : Thêm một shipping zone mới

Bạn vào mục cài đặt, sau đó chọn Giao nhận và ấn nút thêm khu vực giao hàng

Thêm shipping zone trong woocommerce

Thêm shipping zone trong woocommerce

Điền các thông tin định nghĩa vùng miền

Điền các thông tin định nghĩa vùng miền

Ở mục zone name bạn đặt một cái tên bất kỳ để gợi nhớ, dạng như nội thành Hà Nội, ngoại thành Hà Nôi, Miền Bắc, Miền Trung… và quan trọng nhất là mục Zone regions. Tại đây bạn có thể chọn một hoặc nhiều tỉnh thành khác nhau, nếu bạn không chọn gì thì có nghĩa là chọn tất cả. Ví dụ ở mục ngoại thành Hà Nội mình để trống thì woocommerce sẽ hiểu tất cả tỉnh thành (kể cả Hà Nội) đều là ngoại thành Hà Nội. Ngoài việc xác định vùng vận chuyển theo vị trí địa lý thì bạn cũng có thể dựa vào mã bưu chính, tuy nhiên cái này rất ít khi dùng trong thực tế.

Tiếp theo bạn cần phải lập công thức tính phí giao hàng(Bước 2) bằng cách thêm một Shipping method

Tính phí giao hàng

Tính phí giao hàng

Bước 2 : Công thức tính phí giao hàng

Tiếp nối bước 1, sau khi bạn thêm phương thức giao hàng(shipping method) thì woocommerce cho bạn 3 tùy chọn như sau

3 tùy chọn tính phí giao hàng

3 tùy chọn tính phí giao hàng

Flat rate : Một chi phí cố định hoặc do bạn định nghĩa bằng một trong số những cách như sau:

30000: Tính phí giao hàng cố dịnh là 30.000 đồng cho dù đơn hàng là bao nhiêu tiền đi chăng nữa
5000 * [qty]: Tính phí giao hàng cố định là 5.000 đồng cho mỗi sản phẩm trong đơn hàng. Ví dụ đơn hàng đó bạn có 4 sản phẩm thì phí giao nhận là 20.000 đồng.
5000 + ( 2000 * [qty] ): Phí giao hàng cho đơn hàng là 5.000 đồng, cộng thêm mỗi sản phẩm là 2.000 đồng. Ví dụ bạn có 3 sản phẩm trong đơn hàng thì sẽ là 5000 + (2000 * 3) = 11.000 đồng
[fee percent=”5″ min_fee=”30000″]: Phí giao hàng là 5% cho tổng giá trị đơn hàng, nhưng 5% này phải lớn hơn 30.000 đồng, nếu nhỏ hơn thì sẽ sử dụng phí là 30.000 đồng.

Chú ý rằng bạn chỉ được chọn 1 công thức để thiết lập mà thôi

Miễn phí giao hàng : Tùy theo giá trị đơn hàng hay khuyến mãi đặc biệt

Tính phí giao hàng trong woocommerce

Miễn phí giao hàng

Như thiết lập bên trên thì mình sẽ miễn phí vận chuyển nếu giá trị đơn hàng có giá trị từ 250.000 VNĐ

Local pickup : bạn đến tận nơi để nhận hàng và thanh toán tiền, đơn giản chỉ là một câu thông báo trên màn hình checkout . Mình thấy tính năng này khá là vô dụng trong sự phát triển của thương mại điện tử như hiện nay.

Bước 3 : Ẩn tùy chọn Flat rate nếu thõa mãn điều kiện miễn phí vận chuyển

Khi bạn thêm nhiều tùy chọn vận chuyển thì trong phần thanh toán sẽ hiện ra như thế này. Rõ ràng nếu đã thõa mãn điều kiện miễn phí vận chuyển thì hiện 2 tùy chọn cho người dùng như này là một điều hết sức ngớ ngẩn, vì vậy chúng ta phải ẩn phần Flat rate đi

Tính phí giao hàng toàn tập trong woocommerce

Việc hiện tùy chọn như này là điều không cần thiết

Trước tiên bạn vào Woocommerce\Tình trạng\Công cụ, chọn mục WC transients sau đó xóa hết cache

Xóa cache trước khi thêm đoạn code ẩn điều kiện giao hàng miễn phí

Xóa cache trước khi thêm đoạn code ẩn điều kiện giao hàng miễn phí

Copy đoạn code sau vào file functions.php của theme đang dùng

Lưu ý : Nếu như bạn add vào mà vẫn không chạy được thì bạn vào đây xem các đoạn code phù hợp với phiên bản woocommerce đang dùng nhé

Kết quả sẽ như sau

Chỉ hiện giao hàng miễn phí nếu như thỏa mãn điều kiện giao hàng miễn phí

Để cho dễ hiểu, mình sẽ lấy một ví dụ thực tế như sau

Yêu cầu:

Giao hàng nội thành HN chi phí 30K, miễn phí nếu giá trị >=250K. Các tỉnh thành khác sẽ có phí là 50K trên mỗi đơn hàng

Cách làm :

Bạn tạo 2 shipping zone lần lượt là

  • Nội thành Hà Nội : Chọn Zone region là Hà Nội
  • Ngoại thành Hà Nội : Không chọn Zone region nào cả và để trống, hệ thống sẽ tự hiểu là tất cả tỉnh thành nhưng ngoại trừ Hà Nội vì bạn đã định nghĩa ở trên rồi

Sau đó bạn áp dụng các công thức như ở trên để tính toán là xong :))

Okay, kết thúc phần 1. Hẹn gặp lại các bạn trong các phần tiếp theo của seri tính phí giao hàng trong woocomerce nhé

Nguồn: http://apollo13.vn/

Rất vui lòng nếu bạn để lại nhận xét