Skip to main content

Card testing-aanvallen slaan je storefront over en gaan rechtstreeks naar de checkout.

Card testing-aanvallen stegen begin 2026 met 175%, en de bots raken de pagina's die de meeste merchants verdedigen nooit aan. Ze posten rechtstreeks naar de checkout-URL, die nu op je eigen domein staat, waardoor de edge ze eindelijk kan zien. Dit is wat merchants melden, waarom het geld kost terwijl elke transactie wordt geweigerd, en de Visa-bepaling die er een compliancekwestie van maakt.

Een checkoutterminal van klei met een rij identieke kaarten die erdoorheen wordt gevoerd terwijl de winkelpui ernaast onaangeroerd blijft
De korte versie
  1. De bots laden nooit de pagina's die jij verdedigt. Merchants melden dat de aanval rechtstreeks bij de checkout-URL aankomt en de storefront volledig overslaat. Daarom komen een captcha op de productpagina, een app die landen blokkeert en een fraudescore die afgeronde bestellingen leest allemaal schoon terug terwijl de aanval loopt.
  2. Het kost je geld, ook wanneer elke transactie wordt geweigerd. Een golf mislukte autorisaties beschadigt je positie bij de banken die ze goedkeuren, dus echte klanten worden weken later geweigerd zonder dat er aan jouw kant iets is dat het verklaart. Shopify meldt een verbetering van 13% in het autorisatiepercentage voor merchants die het beschermt, en dat is de omvang van wat er verloren gaat.
  3. Visa bewaakt dit nu als een eigen categorie. Enumeratie heeft eigen drempels onder het Visa Acquirer Monitoring Program, gemeten als aandeel van de autorisatiepogingen en niet van de afgewikkelde bestellingen. Een kleine winkel gaat over een percentage heen lang voordat hij over een transactieaantal heen gaat, dus een laag volume is niet de bescherming die het lijkt.
  4. De checkout staat nu op jouw domein, dus de edge kan hem eindelijk zien. De Shopify-checkout komt uit op je eigen primaire domein, wat betekent dat een zone met de oranje wolk rate limits en challenges kan zetten op precies het pad dat de aanval gebruikt. Dat was niet zo toen het advies om Cloudflare bij de checkout weg te houden werd geschreven.

Een merchant die naar een card testing-aanval kijkt, ziet elke keer hetzelfde. Bestellingen voor het goedkoopste artikel in de catalogus, binnenkomend in golven, allemaal met een andere naam en een andere kaart en hetzelfde afleveradres. Honderden verlaten checkouts per dag die geen mens heeft aangemaakt. Bijna geen enkele slaagt, en juist dat deel doet mensen aannemen dat het het probleem van iemand anders is.

Signifyd mat card testing-aanvallen van januari tot april 2026 175% hoger dan in dezelfde maanden van 2025, en schrijft de stijging toe aan geautomatiseerde validatie van gestolen gegevens. Over hetzelfde venster zet het de fraudedruk in Noord-Amerika 33% hoger en pogingen tot accountovername 78% hoger.

De reden dat dit op Shopify zo moeilijk te stoppen is, heeft niets te maken met hoe goed de verdediging is. Het gaat om waar die staat.

Wat de aanvaller werkelijk aan het doen is

Het verwarrende deel is het motief. Iemand jaagt honderden bestellingen door je winkel en laat ze bijna allemaal liggen, wat op vandalisme lijkt totdat je begrijpt dat de bestellingen nooit het doel waren.

Veel van de kaartnummers zijn nooit van iemand gestolen. Ze zijn geraden. Een kaartnummer is niet willekeurig. De eerste zes tot acht cijfers vormen het Bank Identification Number, dat de uitgevende bank aanwijst, en die reeksen zijn openbaar. Het laatste cijfer is een controlecijfer dat volgt uit de Luhn-formule, rekenwerk dat iedereen kan uitvoeren. Een aanvaller kiest een BIN van een bank die het aanvallen waard is, vult de middelste cijfers met kandidaten en berekent het slotcijfer zodat elk nummer structureel geldig is. Dat levert een eindeloze voorraad nummers op die echt lijken voor elk formulier dat alleen naar de vorm kijkt.

