Zum Inhalt springen

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.

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

Jede Variante hat ihre eigene Preisgestaltung:

FeldHinweise
nameAnzeigebezeichnung der Variante („Monthly”, „Annual”, „Large”)
currencyDreistelliger ISO-Code – USD, EUR, GBP, JPY, BRL, MXN, INR … (das SDK unterstützt 130+)
unit_amountPreis in der kleinsten Währungseinheit (Cent). 2900 = $29.00
recurringOptional – { interval: 'week' | 'month' | 'year' }. Weglassen für Einmalpreise. Tägliche Abrechnung wird derzeit nicht unterstützt.
is_defaultAkzeptiert, aber noch nicht erzwungen – die Auswahl der Standardvariante ist derzeit nicht implementiert.
mediaBilder 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 sind das grundlegende Mittel zur Zugriffskontrolle. Erstelle ein Feature einmal und füge es dann einem oder mehreren Produkten hinzu.

// Create a feature
const 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_id muss 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 von features.create() zurückgegeben wird.

So kannst du in deinem App-Code Pro-exklusive Seiten, API-Endpoints oder Features absichern.

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 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.

  • Anpassung der Checkout-Felder — zusätzliche Informationen von Käufern erfassen
  • „Zahle, was du möchtest”-Preisgestaltung
  • Integriertes Lagerbestand-Tracking für physische Produkte