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énement | Description |
|---|---|
payment_intent.succeeded | Paiement réussi |
charge.refunded | Remboursement |
customer.subscription.updated | Abonnement modifié |
Configurer les webhooks
- Allez Ă Stripe Dashboard → WebhooksÂ
- Endpoint URL :
https://yourdomain.com/api/webhooks/stripe - Événements à écouter : Select above
- Copiez le Signing secret
- 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/customPermettant d’intégrer Wagoo avec vos propres systèmes.
Voir Paiements Stripe pour plus d’exemples.
Last updated on