Structureel geldig ligt nog ver van bruikbaar. De meeste van die nummers horen bij helemaal geen rekening, en van de nummers die dat wel doen is het merendeel verlopen, geblokkeerd of al ingetrokken. Hetzelfde geldt voor nummers uit een datalek, die maandenlang in een dump liggen voordat iemand eraan toekomt.

De aanvaller heeft dus een stapel kandidaat-nummers en geen idee welke ervan leven. Er is precies één manier om daarachter te komen, en dat is het aan een bank vragen. Een bank rechtstreeks bevragen kan een crimineel niet. Een merchant bevragen is triviaal, want elke e-commercecheckout ter wereld bestaat om een kaart aan een betaalprovider door te geven en het antwoord terug te sturen.

Dat antwoord is het product. Een kaart die een transactie van twee dollar goedkeurt is een levende kaart met een werkende vervaldatum en een geldige beveiligingscode, en op een doorverkoopmarkt is die vele malen meer waard dan een ongetest nummer. De goederen doen er niet toe. De aanvaller is niet aan het winkelen.

Waarom jouw winkel en niet die van iemand anders

Niets aan jouw winkel heeft dit aangetrokken. Card testing draait tegen elke checkout die goedkoop te bereiken is, en een Shopify-winkel is goedkoop te bereiken omdat Shopify consistent is. Dezelfde URL-patronen werken bij elke winkel op het platform, dus een script dat tegen één winkel is geschreven werkt zonder aanpassing tegen alle andere.

Kleine bedragen houden het stil. Aanvallers werken in eentjes en tweetjes, op het goedkoopste product in de catalogus, omdat een klein bedrag minder aandacht trekt van risicosystemen en bijna niets kost op de zeldzame keer dat het doorgaat. Cadeaubonnen en artikelen met waarde nul zijn nog beter, en merchants melden dat die als eerste worden aangevallen.

Hoe ze de checkout bereiken zonder ooit door je winkel te lopen

Dit is het deel dat mensen verrast, en er zit geen exploit in.

Shopify ondersteunt cart permalinks, een gedocumenteerde functie die elke merchant gebruikt voor advertentielinks en e-mailcampagnes. Een URL in de vorm /cart/{variant_id}:{quantity} bouwt een winkelwagen en stuurt de bezoeker rechtstreeks naar de checkout, langs de productpagina, de winkelwagenpagina en al het andere heen. Het bestaat zodat een Black Friday-mail iemand met één tik in de checkout kan zetten.

Een bot gebruikt het om dezelfde reden als een marketeer. Eén verzoek maakt de winkelwagen aan en landt op de checkout, met de storefront volledig overgeslagen. Zet er een geautomatiseerde browser bij die de betaalstap uitvoert, verspreid het verkeer over residentiële proxy-adressen zodat geen enkel adres opvalt, en het geheel draait onbeheerd door.

Niets in die volgorde is kapot of ongebruikelijk. De aanvaller gebruikt een ondersteunde functie precies zoals bedoeld, op een volume en met een doel die niemand voor ogen had.

De aanval laadt nooit de pagina’s die je verdedigt

Merchants die deze aanvallen beschrijven op het eigen communityforum van Shopify melden dat het verkeer rechtstreeks bij de checkout-URL aankomt, zonder via de storefront te browsen. Dat ene detail verklaart waarom de gebruikelijke reacties schoon terugkomen.

Een captcha op de productpagina bewaakt een pagina die de bot nooit opvraagt. Een app die landen of adressen blokkeert filtert storefront-sessies die de bot nooit opent. De fraudeanalyse van Shopify beoordeelt afgeronde bestellingen, en een card testing-poging die wordt geweigerd wordt er nooit een, dus het middel dat fraude moet vangen krijgt niets voorgeschoteld. Eén merchant in die draad meldt dat reCAPTCHA werd omzeild terwijl de bots de checkout gewoon bereikten.

Het gemelde patroon is consistent genoeg om te herkennen: een nieuw klantaccount per poging, wisselende e-mailadressen die vaak echt zijn en uit datalekken komen, en daaronder telkens hetzelfde hergebruikte afleveradres. Het doelwit is wat het minst kost. Merchants noemen net toegevoegde goedkope producten, en cadeaubonnen of artikelen met waarde nul waar de winkel die heeft.

