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
- Créer endpoint webhook Stripe vers:
https://<domaine>/api/webhooks/stripe
- Événements minimum:
checkout.session.completedpayment_intent.succeededpayment_intent.payment_failed
- Copier le
whsec_...dansSTRIPE_WEBHOOK_SECRET
Tests manuels recommandés
Cas nominal
- Lancer “Mettre en avant”
- Payer en test Stripe
- Vérifier:
- bandeau
processingpuissuccess orders.status = completedpayments.status = succeededcar_listings.isFeatured = truecar_listings.featuredUntildéfini
- bandeau
Cas d’échec
- Simuler paiement refusé
- Vérifier:
- bandeau
failed orders.status = failedpayments.status = failed
- bandeau
Cas annulation
- Quitter checkout sans payer
- Vérifier bandeau
cancelled
Monitoring opérationnel
- Surveiller
webhooks_log:- progression des
status - taux
failed
- progression des
- En cas de retard webhook:
- bandeau affiche timeout UX après 60s
- utilisateur peut actualiser manuellement
Évolutions prévues (providers africains)
- Garder contrat API
providerinchangé - Implémenter adaptateurs
orange_moneyetmtn_momocôté/api/payments/create - Réutiliser même socle
orders/payments/webhooks_log