What is card testing, and how do merchants stop it?

Card testing is fraud that checks stolen cards with many small payments. How it shows up at checkout, what it costs a merchant, and the fixes that stop it.

Card testing is fraud in which someone runs stolen card numbers through a store's checkout to learn which ones still work. A script fires many small payments or card checks, and the cards that go through are kept for later use. The merchant pays for it in declines, fees and disputes. Stores stop it with layers: CAPTCHA and rate limits on checkout, velocity checks on IP address, device and email, and the payment processor's own tools.

#How does card testing work?

  1. Criminals obtain lists of stolen card details.
  2. A script submits them to a checkout or a card-saving form, many at a time (Mastercard).
  3. Each approval marks a card as valid. Visa says valid details are then sold on underground carding sites.
  4. The merchant is left with the declines, the fees and the disputes from charges that went through.

Visa calls these enumeration attacks and estimates they cause $1.1 billion in fraud losses a year (Visa, May 2024). Its 2026 merchant guide says attack transactions are often less than 10 US dollars. Charges that small are less likely to be noticed by the cardholder (WooCommerce).

#How does card testing show up in your checkout?

  • A spike in failed payments. Stripe says most card testing shows up as a sharp rise in failed authorizations and payments.
  • Many small charges. Low amounts in a burst, often under 10 dollars (Visa).
  • Many new customers or saved cards from one source. Stripe suggests capping the new customers one IP address can create in a day.
  • Disputes later on. Some test charges succeed, and cardholders report them as fraud (Stripe).

#What does card testing cost a merchant?

CostWhat happens
DeclinesA large number of declines is tied to your business
FeesAuthorization fees on some plans, and dispute fees
DisputesFraud warnings and disputes from charges that succeeded
MonitoringHeavy activity can put you in card monitoring programs

Every row above comes from Stripe's card testing documentation. Visa adds that enumeration raises processing fees for banks and disrupts risk models.

#Why does card testing come from proxies, data centers and Tor?

Card testers lean on "automated scripts and botnets" (Visa, 2024), which spread the attempts over many addresses. That infrastructure is often known already. FFraud's open data lists 1,580,496 confirmed abusive IP addresses, and for 189,160 of them it also knows the kind of network (build of October 23, 2026).

Confirmed abusive IPs with a known infrastructure typeFFraud's confirmed abusive addresses where the type of network is known, build of October 23, 2026, 07:30 UTC
  1. Proxy79,853 IPs
  2. Data center71,087 IPs
  3. VPN21,614 IPs
  4. Tor exit16,606 IPs

Source: FFraud open data (ip-fraud-database, confirmed-abusive.csv), October 23, 2026

Tor exits stand out. Of the 1,227 exits on the Tor Project's own list that morning, 1,221, or 99.5 percent, were already on FFraud's confirmed list. The email side matters too: the open list of throwaway email domains held 224,090 entries the same day (disposable email domains).

#How do merchants stop card testing?

SignFixSource
Bursts from one IP or cardCAPTCHA and rate limits on checkoutVisa, Stripe
Many new customers per IPCap new customers per IP per dayStripe
Small declined paymentsVelocity checks on low amountsVisa
Known bad or anonymous IPsBan known malicious originsVisa
Throwaway email at checkoutCheck the email before the chargeWooCommerce
Risky card payment3-D SecureVisa

Visa's guide asks merchants to watch velocity on "IP address, device, email". It also suggests listing IP addresses with repeated failed card payments for review. WooCommerce's anti-fraud tools block checkout orders by email, IP, country or VPN use. Both checks fit in a few lines before the charge:

Node
// Before you create the charge: score the buyer's IP address and email.
async function checkoutRisk(ip, email) {
  const [ipInfo, mail] = await Promise.all([
    fetch(`https://api.ffraud.com/public/ip/${ip}`).then((r) => r.json()),
    fetch("https://api.ffraud.com/public/email/check", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ email }),
    }).then((r) => r.json()),
  ]);
  const risk = ipInfo.risk; // none, low, medium, high or critical
  if (risk === "critical" || (risk === "high" && ipInfo.recent_abuse)) return "block";
  if (risk === "high" || risk === "medium" || mail.email_type === "temp") return "challenge"; // CAPTCHA or 3-D Secure
  return "allow";
}

The bands follow FFraud's score bands: block critical, and high when abuse was confirmed in the last 30 days; challenge medium and high. Keep the processor's own rules on as well, since they see the card side of the attack.

#Questions people ask

What is a card testing attack?

A burst of automated payments or card checks that uses a store's checkout to find out which stolen cards are valid. Visa and Mastercard also call it enumeration or card cycling.

How do I stop card testing attacks?

Add CAPTCHA and rate limits to checkout, and cap new customers per IP address. Then check velocity on IP, device and email, and turn on 3-D Secure and your processor's fraud rules.

What should I do during an active attack?

Stripe's checklist is to identify the activity, refund the fraudulent payments to avoid disputes, add mitigations, and keep monitoring until the spike stops.

Why are card testing charges so small?

Small charges are less likely to be noticed by the cardholder, as WooCommerce notes. Visa says attack transactions are often under 10 US dollars.

To see whether a checkout's IP address is already known for abuse, check it with the free IP reputation check.

Sources

  1. Protect yourself from card testing, Stripe
  2. Enumeration Mitigation and Considerations for Merchants, V1.3, Visa, June 1, 2026
  3. Visa Announces Generative AI-Powered Fraud Solution to Combat Account Attacks, Visa, May 7, 2024
  4. Card testing fraud explained and prevention tips, Mastercard
  5. How do I prevent and respond to card testing attacks?, WooCommerce
  6. Tor bulk exit list, The Tor Project, October 23, 2026
  7. ip-fraud-database and disposable-email-domains, builds of October 23, 2026, FFraud, October 23, 2026
  8. IP intelligence API reference, FFraud, September 24, 2026