Stripe is de meest gebruikte betaalprovider voor Nederlandse webshops, SaaS-platforms en freelancers. Elke succesvolle betaling genereert een webhook-event dat je kunt gebruiken als startpunt voor automatische workflows: orderbevestigingen sturen, facturen aanmaken, klanten toevoegen aan je e-maillijst en abonnementen activeren. In deze handleiding bouw je drie praktische n8n-workflows op basis van Stripe-webhooks.
Wat je nodig hebt
Stripe-account (gratis aanmaken op stripe.com), n8n (cloud of zelf-gehost), en optioneel: Moneybird-account voor facturen en een e-maillijst in Mailchimp, ActiveCampaign of MailerLite.
Hoe Stripe webhooks werken
Stripe stuurt automatisch een HTTP POST-verzoek naar een door jou opgegeven URL zodra er een gebeurtenis plaatsvindt: een geslaagde betaling, een mislukte afschrijving, een geannuleerd abonnement. Dit worden webhooks genoemd. n8n vangt deze webhooks op via de Webhook Trigger node en start daarna de rest van de workflow.
De meest gebruikte Stripe webhook-events voor MKB-automatisering:
Stap 1: Stripe koppelen aan n8n
1a. Webhook URL aanmaken in n8n
Open n8n en maak een nieuw workflow aan. Voeg een Webhook node toe als startpunt. Kies als methode POST en sla de gegenereerde URL op (bijv. https://jouw-n8n.com/webhook/stripe-betalingen). Schakel de workflow in via de toggle rechtsbovenin, anders ontvangt n8n geen webhooks.
1b. Webhook registreren in Stripe
Ga in het Stripe Dashboard naar Developers > Webhooks > Add endpoint. Plak de n8n-URL in het veld Endpoint URL. Selecteer bij Events to listen to de events die je wilt ontvangen, minimaal checkout.session.completed en payment_intent.succeeded. Sla de webhook op en kopieer het Signing Secret: dit gebruik je later om de authenticiteit van binnenkomende berichten te verifieren.
Tip: Stripe webhook verificatie
Sla het Stripe Signing Secret op als n8n-credential (type: Header Auth, naam: stripe-signature). Gebruik de n8n Webhook-node met de optie 'Validate Stripe Signature' om te voorkomen dat kwaadwillenden nep-events sturen.
1c. Testbetalingen uitvoeren
Stripe biedt testkaarten aan. Gebruik kaartnummer 4242 4242 4242 4242 met willekeurige toekomstige vervaldatum en CVC om een geslaagde testbetaling te simuleren. In het Stripe Dashboard zie je het testverzoek bij Developers > Webhooks > Recent deliveries. In n8n verschijnt de payload direct in de Webhook-node.
Workflow 1: Orderbevestiging sturen via Gmail
De eenvoudigste en meest waardevolle eerste workflow: stuur automatisch een persoonlijke orderbevestiging zodra een betaling succesvol is afgerond.
Nodes in deze workflow:
De Stripe checkout.session.completed payload bevat onder andere:
{
"type": "checkout.session.completed",
"data": {
"object": {
"id": "cs_live_abc123",
"amount_total": 4900,
"currency": "eur",
"customer_details": {
"email": "klant@voorbeeld.nl",
"name": "Jan de Vries"
},
"metadata": {
"bestelnummer": "ORD-2026-0892"
}
}
}
}
In de Set node extraheer je de velden:
De Gmail node stuurt vervolgens een e-mail naar klantEmail met een gepersonaliseerde bevestiging. Gebruik HTML voor een nette opmaak. Stel als afzender je eigen zakelijke e-mailadres in via een Gmail OAuth2-credential.
Variatie: andere e-mailproviders
Gebruik je geen Gmail? n8n heeft ook nodes voor Outlook (Microsoft), Postmark, SendGrid en Mailgun. De structuur van de workflow is identiek, alleen de laatste node verschilt.
Workflow 2: Automatische factuur aanmaken in Moneybird
Moneybird is een populaire boekhoudtool voor Nederlandse MKB-bedrijven. Met de Moneybird API kun je vanuit n8n automatisch een factuur aanmaken zodra een Stripe-betaling binnenkomt.
Nodes in deze workflow:
De Moneybird API werkt via REST. Je hebt een Moneybird API-token nodig (te vinden via Moneybird > Profiel > API > Toegangstokens). Sla het token op als n8n-credential (Header Auth, naam: Authorization, waarde: Bearer JOUW_TOKEN).
Voorbeeld HTTP Request voor het aanmaken van een factuur in Moneybird:
POST https://moneybird.com/api/v2/ADMINISTRATIE_ID/sales_invoices
Authorization: Bearer JOUW_TOKEN
Content-Type: application/json
{
"sales_invoice": {
"contact_id": "{{ $json.contact_id }}",
"invoice_date": "{{ $now.toISODate() }}",
"details_attributes": [
{
"description": "Bestelling {{ $json.bestelnummer }}",
"price": "{{ $json.bedragExclBTW }}",
"tax_rate_id": "JOUW_BTW_CODE_ID",
"amount": "1"
}
]
}
}
BTW automatisch berekenen
Stripe slaat bedragen op in centen inclusief BTW. Bereken het exclusief-BTW-bedrag in een Code node: const exclBTW = (amount_total / 100 / 1.21).toFixed(2). Pas het BTW-percentage aan op je situatie (9% voor bepaalde diensten).
Workflow 3: Nieuwe klant toevoegen aan e-maillijst
Elke nieuwe betalende klant verdient een plek in je e-mailmarketingtool. Deze workflow voegt klanten automatisch toe aan Mailchimp, MailerLite of ActiveCampaign na een geslaagde Stripe-betaling.
Nodes in deze workflow:
De Mailchimp node in n8n heeft een directe integratie. Je hebt alleen een Mailchimp API-sleutel en de Audience ID van je lijst nodig. Stel tags in op basis van het gekochte product via de metadata die je in Stripe meestuurt.
Wil je ook tags meegeven op basis van het product? Voeg een Switch node toe voor de Mailchimp node. Koppel elke productcategorie (via metadata.product_type in de Stripe Checkout Session) aan een andere tag in Mailchimp.
Abonnement opgezegd: automatische opvolgacties
Het customer.subscription.deleted event biedt een kans om churners terug te winnen. Bouw een workflow die:
Gebruik de Wait node in n8n om de e-mail na 24 uur te versturen in plaats van direct. Zo geef je de klant ruimte terwijl je toch proactief bent.
Veelgemaakte fouten en oplossingen
Fout: Webhook ontvangt geen data
Controleer of de workflow in n8n actief is (toggle rechtsbovenin). Een inactieve workflow ontvangt geen webhooks. Test vervolgens via Stripe Dashboard > Developers > Webhooks > Send test webhook.
Fout: amount_total is undefined
Niet alle Stripe-events bevatten amount_total op hetzelfde niveau. Bij payment_intent.succeeded staat het bedrag in amount_received. Gebruik een IF node om het juiste veld te selecteren op basis van het event-type.
Fout: Moneybird geeft 401 Unauthorized
Controleer of het API-token correct is ingesteld als Bearer token: de Authorization header moet exact de waarde 'Bearer JOUW_TOKEN' bevatten, inclusief het woord Bearer en een spatie ervoor.
Kosten en schaalbaarheid
Bij een webshop met 200 bestellingen per maand kost de volledige stack (n8n Cloud + Moneybird) minder dan 35 euro per maand. Dat staat tegenover meerdere uren handmatig werk voor facturen, bevestigingen en lijstbeheer.
Volgende stap
Heb je de basisworkflows werkend? Breid uit met een retour-verwerking (charge.refunded), een abonnementspauze-flow of een dashboard in Google Sheets dat realtime je Stripe-omzet bijhoudt. Lees de handleiding 'Automatische rapportage bouwen met n8n en Google Sheets' voor de laatste stap.