Нисколько нельзя купить. Обычно такие карточки делаются так: генерируется куча случайных чисел фиксированной длины (причём используется не ГПСЧ, а например, генераторы на основе счётчика Гейгера или радиоприёмник, настроенный на неиспользуемую частоту, см. например
http://random.org/). Полученные числа нумеруются -- это и есть серийный номер карточки. Получается пара (серийный-номер; случайное-число), которая и печатается на карточке. Эти же пары заносятся в базу данных на сервере, который обслуживает запросы на пополнение счёта (или какие там услуги). Когда приходит запрос от клиента -- сервер ищет серийный номер карточки в базе и сравнивает числа от клиента и из базы.
Покажем, что размер базы вполне нормальный для обработки средним компьютером. Пусть серийный номер это 32-битное число, а случайное число 64-битное. Тогда для хранения одной пары нужно 12 байт. Пусть там ещё на индексы в базе потратится ещё 4 байта на каждую пару, итого 16 байт на запись. Пусть в обороте одновременно находится 100 миллинов карточек. Тогда база занимает всего 1,6 Гб. Нужно заметить, что абсолютно всё равно, сколько карточек выпущено всего, так как использованные пары из базы удаляются.