Kết luận cho chủ doanh nghiệp
- 1
Store API của WooCommerce công khai và không cần API key. Dữ liệu theo khách hiện tại qua cookie phiên hoặc Cart-Token, nên không thấy đơn của người khác.
- 2
Thao tác ghi cần nonce, và tài liệu không nêu cách ứng dụng ngoài lấy nonce đầu tiên. Đây là điểm cần kiểm trên bản thử trước khi hứa cửa hàng headless với khách.
- 3
Trước khi ký, nên hỏi bên làm năm điều: nonce, cookie hay Cart-Token, thanh toán chạy ở đâu, đơn của khách xem ở đâu, và phân trang sản phẩm.
Điểm chính: Store API cho đọc giỏ và sản phẩm công khai, còn thao tác ghi cần nonce mà tài liệu không nêu cách lấy.
1Store API có gì và giới hạn của nó
WooCommerce có Store API để front end đọc sản phẩm, quản lý giỏ hàng và đi qua thanh toán mà không cần WordPress vẽ trang. Store API nằm ở namespace wc/store/v1 và công khai, không cần API key.
Điều khác biệt là phiên làm việc. Store API theo dữ liệu của khách hiện tại thông qua cookie phiên hoặc header Cart-Token, nên một ứng dụng bên ngoài không thấy giỏ của khách khác.
| Mục | Theo tài liệu | Hệ quả |
|---|---|---|
| Namespace | wc/store/v1 | Đường dẫn tương tự REST của WordPress |
| API key | Không cần | Dữ liệu công khai mới gọi được, phần ghi cần nonce |
| Phiên làm việc | Theo cookie phiên của khách hiện tại | Front end phải giữ được cookie hoặc Cart-Token |
| Thấy đơn của người khác | Không, chỉ thấy dữ liệu của khách hiện tại | Tra cứu đơn rộng hơn cần WooCommerce REST API có xác thực |
2Nonce và việc đi bằng API
Tài liệu nói endpoint ghi cần nonce token. Nonce là mã do WordPress tạo để chống gửi yêu cầu giả. Điều tài liệu không nêu là một ứng dụng Next.js lấy nonce đầu tiên như thế nào, và nonce hết hạn ra sao.
Đây là điểm bài không đoán. Trước khi chọn cách làm giỏ hàng headless, đội kỹ thuật cần trả lời cách lấy và làm mới nonce, và kiểm trên một bản thử.
| Việc | Đi bằng API | Cần quyết thêm |
|---|---|---|
| Xem sản phẩm và tồn kho | Có, endpoint đọc công khai | Phân trang: mặc định 10, tối đa 100 |
| Thêm vào giỏ, sửa số lượng | Có, nhưng endpoint ghi cần nonce | Cách lấy và làm mới nonce chưa có trong tài liệu |
| Thanh toán | Store API có các bước thanh toán | Luồng xác nhận đơn chưa được đọc trong bài này |
| Đăng nhập khách và xem lịch sử đơn | Không thấy đơn người khác qua Store API | Cần xác thực riêng của WooCommerce |
3Giữ giỏ hàng gắn với khách: cookie hay Cart-Token
Giỏ hàng có hai cách gắn với khách: theo cookie phiên, hoặc theo header Cart-Token. Tài liệu nói giỏ hàng headless có thể dùng header Cart-Token thay cho cookie.
Tài liệu không nêu tên cookie, cách trình duyệt cất Cart-Token, cấu hình CORS và thời hạn của Cart-Token. Vì vậy bài không đưa những chi tiết đó như sự thật.
| Cách | Theo tài liệu | Chưa rõ |
|---|---|---|
| Cookie phiên | Dữ liệu theo khách hiện tại | Tên cookie và thời hạn chưa được nêu trong bài |
| Header Cart-Token | GET /wp-json/wc/store/v1/cart, cho ứng dụng không dựa vào cookie | Cách lưu phía trình duyệt và thời hạn |
4Năm câu hỏi nên hỏi bên làm trước khi ký
Trước khi hứa một cửa hàng headless với khách, nên hỏi bên làm bốn điều. Điều này không thay thế việc đo trên bản thử, vì nhiều chi tiết nằm ngoài tài liệu.
| Câu hỏi | Vì sao | Căn cứ |
|---|---|---|
| Nonce lấy và làm mới thế nào? | Đây là chỗ thường gãy khi làm headless | Tài liệu nói endpoint ghi cần nonce nhưng không nêu cách lấy |
| Giỏ dựa vào cookie hay Cart-Token, và giữ ở đâu? | Ảnh hưởng đăng nhập và nhiều thiết bị | Tài liệu có cả hai cách |
| Thanh toán chạy trong ứng dụng hay chuyển sang WordPress? | Quyết định trải nghiệm và việc bảo mật | Luồng thanh toán chưa được đọc |
| Đơn của khách xem ở đâu? | Store API không trả đơn của người khác | Tài liệu nêu giới hạn này |
| Phân trang sản phẩm đặt bao nhiêu? | Mặc định 10, tối đa 100 mỗi trang | Tài liệu nêu cả hai con số |
5Việc nên làm trên bản thử trước khi chọn
Bài này không đưa thời gian làm hay giá của cửa hàng headless. Các số đó đang chờ đội kỹ thuật MONA trả lời, và sẽ không lên bài nếu chưa có.
| Việc | Mục đích |
|---|---|
| Đo số lần gọi API cho một lần thêm giỏ và thanh toán | Biết tải thật trên máy chủ |
| Thử cookie và Cart-Token trên trình duyệt thật | Kiểm chỗ nonce và phiên gãy |
| Thử thanh toán bằng tài khoản thử của cổng thanh toán | Kiểm luồng xác nhận đơn |
6Giới hạn của bài tổng hợp này
- Tài liệu Store API đọc ngày 09/10/2026 từ developer.woocommerce.com. Các trang về nonce và Cart-Token chưa đọc đủ, nên các chi tiết đó nằm trong mục chưa rõ.
- Luồng thanh toán và xác nhận đơn chưa được đọc trong bài. Bài không nói cổng thanh toán cụ thể nào chạy được headless.
- Các bảng «cần quyết» là suy luận từ tài liệu, chưa thử trên cửa hàng thật. Không có số đo tải của MONA.
- Bài không đưa thời gian làm hay giá của cửa hàng headless. Các số đó chưa có câu trả lời từ đội kỹ thuật MONA.
7Nguồn và trích dẫn
- WooCommerce: Store API · namespace, phiên, nonce, phân trang
Trích dẫn bài này
Nhóm kỹ thuật MONA Software (2026). Cửa hàng WooCommerce làm headless: giỏ hàng và thanh toán cần hỏi gì. NC-29, bản 1.0. Công ty TNHH Phần mềm MONA. https://mona.software/nghien-cuu/woocommerce-headless-gio-hang-thanh-toan-can-hoi-gi/. Tra văn bản 09/10/2026, cập nhật 09/10/2026.
@techreport{mona_nc29_2026,
author = {{Nhóm kỹ thuật MONA Software}},
title = {Cửa hàng WooCommerce làm headless: giỏ hàng và thanh toán cần hỏi gì},
institution = {Công ty TNHH Phần mềm MONA},
number = {NC-29, bản 1.0},
year = {2026},
month = oct,
url = {https://mona.software/nghien-cuu/woocommerce-headless-gio-hang-thanh-toan-can-hoi-gi/},
note = {Bài tổng hợp, tra văn bản 09/10/2026}
}














































