Aller au contenu

Produits & Fonctionnalités

Définissez ce que tu vends. Crée des produits avec une ou plusieurs variantes, et attache des fonctionnalités réutilisables (features) pour un contrôle d’accès basé sur les droits.

Proyecta Commerce repose sur trois concepts : les produits, les variantes et les fonctionnalités (features).

  • Produit — ce que tu vends (ex. : « Plan Pro », « T-shirt », « Appel stratégique »)
  • Variante — un niveau de tarification ou une configuration d’un produit (ex. : « Pro Mensuel 29 $ », « Pro Annuel 290 $ », « T-shirt – Grande taille »)
  • Feature — une clé de droit réutilisable que ton app vérifie à l’exécution (ex. : pro_features, unlimited_projects, api_access)

Un produit peut avoir plusieurs variantes. Il possède également une ou plusieurs ressources associées — généralement des features — qui accordent l’accès lorsqu’un client souscrit.

Dans Dashboard > Commerce > Products, clique sur Create product (ou demande à l’IA : "Create a Pro plan at $29/month and a Business plan at $99/month."). Chaque produit nécessite :

  • Un nom d’affichage (ex. : « Pro »)
  • Au moins une variante

Chaque variante possède sa propre tarification :

ChampRemarques
nameLibellé d’affichage de la variante (« Monthly », « Annual », « Large »)
currencyCode ISO à trois lettres — USD, EUR, GBP, JPY, BRL, MXN, INR… (le SDK en supporte plus de 130)
unit_amountPrix dans la plus petite unité monétaire (centimes). 2900 = 29,00 $
recurringOptionnel — { interval: 'week' | 'month' | 'year' }. À omettre pour les prix uniques. La facturation quotidienne n’est pas encore prise en charge.
is_defaultAccepté mais non encore appliqué — la sélection de la variante par défaut n’est pas encore implémentée.
mediaAttache des images ou vidéos via l’ID de fichier CDN (voir Fichiers)

La tarification est immuable. Une fois une variante créée, son prix ne peut pas être modifié — crée plutôt une nouvelle variante. Cela protège les abonnés existants contre des changements de prix accidentels.

Les features constituent la primitive de contrôle d’accès. Crée une feature une seule fois, puis attache-la à un ou plusieurs produits.

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

Lorsque tu crées un produit, tu lui attaches des features via des « ressources ». Les clients qui souscrivent à un produit obtiennent accès à toutes les features qui y sont attachées.

Ensuite, dans ton app, vérifie si un client a accès :

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

Remarque : Le resource_id doit être la clé de la feature — le slug dérivé du nom de la feature (ex. : pro_features), et non la propriété .id de l’objet feature renvoyé par features.create().

C’est ainsi que tu protèges les pages réservées au Plan Pro, les endpoints d’API ou les fonctionnalités dans le code de ton app.

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

Produits physiques

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

Produits numériques

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

Dons

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

Proyecta Commerce ne gère pas encore le suivi des stocks pour les produits physiques. Si tu vends des articles en stock, gère les quantités disponibles dans la base de données de ton app et vérifie-les dans ton flux de paiement.

  • Personnalisation des champs de paiement — collecte des informations supplémentaires auprès des acheteurs
  • Tarification libre (pay-what-you-want)
  • Suivi des stocks intégré pour les produits physiques