feat: publication IA (magazine/brief/essay) + fixes critique
Publication IA: - 4 templates (magazine, brief, essay, simple) avec CSS riche - Rewrite IA (article/exercises/tutorial/reference/mixed) - Modération avec timeout 12s + fallback safe - Quotas publish_enhance par tier (basic=2, pro=15, business=100) - Détection contenu stale (hash) - Migration DB publishedContent/publishedTemplate/publishedSourceHash Fixes: - cheerio v1.2: Element -> AnyNode (domhandler), decodeEntities cast - _isShared ajouté au type Note (champ virtuel serveur) - callout colors PDF export: extraction fonction pure testable - admin/published: guard note.userId null - Cmd+S fonctionne en mode dialog (pas seulement fullPage) i18n: - 23 clés publish* traduites dans les 15 locales - Extension Web Clipper: 13 locales mise à jour Tests: - callout-colors.test.ts (6 tests) - note-visible-in-view.test.ts (5 tests) - entitlements.test.ts + byok-entitlements.test.ts: mock usageLog + unstubAllEnvs - 199/199 tests passent Tracker: user-stories.md sync avec sprint-status.yaml
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# Momento — Guide Stripe : Configuration, Architecture et Utilisation
|
||||
# Memento — Guide Stripe : Configuration, Architecture et Utilisation
|
||||
|
||||
## Vue d'ensemble
|
||||
|
||||
Momento utilise **Stripe** pour la gestion des abonnements payants (Pro, Business, Enterprise). Le système repose sur :
|
||||
Memento utilise **Stripe** pour la gestion des abonnements payants (Pro, Business, Enterprise). Le système repose sur :
|
||||
|
||||
- **Stripe Embedded Checkout** (modal dans l'app, sans redirection)
|
||||
- **Webhooks** pour synchroniser l'état des abonnements en temps réel
|
||||
@@ -86,11 +86,11 @@ Momento utilise **Stripe** pour la gestion des abonnements payants (Pro, Busines
|
||||
|
||||
Dans le **Stripe Dashboard** → **Produits** :
|
||||
|
||||
#### Produit 1 : Momento Pro
|
||||
#### Produit 1 : Memento Pro
|
||||
|
||||
| Champ | Valeur |
|
||||
|-------|--------|
|
||||
| Nom | Momento Pro |
|
||||
| Nom | Memento Pro |
|
||||
| Description | Pour les consultants et créateurs exigeants |
|
||||
|
||||
Créer **2 prix** :
|
||||
@@ -100,11 +100,11 @@ Créer **2 prix** :
|
||||
| Pro Mensuel | 9,90 EUR | Tous les mois |
|
||||
| Pro Annuel | 99 EUR | Tous les ans |
|
||||
|
||||
#### Produit 2 : Momento Business
|
||||
#### Produit 2 : Memento Business
|
||||
|
||||
| Champ | Valeur |
|
||||
|-------|--------|
|
||||
| Nom | Momento Business |
|
||||
| Nom | Memento Business |
|
||||
| Description | Pour les équipes et chefs de produit |
|
||||
|
||||
Créer **2 prix** :
|
||||
@@ -244,7 +244,7 @@ Utilisateur Frontend Backend
|
||||
|
||||
### 3.2 Webhook — Cycle de vie des abonnements
|
||||
|
||||
| Événement Stripe | Action Momento | Statut Prisma |
|
||||
| Événement Stripe | Action Memento | Statut Prisma |
|
||||
|------------------|---------------|---------------|
|
||||
| `checkout.session.completed` | Upsert subscription avec tier/periode | `ACTIVE` |
|
||||
| `customer.subscription.created` | Upsert (nouvelle souscription) | Selon Stripe |
|
||||
@@ -454,7 +454,7 @@ 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`.
|
||||
Memento 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 :
|
||||
@@ -477,7 +477,7 @@ Dans Stripe, la gestion des remises se fait en deux niveaux :
|
||||
- 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`).
|
||||
- Restriction à des plans spécifiques (ex: restreindre ce code promo uniquement au produit `Memento Pro`).
|
||||
5. Cliquez sur **Créer le bon de réduction**.
|
||||
|
||||
### 11.3 Comment désactiver ou supprimer un Code Promo
|
||||
|
||||
Reference in New Issue
Block a user