It's actually very easy to guess the 16 digits
so therefore you need only guess 9
- the first 6 digits signify the bank and the card issuer. You can look those up online in about 5 seconds for each bank
- the last digit is a checksum digit
The 16 digits adhere to an alogrythm called a Luhn alogrythm so with a competent number generator hooked up to a Luhn algorythm, it would be easy to work out card numbers. If you actually understand how the algorythm works (and it's not rocket science and after all, this is a fraudsters livelihood) you could probably work it out by hand or on excel in a few minutes. I used to work in a bank and if we got a damaged cheque, sometimes we'd have to work out account number by hand if you were missing a few digits. It's not hard (although in the case of a cheque it is only 14 digits, 6 digit sort code, 8 digit account, so easier)
the harder thing to guess is the expiry date (one chance in 36) and the CVV number (one chance in 999) but again, bots can try things automatically. Hence the growing complexity of captcha's and MFA.
I'm not encouraging fraud here by the way!!
I know that but the chances of guessing the correct card number together with the correct expiry date together with the correct CVV numbers would require billions of attempts. Add in the the fact that one couple using 4 different cards were targeted 4 times in three months makes this statistically impossible. Add in the fact that no payment processor will allow brute force attacks like that. The card details are being compromised in some way. Or else someone really wants a spotify account and doesn't want to admit it to the other person....