Handleidingen · n8n

Stripe betalingen automatiseren met n8n: orderbevestigingen, facturen en klantenbeheer

Koppel Stripe aan n8n en stuur automatisch orderbevestigingen, maak facturen aan in Moneybird en voeg klanten toe aan je e-maillijst. Stap-voor-stap

🟡 Gevorderd — beetje technisch ⏱ 2-3 uur
Tools: n8nStripeGmail of MailchimpMoneybird (optioneel)
Laptop met betalingsoverzicht en automatiseringsicoontjes

Wat je leert in deze handleiding

  • Stripe webhooks registreren en opvangen in n8n
  • Klantgegevens en betalingsdata extraheren uit Stripe-events
  • Automatische orderbevestiging sturen via Gmail
  • Facturen aanmaken in Moneybird via de REST API
  • Nieuwe klanten toevoegen aan Mailchimp of MailerLite
  • Veelgemaakte fouten oplossen bij Stripe-n8n integraties

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:

  • payment_intent.succeeded: een eenmalige betaling is geslaagd
  • checkout.session.completed: iemand heeft een Stripe Checkout afgerond
  • invoice.payment_succeeded: een abonnementsfactuur is betaald
  • customer.subscription.deleted: een abonnement is opgezegd
  • charge.refunded: een terugbetaling is verwerkt
  • 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:

  • Webhook Trigger: ontvangt het checkout.session.completed event van Stripe
  • Set node: haal klantgegevens op uit de payload (naam, e-mailadres, bedrag, bestelnummer)
  • Gmail node: stuur een HTML e-mail met orderdetails naar de klant
  • De Stripe checkout.session.completed payload bevat onder andere:

    checkout.session.completed voorbeeld
    {
      "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:

  • klantEmail: {{ $json.data.object.customer_details.email }}
  • klantNaam: {{ $json.data.object.customer_details.name }}
  • bedragEuro: {{ ($json.data.object.amount_total / 100).toFixed(2) }}
  • bestelnummer: {{ $json.data.object.metadata.bestelnummer }}
  • 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:

  • Webhook Trigger: ontvangt payment_intent.succeeded of checkout.session.completed
  • HTTP Request node: haal klantgegevens op uit Stripe via de Customers API
  • IF node: controleer of er al een contact bestaat in Moneybird
  • HTTP Request node: maak een nieuw contact aan in Moneybird (als nodig)
  • HTTP Request node: maak een verkoopfactuur aan in Moneybird
  • 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:

    Moneybird factuur aanmaken
    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:

  • Webhook Trigger: checkout.session.completed event
  • IF node: controleer of customer_details.email aanwezig is
  • Mailchimp node (of MailerLite/ActiveCampaign node): voeg e-mailadres toe aan lijst
  • Slack node (optioneel): stuur een interne notificatie per nieuwe klant
  • 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:

  • Een interne Slack-melding stuurt zodat een medewerker snel kan reageren
  • De klant na 24 uur een persoonlijke e-mail stuurt met een speciale terugkeeraanbieding
  • De klant in de e-maillijst verplaatst naar een churned-segment voor geautomatiseerde opvolgreeks
  • 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

  • Stripe: 1,4% + 0,25 euro per geslaagde transactie (EU-kaarten), geen maandelijkse kosten
  • n8n Cloud Starter: 20 euro per maand, 2.500 workflow-uitvoeringen
  • n8n zelf-gehost: alleen serverkosten, 5 tot 15 euro per maand op een VPS
  • Moneybird: vanaf 12 euro per maand voor de Zakelijk Plus versie
  • 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.

    Gerelateerd

    Nieuwsbrief

    Meer handleidingen en tips?

    Elke week de beste agentic AI inzichten en nieuwe handleidingen in je inbox.

    Gratis aanmelden →