Produkte & Features
Definiere, was du verkaufst. Erstelle Produkte mit einer oder mehreren Varianten und füge wiederverwendbare Features für entitlementbasierte Zugriffskontrolle hinzu.
Proyecta Commerce verwendet drei Konzepte: Produkte, Varianten und Features.
- Produkt — das, was du verkaufst (z. B. „Pro Plan”, „T-Shirt”, „Strategy Call”)
- Variante — ein Preis-Tier oder eine Konfiguration eines Produkts (z. B. „Pro Monatlich $29”, „Pro Jährlich $290”, „T-Shirt – Groß”)
- Feature — ein wiederverwendbarer Entitlement-Schlüssel, den deine App zur Laufzeit prüft (z. B.
pro_features,unlimited_projects,api_access)
Ein Produkt kann mehrere Varianten haben. Einem Produkt sind außerdem eine oder mehrere Ressourcen zugeordnet – in der Regel Features –, die beim Abonnieren Zugang gewähren.
Ein Produkt erstellen
Abschnitt betitelt „Ein Produkt erstellen“Klicke unter Dashboard > Commerce > Products auf Create product (oder frage die AI: "Create a Pro plan at $29/month and a Business plan at $99/month."). Jedes Produkt benötigt:
- Einen Anzeigenamen (z. B. „Pro”)
- Mindestens eine Variante
Varianten
Abschnitt betitelt „Varianten“Jede Variante hat ihre eigene Preisgestaltung:
| Feld | Hinweise |
|---|---|
name | Anzeigebezeichnung der Variante („Monthly”, „Annual”, „Large”) |
currency | Dreistelliger ISO-Code – USD, EUR, GBP, JPY, BRL, MXN, INR … (das SDK unterstützt 130+) |
unit_amount | Preis in der kleinsten Währungseinheit (Cent). 2900 = $29.00 |
recurring | Optional – { interval: 'week' | 'month' | 'year' }. Weglassen für Einmalpreise. Tägliche Abrechnung wird derzeit nicht unterstützt. |
is_default | Akzeptiert, aber noch nicht erzwungen – die Auswahl der Standardvariante ist derzeit nicht implementiert. |
media | Bilder oder Videos per CDN-Datei-ID anhängen (siehe Dateien) |
Preise sind unveränderlich. Sobald eine Variante erstellt wurde, kann ihr Preis nicht mehr geändert werden – erstelle stattdessen eine neue Variante. Dies schützt bestehende Abonnenten vor versehentlichen Preisänderungen.
Features (Entitlements)
Abschnitt betitelt „Features (Entitlements)“Features sind das grundlegende Mittel zur Zugriffskontrolle. Erstelle ein Feature einmal und füge es dann einem oder mehreren Produkten hinzu.
// 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')});Wenn du ein Produkt erstellst, fügst du Features über „Ressourcen” hinzu. Kunden, die ein Produkt abonnieren, erhalten Zugang zu allen damit verknüpften Features.
Prüfe anschließend in deiner App, ob ein Kunde Zugang hat:
const { has_access } = await proyecta.commerce.check({ customer_id: 'cus_123', resource_id: 'pro_features',});Hinweis: Die
resource_idmuss der Feature-Schlüssel sein – der Slug, der aus dem Feature-Namen abgeleitet wird (z. B.pro_features), nicht die.id-Eigenschaft des Feature-Objekts, die vonfeatures.create()zurückgegeben wird.
So kannst du in deinem App-Code Pro-exklusive Seiten, API-Endpoints oder Features absichern.
Häufige Produktformen
Abschnitt betitelt „Häufige Produktformen“SaaS-Abonnements
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.Physische Waren
Create a T-shirt product with three variants: Small, Medium, Large at $25 each.Digitale Waren
Create a course product with a single one-time variant at $149.Spenden
Create a donation product with three variants: $25, $50, $100 — all one-time.Lagerbestand
Abschnitt betitelt „Lagerbestand“Proyecta Commerce verwaltet derzeit keinen Lagerbestand für physische Produkte. Wenn du Lagerartikel verkaufst, pflege den Lagerbestand in der Datenbank deiner App und prüfe ihn in deinem Checkout-Ablauf.
Demnächst verfügbar
Abschnitt betitelt „Demnächst verfügbar“- Anpassung der Checkout-Felder — zusätzliche Informationen von Käufern erfassen
- „Zahle, was du möchtest”-Preisgestaltung
- Integriertes Lagerbestand-Tracking für physische Produkte