Produkty i funkcje
Zdefiniuj, co sprzedajesz. Twórz produkty z jednym lub kilkoma wariantami i dołączaj wielokrotnie używane funkcje do kontroli dostępu opartej na uprawnieniach.
Proyecta Commerce opiera się na trzech pojęciach: produktach, wariantach i funkcjach.
- Produkt — to, co sprzedajesz (np. „Plan Pro“, „Koszulka“, „Konsultacja strategiczna“)
- Wariant — poziom cenowy lub konfiguracja produktu (np. „Pro miesięcznie — 29 USD“, „Pro rocznie — 290 USD“, „Koszulka — rozmiar L“)
- Funkcja — wielokrotnie używany klucz uprawnień, który Twoja aplikacja sprawdza w czasie działania (np.
pro_features,unlimited_projects,api_access)
Produkt może mieć wiele wariantów. Do produktu dołącza się też jeden lub więcej zasobów — zazwyczaj funkcji — które przyznają dostęp po wykupieniu subskrypcji przez klienta.
Dwa sposoby modelowania tego, co sprzedajesz
Dział zatytułowany „Dwa sposoby modelowania tego, co sprzedajesz”Commerce komponuje się z resztą platformy, dlatego istnieją dwa kształty „rzeczy do sprzedania“ — a Proyecta automatycznie wybiera właściwy:
- Produkty natywne Commerce — subskrypcje, plany, jednorazowe ulepszenia oraz funkcje/uprawnienia. Definiowane bezpośrednio w Admin > Commerce > Products. To właśnie ten model opisuje reszta tej strony.
- Katalog produktów oparty na treści — towary ze zdjęciami, cenami i opisami, które właściciel firmy edytuje na co dzień. Żyją w CMS jako kolekcja sprzedawalna: każdy wpis jest produktem. Po opublikowaniu wpisu Proyecta automatycznie wplata go do Commerce jako prawdziwy, możliwy do zakupu produkt — tworząc produkt i jego wyceniony wariant, a cenę kopiując wprost z pola treści. Storefront wyświetla cenę z treści, a przy kasie pobierana jest opłata za powiązany wariant; ponieważ mają jedno wspólne źródło, nigdy nie mogą się rozejść. Tymi pozycjami zarządzasz jako treścią (w Admin aplikacji, w builderze lub na opublikowanej stronie), a nie w Commerce > Products. Zobacz Zarządzanie treścią.
Zwykły katalog, który nie obsługuje płatności kartą — menu tylko do przeglądania lub sklep, w którym przycisk „kup“ otwiera link do zamówienia przez WhatsApp — to po prostu zwykła treść: zwykła kolekcja katalogowa bez integracji z Commerce. Płatność kartą jest tym, co sprawia, że kolekcja staje się sprzedawalna.
Tworzenie produktu
Dział zatytułowany „Tworzenie produktu”W Admin > Commerce > Products kliknij Create product (lub zapytaj AI: "Create a Pro plan at $29/month and a Business plan at $99/month."). Każdy produkt potrzebuje:
- Nazwy wyświetlanej (np. „Pro“)
- Co najmniej jednego wariantu
Warianty
Dział zatytułowany „Warianty”Każdy wariant ma własną cenę:
| Pole | Uwagi |
|---|---|
name |
Etykieta wyświetlana dla wariantu („Monthly“, „Annual“, „Large“) |
currency |
Trzyliterowy kod ISO — USD, EUR, GBP, JPY, BRL, MXN, INR… (ponad 130 obsługiwanych) |
unit_amount |
Cena w najmniejszej jednostce waluty (grosze/centy). 2900 = 29,00 USD |
recurring |
Opcjonalne — { interval: 'week' | 'month' | 'year' }. Pomiń dla cen jednorazowych. Rozliczenia dzienne nie są obecnie obsługiwane. |
is_default |
Akceptowane, ale jeszcze nieegzekwowane — wybór domyślnego wariantu nie jest obecnie zaimplementowany. |
media |
Dołącz obrazy lub filmy za pomocą identyfikatora pliku CDN (zobacz Pliki) |
Ceny są niezmienne. Po utworzeniu wariantu jego ceny nie można zmienić — zamiast tego utwórz nowy wariant. Chroni to obecnych subskrybentów przed przypadkowymi zmianami cen.
Funkcje (uprawnienia)
Dział zatytułowany „Funkcje (uprawnienia)”Funkcje to podstawowy element kontroli dostępu. Utwórz funkcję raz w Admin > Commerce > Products, a następnie dołącz ją do jednego lub więcej produktów. Każda funkcja ma nazwę, opcjonalny opis i klucz — małe litery, cyfry i podkreślenia (np. pro_features) — który jest sprawdzany przez Twoją aplikację.
Tworząc produkt, dołączasz do niego funkcje poprzez „zasoby“. Klienci, którzy subskrybują produkt, uzyskują dostęp do wszystkich funkcji do niego dołączonych.
Następnie w aplikacji możesz ograniczyć dostęp na podstawie tego klucza:
const { hasAccess, isLoading } = useEntitlement('pro_features');
if (isLoading) return <Spinner />;if (!hasAccess) return <UpgradePrompt />;return <ProOnlyThing />;Sprawdzenie odbywa się po stronie serwera na podstawie zalogowanej sesji, więc nie można go sfałszować z poziomu przeglądarki. Pełny wzorzec znajdziesz w artykule Integracja Commerce z aplikacją.
Uwaga: Zawsze ograniczaj dostęp na podstawie klucza funkcji — sluga wynikającego z nazwy funkcji (np.
pro_features) — a nie wewnętrznego identyfikatora funkcji.
W ten sposób możesz chronić strony dostępne tylko w planie Pro, endpointy API lub inne funkcje w kodzie swojej aplikacji.
Typowe kształty produktów
Dział zatytułowany „Typowe kształty produktów”Subskrypcje 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.Towary fizyczne
Create a T-shirt product with three variants: Small, Medium, Large at $25 each.Towary cyfrowe
Create a course product with a single one-time variant at $149.Darowizny
Create a donation product with three variants: $25, $50, $100 — all one-time.Magazyn
Dział zatytułowany „Magazyn”Proyecta Commerce nie śledzi obecnie stanu magazynowego produktów fizycznych. Jeśli sprzedajesz produkty z ograniczoną dostępnością, zarządzaj stanem magazynowym w bazie danych swojej aplikacji i sprawdzaj go w procesie realizacji zamówienia.
Wkrótce
Dział zatytułowany „Wkrótce”- Personalizacja pól kasy — zbieranie dodatkowych informacji od kupujących
- Ceny „zapłać, ile chcesz“
- Wbudowane śledzenie stanu magazynowego dla produktów fizycznych