Nắm vững các chức năng cốt lõi của WooCommerce: Hướng dẫn toàn diện về đơn hàng, thanh toán và cài đặt vận chuyển

Đọc trong 3 phút
2026-03-15
2026-06-03
2,351
Tôi kiếm được hoa hồng khi bạn mua sắm thông qua các liên kết dưới đây, mà không phát sinh thêm chi phí nào cho bạn.

WooCommerce – Trung tâm quản lý đơn hàng (Order Management Core)

Đơn hàng chính là “máu” của cửa hàng hoạt động dựa trên nền tảng WooCommerce, và giao diện quản lý đơn hàng là trung tâm trọng yếu để các doanh nghiệp xử lý các giao dịch với khách hàng. Trong phần quản trị của WordPress (WordPress Admin), tại mục “WooCommerce” > “Đơn hàng” (WooCommerce > Orders), bạn có thể xem danh sách tất cả các đơn hàng. Mỗi đơn hàng đều được hiển thị rõ ràng với thông tin về trạng thái, thông tin khách hàng, tổng giá trị đơn hàng và thời gian đặt hàng.

Trạng thái đơn hàng là yếu tố then chốt trong quá trình quản lý. WooCommerce đã tích hợp sẵn nhiều trạng thái khác nhau, chẳng hạn như…pending(Đang xử lý),processingĐang xử lý…completed(Đã hoàn thành) Vàcancelled(Đã hủy bỏ.) Những trạng thái này không chỉ giúp bạn theo dõi tiến độ đơn hàng mà còn tự động gửi email thông báo tới khách hàng. Bạn có thể nhấp vào trang chi tiết đơn hàng để thực hiện nhiều thao tác như: cập nhật trạng thái đơn hàng, thêm ghi chú cho đơn hàng (với tùy chọn có thông báo cho khách hàng hay không), gửi hóa đơn thủ công, và quản lý các mục trong đơn hàng (chẳng hạn như hoàn tiền cho những sản phẩm không được sử dụng).

Xử lý việc hoàn tiền và trả hàng một phần

Khi khách hàng yêu cầu hoàn tiền hoặc trả hàng, WooCommerce cung cấp những phương thức xử lý rất chi tiết và hiệu quả. Trên trang chi tiết đơn hàng, trong phần “Các mục đơn hàng” (Order Items), bạn có thể tìm thấy tùy chọn “Hoàn tiền” (Refund). Hệ thống cho phép bạn hoàn tiền toàn bộ số tiền đã thanh toán, hoặc chỉ hoàn một phần – tức là chỉ hoàn lại giá trị của những sản phẩm cụ thể hoặc một số tiền nhất định.

Đọc thêm Mở khóa tiềm năng WooCommerce: Hướng dẫn đầy đủ xây dựng trang web thương mại điện tử hiệu quả từ con số 0

Khi thực hiện việc hoàn tiền, bạn có thể lựa chọn liệu có muốn hoàn trả số lượng hàng tồn kho về kho hay không (bằng cách chọn tùy chọn “Hoàn trả hàng tồn kho?”), cũng như có muốn thực hiện việc hoàn tiền tự động cho khách hàng thông qua cổng thanh toán ban đầu hay không (nếu công cụ thanh toán hỗ trợ tính năng này). Điều này giúp đảm bảo tính chính xác của hồ sơ tài chính và sự đồng bộ trong quản lý hàng tồn kho. Tất cả các ghi chép về hoàn tiền sẽ được hiển thị rõ ràng trên dòng thời gian của đơn hàng, thuận tiện cho việc kiểm toán sau này.

UltaHost – Nhà cung cấp dịch vụ máy chủ WordPress chuyên nghiệp
Bảo đảm hoàn tiền trong 30 ngày, băng thông và cơ sở dữ liệu không giới hạn, bảo vệ DDoS miễn phí, mua 3 năm ưu đãi 50%

Tình trạng đơn hàng tùy chỉnh và quy trình xử lý (Custom order statuses and workflows)

Đối với các cửa hàng có quy trình kinh doanh đặc thù, các trạng thái được tích hợp sẵn có thể không đủ để đáp ứng nhu cầu. Trong trường hợp này, bạn có thể thêm các trạng thái đơn hàng tùy chỉnh thông qua mã nguồn hoặc các tiện ích mở rộng (plugin). Ví dụ, bạn có thể thêm một trạng thready-for-pickup(Tình trạng: Đang chờ người đến lấy.)

