# Guide de test - Intégration Stripe

## 🧪 Tester le flux de paiement complet

### Étape 1 : S'inscrire et se connecter

1. Accédez à http://localhost:3000/auth/register
2. Créez un compte (ex: `test@example.com`)
3. Vérifiez l'email (récupérez le lien du serveur logs)
4. Connectez-vous

### Étape 2 : Accédez à la page pricing

1. Allez à http://localhost:3000/pricing
2. Vous devriez voir :
   - Le plan FREE avec le bouton "Commencer"
   - Le plan PREMIUM avec le bouton "Passer à Premium"

### Étape 3 : Initiez un paiement

1. Cliquez sur "Passer à Premium"
2. Vous serez redirigé vers Stripe Checkout
3. Utilisez les **cartes de test Stripe** :

#### Paiements réussis :
- **Numéro** : `4242 4242 4242 4242`
- **Expiration** : Futur (ex: 12/25)
- **CVC** : N'importe quel 3 chiffres
- **Nom** : N'importe quel nom

#### Paiement échoué :
- **Numéro** : `4000 0000 0000 0002`
- Même autres détails

#### Besoin d'authentification 3D Secure :
- **Numéro** : `4000 0025 0000 3155`

### Étape 4 : Vérifiez les webhooks

Après un paiement réussi, le webhook Stripe devrait :

1. ✅ Créer un `Subscription` en base de données
2. ✅ Mettre à jour `User.plan = "PREMIUM"`
3. ✅ Rediriger vers `/dashboard?checkout=success`

Vérifiez en :
- Ouvrant DevTools → Console
- Cherchant les logs du serveur pour `[webhook]` messages
- Accédant à `/dashboard/profil` et vérifiant que le badge "Premium" apparaît

### Étape 5 : Testez les fonctionnalités PREMIUM

Après l'upgrade :
1. ✅ Le ChatBot devrait être visible en bas à droite
2. ✅ Les stats 30/90 jours devraient être accessibles
3. ✅ L'analyse IA quotidienne devrait fonctionner

## 🔧 Debugging

### Vérifier les variables d'environnement

```bash
grep STRIPE .env.local
```

### Vérifier les logs du serveur

Cherchez :
- `[create-checkout]` : Logs de création de session
- `[webhook]` : Logs de webhooks Stripe

### Simuler des webhooks en local

Pour tester les webhooks sans vraiment payer, télécharge **Stripe CLI** :

```bash
# Windows : Télécharge depuis https://stripe.com/docs/stripe-cli
# macOS : brew install stripe/stripe-cli/stripe
# Linux : Voir https://stripe.com/docs/stripe-cli

# Se connecter avec ton compte Stripe
stripe login

# Rediriger les webhooks à ton serveur local
stripe listen --forward-to localhost:3000/api/stripe/webhook

# Dans un autre terminal, simuler un paiement
stripe trigger customer.subscription.created
```

### Vérifier la base de données

```bash
sqlite3 prisma/dev.db
.tables
SELECT * FROM "Subscription" LIMIT 1;
SELECT plan FROM "User" WHERE email = 'test@example.com';
```

## 🐛 Problèmes courants

### Le bouton "Passer à Premium" ne fait rien
- Vérifiez que `NEXT_PUBLIC_STRIPE_KEY` est correct (commence par `pk_`)
- Vérifiez les erreurs dans DevTools → Console

### Stripe Checkout ne se charge pas
- Vérifiez que la clé publique est valide
- Vérifiez que la `STRIPE_PRICE_ID` existe dans votre compte Stripe

### Le webhook ne met pas à jour le plan
- Vérifiez que `STRIPE_WEBHOOK_SECRET` est correct
- Vérifiez les logs serveur pour les erreurs de signature

### L'utilisateur reste FREE après paiement
- Vérifiez que le webhook a été traité (cherchez `[webhook]` dans les logs)
- Vérifiez que l'utilisateur a un `userId` correct
- Vérifiez les logs de base de données

## 📊 État après un paiement réussi

La base de données devrait contenir :

```
User:
  id: "cuid-123"
  plan: "PREMIUM"
  stripeId: "cus_abc123"

Subscription:
  id: "sub-123"
  userId: "cuid-123"
  stripeId: "sub_abc123"
  status: "active"
  currentPeriodEnd: 2026-05-26 (30 jours à partir d'aujourd'hui)
```

## 🚀 Prochaines étapes

- [ ] Ajouter une page de confirmation de paiement
- [ ] Envoyer un email de bienvenue Premium
- [ ] Afficher l'historique des factures
- [ ] Permettre l'annulation d'abonnement
- [ ] Tester en production avec les clés Live
