Betalingen 8 min leestijd

PayPal-koppeling laten maken voor je webshop of software.

PayPal koppelen aan je webshop of maatwerksoftware: hoe de Orders API en OAuth 2.0 werken, webhooks veilig verifiëren, refunds, disputes en doorkoppelen naar je boekhouding.

Jasper Koers ·

In het kort

  • PayPal is een digitale wallet én betaalprovider: je klant rekent af met zijn PayPal-saldo, bankrekening of kaart zonder die gegevens bij jou achter te laten
  • De PayPal REST API werkt met OAuth 2.0: je wisselt client-ID en secret in voor een access token dat je bij elke aanroep meestuurt
  • Betaalstatussen verwerk je via webhooks; verifieer altijd de handtekening en verwerk ze idempotent
  • Ken het verschil tussen autoriseren en captureren — te vroeg captureren leidt tot onterechte afschrijvingen en correcties
  • Disputes en chargebacks horen bij PayPal: leg orders, verzending en communicatie vast zodat je een geschil kunt onderbouwen

Waarom koppelen aan PayPal?

Kort antwoord

PayPal is een wereldwijd gebruikte digitale wallet en betaalprovider. Een PayPal-koppeling laat je klanten in je eigen webshop of maatwerksoftware afrekenen met hun PayPal-account, terwijl PayPal de transactie afhandelt. Je maakt een order aan via de Orders API, verwerkt de definitieve status via geverifieerde webhooks en koppelt de betaling door naar je administratie.

PayPal is voor veel consumenten een vertrouwde manier om online te betalen — vooral bij internationale aankopen en op marktplaatsen. De klant hoeft geen kaart- of bankgegevens in te vullen op jouw site: hij logt in bij PayPal en bevestigt de betaling. Voor grensoverschrijdende verkoop en voor doelgroepen die PayPal gewend zijn, kan die drempelverlaging de conversie merkbaar helpen.

Onder de motorkap is PayPal tegelijk een wallet én een payment service provider. De klant kan betalen vanuit zijn PayPal-saldo, een gekoppelde bankrekening of een creditcard, maar voor jou als verkoper voelt het als één betaalmethode. Dat verschil bepaalt hoe je de koppeling bouwt en wat je administratief regelt rond uitbetalingen, kosten en geschillen.

PayPal, je PSP of direct — wat is het verschil?

PayPal staat naast providers als Mollie en Adyen, maar je kunt het op twee manieren aanbieden:

  • Via je bestaande PSP — Providers als Mollie en Adyen bieden PayPal aan als één van hun betaalmethoden. Je onderhoudt dan maar één koppeling en ziet PayPal-transacties in hetzelfde dashboard als je overige betalingen. Simpel, maar met minder directe controle en een extra schakel in de keten.
  • Direct met de PayPal API — Je bouwt een eigen koppeling met PayPal. Dat geeft je directe controle over de checkout, over uitbetalingen en over de afhandeling van disputes, en kan bij hoge volumes gunstiger uitpakken. De prijs is dat je zelf de authenticatie, webhooks en administratieve doorkoppeling verzorgt.

Welke route past, hangt af van je situatie. Heb je al een PSP en wil je PayPal er "even bij", dan is de route via je provider het snelst. Bouw je maatwerksoftware met een eigen checkout, of wil je PayPal-betalingen strak doorkoppelen naar je eigen orderverwerking en boekhouding, dan is een directe koppeling logischer.

Wat kun je koppelen met de PayPal API?

De PayPal REST API dekt het volledige betaalproces. De Orders API v2 is daarbij de kern. De koppelingen die we het vaakst bouwen:

  • Order aanmaken — Vanuit je eigen software een betaalorder starten met het juiste bedrag, valuta en de bestelregels. De klant wordt naar PayPal geleid om de betaling goed te keuren.
  • Autoriseren of captureren — Bij directe verkoop capture je de order meteen. Verzend je pas later, dan autoriseer je bij de bestelling (het bedrag wordt gereserveerd) en capture je bij verzending.
  • Refunds — Een betaling geheel of gedeeltelijk terugbetalen vanuit je software, zonder in te loggen op het PayPal-dashboard.
  • Payouts — Bedragen uitbetalen naar PayPal-accounts, bijvoorbeeld voor een marktplaats met meerdere verkopers of voor commissies en restituties.
  • Statussen verwerken — De definitieve uitkomst van een betaling ontvangen via webhooks en koppelen aan de juiste order of factuur.