Điều này thường được thực hiện bằng cách sử dụng…register_post_statusCác hàm này được thiết kế để hoạt động phối hợp với các bộ lọc (filters) của WooCommerce.wc_order_statusesĐiều này có thể được thực hiện bằng cách sử dụng các công cụ phát triển phù hợp. Dưới đây là một ví dụ đơn giản về mã nguồn, minh họa cách thêm một trạng thái tùy chỉnh:

add_action( 'init', 'register_custom_order_status' );
function register_custom_order_status() {
    register_post_status( 'wc-ready-pickup', array(
        'label'                     => '待自提',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               =&gt; _n_noop( '待自提 <span class="count">(%s)</span>', 'Để tự nhận' <span class="count">(%s)</span>' )
    ) );
}

add_filter( 'wc_order_statuses', 'add_custom_status_to_list' );
function add_custom_status_to_list( $order_statuses ) {
    $order_statuses['wc-ready-pickup'] = '待自提';
    return $order_statuses;
}

Tích hợp nhiều loại gateway thanh toán khác nhau

Việc thanh toán là bước then chốt trong chu trình hoạt động của các trang web thương mại điện tử. WooCommerce hỗ trợ sẵn nhiều phương thức thanh toán khác nhau, bao gồm chuyển khoản ngân hàng (BACS), thanh toán bằng séc và thanh toán khi nhận hàng (COD – Cash on Delivery). Bạn có thể kích hoạt và cấu hình các phương thức thanh toán này trong mục “WooCommerce” > “Cài đặt” > “Thanh toán”.

Tuy nhiên, để chấp nhận các phương thức thanh toán phổ biến như thẻ tín dụng, Alipay hoặc WeChat Pay, bạn cần tích hợp các gateway thanh toán bên thứ ba. Trên thị trường có rất nhiều tiện ích mở rộng thanh toán chính thức và của bên thứ ba, chẳng hạn như Stripe, PayPal, Square, cũng như các tiện ích dành riêng cho thị trường Trung Quốc như Alipay và WeChat Pay. Sau khi cài đặt và kích hoạt các tiện ích này, chúng thường sẽ xuất hiện trong danh sách cài đặt thanh toán. Bạn cần cấu hình các thông tin quan trọng như khóa API và mã thương nhân theo hướng dẫn từ nhà cung cấp dịch vụ.

Đọc thêm Hướng dẫn xây dựng và tối ưu hóa WooCommerce hoàn chỉnh: Tạo dựng cửa hàng trực tuyến chuyên nghiệp

Cấu hình các tham số của cổng thanh toán

Ví dụ về cách cấu hình một gateway Stripe điển hình: Bạn cần truy cập trang cài đặt của nó, sau đó điền các thông tin cần thiết để cho phép việc phát hành (publishing) các dữ liệu hoặc sản phẩm được xử lý bởi Stripe.Publishable keyand secretSecret keyNgoài ra, bạn cũng cần cấu hình điểm cuối Webhook – đây là kênh truyền thông an toàn mà gateway thanh toán sử dụng để thông báo kết quả thanh toán (như thành công hoặc thất bại) đến trang web của bạn một cách đồng bộ. Việc thiết lập Webhook một cách chính xác rất quan trọng để đảm bảo rằng trạng thái đơn hàng được cập nhật tự động dựa trên kết quả thanh toán thực tế, nhằm tránh tình trạng các đơn hàng đã được thanh toán vẫn hiển thị là “Đang xử lý”.

Xử lý các phản hồi liên quan đến thanh toán và đảm bảo an ninh trong quá trình giao dịch

Việc xử lý các phản hồi từ quá trình thanh toán (payment callbacks) là một trọng tâm trong quá trình phát triển ứng dụng. Các lớp liên quan đến các gateway thanh toán của WooCommerce (như…)WC_Payment_GatewayNó cung cấp các phương pháp tiêu chuẩn để xử lý các thông báo IPN (Instant Payment Notification) hoặc các lời gọi lại (Webhook) từ máy chủ. Bạn cần đảm bảo rằng hàm xử lý lời gọi lại (thường nằm trong lớp gateway) được triển khai đúng cách.check_responsewebhook_handlerPhương thức này có thể xác minh tính hợp lệ của nguồn yêu cầu (ví dụ: thông qua việc kiểm tra chữ ký), đồng thời cập nhật trạng thái đơn hàng một cách an toàn.

Về mặt bảo mật, hãy đảm bảo rằng trang web của bạn sử dụng giao thức HTTPS và tất cả các thông tin nhạy cảm như khóa API đều được lưu trữ một cách an toàn; không nên lưu chúng vào hệ thống quản lý phiên bản (version control system).wp-config.phpSử dụng các biến môi trường (environment variables) hoặc các tiện ích quản lý khóa chuyên dụng là cách làm được khuyến nghị.

Hosting.com - lưu trữ chia sẻ
Hiệu năng cao, được trang bị CPU AMD EPYC, lưu trữ SSD NVMe và LiteSpeed, hỗ trợ chuyên gia nội bộ 24 giờ/ngày, các biện pháp bảo mật tiên tiến bao gồm SSL, chống brute force, phần mềm độc hại và bảo vệ DDoS, tiết kiệm tới 73%.

Xây dựng các quy tắc tính phí vận chuyển linh hoạt

Các thiết lập về phí vận chuyển ảnh hưởng trực tiếp đến quyết định mua sắm của khách hàng và chi phí vận hành của bạn. Hệ thống các khu vực vận chuyển (Shipping Zones) trong WooCommerce chính là yếu tố tạo nên sự linh hoạt cho nền tảng này. Bạn có thể tạo các khu vận chuyển khác nhau bằng cách truy cập mục “WooCommerce” > “Cài đặt” > “Giao hàng” (WooCommerce > Settings > Shipping). Ví dụ: “Trung Quốc Đại lục”, “Khu vực miễn phí vận chuyển cho các tỉnh Giang Tô, Chiết Giang, Thượng Hải”, “Giao hàng quốc tế”. Mỗi khu vận chuyển có thể được thiết lập với phương thức tính phí vận chuyển riêng biệt.

Trong mỗi khu vực giao hàng, bạn có thể thêm nhiều “phương thức giao hàng” khác nhau. Các phương thức được sử dụng phổ biến nhất bao gồm:
* 统一费率:对区域内的所有订单收取固定费用。
* 免费配送:可以设置最低订单金额或优惠券等条件。
* 本地取货:允许客户线下自提。
* 基于重量/价格的运费:根据订单总重或总额计算动态运费。

Cài đặt phí vận chuyển dựa trên trọng lượng hoặc tổng số lượng hàng hóa

Đối với các trường hợp yêu cầu tính toán chính xác, chẳng hạn như trong lĩnh vực giao hàng và vận chuyển, bạn có thể sử dụng các phương pháp tính cước phí dựa trên trọng lượng hoặc dựa trên giá cả. Trước tiên, bạn cần thiết lập thông tin về trọng lượng hoặc kích thước cho mỗi sản phẩm trên tab “Giao hàng” (Shipping) trên trang chỉnh sửa sản phẩm.

Đọc thêm Cách tùy chỉnh trường trang thanh toán thông qua hook WooCommerce

Sau đó, hãy thêm mục “Phí vận chuyển dựa trên trọng lượng” vào các phương thức giao hàng, và cấu hình bảng giá cước phí tương ứng. Ví dụ:

1:10, 5:20, 10:30, *:40

Ví dụ này cho thấy: Cân nặng 0-1kg phí 10 tệ, 1-5kg phí 20 tệ, 5-10kg phí 30 tệ, trên 10kg phí 40 tệ. Dấu sao (*) đại diện cho “tất cả các trường hợp khác”.

Máy chủ chia sẻ của InterServer
Lưu trữ chia sẻ với mức phí $2,50 USD mỗi tháng, giảm giá $0,1 USD trong tháng đầu tiên, mã giảm giá tryinterserver, với 461 ứng dụng đám mây và cài đặt chỉ bằng một cú nhấp chuột.

Sử dụng plugin về chi phí vận chuyển nâng cao cùng với logic điều kiện

Khi các tùy chọn cước phí tích hợp sẵn không thể đáp ứng được những yêu cầu phức tạp, chẳng hạn như cần phân loại theo thành phố/mã bưu chính, hỗ trợ tính giá theo thời gian thực từ nhiều công ty vận chuyển, hoặc thiết lập các điều kiện miễn phí vận chuyển rất phức tạp, thì bạn sẽ cần sử dụng các plugin cước phí nâng caoTable Rate ShippingCác plugin loại này cho phép bạn tạo ra các bảng điều kiện đa chiều dựa trên giá cả, trọng lượng, số lượng, loại sản phẩm, hoặc thậm chí là các thuộc tính của các mục trong giỏ hàng, mang lại khả năng cấu hình gần như vô hạn.

Một yêu cầu phổ biến khác là áp dụng logic điều kiện dựa trên nội dung giỏ hàng. Ví dụ: “Khi giỏ hàng chứa sản phẩm loại A, phí vận chuyển cố định là 15 đồng”. Điều này thường có thể được thực hiện bằng cách viết các đoạn mã tùy chỉnh, sử dụng các công cụ lập trình phù hợp.woocommerce_package_ratesViệc này được thực hiện thông qua các “hook” (các điểm kết nối trong hệ thống) của bộ lọc. Những hook này cho phép bạn thay đổi hoặc xóa các tùy chọn về mức phí vận chuyển một cách động sau khi quá trình tính toán phí vận chuyển đã hoàn tất.

Tính năng nâng cao và khả năng mở rộng tự động

Sau khi nắm vững các chức năng cốt lõi, việc sử dụng các công cụ tự động hóa và các tùy chỉnh nâng cao có thể giúp tăng hiệu suất đáng kể. Tự động hóa các thao tác đặt hàng và quy trình làm việc trong WooCommerce là trọng tâm của các ứng dụng nâng cao.

Sử dụng các hook (khớp nối) liên quan đến hành động (actions) và bộ lọc (filters)

WooCommerce cung cấp nhiều hook (khớp nối) dạng Action và Filter, cho phép các nhà phát triển chèn mã tùy chỉnh vào những thời điểm quan trọng trong quá trình hoạt động của trang web. Ví dụ, bạn có thể sử dụng những hook này để thực hiện các tác vụ như xử lý đơn hàng, hiển thị nội dung đặc biệt, hoặc thay đổi hành vi của trang web theo nhu cwoocommerce_order_status_changedHook này sẽ tự động thực hiện một tác vụ nhất định khi trạng thái đơn hàng thay đổi (ví dụ: từ “Đang xử lý” chuyển thành “Đã hoàn tất”), chẳng hạn như gửi một thông báo qua Slack cho nhóm nội bộ hoặc kích hoạt một tác vụ đồng bộ hóa với hệ thống ERP bên ngoài.

add_action( 'woocommerce_order_status_changed', 'sync_order_to_erp', 10, 4 );
function sync_order_to_erp( $order_id, $old_status, $new_status, $order ) {
    if ( $new_status == 'completed' ) {
        // 调用API将订单信息同步到您的ERP系统
        // wp_remote_post( 'your-erp-api-endpoint', $args );
    }
}

Tích hợp hệ thống kho và CRM

Đối với các cửa hàng có quy mô lớn, việc tích hợp WooCommerce với hệ thống quản lý hàng tồn kho (IMS) hoặc hệ thống quản lý mối quan hệ khách hàng (CRM) là một lựa chọn không thể tránh khỏi. Điều này thường được thực hiện theo những cách sau:
1. 使用专用集成插件:许多主流CRM和ERP平台(如Salesforce、HubSpot、Odoo)提供了官方的WooCommerce连接器。
2. 利用中间件平台:使用Zapier、Make(原Integromat)或n8n等自动化工具,通过Webhook连接不同系统,无需编写代码即可设置“当有新订单时,在Google Sheets中创建一行记录”这样的自动化流程。
3. 定制API开发:对于高度定制化的需求,可以直接使用WooCommerce REST API。该API提供了对订单、产品、客户等数据的全面读写权限,允许您构建双向的、实时的系统同步。

Tóm lại

Việc vận hành một cửa hàng trực tuyến sử dụng nền tảng WooCommerce không chỉ đơn thuần là việc cài đặt và kích hoạt các tính năng có sẵn. Việc hiểu sâu sắc và cấu hình thành thạo ba mô-đun cốt lõi – đơn hàng, thanh toán và phí vận chuyển – là nền tảng để xây dựng một doanh nghiệp trực tuyến ổn định, hiệu quả và mang lại trải nghiệm tốt cho khách hàng. Từ việc quản lý chi tiết trạng thái đơn hàng đến việc tích hợp các giải pháp thanh toán an toàn và đáng tin cậy, cho đến các chính sách phí vận chuyển linh hoạt phù hợp với nhiều scénario kinh doanh khác nhau, mỗi bước đều đòi hỏi sự cẩn thận trong thiết lập. Đi xa hơn nữa, bằng cách sử dụng các công cụ như “hook” (những lệnh được thực thi tự động trong hệ thống) để phát triển các tính năng tùy chỉnh và tích hợp với các hệ thống bên ngoài, bạn có thể tự động hóa và trí tuệ hóa quy trình kinh doanh, giúp bạn giải phóng bản thân khỏi những thao tác hàng ngày phức tạp, để tập trung vào việc phát triển doanh nghiệp và chăm sóc

FAQ 常见问题

Làm thế nào để thiết lập chính sách miễn phí vận chuyển cho một sản phẩm cụ thể?

Bạn có thể thực hiện điều này theo nhiều cách khác nhau. Cách đơn giản nhất là bật tùy chọn “Virtual” (ảo) hoặc “Downloadable” (có thể tải về) cho sản phẩm đó (trên tab “Shipment” – Giao hàng) – những sản phẩm này sẽ không bị tính phí vận chuyển. Nếu sản phẩm là hàng hóa vật lý, bạn có thể sử dụng tính năng “Distribution Category” (Thể loại phân phối). Trước tiên, hãy tạo một thể loại phân phối có tên là “Miễn phí vận chuyển” và gán thể loại này cho sản phẩm cụ thể. Sau đó, trong cài đặt khu vực phân phối, hãy thêm một quy tắc cho phương thức tính phí “Dựa trên thể loại”, và thiết lập giá vận chuyển cho thể loại “Miễn phí vận chuyển” thành 0.

Khách hàng đã thanh toán nhưng trạng thái đơn hàng vẫn chưa được cập nhật, phải làm thế nào?

Điều này thường xảy ra do việc cấu hình hoặc xử lý các yêu cầu gọi lại từ hệ thống thanh toán (Webhook/IPN) không đúng cách. Trước hết, vui lòng đăng nhập vào trang quản trị của nhà cung cấp dịch vụ thanh toán của bạn (chẳng hạn PayPal, Stripe), kiểm tra xem địa chỉ URL của endpoint Webhook có được chỉ đến đúng trang web của bạn hay không và xác nhận rằng trạng thái của nó là “Kích hoạt” (Enabled). Tiếp theo, hãy xem xét các thông báo lỗi trong nhật ký thanh toán của WooCommerce (nếu nhà cung cấp dịch vụ thanh toán hỗ trợ tính năng này). Cuối cùng, hãy đảm bảo rằng trang web của bạn không bị cản trở bởi các plugin lưu trữ dữ liệu (cache) hoặc các quy tắc bảo mật, dẫn đến việc các yêu cầu gọi lại từ nhà cung cấp dịch vụ thanh toán không thể được thực hiện.

Có thể tạo công thức tính phí vận chuyển tùy chỉnh không?

Được. Đối với các logic tính toán phức tạp vượt quá phạm vi của các tùy chọn có sẵn, bạn sẽ cần phải viết mã tự định. Cách chính để thực hiện điều này là sử dụng các ngôn ngữ lập trình phù hợp.woocommerce_before_calculate_totalswoocommerce_cart_totals_before_shippingCác công cụ “hook” này sẽ can thiệp vào giai đoạn tính toán giá trị giỏ hàng, và dựa trên các quy tắc kinh doanh của bạn (chẳng hạn như dựa trên thể tích hàng hóa, khoảng cách đến địa điểm giao hàng, v.v.) để tính toán chi phí vận chuyển. Sau đó, kết quả tính toán sẽ được truyền đi đểWC()->cart->add_fee()Hàm này được sử dụng để thêm chi phí đó vào danh sách các khoản chi phí. Việc thực hiện điều này đòi hỏi một mức độ kỹ năng phát triển bằng PHP nhất định.

Làm thế nào để xuất hàng loạt đơn hàng từ WooCommerce?

WooCommerce có tích hợp sẵn chức năng xuất dữ liệu dưới định dạng CSV. Bạn có thể truy cập trang “WooCommerce” > “Đơn hàng” và sử dụng nút “Xuất” ở phía trên danh sách để xuất các đơn hàng theo các tiêu chí đã chọn. Đối với những trường hợp cần xuất dữ liệu thường xuyên, phức tạp hơn hoặc yêu cầu tự động hóa, bạn nên sử dụng các plugin chuyên dụng như “Order Export for WooCommerce”. Những plugin này hỗ trợ xuất dữ liệu tự động theo lịch trình, cho phép lựa chọn nhiều trường dữ liệu hơn, và có thể xuất trực tiếp vào các dịch vụ lưu trữ đám mây. Người dùng nâng cao cũng có thể truy cập dữ liệu đơn hàng thông qua giao diện lập trình REST API của WooCommerce.