Produse și funcționalități
Definește ce vinzi. Creează produse cu una sau mai multe variante, atașează funcționalități reutilizabile pentru controlul accesului bazat pe drepturi.
Proyecta Commerce folosește trei concepte: produse, variante și funcționalități.
- Produs — ceea ce vinzi (ex. „Plan Pro”, „Tricou”, „Consultație Strategie”)
- Variantă — un nivel de prețuri sau o configurație a unui produs (ex. „Pro Lunar $29”, „Pro Anual $290”, „Tricou – Large”)
- Funcționalitate — o cheie de acces reutilizabilă pe care aplicația ta o verifică la runtime (ex.
pro_features,unlimited_projects,api_access)
Un produs poate avea mai multe variante. Un produs are, de asemenea, una sau mai multe resurse atașate — de obicei funcționalități — care acordă acces atunci când un client se abonează.
Crearea unui produs
Section titled “Crearea unui produs”În Dashboard > Commerce > Products, apasă Create product (sau întreabă AI-ul: "Create a Pro plan at $29/month and a Business plan at $99/month."). Fiecare produs necesită:
- Un nume afișat (ex. „Pro”)
- Cel puțin o variantă
Variante
Section titled “Variante”Fiecare variantă are propriul său preț:
| Câmp | Note |
|---|---|
name | Eticheta afișată pentru variantă („Monthly”, „Annual”, „Large”) |
currency | Cod ISO din trei litere — USD, EUR, GBP, JPY, BRL, MXN, INR… (SDK-ul suportă 130+) |
unit_amount | Prețul în cea mai mică unitate monetară (cenți). 2900 = $29.00 |
recurring | Opțional — { interval: 'week' | 'month' | 'year' }. Omite pentru prețuri unice. Facturarea zilnică nu este suportată în prezent. |
is_default | Acceptat, dar neaplica încă — selecția variantei implicite nu este implementată în prezent. |
media | Atașează imagini sau videoclipuri prin ID-ul fișierului CDN (vezi Fișiere) |
Prețurile sunt imuabile. Odată creată o variantă, prețul nu poate fi modificat — creează o variantă nouă în schimb. Aceasta protejează abonații existenți de modificări accidentale de preț.
Funcționalități (drepturi de acces)
Section titled “Funcționalități (drepturi de acces)”Funcționalitățile sunt elementul de bază al controlului accesului. Creează o funcționalitate o singură dată, apoi atașeaz-o la unul sau mai multe produse.
// 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')});Când creezi un produs, atașezi funcționalități la acesta prin intermediul „resurselor”. Clienții care se abonează la un produs obțin acces la fiecare funcționalitate atașată acestuia.
Apoi, în aplicația ta, verifici dacă un client are acces:
const { has_access } = await proyecta.commerce.check({ customer_id: 'cus_123', resource_id: 'pro_features',});Notă:
resource_idtrebuie să fie cheia funcționalității — slug-ul derivat din numele funcționalității (ex.pro_features), nu proprietatea.ida obiectului funcționalitate returnată defeatures.create().
Astfel poți restricționa accesul la pagini, endpoint-uri API sau funcționalități disponibile doar utilizatorilor Pro din codul aplicației tale.
Tipare comune de produse
Section titled “Tipare comune de produse”Abonamente 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.Produse fizice
Create a T-shirt product with three variants: Small, Medium, Large at $25 each.Produse digitale
Create a course product with a single one-time variant at $149.Donații
Create a donation product with three variants: $25, $50, $100 — all one-time.Stocuri
Section titled “Stocuri”Proyecta Commerce nu urmărește în prezent stocurile pentru produsele fizice. Dacă vinzi articole stocate, gestionează cantitățile din baza de date a aplicației tale și verifică-le în fluxul de checkout.
În curând
Section titled “În curând”- Personalizarea câmpurilor din checkout — colectează informații suplimentare de la cumpărători
- Prețuri „plătești cât vrei”
- Urmărire integrată a stocurilor pentru produse fizice