Authenticatie: OAuth 2.0 met client-ID en secret

Anders dan sommige PSP's die met een simpele API-key werken, gebruikt de PayPal REST API OAuth 2.0. Je wisselt je client-ID en client-secret in voor een access token, en dat token stuur je als Bearer-token mee bij elke aanroep. Het token heeft een beperkte geldigheidsduur, dus je koppeling moet het cachen en tijdig verversen in plaats van bij elke request opnieuw op te vragen (PayPal — Authentication).

Die credentials horen veilig in je serveromgeving thuis — in een environment-variabele of een secrets manager, nooit in je frontend of in je broncode. PayPal heeft daarnaast een strikt gescheiden sandbox- en live-omgeving, elk met eigen credentials en eigen endpoints. Die scheiding consequent doorvoeren voorkomt de klassieke fout dat een testbetaling per ongeluk in productie belandt of andersom. Bouw je koppeling daarom met omgevingsspecifieke configuratie vanaf dag één.

Betaalstatussen verwerken met webhooks

De uitkomst van een PayPal-betaling haal je niet betrouwbaar uit de browser van de klant — die kan het tabblad sluiten of de verbinding kan wegvallen. De betrouwbare bron is de webhook: PayPal stuurt jouw server een melding zodra een betaling wordt vastgelegd of de status verandert.

Twee dingen zijn daarbij essentieel:

  • Verifieer de handtekening — Een binnenkomende webhook moet je verifiëren voordat je hem vertrouwt, anders kan iemand nepmeldingen naar je endpoint sturen. PayPal biedt daarvoor twee methoden: een lokale controle op basis van de meegestuurde certificaatgegevens, of een verificatie-aanroep naar PayPal (PayPal — Webhooks).
  • Verwerk idempotent — PayPal kan hetzelfde event opnieuw afleveren. Je endpoint moet dat aankunnen: een dubbel ontvangen melding mag nooit leiden tot een dubbele order, dubbele factuur of dubbele e-mail. Hoe je dat netjes oplost, lees je in ons artikel over idempotentie.
Een betaalkoppeling staat of valt bij de webhook-afhandeling. De betaling starten is het makkelijke deel — de status geverifieerd en precies één keer verwerken is waar het echte werk zit.

Disputes, chargebacks en buyer protection

Dit is het stuk dat bij PayPal het vaakst wordt onderschat. PayPal biedt kopers buyer protection: een klant die een probleem heeft — niet ontvangen, niet zoals omschreven — kan een geschil openen of, via zijn kaartuitgever, een chargeback starten. Kun je levering, afspraken en communicatie niet aantonen, dan kan het bedrag worden teruggeboekt.

Voor jouw software betekent dat: leg vast wat je later nodig hebt. Ordergegevens, verzendbewijs (track-and-trace), en de communicatie rond een bestelling zijn geen administratieve bijzaak maar je belangrijkste bescherming bij een geschil. Een koppeling die alleen de geslaagde betaling afhandelt maar de dispute-kant negeert, laat je op het verkeerde moment met lege handen staan.

Bij PayPal is een geslaagde betaling niet het einde van het verhaal. Een order kan weken later nog worden aangevochten — je software moet die situatie kunnen onderbouwen.

Voor de administratie geldt hetzelfde principe als bij elke betaalprovider: PayPal houdt transactiekosten in en bundelt uitbetalingen. Voor een sluitende boekhouding wil je die uitbetalingen automatisch afletteren tegen je orders, net zoals bij het koppelen van je webshop aan je boekhoudpakket.

Veelgemaakte fouten bij PayPal-koppelingen

