Hoppa till innehåll

Produkter & funktioner

Definiera vad du säljer. Skapa produkter med en eller flera varianter, koppla återanvändbara funktioner för behörighetsbaserad åtkomstkontroll.

Proyecta Commerce använder tre begrepp: produkter, varianter och funktioner.

  • Produkt — det du säljer (t.ex. “Pro-plan”, “T-shirt”, “Strategisamtal”)
  • Variant — en prisnivå eller konfiguration av en produkt (t.ex. “Pro månadsvis 29 $”, “Pro årsvis 290 $”, “T-shirt – Large”)
  • Funktion — en återanvändbar behörighetsnyckel som din app kontrollerar vid körningstid (t.ex. pro_features, unlimited_projects, api_access)

En produkt kan ha flera varianter. En produkt har också en eller flera resurser kopplade till sig — vanligtvis funktioner — som ger åtkomst när en kund prenumererar.

I Dashboard > Commerce > Products, klicka på Create product (eller fråga AI:n: "Create a Pro plan at $29/month and a Business plan at $99/month."). Varje produkt behöver:

  • Ett visningsnamn (t.ex. “Pro”)
  • Minst en variant

Varje variant har sin egen prissättning:

FältKommentarer
nameVisningsetikett för varianten (“Monthly”, “Annual”, “Large”)
currencyTrebokstavs ISO-kod — USD, EUR, GBP, JPY, BRL, MXN, INR… (SDK:et stöder 130+)
unit_amountPris i den minsta valutaenheten (ören/cent). 2900 = 29,00 $
recurringValfritt — { interval: 'week' | 'month' | 'year' }. Utelämna för engångspriser. Daglig fakturering stöds inte för närvarande.
is_defaultAccepteras men tillämpas inte ännu — val av standardvariant är inte implementerat för tillfället.
mediaKoppla bilder eller videor via CDN-fil-ID (se Filer)

Prissättning är oföränderlig. När en variant har skapats kan dess pris inte ändras — skapa en ny variant i stället. Detta skyddar befintliga prenumeranter från oavsiktliga prisändringar.

Funktioner är den grundläggande åtkomstkontrollmekanismen. Skapa en funktion en gång och koppla den sedan till en eller flera produkter.

// 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')
});

När du skapar en produkt kopplar du funktioner till den via “resurser”. Kunder som prenumererar på en produkt får åtkomst till alla funktioner som är kopplade till den.

Kontrollera sedan i din app om en kund har åtkomst:

const { has_access } = await proyecta.commerce.check({
customer_id: 'cus_123',
resource_id: 'pro_features',
});

Obs: resource_id måste vara funktionens nyckel — sluggen som härleds från funktionens namn (t.ex. pro_features), inte funktionsobjektets .id-egenskap som returneras av features.create().

Så här begränsar du åtkomsten till Pro-exklusiva sidor, API-endpoints eller funktioner i din appkod.

SaaS-prenumerationer

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.

Fysiska varor

Create a T-shirt product with three variants: Small, Medium, Large at $25 each.

Digitala varor

Create a course product with a single one-time variant at $149.

Donationer

Create a donation product with three variants: $25, $50, $100 — all one-time.

Proyecta Commerce spårar för närvarande inte lager för fysiska produkter. Om du säljer lagerförda artiklar hanterar du lagersaldon i din apps databas och kontrollerar dem i ditt checkout-flöde.

  • Anpassning av checkout-fält — samla in ytterligare information från köpare
  • Betala-vad-du-vill-prissättning
  • Inbyggd lagerspårning för fysiska produkter