Skip to content

Intégration Stripe

Stripe gère la facturation et les abonnements des organisations clientes GovernIA : checkout, portail client, webhooks, et suivi des paiements.

Ce que fait l'intégration

FonctionnalitéDescription
AbonnementsCréation et gestion des plans (MONTHLY / YEARLY)
CheckoutSession de paiement hébergée Stripe avec codes promo
Portail clientInterface Stripe self-service pour changer de plan, mettre à jour la CB, télécharger les factures
FacturesListe des factures avec téléchargement PDF
WebhooksSynchronisation automatique des états d'abonnement
Dashboard adminVue des tenants, override de statut, gestion des plans

Prérequis

Un compte Stripe sur dashboard.stripe.com avec :

  • Les plans/prix créés dans Stripe (un price ID par offre)
  • Un endpoint webhook configuré
  • La clé secrète et la clé webhook récupérées

Configuration

Depuis Backoffice → Paramètres → Stripe, renseignez la clé secrète et le webhook secret. La facturation reste désactivée tant que la clé n'est pas configurée.

Champs disponibles

ChampDescription
Clé secrètesk_live_... en prod, sk_test_... en dev
Webhook Secretwhsec_... — requis pour valider les événements Stripe entrants
Entité de facturationNom légal affiché sur les factures
ServiceLibellé de la ligne de facturation

Configuration du webhook Stripe

1. Créer l'endpoint

Dans le dashboard Stripe :

Developers → Webhooks → Add endpoint

ChampValeur
URLhttps://api.governia.eu/billing/webhook (prod) ou https://api-dev.governia.eu/billing/webhook (dev)
Version2026-01-28

2. Sélectionner les événements

Activez uniquement ces événements :

ÉvénementEffet dans GovernIA
checkout.session.completedActive l'abonnement après paiement
customer.subscription.updatedMet à jour le plan, cycle, statut
customer.subscription.deletedPasse le statut à CANCELED
invoice.payment_succeededConfirme le paiement → statut ACTIVE
invoice.payment_failedMarque l'abonnement PAST_DUE

3. Récupérer le Webhook Secret

Après création de l'endpoint, Stripe affiche le Signing secret (whsec_...). Copiez-le dans Paramètres → Stripe → Webhook Secret.


États d'abonnement

StatutDescription
TRIALINGPériode d'essai (14 jours par défaut)
ACTIVEAbonnement actif, paiement à jour
PAST_DUEDernier paiement échoué
CANCELEDAbonnement résilié
PAUSEDAbonnement suspendu (override admin)

Redirections après checkout

ActionRedirection
Paiement réussi{CLIENT_APP_URL}/suite/billing?checkout=success
Paiement annulé{CLIENT_APP_URL}/suite/billing?checkout=cancel
Retour portail{CLIENT_APP_URL}/suite/billing

Tester en développement

Utilisez les cartes de test Stripe :

CarteComportement
4242 4242 4242 4242Paiement réussi
4000 0000 0000 9995Paiement refusé
4000 0025 0000 3155Authentification 3DS requise

Pour tester les webhooks en local, utilisez la Stripe CLI :

bash
stripe listen --forward-to localhost:4000/billing/webhook

Dépannage

ProblèmeCause probableSolution
La facturation n'est pas activéeClé secrète absente ou invalideVérifier dans Paramètres → Stripe que la clé commence par sk_
Webhooks non reçusEndpoint mal configuré ou secret incorrectVérifier l'URL du webhook dans Stripe et le Webhook Secret dans Paramètres
Abonnement bloqué sur TRIALINGWebhook checkout.session.completed non reçuVérifier les logs webhook dans le dashboard Stripe
Erreur 400 sur le webhookSignature invalideVérifier que le Webhook Secret correspond à l'endpoint actif

GovernIA — Plateforme de gouvernance IA et conformité réglementaire