Op basis van de betaalkoppelingen die we bouwen, zijn dit de valkuilen die we het vaakst tegenkomen:

  • Webhooks niet verifiëren — Een niet-geverifieerde webhook accepteren opent de deur voor vervalste meldingen. Verifieer de handtekening voordat je een order op "betaald" zet.
  • Niet idempotent verwerken — Een opnieuw verstuurde webhook leidt dan tot dubbele orders of dubbele boekingen.
  • Vertrouwen op de redirect — De terugkeer naar je site is geen bewijs van een geslaagde betaling; de geverifieerde webhook is de bron van waarheid.
  • Capture verwarren met autorisatie — Te vroeg captureren zorgt voor onterechte afschrijvingen en correcties wanneer je pas later levert.
  • Sandbox en live door elkaar — PayPal heeft aparte omgevingen met eigen credentials en tokens. Strikt scheiden voorkomt vervelende verrassingen bij livegang.

Mijn kijk op PayPal in maatwerk

PayPal is geen betaalmethode die je "even" aanzet zoals een extra knop in de checkout. Omdat er een wallet, een OAuth-flow en buyer protection achter zitten, is het een betaalproduct met eigen processen: tokenbeheer, capture bij verzending, refunds, payouts en — vooral — disputes. Een doordachte koppeling neemt die kanten serieus in plaats van alleen de geslaagde betaling.

Wat ik bedrijven meegeef: kies PayPal om de juiste reden. Voor internationale verkoop en voor doelgroepen die PayPal vertrouwen, kan het aantoonbaar helpen — en dan is het de moeite waard. Maar onderschat de dispute-kant niet. De fout die ik het vaakst zie, is dat de happy path werkt — een geslaagde betaling — terwijl de randgevallen niet zijn afgedekt: een niet-geverifieerde webhook, een dubbele melding, een chargeback die weken later binnenkomt.

Die randgevallen zíjn het echte werk van een betaalkoppeling. Daar zit het verschil tussen een koppeling die maandenlang ongemerkt goed loopt en een die elke maand handmatig recht moet worden getrokken.

— Jasper

Zo helpt Coding Agency hierbij

Wij bouwen betaalkoppelingen die meer doen dan een betaling starten: met correcte OAuth-authenticatie, geverifieerde en idempotente webhook-verwerking, een nette capture- en refundflow, oog voor disputes en — waar gewenst — doorkoppeling naar je boekhouding. Of je nu PayPal naast Mollie wilt aanbieden of een eigen checkout in je maatwerksoftware bouwt, we denken graag mee over de juiste aanpak.

Benieuwd of een directe PayPal-koppeling bij jouw situatie past, of hoe een koppeling er voor jou uitziet? Neem contact op voor een vrijblijvend gesprek.

Bronnen: PayPal Developer — Authentication (developer.paypal.com) · PayPal Developer — Orders API v2 (developer.paypal.com) · PayPal Developer — Webhooks (developer.paypal.com).

Veelgestelde vragen

Beide kan. Providers als Mollie en Adyen bieden PayPal als betaalmethode aan, waardoor je maar één koppeling onderhoudt. Wil je een eigen checkout, lagere kosten of directe controle over disputes en payouts, dan bouw je een directe koppeling met de PayPal API.
Via webhooks die PayPal naar je server stuurt zodra een betaling wordt vastgelegd of de status wijzigt. Verifieer de handtekening van elke webhook en verwerk hem idempotent, want PayPal kan hetzelfde event opnieuw versturen. Vertrouw nooit alleen op de terugkeer in de browser.
Bij autoriseren reserveert PayPal het bedrag zonder het af te schrijven; bij capture wordt het daadwerkelijk geïnd. Voor directe verkoop capture je meteen. Verzend je pas later, dan autoriseer je bij de bestelling en capture je bij verzending.
PayPal kent buyer protection: een koper kan een geschil of chargeback openen. Kun je levering en afspraken niet aantonen, dan kan het bedrag worden teruggeboekt. Goede vastlegging van orders, verzending en communicatie in je software is daarom je belangrijkste bescherming.
Gerelateerde expertise — API & Koppelingen

API-koppeling laten maken? Wij bouwen betrouwbare integraties met monitoring, retry-logica en vaste prijs per koppeling. Vanaf € 1.000.

Onderwerpen
PayPal Betalingen PSP Webhooks OAuth2 E-commerce Orders API

Hulp nodig?

Vragen over dit onderwerp? Laten we het erover hebben.

Neem contact op