Het volume maakt het duur om te negeren. Eén merchant meldt honderden frauduleuze verlaten checkouts per dag, een tweede een aanval die sinds juni 2025 onafgebroken doorloopt, en een derde mat verlaten checkouts 18,4% hoger over vier weken.

Elke geweigerde transactie kost je alsnog iets

Dit is het deel dat merchants onderschatten, en het is de reden dat een winkel met nul frauduleuze bestellingen alsnog zwaar beschadigd kan raken door een aanval.

Een autorisatieverzoek dat mislukt is een gegeven over jou, verstuurd naar de bank die het weigerde. Genoeg daarvan, dicht genoeg op elkaar, en je winkel gaat eruitzien als een slecht risico voor de instellingen die beslissen of je klanten worden goedgekeurd. Shopify beschrijft de uitkomst rechtstreeks: mislukte transacties verslechteren de positie van een merchant bij banken, en legitieme klanten worden lang na afloop van de aanval geweigerd, met een aanhoudende daling van de autorisatiepercentages.

Shopify meldt dat merchants die onder zijn bescherming vallen 13% meer van hun legitieme verkopen goedgekeurd zien. Lees dat als de omvang van het gat en niet als een functie, want het is hetzelfde getal van de andere kant bekeken.

Er is een tweede kostenpost zonder enige opbrengst. De frauduleuze records van verlaten checkouts kunnen niet worden verwijderd, en merchants melden dat ze dat hebben bevestigd met Shopify Flow, de admin en de API. Elk conversiepercentage, elk cijfer over winkelwagenverlating en elk funnelrapport over die weken is permanent onjuist.

Visa bewaakt enumeratie inmiddels als eigen categorie

Het Visa Acquirer Monitoring Program voegde de oudere fraude- en disputeprogramma’s samen tot één programma, met drempels die ingingen op 1 juni 2025 en een adviesperiode die op 30 september 2025 sloot.

De belangrijkste maatstaf is een verhouding tussen fraude en disputen enerzijds en afgewikkelde transacties anderzijds:

VAMP Ratio = Count of [Fraud (TC40) + Disputes (TC15)] / Count of Settled Transactions (TC05)

Voor merchants in de VS, Canada, de EU en Azië-Pacific lag de drempel Excessive bij een VAMP-ratio van 220 basispunten of hoger, samen met minstens 1.500 fraude- en disputegebeurtenissen in een maand. Die drempel daalde op 1 april 2026 naar 150 basispunten.

Daaronder staat de bepaling die specifiek over card testing gaat. Visa verplicht acquirers om merchants onder twee enumeratiedrempels te houden:

Maatstaf Drempel
Enumeration Ratio: geënumereerde autorisaties gedeeld door alle autorisaties, goedgekeurd en geweigerd samen 2.000 basispunten, oftewel 20%
Enumeration Transaction Count: geënumereerde transacties in een maand, goedgekeurd en geweigerd samen 300.000

Lees de eerste regel goed, want de noemer bestaat uit autorisatiepogingen en niet uit afgeronde bestellingen. Een winkel met bescheiden volume kan tijdens één aanhoudende aanval boven 20% van zijn autorisatiepogingen uitkomen zonder ooit in de buurt van 300.000 transacties te komen. Kleine winkels worden hier niet beschermd doordat ze klein zijn. Ze worden er juist door blootgesteld.

Visa publiceert de bedragen van de boetes bij deze niveaus niet. Betaalproviders die het programma documenteren beschrijven boetes per transactie die onder de maatstaf meetelt zodra de gedoogperiode afloopt, en minstens één documenteert een vroeg waarschuwingsniveau waaraan helemaal geen kosten hangen. Wie het bedrag nodig heeft, vraagt het bij zijn acquirer op in plaats van een cijfer uit een blog te vertrouwen, en dat geldt ook voor de cijfers die met zelfverzekerde dollarbedragen rondgaan.

Wat Shopify doet, en waar het ophoudt

Shopify publiceerde in juni 2026 een beschrijving van zijn eigen verdediging, en de cijfers daarin verdienen het om serieus te worden genomen.

Het machine learning-model beoordeelt elke betaalpoging voordat die de processor bereikt, en blokkeert ongeveer 90% van de card testing-aanvallen op gastcheckouts met creditcard. Dat is een echte verdediging die echt werk doet, en die is gratis als je Shopify Payments gebruikt.

