Home / Resources

Chargebacks and fraud

Card testing attack: how fraudsters probe checkout, and how to stop it

Fraudsters use your checkout, save-card page or donation form to learn which stolen cards still work: how to spot it, what it costs and how to shut it down.

November 11, 202611 min read

Key takeaways

  • A card testing attack runs stolen or guessed card details through your payment flow, usually with bots and small or $0 charges, to find live cards before they are used or sold.
  • Visa separates enumeration (guessing number, expiry, CVV2 and postal code combinations across a BIN) from account testing (one or two small charges per stolen card), and a per-card attempt limit does little against the second.
  • Testers use any request that makes an issuer answer: checkout, save-card and $0 verification flows, donation forms, 3-D Secure requests, your API and taken-over gateway logins.
  • Declined attempts can still cost you: Visa lists authorization fees on approvals and declines plus system integrity and gateway fees, and approved tests come back as fraud reports and chargebacks.
  • As acquirers read Visa's VAMP enumeration criteria, a merchant is over when identified attempts are 20% or more of all authorization attempts and number at least 300,000 in a month, both counted approved plus declined.
  • In the first hour: CAPTCHA and rate limits on every card-validating request, roll API keys if the API is hit, call your processor, don't ship, void or refund the test charges and stop retrying those cards.

A card testing attack is when fraudsters run stolen or guessed card details through your checkout, usually with bots and small or $0 charges, to learn which cards work before they use or sell them. Visa says attack transactions are often under $10. The first sign is usually a sudden burst of small declined payments.

It costs you even when nearly every attempt fails. Declines can carry authorization and gateway fees, approved tests come back weeks later as fraud reports and chargebacks, and a high decline rate can make issuers wary of your real customers. Visa puts annual fraud losses from enumeration, its term for automated card testing, at over a billion dollars across the payments ecosystem.

The fix is layered: controls on every endpoint that can validate a card, not just the checkout page, plus a plan for the first hour. This guide follows Visa's and Mastercard's rules and guidance as of November 2026. Flux's own fraud screening is covered at the end (how Flux fits).

What is a card testing attack?

The Visa Core Rules define an enumeration attack as the systematic or routine submission of card-not-present transactions to fraudulently obtain or validate payment information. Mastercard describes card testing as small or zero-dollar transactions on stolen card numbers to find the active ones, run one at a time, through criminal testing services, or with bots and scripts.

Enumeration vs account testing

