Produkty i funkcje
Zdefiniuj, co sprzedajesz. Twórz produkty z jednym lub więcej wariantami, dołączaj wielokrotnie używane funkcje do kontroli dostępu opartej na uprawnieniach.
Proyecta Commerce opiera się na trzech pojęciach: produkty, warianty i funkcje.
- 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 uprawnienia, 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ę również jeden lub więcej zasobów — zazwyczaj funkcje — które przyznają dostęp w momencie subskrypcji przez klienta.
Tworzenie produktu
Dział zatytułowany „Tworzenie produktu”W Dashboard > 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 wymaga:
- Nazwy wyświetlanej (np. „Pro”)
- Co najmniej jednego wariantu
Warianty
Dział zatytułowany „Warianty”Każdy wariant ma własne ustawienia cenowe:
| Pole | Uwagi |
|---|---|
name | Etykieta wyświetlana dla wariantu („Monthly”, „Annual”, „Large”) |
currency | Trzyliterowy kod ISO — USD, EUR, GBP, JPY, BRL, MXN, INR… (SDK obsługuje ponad 130) |
unit_amount | Cena w najmniejszej jednostce waluty (grosze/centy). 2900 = 29,00 USD |
recurring | Opcjonalne — { interval: 'week' | 'month' | 'year' }. Pomiń dla cen jednorazowych. Rozliczenie dzienne nie jest 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 (zob. Pliki) |
Ceny są niezmienne. Po utworzeniu wariantu jego ceny nie można zmienić — zamiast tego utwórz nowy wariant. Chroni to istniejących subskrybentów przed przypadkowymi zmianami cen.
Funkcje (uprawnienia)
Dział zatytułowany „Funkcje (uprawnienia)”Funkcje to podstawowy mechanizm kontroli dostępu. Utwórz funkcję raz, a następnie dołącz ją do jednego lub więcej produktów.
// Create a featureconst pro = await proyecta.commerce.features.create({ name: 'Pro features', description: 'Unlocks the Pro tier capabilities', // optional custom id — lowercase alphanumeric and underscores only (e.g. 'pro_features')});Podczas tworzenia produktu dołączasz do niego funkcje za pomocą „zasobów”. Klienci, którzy subskrybują produkt, uzyskują dostęp do każdej funkcji do niego dołączonej.
Następnie w swojej aplikacji sprawdź, czy klient ma dostęp:
const { has_access } = await proyecta.commerce.check({ customer_id: 'cus_123', resource_id: 'pro_features',});Uwaga:
resource_idmusi być kluczem funkcji — slugiem wywiedzionym z nazwy funkcji (np.pro_features), a nie właściwością.idobiektu funkcji zwracaną przezfeatures.create().
W ten sposób blokujesz dostęp do stron tylko dla Pro, endpointów API lub funkcji w kodzie Twojej 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.Produkty fizyczne
Create a T-shirt product with three variants: Small, Medium, Large at $25 each.Produkty 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.Stany magazynowe
Dział zatytułowany „Stany magazynowe”Proyecta Commerce nie śledzi obecnie stanów magazynowych produktów fizycznych. Jeśli sprzedajesz produkty z ograniczonymi zasobami, zarządzaj stanami magazynowymi w bazie danych swojej aplikacji i sprawdzaj je w procesie realizacji zamówienia.
Już wkrótce
Dział zatytułowany „Już wkrótce”- Dostosowywanie pól przy kasie — zbieranie dodatkowych informacji od kupujących
- Cennik „zapłać ile chcesz”
- Wbudowane śledzenie stanów magazynowych dla produktów fizycznych