De dekking kent beperkingen. Die geldt voor gastcheckouts met creditcard, en alleen voor merchants die Shopify Payments gebruiken. Ongeveer 90% laat bovendien ruwweg één poging op de tien door, wat bij de volumes die merchants beschrijven nog steeds een flink aantal autorisaties per dag op je percentages betekent.

Shopify beschrijft ook hoe de aanvallen zijn veranderd, en die beschrijving doet er meer toe dan de percentages. Moderne aanvallen zijn verspreid en laag in volume over duizenden merchants tegelijk, gerouteerd via residentiële proxy’s om op gewoon verkeer te lijken. Dat is een bewust ontwerp om precies de verdediging te verslaan waar de meeste mensen als eerste naar grijpen.

De edge kan de checkout nu zien, en dat was niet altijd zo

Jarenlang luidde het standaardadvies om een proxy weg te houden van de checkout. Richtlijnen die vandaag nog rondgaan vertellen Shopify-merchants om checkout-subdomeinen ongeproxyd te laten.

Dat advies is achterhaald, en het kost een minuut om het te testen. Vraag de checkout-URL op bij een live Shopify-winkel en die komt uit op je eigen primaire domein, in de vorm yourdomain.com/checkouts/cn/<token>. Hij staat niet op een hostnaam van Shopify. Een zone die via Cloudflare wordt geproxyd ziet die verzoeken en kan erop handelen.

Dat verandert wat je tot je beschikking hebt. Rate limiting, managed challenges en WAF-regels kunnen worden geschreven tegen het pad dat de aanval werkelijk gebruikt, in plaats van tegen de storefront die hij nooit aanraakt.

Eén uitzondering is het waard om ronduit te benoemen in plaats van later te ontdekken. Shop Pay en andere versnelde checkouts leiden door naar een domein van Shopify buiten je zone, en geen enkele regel van jou reikt tot dat pad.

Regels die bij de aanval passen

Gepubliceerde richtlijnen voor checkoutpaden beginnen rond 5 tot 10 POST-verzoeken per IP per minuut, gevolgd door een blokkade of een challenge van enkele minuten. Dat is laag genoeg om een bot te stoppen die het endpoint bestookt en hoog genoeg om een echte koper die een geweigerde kaart opnieuw probeert met rust te laten.

Varieer de strengheid per pad in plaats van die overal op te schroeven. Checkout- en betaalpaden verdienen een strengere behandeling dan het bekijken van producten, en dat is precies het voordeel van regels aan de edge in plaats van in een app die de twee niet uit elkaar kan houden.

Gebruik een challenge voordat je een blokkade gebruikt. LexisNexis vond dat 56% van de Amerikaanse retailers en 54% van de Amerikaanse e-commercemerchants meer klantverloop meldt door hun eigen antifraudemaatregelen, en dat zijn echte kosten die echte kopers betalen. Een managed challenge kost een vals positief een seconde. Een blokkade kost je de verkoop.

Combineer de challenge met de rate limit in plaats van te kiezen. Een challenge werkt bij het formulier. Een rate limit vangt verzoeken die het formulier nooit renderen, en dat is hier het gedocumenteerde gedrag.

Aanvaard wat een limiet per IP niet kan. Tegen een verspreide aanval die dun is uitgesmeerd over residentiële proxy’s is tellen per IP een ondergrens en geen antwoord, en de eerlijke versie van dit advies zegt dat ook. Eén merchant in die communitydraad meldt duizenden dollars aan een WAF te hebben besteed met beperkt resultaat, en dat is wat er gebeurt wanneer goed gereedschap op de verkeerde laag wordt gericht.

Neem het doelwit weg voordat je iets afstelt

De goedkoopste winst zit hier helemaal niet in regels, en merchants melden dat die winst werkt.

Haal producten met waarde nul en cadeaubonnen offline die de winkel niet nodig heeft, want daar grijpen de bots als eerste naar. Eén merchant meldt dat het offline halen daarvan samen met de overstap naar een checkout in drie pagina’s het grootste deel van het volume wegnam.

Betalingen handmatig vastleggen in plaats van automatisch haalt het directe autorisatiesignaal weg waar de aanvaller voor kwam, waardoor je winkel een slechte testopstelling wordt en ze eerder ergens anders heen gaan.

