Wat is een payment gateway? Hoe online betalingen werken, uitgelegd
Een payment gateway is de dienst die bij het afrekenen veilig de betaalgegevens van een klant opvangt, ze doorgeeft aan de banken en kaartnetwerken voor goedkeuring, en “goedgekeurd” of “geweigerd” terugstuurt, meestal binnen een paar seconden. Het is de brug tussen je app en het financiële systeem. Stripe, PayPal, Adyen, Square en Braintree zijn bekende voorbeelden.
Tegenwoordig bundelen de meeste van die bedrijven de gateway met alles wat je nodig hebt om betaald te worden, dus “payment gateway”, “payment processor” en “payment provider” worden vaak voor hetzelfde gebruikt.
Waarom payment gateways ertoe doen als je met AI bouwt
“Betalingen toevoegen” is een van de meest voorkomende verzoeken aan AI-bouwers, en een van de makkelijkst subtiel fout te doen. De code zelf is meestal kort. De belangrijke delen zijn de beslissingen eromheen:
- Welke provider bij je bedrijf, land en wat je verkoopt past.
- Waar de code draait. Geheime betalingssleutels moeten op de server blijven, nooit in de browser.
- Hoe je app ontdekt dat een betaling is gelukt. De betrouwbare manier is een webhook van de provider, niet dat de klant op een “bedankt”-pagina terechtkomt.
- Je juridische en fiscale verantwoordelijkheden, die afhangen van wie de merchant of record is.
Begrijpen wat een gateway doet, helpt je duidelijke instructies te geven en te controleren of het resultaat veilig is.
Een alledaagse vergelijking
Denk aan betalen met pin in een winkel.
De pinautomaat op de toonbank is de gateway: die leest je kaart veilig en stuurt het verzoek door. Hij beslist zelf niets: hij geeft de vraag “kan deze persoon €40 betalen?” door via een keten naar je bank, en krijgt het antwoord terug. De bank van de winkel (acquirer) en jouw bank (issuer) beslissen, via het kaartnetwerk (Visa, Mastercard) dat hen verbindt.
Een online payment gateway is die terminal, opnieuw gebouwd voor het web, plus de beveiliging om kaartgegevens af te handelen die via internet binnenkomen.
Hoe een online kaartbetaling werkt
Hier is wat er gebeurt in de paar seconden nadat een klant op “Betalen” klikt:
| Stap | Wat er gebeurt | Wie het doet |
|---|---|---|
| 1. Afrekenen | De klant vult de kaartgegevens in op een veilig betalingsformulier | Het betalingsformulier of de pagina van de provider |
| 2. Versleuteling | De gegevens worden versleuteld en naar de gateway gestuurd | Gateway |
| 3. Autorisatieverzoek | Het verzoek gaat naar het kaartnetwerk en de bank van de klant | Processor, kaartnetwerk |
| 4. Controles | De bank controleert saldo en fraudesignalen, en vraagt mogelijk extra verificatie zoals 3D Secure | Uitgevende bank |
| 5. Antwoord | Goedgekeurd of geweigerd komt terug bij je app | Gateway |
| 6. Afboeking en afwikkeling | Het geld wordt geïnd en, volgens het uitbetalingsschema van de provider, na aftrek van kosten op je bankrekening gestort | Processor, acquirer |
Twee punten zijn het waard om te weten:
- Autorisatie is niet hetzelfde als betaald worden. Het geld wordt eerst gereserveerd, daarna afgeboekt en vervolgens afgewikkeld naar je rekening, vaak pas na dagen.
- Je app mag het kaartnummer helemaal niet zien. Moderne providers geven je een gehoste checkoutpagina of ingesloten velden die zij beheren, en je app krijgt alleen een verwijzing naar de betaling.
De belangrijkste onderdelen en wie ze beheert
| Onderdeel | Wat het is |
|---|---|
| Payment gateway | Vangt betaalgegevens veilig op en geeft ze door. |
| Payment processor | Verplaatst de transactiegegevens tussen de banken. |
| Merchantaccount | Het account dat kaartbetalingen namens jou ontvangt. Wordt door providers zoals Stripe gebundeld. |
| Acquirer | De bank aan de kant van de verkoper. |
| Issuer | De bank van de klant, die goedkeurt of weigert. |
| Kaartnetwerk | Visa, Mastercard en andere, die acquirers en issuers verbinden. |
| Merchant of record | Het bedrijf dat wettelijk aan de klant verkoopt en verantwoordelijk is voor belasting, terugbetalingen en geschillen. |
Sommige providers (Paddle, Lemon Squeezy) treden zelf op als merchant of record en regelen btw en omzetbelasting voor je, in ruil voor hogere kosten. Andere (Stripe, PayPal) laten jou de merchant of record zijn, met optionele belastingtools. Voor een eerlijk overzicht van de opties, zie Stripe vs Paddle vs Lemon Squeezy en Stripe vs PayPal.
Een uitgewerkt voorbeeld: een cursus verkopen
Je verkoopt een online cursus voor €99 en vraagt je AI-bouwer om een knop “Kopen” toe te voegen.
- De klant klikt op Kopen. Je server gebruikt de geheime sleutel om de provider te vragen een checkoutsessie voor €99 aan te maken, en krijgt een link terug.
- De klant wordt naar de gehoste checkoutpagina van de provider gestuurd, voert de kaart in en voltooit eventuele 3D Secure-controle bij zijn bank.
- De betaling wordt goedgekeurd en de klant wordt doorgestuurd naar je “geslaagd”-pagina.
- Los daarvan stuurt de provider een webhook naar je server: “betaling voor sessie X is geslaagd.” Je server controleert de handtekening van de webhook, zoekt de bestelling, markeert die als betaald en ontgrendelt de cursus.
- Dagen later komt het geld, na aftrek van kosten, op je bankrekening.
Stap 4 is het belangrijkst. Als je de cursus op de geslaagd-pagina had ontgrendeld, kon iedereen die die URL vond hem gratis krijgen, en klanten wier browser vroeg sloot, zouden betalen en niets krijgen.
Belangrijke begrippen
| Begrip | Betekenis |
|---|---|
| Checkoutsessie | Een eenmalige betaalpagina of -stroom die door je server voor een specifieke aankoop wordt aangemaakt. |
| Testmodus | Een sandbox waarin je testsleutels en testkaartnummers gebruikt; er gaat geen echt geld over. |
| Publishable / secret key | De publishable key mag in browsercode staan; de secret key moet op de server blijven. |
| 3D Secure | Een extra stap waarbij de klant de betaling bij zijn bank bevestigt, gebruikelijk in Europa onder de SCA-regels (Strong Customer Authentication). |
| PCI DSS | De beveiligingsstandaard van de kaartbranche voor iedereen die kaartgegevens verwerkt. |
| Chargeback | Wanneer een klant een betaling bij zijn bank betwist en het geld wordt teruggevorderd. |
| Terugbetaling (refund) | Geld dat jij vrijwillig terugstort. |
| Uitbetaling (payout) | De overboeking van het door de provider geïnde geld naar je bankrekening. |
Veelvoorkomende misverstanden
- “Ik moet kaartnummers opslaan om klanten opnieuw te kunnen belasten.” Nee. Providers slaan de kaart op en geven jou een referentietoken voor herhaalde betalingen en abonnementen. Sla kaartnummers nooit zelf op.
- “De geslaagd-pagina betekent dat de betaling is gelukt.” Bevestig betalingen met webhooks op de server. Redirects kunnen worden overgeslagen, vervalst of helemaal niet plaatsvinden.
- “Betalingsproviders kosten allemaal ongeveer hetzelfde.” Tarieven verschillen per provider, land, kaarttype en of btw-afhandeling is inbegrepen. Controleer de actuele prijspagina van elke provider voor jouw land.
- “Met Stripe ben ik automatisch PCI-compliant.” Het maakt compliance veel eenvoudiger, omdat kaartgegevens bij de provider blijven, maar je moet nog steeds een (meestal korte) zelfevaluatie invullen.
- “Testmodus en live-modus gedragen zich identiek.” Ze zijn dichtbij elkaar, maar live vereist een volledig geverifieerd account, echte webhook-endpoints voor de live omgeving en echte bankgegevens.
- “Een payment gateway regelt mijn belastingen.” Alleen als hij de merchant of record is of je zijn belastingfuncties inschakelt en instelt. Controleer je lokale regels of vraag een adviseur.
Wat je aan je AI-appbouwer kunt vragen
- “Voeg [Stripe] Checkout toe voor [product]. Maak de sessie op de server aan met de geheime sleutel uit een omgevingsvariabele.”
- “Markeer bestellingen alleen als betaald vanuit een geverifieerde webhook, en controleer de handtekening van de webhook.”
- “Zorg dat het dubbel versturen van een webhook geen dubbele bestellingen aanmaakt.”
- “Gebruik testmodus-sleutels en leid me door het testen met de testkaarten van de provider, inclusief een geweigerde kaart.”
- “Wat gebeurt er als de klant het tabblad sluit nadat hij heeft betaald?”
- “Laat me elke plek zien waar een betalingssleutel wordt gebruikt, en bevestig dat de geheime sleutel nooit de browser bereikt.”
Payment gateways in Mythex
Mythex bevat geen ingebouwde betalingen voor de apps die je bouwt, en er is geen knop “Stripe koppelen” met één klik. Je maakt een account aan bij de provider van je keuze, voegt de testsleutels toe als projectsecrets en vraagt de agent de checkout aan de serverkant te bouwen. Test in Preview met de testkaarten van de provider, en publiceer daarna. De documentatie loopt dit door in betalingen accepteren met Stripe, en Webhooks behandelt de bevestigingsstap.
Voor een stap-voor-stap bouw, zie hoe je betalingen aan je app toevoegt en, voor terugkerende facturering, hoe je abonnementen met Stripe toevoegt.
Veelgestelde vragen
Wat is een payment gateway in het kort?
Een payment gateway is de dienst die de betaalgegevens van een klant veilig uit je checkout haalt, ze naar de banken en kaartnetwerken stuurt voor goedkeuring, en een goedgekeurd of geweigerd antwoord terugstuurt naar je app, meestal binnen een paar seconden.
Wat is het verschil tussen een payment gateway en een payment processor?
Strikt genomen is de gateway de veilige voordeur die betaalgegevens opvangt en doorgeeft, en de processor verplaatst de transactie tussen de banken. In de praktijk bundelen moderne providers zoals Stripe, PayPal en Adyen beide, plus het merchantaccount, in één dienst, dus de termen worden vaak door elkaar gebruikt.
Moet ik PCI-compliant zijn om kaartbetalingen te accepteren?
Elk bedrijf dat kaarten accepteert, moet in een bepaalde vorm voldoen aan de beveiligingsstandaard PCI DSS. Als je een gehoste checkoutpagina of de ingesloten betalingsvelden van de provider gebruikt, komen kaartnummers nooit op je servers terecht, wat je verantwoordelijkheid sterk verkleint. Je provider vertelt je welke zelfevaluatie van toepassing is.
Wat is een merchant of record?
Een merchant of record is het bedrijf dat wettelijk aan de klant verkoopt en verantwoordelijk is voor zaken als het innen en afdragen van btw en omzetbelasting, en het afhandelen van terugbetalingen en chargebacks. Diensten zoals Paddle en Lemon Squeezy treden voor jou op als merchant of record; bij Stripe of PayPal ben je dat meestal zelf.
Kan ik betalingen toevoegen aan een app die met AI is gebouwd?
Ja. Een AI-bouwer kan de code schrijven die je app verbindt met een provider zoals Stripe: checkoutsessies aanmaken op de server, webhooks verwerken en bestellingen bijwerken. Je hebt wel je eigen account bij de provider nodig, en je moet alles in de testmodus van die provider testen voordat je live gaat.