Files
diabetix/TESTING_STRIPE.md
jeremy bayse e7f151d14e feat: Initial Diabetix application commit
- Add authentication with NextAuth v5 (credentials + email verification)
- Implement dashboard with glycemia tracking and AI analysis
- Add PDF report generation for Premium users
- Implement Stripe integration for Premium subscriptions
- Add responsive UI with Tailwind CSS and shadcn components
- Database schema with Prisma ORM and PostgreSQL support
- Real-time glycemia visualization with Recharts
- Mobile-optimized entry form
- User profile management with medical information
- Subscription lifecycle management (create, cancel, webhook)
- Email notifications with Resend
- Feature gates for Free vs Premium plans

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-26 23:06:29 +02:00

3.8 KiB

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

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 :

# 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

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