Aller au contenu principal

Monétisation — Runbook & checklist

Variables d’environnement (frontend)

Dans apps/frontend/.env.local:

NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...
STRIPE_SECRET_KEY=sk_live_or_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
NEXT_PUBLIC_SITE_URL=https://votre-domaine

Mise en service Stripe

  1. Créer endpoint webhook Stripe vers:
    • https://<domaine>/api/webhooks/stripe
  2. Événements minimum:
    • checkout.session.completed
    • payment_intent.succeeded
    • payment_intent.payment_failed
  3. Copier le whsec_... dans STRIPE_WEBHOOK_SECRET

Tests manuels recommandés

Cas nominal

  • Lancer “Mettre en avant”
  • Payer en test Stripe
  • Vérifier:
    • bandeau processing puis success
    • orders.status = completed
    • payments.status = succeeded
    • car_listings.isFeatured = true
    • car_listings.featuredUntil défini

Cas d’échec

  • Simuler paiement refusé
  • Vérifier:
    • bandeau failed
    • orders.status = failed
    • payments.status = failed

Cas annulation

  • Quitter checkout sans payer
  • Vérifier bandeau cancelled

Monitoring opérationnel

  • Surveiller webhooks_log:
    • progression des status
    • taux failed
  • En cas de retard webhook:
    • bandeau affiche timeout UX après 60s
    • utilisateur peut actualiser manuellement

Évolutions prévues (providers africains)

  • Garder contrat API provider inchangé
  • Implémenter adaptateurs orange_money et mtn_momo côté /api/payments/create
  • Réutiliser même socle orders/payments/webhooks_log