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.
Créer un produit
Section intitulée « Créer un produit »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
Variantes
Section intitulée « Variantes »Chaque variante possède sa propre tarification :
| Champ | Remarques |
|---|---|
name | Libellé d’affichage de la variante (« Monthly », « Annual », « Large ») |
currency | Code ISO à trois lettres — USD, EUR, GBP, JPY, BRL, MXN, INR… (le SDK en supporte plus de 130) |
unit_amount | Prix dans la plus petite unité monétaire (centimes). 2900 = 29,00 $ |
recurring | Optionnel — { interval: 'week' | 'month' | 'year' }. À omettre pour les prix uniques. La facturation quotidienne n’est pas encore prise en charge. |
is_default | Accepté mais non encore appliqué — la sélection de la variante par défaut n’est pas encore implémentée. |
media | Attache 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.
Features (droits d’accès)
Section intitulée « Features (droits d’accès) »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 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')});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_iddoit être la clé de la feature — le slug dérivé du nom de la feature (ex. :pro_features), et non la propriété.idde l’objet feature renvoyé parfeatures.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.
Formes de produits courantes
Section intitulée « Formes de produits courantes »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.Inventaire
Section intitulée « Inventaire »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.
Prochainement
Section intitulée « Prochainement »- 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