What each option does
Every option maps to something a real payment form has to handle. Together they cover the inputs a checkout sees, the valid ones and the ones it must refuse.
Networks
Visa, Mastercard, American Express, Discover, RuPay, JCB, Diners Club, UnionPay, Maestro, Mir and Troy. Each number uses a prefix only that network uses, so card-type detection and logos can be tested reliably.
Number length
Standard gives each network’s usual length. Every valid length adds the others it issues, such as 13 and 19-digit Visa and 12 to 19-digit Maestro, which catches fields that assume every card has 16 digits.
Invalid cards
Mixes in cards with a wrong check digit, a number that is too short, or an expiry date in the past, each marked Reject with the reason, so one export holds both your positive and negative cases.
Expiry date and format
A random date within five years, or the same fixed month and year for every card. Output as MM/YY, MM/YYYY or YYYY-MM, to match the format your form or API expects.
CVV
Random, the standard 123 (1234 for American Express) that is easy to type during manual testing, or none at all for flows that do not ask for it.
Extra columns and country
Cardholder name, email, phone, a full billing address and a 4-digit PIN, localised for India, the United States, the United Kingdom, Germany, France or Australia, for address verification and checkout tests.
Seed
The same seed, options and count always give the same cards. Note it in a bug report so anyone can regenerate the exact data that failed.