Card testing is het gebruik van jouw checkout om uit te zoeken welke gestolen kaarten nog werken. Iemand koopt een lijst met kaartnummers, probeert ze in bulk, met kleine betalingen of door een kaart op te slaan, en houdt de kaarten die je betaalprovider accepteert. Stripe noemt als andere namen carding, account testing, enumeratie en card checking; OWASP noemt het carding, "meerdere pogingen tot betalingsautorisatie om de geldigheid van gestolen betaalkaartgegevens in bulk te controleren". Het gebeurt met een script, want een lijst is alleen het testen waard in volume.
Wat card testing je kost
- Disputes. Een deel van de testbetalingen slaagt, de kaarthouders zien ze en melden fraude, en elke betaling kan een dispute met kosten worden.
- De betalingen van je echte klanten. Duizenden weigeringen op naam van je bedrijf laten kaartuitgevers elke betaling van jou als riskanter zien, en Stripe waarschuwt dat legitieme betalingen dan vaker geweigerd kunnen worden, ook nadat het testen stopt.
- Kosten en belasting. Autorisatiekosten bij sommige tariefplannen, en een golf requests die je servers en je provider moeten beantwoorden.
- De aandacht van de kaartnetwerken. Visa telt mee: sinds juni 2025 markeert zijn monitoringprogramma voor acquirers een merchant van wie de enumeratie-autorisaties 20% van al zijn autorisaties bereiken, met minstens 300.000 daarvan in een maand.
- Je cijfers. De kleine betalingen van de tester zien er in je data uit als nieuwe klanten.
Hoe je het in je betalingen ziet
Stripe noemt de gebruikelijke symptomen:
- een piek in mislukte of geblokkeerde betalingen;
- een piek in geweigerde requests, veel met een algemene weigering;
- meer kleine betalingen, vaak met onzinnige namen en e-mailadressen.
Let ook op het opslaan van kaarten, niet alleen op de betaling. Stripe merkt op dat testers dat liever doen, omdat een kaart die bij een account is opgeslagen meestal niet op het afschrift van de kaarthouder verschijnt, dus niemand meldt het.
Waarom één maatregel niet genoeg is
Testers wisselen van kaart, adres en sessie, dus een filter op één signaal, zoals het IP-adres, is volgens Stripe op zichzelf meestal niet genoeg. Het advies is een set maatregelen op de routes die een kaart opslaan of een betaling aannemen: een CAPTCHA die op de server wordt gecontroleerd, een login vóór de betaling, rate limits, en een combinatie daarvan. Elke maatregel voegt een stap toe, en die stap valt op je kopers net zo goed als op het script.
Vraag het voordat je afschrijft
Een testscript stuurt zijn requests meestal direct naar je betaalroute en laadt je checkoutpagina nooit. Bot Protection beoordeelt de request voordat je server de betaalprovider aanroept, en op die route kun je bewijs vragen dat de pagina echt bezocht is: een actie die de tag nodig heeft. Zet het op de POST die de kaart belast, die die een kaart opslaat en die die een cadeaukaart inwisselt. Handel dan naar de klasse:
bot_high: weiger met dezelfde melding die een geweigerde kaart toont, of met een lokantwoord, zodat het script niets over zijn kaarten leert.bot: vraag eerst om je eigen controle, zoals 3-D Secure, of stuur de koper via de uitdagingspagina.unknown,human,human_high: de normale betaling.
Begin in monitormodus: niemand wordt tegengehouden, en elk antwoord zegt wat de blokkeermodus had gedaan, zodat je ziet hoeveel requests op je checkout van scripts komen voordat je hem aanzet. De volledige set-up, route voor route en taal voor taal, staat in een checkout beschermen.
Na de betaling
Betaal de kleine betalingen die erdoor kwamen terug voordat de kaarthouders ze betwisten, zoals Stripe aanraadt. Stuur daarna de uitkomst van de betaling terug als feedback: een chargeback of bevestigde fraude weegt mee in de volgende beslissingen over dezelfde browser, en een goede klant tilt ze op.
Blijf fail-open
De controle zit in je checkout, dus mag hij die nooit stilleggen. Gebruik een korte timeout en laat de koper bij elke fout door: een paar testbetalingen tijdens een storing kosten minder dan een checkout die niet antwoordt. Meer in waarom een botcontrole fail-open moet zijn.
Bronnen
Gecontroleerd op 28 oktober 2026.