Sản phẩm & Tính năng
Xác định những gì bạn bán. Tạo sản phẩm với một hoặc nhiều biến thể, đính kèm các tính năng có thể tái sử dụng để kiểm soát truy cập dựa trên quyền hạn.
Proyecta Commerce sử dụng ba khái niệm: sản phẩm, biến thể, và tính năng.
- Sản phẩm — thứ bạn bán (ví dụ: “Pro Plan”, “Áo thun”, “Buổi tư vấn chiến lược”)
- Biến thể — một mức giá hoặc cấu hình của sản phẩm (ví dụ: “Pro Hàng tháng $29”, “Pro Hàng năm $290”, “Áo thun – Cỡ L”)
- Tính năng — một khóa quyền hạn có thể tái sử dụng mà ứng dụng của bạn kiểm tra lúc chạy (ví dụ:
pro_features,unlimited_projects,api_access)
Một sản phẩm có thể có nhiều biến thể. Một sản phẩm cũng có một hoặc nhiều tài nguyên được đính kèm — thường là các tính năng — cấp quyền truy cập khi khách hàng đăng ký.
Hai cách mô hình hóa những gì bạn bán
Phần tiêu đề “Hai cách mô hình hóa những gì bạn bán”Commerce tích hợp liền mạch với phần còn lại của nền tảng, vì vậy có hai dạng cho “thứ bạn bán” — và Proyecta sẽ tự động chọn dạng phù hợp cho bạn:
- Sản phẩm Commerce thuần túy — đăng ký, gói dịch vụ, nâng cấp một lần, và tính năng/quyền hạn. Được định nghĩa trực tiếp trong Admin > Commerce > Products. Đây là mô hình mà phần còn lại của trang này mô tả.
- Danh mục cửa hàng dựa trên nội dung — hàng hóa có ảnh, giá cả và mô tả mà chủ doanh nghiệp chỉnh sửa hàng ngày. Chúng được lưu trong CMS dưới dạng sellable collection: mỗi mục chính là sản phẩm. Khi một mục được xuất bản, Proyecta tự động tích hợp nó vào Commerce như một sản phẩm thực sự có thể mua được — tạo sản phẩm và biến thể đã định giá cho bạn, đồng thời sao chép giá trực tiếp từ trường nội dung. Storefront hiển thị giá từ nội dung và checkout tính phí theo biến thể được liên kết; vì chúng dùng chung một nguồn nên không bao giờ bị lệch nhau. Bạn quản lý các mục này như nội dung (trong Admin của ứng dụng, trong builder hoặc trên site đã xuất bản), không phải trong Commerce > Products. Xem Quản lý nội dung.
Một danh mục thông thường không nhận thanh toán bằng thẻ — menu chỉ để xem, hoặc cửa hàng có nút “mua” dẫn đến link đặt hàng qua WhatsApp — chỉ là nội dung bình thường — một catalog collection thông thường, không có Commerce weave. Thanh toán bằng thẻ mới là yếu tố tạo nên một collection có thể bán được.
Tạo sản phẩm
Phần tiêu đề “Tạo sản phẩm”Trong Admin > Commerce > Products, nhấp vào Create product (hoặc hỏi AI: "Create a Pro plan at $29/month and a Business plan at $99/month."). Mỗi sản phẩm cần có:
- Một tên hiển thị (ví dụ: “Pro”)
- Ít nhất một biến thể
Biến thể
Phần tiêu đề “Biến thể”Mỗi biến thể có thông tin giá riêng:
| Trường | Ghi chú |
|---|---|
name |
Nhãn hiển thị cho biến thể (“Monthly”, “Annual”, “Large”) |
currency |
Mã ISO ba chữ cái — USD, EUR, GBP, JPY, BRL, MXN, INR… (hỗ trợ 130+ loại) |
unit_amount |
Giá theo đơn vị tiền tệ nhỏ nhất (cents). 2900 = $29.00 |
recurring |
Tùy chọn — { interval: 'week' | 'month' | 'year' }. Bỏ qua cho giá một lần. Thanh toán hàng ngày hiện chưa được hỗ trợ. |
is_default |
Được chấp nhận nhưng chưa được áp dụng — lựa chọn biến thể mặc định hiện chưa được triển khai. |
media |
Đính kèm hình ảnh hoặc video theo CDN file ID (xem Files) |
Giá không thể thay đổi. Sau khi biến thể được tạo, giá của nó không thể thay đổi — hãy tạo biến thể mới thay thế. Điều này bảo vệ những người đã đăng ký khỏi các thay đổi giá không mong muốn.
Tính năng (quyền hạn)
Phần tiêu đề “Tính năng (quyền hạn)”Tính năng là đơn vị nguyên thủy để kiểm soát truy cập. Tạo một tính năng một lần trong Admin > Commerce > Products, sau đó đính kèm nó vào một hoặc nhiều sản phẩm. Mỗi tính năng có tên, mô tả tùy chọn và một khóa — gồm chữ thường, số và dấu gạch dưới (ví dụ: pro_features) — đây là thứ ứng dụng của bạn dùng để kiểm tra.
Khi bạn tạo sản phẩm, bạn đính kèm các tính năng vào nó thông qua “resources”. Khách hàng đăng ký một sản phẩm sẽ được cấp quyền truy cập vào mọi tính năng được đính kèm vào sản phẩm đó.
Sau đó, trong ứng dụng của bạn, hãy kiểm tra quyền truy cập bằng khóa đó:
const { hasAccess, isLoading } = useEntitlement('pro_features');
if (isLoading) return <Spinner />;if (!hasAccess) return <UpgradePrompt />;return <ProOnlyThing />;Kiểm tra được thực thi phía server dựa trên phiên đăng nhập, nên không thể bị giả mạo từ browser. Xem Tích hợp Commerce vào ứng dụng của tôi để biết toàn bộ quy trình.
Lưu ý: Luôn kiểm tra quyền truy cập dựa trên khóa của tính năng — slug được tạo từ tên tính năng (ví dụ:
pro_features) — không phải ID nội bộ của tính năng.
Đây là cách bạn giới hạn truy cập vào các trang, API endpoint, hoặc tính năng chỉ dành cho gói Pro trong code ứng dụng.
Các dạng sản phẩm phổ biến
Phần tiêu đề “Các dạng sản phẩm phổ biến”Đăng ký SaaS
Create products: Free ($0/month), Pro ($29/month, $290/year), Business ($99/month, $990/year).Attach a 'pro_features' feature to Pro and Business so I can gate access in my code.Hàng vật lý
Create a T-shirt product with three variants: Small, Medium, Large at $25 each.Hàng số
Create a course product with a single one-time variant at $149.Quyên góp
Create a donation product with three variants: $25, $50, $100 — all one-time.Quản lý tồn kho
Phần tiêu đề “Quản lý tồn kho”Proyecta Commerce hiện chưa theo dõi tồn kho cho sản phẩm vật lý. Nếu bạn bán hàng có giới hạn số lượng, hãy quản lý số lượng tồn kho trong database của ứng dụng và kiểm tra trong luồng checkout.
Sắp ra mắt
Phần tiêu đề “Sắp ra mắt”- Tùy chỉnh trường checkout — thu thập thêm thông tin từ người mua
- Giá tùy ý người dùng
- Theo dõi tồn kho tích hợp cho sản phẩm vật lý