perf: memo GridCard, fuse save fns, fix slash tab active color
Some checks failed
CI / Lint, Unit Tests & Build (push) Failing after 1m32s
CI / Deploy production (on server) (push) Has been skipped

This commit is contained in:
Antigravity
2026-06-14 14:06:05 +00:00
parent a8785ed4f1
commit a623454347
120 changed files with 12301 additions and 785 deletions

View File

@@ -449,3 +449,44 @@ Devrait retourner :
| Enterprise | Sur devis | Sur devis | — |
Devise : EUR (configurable dans Stripe Dashboard pour multi-devises).
---
## 11. Bons de réduction & Codes de promotion (Coupons & Promo Codes)
Momento intègre le support natif et sécurisé de Stripe pour les codes promotionnels lors du paiement en Embedded Checkout via l'attribut `allow_promotion_codes: true` dans `/api/billing/create-checkout/route.ts`.
### 11.1 Concepts Clés : Bon de réduction (Coupon) vs Code de promotion (Promo Code)
Dans Stripe, la gestion des remises se fait en deux niveaux :
1. **Le Bon de réduction (Coupon)** : C'est la règle financière sous-jacente (ex. `-20 % sur l'abonnement pendant 6 mois` ou `-10 € à vie`). Un coupon n'est pas vu par le client final sous cette forme.
2. **Le Code de promotion (Promo Code)** : C'est la chaîne de caractères réelle saisie par le client (ex. `WELCOME20`, `LAUNCH50`). Un code promo est obligatoirement rattaché à un Coupon. Vous pouvez créer plusieurs codes promos pour un seul et même coupon (ex. `INFLUENCEUR1` et `INFLUENCEUR2` qui appliquent tous les deux la même réduction de -10%).
### 11.2 Comment créer un Code Promo sur Stripe (Dashboard)
1. Connectez-vous à votre **Stripe Dashboard** (en mode test ou live selon votre cible).
2. Rendez-vous dans **Produits** (Products) → **Bons de réduction** (Coupons) → bouton **+ Nouveau**.
3. Remplissez les informations du Coupon :
- **Nom** : Le nom interne pour vous y retrouver (ex: `Lancement 50%`).
- **Type de réduction** : Pourcentage (ex: `50%`) ou Montant fixe (ex: `10 €`).
- **Durée** :
- *Une seule fois* (appliqué uniquement sur la première facture).
- *Plusieurs mois* (Spécifier le nombre de mois, ex: 3 mois).
- *Pour toujours* (appliqué à vie sur toutes les factures de l'abonnement).
4. Sous le bloc **Codes de promotion**, cochez **"Créer un code de promotion orienté client"** :
- **Code** : Saisissez le code en majuscules (ex: `LAUNCH50`).
- **Limites d'utilisation** (optionnel) :
- Nombre d'utilisations max (ex: limité aux 100 premiers utilisateurs).
- Date limite de validité (ex: valable uniquement jusqu'au 31 décembre).
- Limiter aux clients n'ayant jamais payé.
- Restriction à des plans spécifiques (ex: restreindre ce code promo uniquement au produit `Momento Pro`).
5. Cliquez sur **Créer le bon de réduction**.
### 11.3 Comment désactiver ou supprimer un Code Promo
1. Allez dans **Produits****Bons de réduction****Codes de promotion**.
2. Cliquez sur les `...` à côté du code promo concerné.
3. Sélectionnez **Désactiver** (Deactivate) : le code ne sera plus utilisable par aucun client, mais les clients en ayant déjà bénéficié conserveront leur réduction active selon la durée définie (ex. s'ils ont déjà eu les 3 mois, Stripe continue de l'appliquer jusqu'à la fin de la période).
4. Si vous souhaitez supprimer définitivement un coupon global et annuler la réduction pour tout le monde (y compris les abonnés actuels), allez dans **Bons de Réduction**, cliquez sur le coupon puis sur **Supprimer**.
### 11.4 Mode Test vs Production
* **En local / Test** : Créez vos codes de promotion dans Stripe en ayant activé le commutateur **Mode Test** (Test Mode). Les codes créés ici ne fonctionneront qu'avec vos clés d'API de test (`sk_test_...`).
* **En production / Live** : Désactivez le Mode Test sur Stripe pour passer en mode réel, et créez les coupons dans la section Live. Ils ne fonctionneront qu'avec vos clés d'API réelles (`sk_live_...`).