Visa splits the activity into two schemes, and different controls stop each. Enumeration, or a brute force attack, is guessing: the fraudster picks one or more BINs (the leading digits that identify the card's issuing bank) and cycles through card number, expiry, CVV2 and postal code combinations until approvals come back. Account testing starts with cards already stolen: one or two low-amount transactions per card to see which are still active. Visa notes it is also called BIN testing, card stuffing, card tumbling or Credit Master attacks. Visa also uses enumeration as a catch-all for both schemes, as in its loss figures and the VAMP criteria below.

QuestionEnumerationAccount testing
What the fraudster starts withA BIN and partial card dataStolen card numbers, often with expiry and CVV
Attempts per cardMany, until a combination worksOne or two
Typical patternHigh volume on one BIN, mostly declines for invalid number, expiry or CVVMany different cards, small amounts, a mix of approvals and declines
What slows it mostCVV and AVS checks, attempt limits, BIN-level monitoringCAPTCHA, limits per IP, device, session and account, decline-rate monitoring

OWASP's list of automated threats draws the same line, as carding (OAT-001) and card cracking (OAT-010). The practical lesson: a per-card attempt limit slows enumeration but does little against account testing, because each card is tried only once or twice.

Why the amounts are small or zero

The fraudster wants the issuer's answer, not your product. Testers favor card setup flows because a validation there usually doesn't show up on the cardholder's statement. Even a decline helps them: Mastercard calls it a filtering mechanism.

Visa calls enumeration "often a leading indicator or precursor to downstream fraud." Valid details are used or sold on carding sites, and in Visa's fiscal 2023 data a third of enumerated accounts saw fraud within five days. That fraud may land on another merchant, but the test ran on yours.

How fraudsters get into your payment flow

Testers use any request that makes an issuer answer. Visa says the most common way in is a legitimate e-commerce merchant with weak fraud controls.

Signs your checkout is being tested

Card testing is easy to spot once you know where to look, and easy to miss in a daily revenue total.

SignalWhat it looks likeWhere to see it
Decline spikeDeclines far above your normal rate within minutes or hoursPayments dashboard, processor reports
Small, repeated amountsRuns of $0 checks, $1 charges or identical small giftsTransaction list
Many cards, one sourceDifferent cards from one IP range, device, session, email or accountCheckout and server logs
Testing decline codes14 (invalid account number), 54 (expired), 82 and N7 (CVV failures), 59 (suspected fraud), or a wave of generic 05 (do not honor)Decline reason report
BIN clusteringMany approvals or declines from a similar BIN rangeTransactions grouped by BIN
Junk customer detailsRandom names, throwaway emails, billing addresses that don't fitOrder records
Approvals, then reversalsAn approval reversed at once, or approved authorizations that never clearAuthorization and settlement reports
Cards saved, nothing boughtMany cards added or verified with no order behind themSaved-card records

Visa notes that some issuer codes can reach you as 05, depending on whether your acquirer is set up to receive the original codes, so generic declines can hide the pattern. And don't wait for a big burst: Mastercard says smaller testing events and single tests are equally important indicators.

A worked example (hypothetical)

Say an online store normally sees about 60 card attempts a day. One night, 3,000 attempts arrive in two hours, all for $1.00, from a few IP ranges with random names. Most decline with codes 14, 54 and N7. Eighty approve, and nobody is awake to notice.

By morning the store has 3,000 authorization attempts that may each carry a fee, 80 approved charges on stolen cards that can return as fraud reports and chargebacks, and a decline rate far above normal. The code 14 cards fall in Visa's never-retry category.

What card testing costs you, even when the charges fail

Visa lists the fees an attack can generate: authorization (for approvals and declines), clearing and settlement, interchange, dispute processing, system integrity and gateway fees. What lands on you depends on your pricing and processor. Then come the indirect costs:

A card testing guide on Visa Canada's small business site sketches the timeline for an unprepared business: mass orders and possibly a processing shutdown on day 1, high authorization fees over days 2-30, then chargebacks on unreversed transactions over days 31-120.

Visa's enumeration criteria under VAMP

The Visa Acquirer Monitoring Program (VAMP) has its own enumeration test and requires acquirers to take proactive steps to keep merchants under it. It has two parts, and acquirers and processors read it as requiring both:

This is often described wrongly. The enumeration test counts authorization attempts, declines included, and it is not part of VAMP's main ratio, which divides fraud reports plus disputes by settled card-not-present transactions.

Still, the two connect. On our reading of that formula, declined tests never enter the main ratio, but approved tests that settle add to its denominator, and if they are reported as fraud or disputed, to its numerator. The fact sheet lists no exclusion for refunds.

Visa can also require an acquirer or merchant to deploy remediation tools for unusual activity found through VAMP. A new merchant account isn't a way out: where a merchant's name, data or performance was altered to get around VAMP, Visa can charge the acquirer USD 25,000 per merchant per month and permanently disqualify the merchant and its principals. No processor can opt you out of these programs (see the chargebacks hub).

Retry rules that apply after an attack

Under the Visa Core Rules (October 2026 edition), retrying the attack's cards can break network rules:

Mastercard also charges acquirers for excessive authorization attempts on declined cards. Ask your processor how those limits apply to you.

How to stop card testing: layered controls

No single control stops both schemes. Filters built on a single signal, such as IP address, are usually not enough. Visa's June 2026 merchant guide on enumeration sets out the layers.

ControlWhat it stopsTradeoff
CAPTCHA, checked server-side, on every request that can validate a card or take a paymentScripted attempts of both kindsFriction. One option is to let a first attempt through and challenge repeats.
Rate limits per IP, device, session, email and account, plus device fingerprintingBursts from one source, and one device cycling cards behind changing IPsTesters rotate IPs. Limits set too low block customers who mistype.
Velocity checks on small and $0 attemptsAccount testingNeeds a baseline if you sell low-price items.
CVV and AVS on every card-not-present paymentEnumeration, since guessed combinations failTesters with full card data can pass. Strict AVS declines some real buyers.
3-D Secure, on every payment or riskier onesAdds the issuer's check before authorizationA layer, not immunity, since enumeration has run through 3DS (see how 3-D Secure works).
Login before paying or saving a card, with caps on cards per accountGuest checkout and save-card testingOne more step for new buyers.
Minimum amount on donation or open-amount formsTiny-gift testing, which is why Visa recommends oneIn the US, Visa's rules allow a minimum as a condition of accepting a card only on US-issued credit cards, up to $10, and other regions have their own rules, so set yours with your processor.
API key hygieneAttacks that skip your formKeep secret keys server-side and rotate any that may have leaked.
Monitoring decline rate, codes, BINs and reversalsWhatever slips past, caught earlySomeone has to watch, nights included.
Careful retries and dunningYour own retries looking like an attackExcessive retries can themselves look like card testing.

Visa also recommends session throttling, CSRF tokens and network tokens with domain restrictions. If you check cards without a purchase, Visa requires a zero-amount account verification when a card is stored or validated separately from a purchase, so a $1 authorize-and-void step doesn't fit.

Put the controls on every request that can make an issuer answer, and tune them to your own baseline, because limits that are too tight turn away good customers (see why velocity limits decline transactions). Compliance isn't a control here: PCI DSS protects payment account data, but it doesn't stop someone checking cards they already hold on your checkout.

Under attack right now? The first-hour checklist

Confirm the attack, stop new attempts, then clean up what got through. The steps below draw on Visa's June 2026 merchant guide and common processor advice.

  1. Confirm the pattern from the signals above, and note which page or endpoint is being hit.
  2. Add CAPTCHA and rate limits to every card-validating request. If attempts share an email, phone, IP or device, block those, then check the blocks won't catch real customers.
  3. Close the door for now. Turn off guest checkout, the save-card page or the open-amount field until the controls are in place.
  4. Roll your API keys if the testing goes straight to your API, as Visa recommends.
  5. Call your processor. It may already see the attack. Have the source IPs, names and billing addresses entered, emails and user-agent headers ready.
  6. Don't ship any order tied to the attack.
  7. Void or refund the test charges that went through to head off disputes, as Visa advises. A refund won't undo a fraud report already filed.
  8. Stop retrying those cards. Retrying cards set up by fraudulent customers just repeats the attack, and a Category 1 decline is never retried.
  9. Keep the logs and keep watching for days afterward.

Card testing is a crime. Under 18 U.S.C. ยง 1029, knowingly possessing 15 or more counterfeit or unauthorized access devices (a term that covers stolen card numbers) with intent to defraud carries up to 10 years in prison for a first offense. You can report an attack to the FBI's Internet Crime Complaint Center. This is general information, not legal advice: talk to your attorney about your situation.

How Flux fits

Flux fraud detection screens each transaction in real time against risk signals and the rules you set. Suspicious payments are held or declined before they settle, clean payments pass straight through, and every decision is visible in your dashboard. You control the thresholds. It works at the processing layer, alongside the checkout controls above.

Flux supports 3-D Secure on card payments through hosted checkout and payment links and invoices, and you choose whether it runs on every card payment or only on riskier ones. Its liability shift covers eligible fraud chargebacks only.

Card details go into hosted fields, origin-isolated iframes on payments.fluxpayments.com, so card data never touches your servers. That keeps card data off your systems; it doesn't stop a bot using the form, so CAPTCHA and rate limits still belong in your checkout. Payments post to the live dashboard and webhook events as they happen, so you can watch for a burst instead of finding it in tomorrow's report, and the API makes refunds a single call. Your API keys live in the developer portal at portal.fluxpayments.com, and for anything else during an attack you can email support@fluxpayments.com.

Frequently asked questions

What is a card testing attack?

Fraudsters run stolen or guessed card details through a merchant's checkout, usually with bots and small or $0 charges, to learn which cards are live before using or selling them. Visa calls automated card testing enumeration, and separates guessing card details from testing cards already stolen, which it calls account testing.

How can I tell if my site is being card tested?

Look for a sudden spike in declines, runs of tiny identical amounts, many different cards from one device or IP address, junk names or emails, and declines for invalid numbers, expired cards or CVV failures. Visa says attack transactions are often under $10.

Do I pay fees on declined card testing attempts?

They can. Visa lists authorization fees for approvals and declines, gateway fees and system integrity fees among the costs of an attack. What you pay depends on your pricing and your processor.

Should I refund card testing charges that went through?

Yes, or void the authorization if it hasn't settled. Visa recommends refunding fraudulent payments to avoid disputes, and you shouldn't ship those orders. A refund doesn't erase a fraud report an issuer has already filed.

Does 3-D Secure or PCI compliance stop card testing?

Neither does on its own. Visa recommends 3-D Secure as one layer but has seen enumeration run through authentication requests, and PCI DSS protects card data you handle rather than stopping someone using your checkout to check cards they already have.

What is Visa's enumeration threshold under VAMP?

Visa looks at the share of a merchant's authorization attempts, approved and declined, that it identifies as enumerated: 20% or more, together with at least 300,000 enumerated transactions in a month, as acquirers read the criteria. VAMP requires acquirers to take proactive steps to keep merchants below it.

Want fraud screening on your card payments?

Flux screens every transaction in real time against rules you set, and supports 3-D Secure on hosted checkout, payment links and invoices. A real person reviews every application.

Get Started
← Back to all posts