Tóm tắt nội dung chính
• Góc nhìn thực tế: Lỗi checkout không chỉ làm mất đơn hàng ngay lập tức mà còn ảnh hưởng đến uy tín website. Giải pháp hiệu quả là sử dụng môi trường staging trước khi cập nhật và chọn hosting có hiệu năng I/O tốt để hạn chế rủi ro.
• Khái niệm: Đây là lỗi khiến khách hàng không thể hoàn tất thanh toán, thường biểu hiện qua việc trang không load, redirect sai hoặc lỗi AJAX.
• Nguyên nhân: Bao gồm xung đột plugin, lỗi cache/session, cấu hình sai hoặc giới hạn tài nguyên server.
• Cách xử lý: Nắm rõ quy trình fix từ plugin, cache, AJAX, SSL đến cấu hình WooCommerce để nhanh chóng khôi phục checkout.
Checkout WooCommerce bị lỗi là gì?
Đây là tình trạng trang thanh toán của WooCommerce không thể hoạt động đúng cách, khiến người dùng không hoàn tất được đơn hàng. Thay vì hiển thị form nhập thông tin, hệ thống có thể gặp các dấu hiệu như loading liên tục, redirect sai, giỏ hàng bị trống hoặc lỗi JavaScript/AJAX. Trong một số trường hợp, các phương thức thanh toán cũng không hiển thị.
.png)
Những nguyên nhân phổ biến gây lỗi checkout
Một số lý do thường gặp dẫn đến lỗi này gồm:
• Xung đột plugin cache/bảo mật: Các plugin như Wordfence hoặc WP Rocket có thể chặn request AJAX (admin-ajax.php hoặc REST API).
• Session và cookie bị lỗi: Session hết hạn hoặc cấu hình sai khiến dữ liệu giỏ hàng bị mất.
• Theme không tương thích: Thiếu hook WooCommerce hoặc lỗi JS khiến giao diện checkout hiển thị sai.
• Cache/CDN cấu hình sai: Không loại trừ trang /checkout/ khỏi cache (Cloudflare hoặc plugin cache).
• Sai URL hoặc thiếu shortcode: Trang checkout thiếu [woocommerce_checkout] hoặc thiết lập permalink không đúng.
• Hosting bị giới hạn tài nguyên: PHP memory thấp hoặc thời gian xử lý ngắn gây lỗi khi xử lý thanh toán.
• Lỗi SSL hoặc mixed content: Trình duyệt chặn các iframe thanh toán như Stripe, PayPal do không an toàn.
Hướng dẫn khắc phục lỗi WooCommerce checkout
1. Kiểm tra xung đột plugin và theme
Bạn vào WordPress Admin → Plugins → Installed Plugins, tắt toàn bộ plugin (trừ WooCommerce). Sau đó kiểm tra lại trang checkout.
Nếu hoạt động bình thường, bật lại từng plugin để tìm plugin gây lỗi.
Đồng thời, chuyển sang theme mặc định như Storefront hoặc Twenty Twenty-Four để loại trừ xung đột giao diện.

2. Xử lý lỗi cache và session
Truy cập plugin cache (WP Rocket, W3 Total Cache…), thêm các URL sau vào danh sách loại trừ cache:
Sau đó:
-
Xóa toàn bộ cache (Purge All)
-
Xóa thư mục wp-content/cache/ trên hosting
-
Tăng session lifetime lên khoảng 3600 giây trong php.ini
3. Sửa lỗi AJAX và JavaScript
Mở Chrome → nhấn F12 → tab Console → reload trang checkout để kiểm tra lỗi.
Nếu thấy lỗi 403 hoặc admin-ajax.php:
-
Whitelist các đường dẫn:
-
/wp-admin/admin-ajax.php
-
/wc-ajax/*
-
Kiểm tra file .htaccess không chặn request POST
-
Điều chỉnh rule bảo mật nếu cần

4. Kiểm tra SSL và cổng thanh toán
Vào WooCommerce → Settings → Payments:
-
Tắt toàn bộ gateway, chỉ giữ COD để test
-
Kích hoạt lại từng gateway và kiểm tra API key
Tiếp theo:
-
Kiểm tra SSL bằng công cụ SSL Labs
-
Sửa lỗi mixed content (chuyển http → https trong database)
(ảnh demo)
5. Fix lỗi redirect hoặc checkout không load
Vào Pages → All Pages → mở trang Checkout:
-
Đảm bảo có shortcode:
[woocommerce_checkout]
Sau đó:
-
Vào Settings → Permalinks → Save Changes (flush rewrite)
-
Kiểm tra WooCommerce → Settings → Advanced → Checkout page đã đúng chưa
6. Lỗi giỏ hàng trống hoặc không hiển thị thanh toán
Thực hiện các bước sau:
-
Cập nhật WooCommerce lên bản mới nhất
-
Vào WooCommerce → Status → Tools:
-
Clear transients
-
Update database
-
Tăng PHP memory:
-
Tạm tắt custom code trong functions.php hoặc mu-plugins