Card test software is any tool that pushes payment card data through an authorization request to see whether the card works. Developers use it with sandbox test cards to verify checkout flows before launch, while criminals use the same technique to check stolen numbers in bulk. The mechanics overlap; authorization and intent do not.

That distinction matters for anyone researching card test software. Testing your own integration with processor-issued test numbers is standard engineering practice. Running live card numbers you do not own through an authorization endpoint is card fraud, and it carries criminal liability in the United States and most other jurisdictions.

What legitimate card testing looks like

Payment platforms publish test card numbers that behave in predictable ways: one approves, another declines, a third triggers a specific error code. Engineers drop those numbers into automated test suites so every code change is checked against real authorization responses without touching a real account.

  • Sandbox or test mode keys stay separate from production credentials.
  • Test cards mimic outcomes such as insufficient funds, expired card, or 3-D Secure challenges.
  • No cardholder data enters the test environment, so the system stays outside PCI DSS scope for those runs.
  • Tests run in continuous integration so a broken payment path is caught before release.

What a card testing attack looks like

A card testing attack is the hostile version of the same process. An attacker submits large volumes of card numbers, often at low dollar amounts, and watches which ones return an approval. The approved numbers are then used for larger purchases or resold.

Common signals on the merchant side:

  • A sudden spike in authorization attempts from a small set of IP addresses or devices.
  • Many different card numbers paired with the same email, phone number, or shipping address.
  • Unusually high decline rates, especially invalid account or do-not-honor responses.
  • Small trial orders followed by a much larger order from the same source.
  • Traffic arriving on the payment endpoint without a normal browsing session.

Why merchants should care

Card testing attacks generate authorization fees, inflate decline ratios, and can push a merchant into a monitoring program with its acquirer. Fraudulent orders that slip through lead to chargebacks, and enough chargebacks lead to fines or account termination.

Controls that reduce exposure

  • Apply velocity limits per IP address, device fingerprint, and email.
  • Add bot detection or a challenge on the checkout and payment endpoints.
  • Require CVV and address verification, and enable 3-D Secure where supported.
  • Alert on authorization patterns rather than only on completed orders.
  • Keep checkout error messages generic so attackers learn nothing from responses.
  • Never store CVV or full track data after authorization; PCI DSS forbids retaining sensitive authentication data.

For developers building payment tests

Use processor-provided test cards, keep test keys out of production builds, and log tokenized references instead of primary account numbers. If you need realistic volume, generate synthetic numbers that fail the Luhn check or use the issuer's documented test range. A test suite that touches live card data creates compliance problems that outweigh any accuracy gain.

Key takeaways

Card test software is a normal part of payment engineering when it runs against sandbox test cards. The same capability turns into an attack when live numbers are probed in bulk for approval. Merchants defend by watching authorization traffic, not just orders, and by layering velocity limits, bot detection, and verification checks on the payment path.