Stripe
Ce que ca fait
Stripe envoie les événements de paiement en temps réel vers DURUM.ai : ventes, paiements de factures et remboursements.
| Événement Stripe | Type dans DURUM.ai | Quand ca se déclenché |
|---|---|---|
checkout.session.completed | Vente | Un client complete un achat via Stripe Checkout |
invoice.paid | Paiement | Une facture Stripe est payee |
charge.refunded | Remboursement | Un remboursement est effectue |
Configuration rapide (3 minutes)
Vous avez besoin de 2 endpoints dans votre Stripe Dashboard. Aucun secret à configurer : collez les URLs et c'est tout.
Étape 1 : Trouvez votre identifiant
Votre identifiant est soit un Business ID (format UUID) soit un client_key (identifiant court). Il vous a été transmis par votre gestionnaire de compte lors de l'onboarding.
Vous le trouverez aussi dans DURUM.ai :
- Paramètres → Intégrations → section URLs Webhooks → votre identifiant est pre-rempli dans les URLs
IMPORTANT : Votre identifiant doit être dans chaque URL
Sans votre identifiant dans l'URL, vos paiements ne seront pas attribues à votre compte et seront rejetes.
Étape 2 : Créez les endpoints dans Stripe
- Connectez-vous au Dashboard Stripe → dashboard.stripe.com
- Cliquez sur Developers en bas à gauche
- Cliquez sur Webhooks dans le menu de gauche
- Cliquez sur Add endpoint
Endpoint 1 : Paiements et remboursements
Dans le champ Endpoint URL, entrez :
https://app.durum.ai/api/webhook/payment?client_key=VOTRE_CLE(Remplacez
VOTRE_CLEpar votre identifiant)Cliquez sur Select events to listen to
Cochez les 2 événements suivants :
invoice.paidcharge.refunded
Cliquez sur Add endpoint
Endpoint 2 : Ventes
Cliquez sur Add endpoint à nouveau
Dans le champ Endpoint URL, entrez :
https://app.durum.ai/api/webhook/sale?client_key=VOTRE_CLE(Remplacez
VOTRE_CLEpar votre identifiant)Cliquez sur Select events to listen to
Cochez :
checkout.session.completed
Cliquez sur Add endpoint
Étape 3 : Testez
- Dans Stripe Dashboard, cliquez sur l'endpoint que vous venez de créer
- Cliquez sur Send test webhook
- Sélectionnez le type d'événement (ex:
invoice.paid) - Cliquez sur Send test webhook
- Vérifiez que la réponse est
200 OK - Dans DURUM.ai, allez dans Logs Data pour confirmer la réception
Test rapide
Si vous voyez 200 OK dans Stripe et l'événement dans Logs Data de DURUM.ai, tout est bon. Vous pouvez passer a autre chose.
FAQ
Est-ce que je dois configurer un secret de signature?
Non. DURUM.ai accepte les webhooks Stripe automatiquement si votre identifiant (client_key ou bid) est présent dans l'URL. Aucun secret à copier ou configurer.
Si vous souhaitez tout de même ajouter une couche de sécurité supplementaire, vous pouvez transmettre le Signing secret (whsec_...) à votre gestionnaire de compte qui le configurera dans DURUM.ai.
Pourquoi 2 endpoints et pas 3?
L'endpoint /payment géré à la fois les paiements (invoice.paid) et les remboursements (charge.refunded). Un endpoint dédié /refund existe aussi si vous preferez séparer, mais ce n'est pas nécessaire.
Quel endpoint utiliser si j'utilise Stripe Checkout?
Utilisez l'Endpoint 2 (/sale) avec l'événement checkout.session.completed. C'est ce qui créé la vente dans DURUM.ai.
Si vos clients paient via des factures Stripe (Stripe Invoicing), utilisez l'Endpoint 1 (/payment) avec invoice.paid.
Mes webhooks étaient actifs mais ne fonctionnent plus
Stripe désactivé automatiquement un endpoint après trop d'erreurs consecutives. Allez dans Developers → Webhooks et vérifiez que l'endpoint est Enabled. Si non, cliquez dessus et reactivez-le.
Dépannage
| Problème | Solution |
|---|---|
| Paiements non attribues à mon compte | Vérifiez que ?client_key=VOTRE_CLE est bien dans l'URL |
| Endpoint désactivé dans Stripe | Reactivez-le dans Developers → Webhooks |
| Événement ignore (réponse 200 mais rien dans DURUM.ai) | Vérifiez que vous avez sélectionné les bons événements (invoice.paid, pas invoice.created) |
| Erreur 401 | Votre URL ne contient pas votre identifiant : ajoutez ?client_key=VOTRE_CLE |
| Erreur 429 | Trop de requêtes simultanees : Stripe va reessayer automatiquement |
Checklist rapide
- [ ] 2 endpoints créés dans Stripe Dashboard
- [ ]
client_keyprésent dans chaque URL - [ ] Events sélectionnés :
invoice.paid,charge.refunded,checkout.session.completed - [ ] Test webhook envoye avec succès (réponse
200) - [ ] Événement visible dans Logs Data de DURUM.ai