Zum Inhalt springen

Produkte & Funktionen

Definiere, was du verkaufst. Erstelle Produkte mit einer oder mehreren Varianten, und füge wiederverwendbare Features für entitlementbasierte Zugriffskontrolle hinzu.

Proyecta Commerce basiert auf drei Konzepten: Produkte, Varianten und Features.

  • Produkt — das, was du verkaufst (z. B. „Pro Plan“, „T-Shirt“, „Strategiegespräch“)
  • Variante — eine Preisstufe oder 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 einem Kunden nach dem Abonnement Zugriff gewähren.

Commerce lässt sich mit dem Rest der Plattform kombinieren, daher gibt es zwei Modelle für „ein Ding, das du verkaufst“ – und Proyecta wählt automatisch das richtige für dich:

  • Commerce-native Produkte — Abonnements, Pläne, einmalige Upgrades und Features/Entitlements. Diese werden direkt unter Admin > Commerce > Products definiert. Dieses Modell wird auf dem Rest dieser Seite beschrieben.
  • Ein inhaltsbasierter Shopkatalog — Waren mit Fotos, Preisen und Beschreibungen, die ein Geschäftsinhaber täglich pflegt. Diese leben im CMS als verkaufbare Collection: Jeder Eintrag ist das Produkt. Wenn ein Eintrag veröffentlicht wird, verknüpft Proyecta ihn automatisch mit Commerce als echtes, kaufbares Produkt – erstellt das Produkt und seine bepreiste Variante für dich und übernimmt den Preis direkt aus dem Inhaltsfeld. Der Storefront zeigt den Preis aus dem Inhalt, und beim Checkout wird die verknüpfte Variante belastet. Da beide dieselbe Quelle teilen, können sie nie voneinander abweichen. Du verwaltest diese Einträge als Inhalt (im Admin deiner App, im Builder oder auf deiner veröffentlichten Website), nicht unter Commerce > Products. Siehe Content Management.

Ein einfacher Katalog, der keine Kartenzahlungen akzeptiert – z. B. ein reines Speisekarten-Browsing oder ein Shop, dessen „Kaufen“-Button einen WhatsApp-Bestelllink öffnet – ist ganz gewöhnlicher Inhalt – eine normale Katalog-Collection, ohne Commerce-Verknüpfung. Erst die Kartenzahlung macht eine Collection verkaufbar.

Klicke unter Admin > Commerce > Products auf Create product (oder frag 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

Jede Variante hat eine eigene Preisgestaltung:

Feld Hinweise
name Anzeigebezeichnung der Variante („Monthly“, „Annual“, „Large“)
currency Dreistelliger ISO-Code – USD, EUR, GBP, JPY, BRL, MXN, INR … (130+ unterstützt)
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 Wird akzeptiert, aber noch nicht erzwungen – die Auswahl der Standardvariante ist derzeit nicht implementiert.
media Bilder oder Videos per CDN-Datei-ID anhängen (siehe Files)

Preise sind unveränderlich. Sobald eine Variante erstellt wurde, kann ihr Preis nicht mehr geändert werden – erstelle stattdessen eine neue Variante. Das schützt bestehende Abonnenten vor versehentlichen Preisänderungen.

Features sind das grundlegende Element der Zugriffskontrolle. Erstelle ein Feature einmalig unter Admin > Commerce > Products und füge es dann einem oder mehreren Produkten hinzu. Jedes Feature hat einen Namen, eine optionale Beschreibung und einen Schlüssel – Kleinbuchstaben, Zahlen und Unterstriche (z. B. pro_features) –, den deine App zur Prüfung verwendet.

Wenn du ein Produkt erstellst, fügst du Features über „Ressourcen“ hinzu. Kunden, die ein Produkt abonnieren, erhalten Zugriff auf alle damit verknüpften Features.

Anschließend kannst du in deiner App anhand dieses Schlüssels den Zugriff steuern:

const { hasAccess, isLoading } = useEntitlement('pro_features');
if (isLoading) return <Spinner />;
if (!hasAccess) return <UpgradePrompt />;
return <ProOnlyThing />;

Die Prüfung erfolgt serverseitig anhand der angemeldeten Sitzung und kann daher nicht vom Browser aus gefälscht werden. Das vollständige Muster findest du unter Integrate Commerce Into My App.

Hinweis: Steuere den Zugriff immer über den Feature-Schlüssel – den aus dem Feature-Namen abgeleiteten Slug (z. B. pro_features) –, nicht über die interne ID des Features.

So sperrst du Pro-exklusive Seiten, API-Endpunkte oder Funktionen in deinem App-Code.

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.

Proyecta Commerce verfolgt derzeit keinen Lagerbestand für physische Produkte. Wenn du lagerpflichtige Artikel verkaufst, verwalte den Lagerbestand in der Datenbank deiner App und prüfe ihn in deinem Checkout-Ablauf.

  • Anpassung der Checkout-Felder — zusätzliche Informationen von Käufern erfassen
  • Pay-what-you-want-Preisgestaltung
  • Integriertes Inventar-Tracking für physische Produkte