Skip to Content
Wagoo SaaS 1.0.25 is released 🎉
04 API ReferenceWebhooksWebhooks

Webhooks

Recevez les événements de Stripe et autres services.

Stripe Webhooks

POST /api/webhooks/stripe Content-Type: application/json Stripe-Signature: SIGNATURE

Événements supportés

ÉvénementDescription
payment_intent.succeededPaiement réussi
charge.refundedRemboursement
customer.subscription.updatedAbonnement modifié

Configurer les webhooks

  1. Allez à Stripe Dashboard → Webhooks 
  2. Endpoint URL : https://yourdomain.com/api/webhooks/stripe
  3. Événements à écouter : Select above
  4. Copiez le Signing secret
  5. Ajoutez Ă  .env : STRIPE_WEBHOOK_SECRET=whsec_...

Exemple de webhook

{ "id": "evt_1234567890", "object": "event", "api_version": "2023-10-16", "created": 1673865600, "data": { "object": { "id": "pi_1234567890", "amount": 2999, "currency": "eur", "status": "succeeded" } }, "type": "payment_intent.succeeded" }

Vérifier la signature

// app/api/webhooks/stripe/route.ts import { stripe } from "@/lib/stripe"; export async function POST(request: Request) { const body = await request.text(); const sig = request.headers.get("stripe-signature"); try { const event = stripe.webhooks.constructEvent( body, sig, process.env.STRIPE_WEBHOOK_SECRET! ); // Traiter l'événement switch (event.type) { case "payment_intent.succeeded": const paymentIntent = event.data.object; console.log(`Payment succeeded: ${paymentIntent.id}`); break; } return Response.json({ received: true }); } catch (err) { return Response.json( { error: "Invalid signature" }, { status: 400 } ); } }

Webhooks personnalisés (Futur)

Wagoo supportera bientôt les webhooks personnalisés :

POST /api/webhooks/custom

Permettant d’intégrer Wagoo avec vos propres systèmes.

Voir Paiements Stripe pour plus d’exemples.

Last updated on