Geen van beide vraagt om een WAF, een app of een gesprek met je acquirer. Allebei maken ze het doelwit minder aantrekkelijk, en dat is een duurzamer antwoord dan proberen een aanvaller te overtroeven die sneller van adres wisselt dan jij ze kunt opsommen.

Wat dit is en wat het niet is

Dit artikel beschrijft aanvalspatronen die merchants openbaar hebben gemeld en drempels die Visa heeft gepubliceerd. Het is geen juridisch of compliance-advies, en de specifieke kosten, herstelverplichtingen en meldplichten die aan jouw account hangen komen van je acquirer.

Staat je winkel op dit moment onder aanval, dan is de volgorde kort. Neem de goedkope doelwitten weg, zet een challenge en een rate limit op het checkoutpad, en leg je autorisatiepercentage voor aan je betaalprovider voordat het weigeringspatroon iets wordt dat je moet uitleggen in plaats van iets dat je aan het oplossen bent.

FAQs

Wat is een card testing-aanval?

Card testing is de praktijk waarbij gestolen kaartnummers tegen de checkout van een merchant worden gedraaid om te achterhalen welke nog leven. De aanvaller wil jouw product niet. Hij wil het autorisatieantwoord, want een kaart die een transactie van twee dollar goedkeurt is een kaart die het waard is om ergens met een hogere limiet te gebruiken. Aanvallen richten zich meestal op het goedkoopste artikel in de catalogus, en op cadeaubonnen of producten met waarde nul waar die bestaan, omdat het doel de kleinst mogelijke transactie is die nog steeds een ja of nee van de uitgevende bank oplevert.

Waarom stoppen mijn Shopify-fraudefilters card testing niet?

De fraudeanalyse van Shopify beoordeelt bestellingen die worden afgerond, en de meeste card testing rondt nooit een bestelling af. De poging mislukt bij de autorisatie, wat precies het antwoord is dat de aanvaller wilde, en de fraudetools hebben niets om te beoordelen. Merchants melden hetzelfde gat bij checkout-captchas en apps die landen blokkeren, omdat het verkeer rechtstreeks bij de checkout-URL aankomt in plaats van er via de storefront naartoe te browsen die die tools beschermen.

Kan Cloudflare card testing op Shopify blokkeren?

Het kan handelen op het pad dat de aanval gebruikt, en dat was niet altijd zo. De Shopify-checkout komt tegenwoordig uit op je eigen primaire domein, dus een geproxyde zone ziet die verzoeken en kan er een rate limit of een challenge op zetten. Twee kanttekeningen doen ertoe. Shop Pay en andere versnelde checkouts leiden door naar een domein van Shopify dat buiten je zone valt, en moderne aanvallen worden bewust over veel adressen verspreid, dus een limiet per IP mist in zijn eentje het trage patroon met laag volume dat Shopify zelf beschrijft.

Schaadt card testing mijn winkel als er geen bestellingen doorkomen?

Ja, op drie manieren die de aanval allemaal overleven. Mislukte autorisaties verslechteren je goedkeuringspercentages bij uitgevende banken, dus legitieme klanten worden geweigerd. De pogingen tellen mee voor de enumeratiebewaking onder het acquirerprogramma van Visa, dat wordt afgezet tegen autorisatiepogingen en niet tegen afgeronde verkopen. Op Shopify kunnen de frauduleuze records van verlaten checkouts bovendien niet worden verwijderd via Flow, de admin of de API, dus de conversierapportage over die periode is permanent vertekend.

Wat moet een Shopify-merchant als eerste doen?

Maak het doelwit minder waard voordat je iets anders aanraakt. Haal producten met waarde nul en cadeaubonnen offline als de winkel ze niet nodig heeft, want daar grijpen de bots naar. Zet een rate limit en een challenge op het checkoutpad aan de edge in plaats van op de storefront, en gebruik een challenge in plaats van een harde blokkade zodat een echte koper die een kaart opnieuw probeert wordt opgehouden en niet weggestuurd. Merchants melden ook dat de overstap naar een checkout in drie pagina's het grootste deel van het volume wegneemt, en dat het handmatig vastleggen van betalingen het directe autorisatiesignaal weghaalt waar de aanvaller naar vist.