Микро-платежи и чекеры: как проверить карту, не сжигая её

Good Carder

Professional
Messages
521
Reaction score
411
Points
63

Введение: почему «проверка на входе» экономит 90% бюджета​

Представьте: вы купили 10 карт по $15 каждая. Настроили антидетект, взяли чистые прокси. Вбили первую карту в магазин — отказ do_not_honor. Вторую — insufficient_funds. Третью — fraudulent. Вы потратили $150 и несколько часов, а результат — ноль. Карты оказались мертвы ещё до того, как вы начали.

Проблема не в вашей технике. Проблема в том, что вы не проверили карты перед основным вбивом.

Проверка карты (чекинг) — это процесс проведения тестовой транзакции на минимальную сумму, чтобы убедиться, что карта жива, имеет баланс и не заблокирована. Без этого вы работаете вслепую, сжигая деньги на картах, которые никогда не могли пройти.

В этой статье я разберу:
  • Четыре метода проверки карт: от простого к сложному.
  • Пошаговую инструкцию по созданию собственного чекера на Python с Stripe API.
  • Топ-5 легальных сайтов для безопасного тестирования.
  • Тактики, чтобы не засветиться и не попасть в чёрные списки.

Часть 1. Четыре метода проверки карт: сравнение и выбор​

1.1. Метод 1: $0 Auth (нулевая авторизация) — «золотой стандарт»​

Что это. Когда вы сохраняете карту в системе платежного шлюза (например, создаёте SetupIntent в Stripe или привязываете карту к клиенту), шлюз автоматически отправляет запрос в банк-эмитент на сумму $0. Банк проверяет, существует ли карта, не заблокирована ли она, и возвращает ответ. Деньги не списываются, след в выписке держателя не остаётся.

Stripe автоматически запускает $0/$1 авторизацию при создании карты для клиента. Если банк отклоняет авторизацию, Stripe просто возвращает ошибку — и карта не сохраняется.

Плюсы:
  • Бесплатно — никаких реальных списаний.
  • Не оставляет следов в выписке держателя.
  • Самый быстрый способ проверить «жива ли карта».
  • Легален для тестирования (в рамках Stripe test mode).

Минусы:
  • Не проверяет баланс — карта может быть жива, но пуста.
  • Не все шлюзы поддерживают $0 auth для любых карт (некоторые требуют $0.50 или $1).
  • Требует интеграции с API шлюза (нельзя сделать «руками» через сайт).

Где используется: Stripe (через SetupIntent или создание PaymentMethod), Braintree (через customer.create с картой), Adyen (через checkout.paymentMethods).

1.2. Метод 2: Микро-платёж $0.50–$1 — «народный метод»​

Что это. Вы проводите реальную транзакцию на минимальную сумму (обычно $0.50–$1) через благотворительный сайт или любой другой, принимающий мелкие платежи. Если платёж проходит — карта жива и имеет баланс не ниже этой суммы. Затем вы либо возвращаете деньги (refund), либо оставляете их как «стоимость проверки».

Плюсы:
  • Не требует программирования — можно сделать руками через браузер.
  • Проверяет не только жизнь карты, но и наличие минимального баланса.
  • Работает с любым шлюзом, куда можно ввести карту вручную.

Минусы:
  • Реальные деньги списываются (хотя и небольшие).
  • Оставляет след в истории транзакций карты.
  • Риск: магазин может не вернуть деньги при рефанде (или вернуть через неделю).
  • Частые микро-платежи с одной карты могут выглядеть подозрительно для банка.

Когда использовать: Когда у вас нет возможности программировать API, или когда нужно быстро проверить 1–2 карты «руками».

1.3. Метод 3: Через API шлюза с capture: false — «продвинутый»​

Что это. Вы создаёте PaymentIntent (Stripe) или Transaction (Braintree) с флагом capture: false. Шлюз авторизует сумму (блокирует её на карте), но не списывает. Затем вы отменяете авторизацию (cancel или release). Деньги не уходят, но вы узнаёте, что карта прошла авторизацию на нужную сумму.

Плюсы:
  • Проверяет баланс на конкретную сумму (не только $1, но и $500).
  • Деньги не списываются (только временная блокировка, которая снимается через несколько дней).
  • Полностью программный — можно автоматизировать.

Минусы:
  • Требует опыта работы с API и понимания разницы между authorize и capture.
  • Некоторые шлюзы не поддерживают отмену авторизации (или она занимает до 7 дней).
  • Блокировка может быть видна держателю карты как «pending transaction» до снятия.

Где используется: Stripe (создание PaymentIntent с capture_method: 'manual'), Braintree (создание Transaction с options.submitForSettlement: false).

1.4. Метод 4: Проверка через сторонние чекеры — «доверяй, но проверяй»​

Что это. На даркнет-маркетах и закрытых форумах продают услуги чекеров — вы отправляете карту, вам говорят «жива» или «мертва», иногда с балансом. Цена — $1–5 за чек.

Плюсы:
  • Не нужно ничего настраивать.
  • Опытные чекеры иногда имеют доступ к закрытым API.

Минусы:
  • Чекер может солгать (особенно если ему выгодно, чтобы вы купили карту).
  • Вы передаёте данные карты третьему лицу — риск, что он её сам использует.
  • Нет гарантии, что чекер не сохранил ваши данные.

Вердикт: Для начинающего — не рекомендуется. Лучше потратить время на создание своего чекера.

1.5. Сравнительная таблица методов​

МетодСтоимостьСледПроверка балансаНужен кодРиск для картыСложность
$0 Auth0НетНетДаНизкийСредняя
Микро-платёж $0.50$0.50–1Да (выписка)Да (до $1)НетНизкийНизкая
Auth with capture:false0 (временная блокировка)Да (pending)Да (любая сумма)ДаСреднийВысокая
Сторонний чекер$1–5НетЗависит от сервисаНетВысокийНизкая

Рекомендация для начинающего: начинайте с микро-платежей $0.50 через благотворительные сайты. Это самый простой и надёжный способ на старте. Когда освоитесь — переходите к созданию собственного чекера через Stripe API с $0 auth.

Часть 2. Пошаговая инструкция: создаём свой чекер на Python (Stripe API)​

2.1. Почему Stripe — лучший выбор для чекера​

Stripe предоставляет самый дружественный API для начинающих. У него:
  • Отличная документация и готовые SDK для Python.
  • Режим test mode для безопасной отладки (используйте тестовые карты, пока не отладите код).
  • Механизм SetupIntent для проверки карты без списания средств.
  • Бесплатный аккаунт (плата только за реальные транзакции).

2.2. Шаг 1. Регистрация и получение API-ключей​

  1. Зарегистрируйтесь на stripe.com. Подойдёт любой email.
  2. Перейдите в DevelopersAPI Keys.
  3. Скопируйте Secret Key (начинается с sk_live_... — для живых транзакций).
  4. Для тестов переключитесь в Test mode (тумблер в правом верхнем углу) и скопируйте тестовый Secret Key (начинается с sk_test_...).

Важно: Храните Secret Key в безопасности. Любой, кто его получит, сможет проводить платежи от вашего имени.

2.3. Шаг 2. Установка библиотеки Stripe​

Bash:
pip install stripe

2.4. Шаг 3. Простейший чекер через PaymentIntent (с авторизацией $0.50)​

Этот метод создаёт платежное намерение на $0.50 и пытается его подтвердить. Если карта проходит — она жива и имеет баланс ≥ $0.50.
Python:
import stripe

# Ваш секретный ключ Stripe
stripe.api_key = "sk_live_..." # или sk_test_... для тестов

def check_card(card_number, exp_month, exp_year, cvc, amount=50): # amount в центах, 50 = $0.50
try:
# 1. Создаём PaymentMethod (токен карты)
payment_method = stripe.PaymentMethod.create(
type="card",
card={
"number": card_number,
"exp_month": exp_month,
"exp_year": exp_year,
"cvc": cvc,
},
)

# 2. Создаём PaymentIntent на указанную сумму
intent = stripe.PaymentIntent.create(
amount=amount, # в центах
currency="usd",
payment_method=payment_method.id,
confirmation_method="manual",
confirm=True, # сразу подтверждаем
)

# 3. Проверяем статус
if intent.status == "succeeded":
print(f"✅ Карта {card_number[-4:]} прошла! Жива, баланс ≥ ${amount/100}")
# 4. Отменяем платёж (возвращаем деньги)
refund = stripe.Refund.create(payment_intent=intent.id)
print(f" Возврат {refund.amount/100} выполнен")
return True, "live"
else:
print(f"❌ Карта {card_number[-4:]}: статус {intent.status}")
return False, intent.status

except stripe.error.CardError as e:
# Ошибка от банка или Stripe
error_code = e.error.code
error_msg = e.error.message
print(f"❌ Карта {card_number[-4:]}: отказ [{error_code}] {error_msg}")

# Расшифровка кодов
if error_code == "insufficient_funds":
print(" Диагноз: Недостаточно средств")
elif error_code == "do_not_honor":
print(" Диагноз: Карта в стоп-листе банка (украдена/заблокирована)")
elif error_code == "incorrect_number":
print(" Диагноз: Неверный номер (возможно, фуфло)")
elif error_code == "expired_card":
print(" Диагноз: Срок истёк")
elif error_code == "fraudulent":
print(" Диагноз: Блокировка антифродом Stripe")

return False, error_code

except Exception as e:
print(f"⚠️ Ошибка API: {str(e)}")
return False, "api_error"

# Пример использования
check_card(
card_number="4242424242424242", # замените на реальную карту
exp_month=12,
exp_year=2028,
cvc="123",
amount=50 # $0.50
)

2.5. Шаг 4. Продвинутый чекер через SetupIntent ($0 auth — без списания)​

Этот метод использует SetupIntent — объект Stripe для регистрации платёжного метода без немедленного списания средств. При создании SetupIntent Stripe автоматически отправляет в банк запрос на $0 авторизацию, но деньги не блокируются и не списываются. Это идеальный способ проверить «жива ли карта», не оставляя следов.

Python:
import stripe
stripe.api_key = "sk_live_..."
def check_card_zero_auth(card_number, exp_month, exp_year, cvc):
try:
# 1. Создаём PaymentMethod (как и ранее)
payment_method = stripe.PaymentMethod.create(
type="card",
card={
"number": card_number,
"exp_month": exp_month,
"exp_year": exp_year,
"cvc": cvc,
},
)

# 2. Создаём SetupIntent (нулевая авторизация)
setup_intent = stripe.SetupIntent.create(
payment_method=payment_method.id,
confirm=True, # немедленно подтверждаем
usage="off_session", # для будущих платежей
)

# 3. Проверяем статус
if setup_intent.status == "succeeded":
print(f"✅ Карта {card_number[-4:]}: жива и активна (нулевая авторизация)")
return True, "live"
else:
print(f"❌ Карта {card_number[-4:]}: статус {setup_intent.status}")
return False, setup_intent.status

except stripe.error.CardError as e:
error_code = e.error.code
error_msg = e.error.message
print(f"❌ Карта {card_number[-4:]}: отказ [{error_code}] {error_msg}")
return False, error_code

# Пример использования
check_card_zero_auth(
card_number="4242424242424242",
exp_month=12,
exp_year=2028,
cvc="123"
)

В чём разница? PaymentIntent проверяет карту и пытается списать реальную сумму (пусть и небольшую). SetupIntent проверяет карту, не трогая деньги. Для чекера, который не оставляет следов, SetupIntent — лучший выбор.

2.6. Шаг 5. Пакетная проверка нескольких карт из файла​

Python:
import csv
import time

def batch_check_cards(file_path, delay_between=5):
"""
Пакетная проверка карт из CSV-файла.
Формат файла: номер,месяц,год,cvv
"""
results = []

with open(file_path, 'r') as f:
reader = csv.reader(f)
for row in reader:
if len(row) < 4:
continue
card_num, exp_month, exp_year, cvc = row[0].strip(), row[1].strip(), row[2].strip(), row[3].strip()

# Проверяем карту через SetupIntent
status, reason = check_card_zero_auth(card_num, exp_month, exp_year, cvc)

results.append({
'card': f"****{card_num[-4:]}",
'status': status,
'reason': reason
})

# Задержка между проверками, чтобы не спалить чекера
time.sleep(delay_between)

# Выводим итоги
live_cards = [r for r in results if r['status']]
dead_cards = [r for r in results if not r['status']]

print(f"\n=== ИТОГИ ===")
print(f"Живых карт: {len(live_cards)}")
print(f"Мёртвых: {len(dead_cards)}")

for r in live_cards:
print(f" ✅ {r['card']} — живa")
for r in dead_cards:
print(f" ❌ {r['card']} — мёртва ({r['reason']})")

# Использование
batch_check_cards('cards.csv', delay_between=10)  # 10 секунд между картами

2.7. Важные технические нюансы​

Обработка 3D Secure: Если карта требует 3D Secure, Stripe вернёт ошибку authentication_required. Ваш чекер должен уметь это обрабатывать:
Python:
except stripe.error.CardError as e:
if e.error.code == "authentication_required":
print("⚠️ Карта требует 3D Secure — не подходит для обычного вбива")
return False, "3ds_required"

Лимиты скорости: Stripe имеет лимиты на количество API-запросов. Для тестового режима лимиты мягче, но для живых транзакций — не более 100 запросов в секунду. Для начинающего это не проблема, но если вы проверяете 100 карт подряд, добавьте задержку time.sleep(1) между запросами.

Тестовый режим: Перед тем как использовать чекер на реальных картах, обязательно отладьте его в Test mode с тестовыми картами Stripe:
  • Успешная карта: 4242 4242 4242 4242
  • Карта с отказом: 4000 0000 0000 0002
  • Карта с insufficient_funds: 4000 0000 0000 9995

Тестовые транзакции не списывают деньги и не влияют на ваш баланс.

Часть 3. Топ-5 легальных сайтов для теста карт​

Если вы не хотите программировать API и предпочитаете «ручную» проверку карт микро-платежами — вот лучшие площадки. Все они принимают минимальные суммы от $0.50 до $10 и используют надёжные платёжные шлюзы (в основном Stripe).

3.1. Wikipedia / Wikimedia Foundation​

Минимальная сумма: $1 (хотя исторически была $0.01, но после атак кардеров минимальный порог подняли до $1).
Платёжный шлюз: Stripe.

Почему хорош:
  • Абсолютно легальная благотворительная организация.
  • Платёж проходит через Stripe — те же правила, что и в большинстве магазинов.
  • Рефанд работает (можно запросить возврат в течение нескольких дней).

Как тестировать:
  1. Зайдите на donate.wikimedia.org.
  2. Выберите сумму $1.
  3. Введите данные карты.
  4. Если платёж прошёл — карта жива.

Предупреждение: Wikimedia активно борется с кардингом. Если они увидят несколько неудачных попыток с одного IP, они могут заблокировать его. Используйте разные прокси.

3.2. British Red Cross​

Минимальная сумма: £2 (~$2.50).
Платёжный шлюз: Stripe.

Почему хорош:
  • Международная благотворительная организация с высокой репутацией.
  • Принимает международные карты.
  • Страница пожертвований простая, без лишних проверок.

Как тестировать:
  1. Зайдите на redcross.org.uk/donate.
  2. Выберите сумму £2.
  3. Введите данные карты.

Внимание: Британский Red Cross, как сообщается в отчётах по кибербезопасности, нередко используется кардерами для проверки карт. Это означает, что их антифрод-система может быть более чувствительной. Чередуйте с другими сайтами.

3.3. Humble Bundle​

Минимальная сумма: $1 (можно купить любой товар или просто сделать пожертвование).
Платёжный шлюз: Stripe + PayPal.

Почему хорош:
  • Продаёт цифровые товары (игры, книги), можно купить что-то за $1 и получить реальную ценность.
  • Рефанд возможен (но лучше просто оставить $1 как плату за проверку).
  • Принимает большинство международных карт.

Как тестировать:
  1. Зайдите на humblebundle.com.
  2. Выберите любой товар за $1 (например, книгу или игру).
  3. Оформите заказ.

3.4. Donorbox (платформа для некоммерческих организаций)​

Минимальная сумма: $1.
Платёжный шлюз: Stripe, PayPal, Apple Pay, Google Pay.

Почему хорош:
  • Многие некоммерческие организации используют Donorbox для сбора пожертвований.
  • Можно найти конкретную кампанию с минимальной суммой $1.
  • Платёжный опыт идентичен тому, что будет на большинстве сайтов.

Как тестировать:
  1. Зайдите на donorbox.org.
  2. Найдите любую кампанию (например, «Support Local Community»).
  3. Сделайте пожертвование $1.

3.5. Give Lively (платформа для некоммерческих организаций)​

Минимальная сумма: $1.
Платёжный шлюз: Stripe.
Почему хорош: Give Lively позволяет сделать реальное пожертвование в $1, а затем оформить возврат через свой Stripe аккаунт.

Как тестировать:
  1. Найдите кампанию на givelively.org.
  2. Сделайте пожертвование $1.
  3. Через Stripe Dashboard оформите возврат (refund).

Сводная таблица​

СайтМин. суммаШлюзРефандРиск блокировки
Wikipedia$1StripeДаСредний
British Red Cross£2 (~$2.50)StripeДаВыше среднего
Humble Bundle$1Stripe/PayPalДаНизкий
Donorbox$1StripeЗависит от кампанииНизкий
Give Lively$1StripeДа (через Stripe)Низкий

Часть 4. Как не попасть в чёрный список, проверяя одну карту слишком часто​

4.1. Механизм Stripe Radar​

Stripe Radar — это автоматическая система обнаружения мошенничества, которая анализирует каждый платёж. Она блокирует подозрительные транзакции на основе множества факторов: скорость транзакций, несовпадение CVC, подозрительные IP-адреса и страны, а также паттерны поведения.

Radar отслеживает скорость транзакций — количество платежей с одного и того же BIN, устройства или IP-адреса за определённый промежуток времени.

Если одна карта делает несколько неудачных попыток подряд, Stripe может:
  • Заблокировать конкретную карту (она попадает во внутренний чёрный список).
  • Заблокировать BIN карты для всех последующих транзакций.
  • Заблокировать IP-адрес, с которого идут попытки.
  • Заблокировать аккаунт Stripe, через который вы проверяете карты.

4.2. Правила безопасного чекинга​

Правило 1. Одна попытка на карту.
Не пытайтесь провести одну и ту же карту несколько раз через разные сайты. Если первая попытка упала с insufficient_funds — вторая упадёт с тем же, но теперь уже Stripe Radar отметит повторную попытку как подозрительную.

Правило 2. Задержка между попытками — минимум 10-30 секунд.
Если вы проверяете несколько карт подряд, делайте паузу. Человек не может ввести 10 карт за 30 секунд — это явный признак автоматизации.

Правило 3. Используйте разные сайты для проверки.
Не тестируйте все карты на одном благотворительном сайте. Ротация сайтов снижает вероятность того, что конкретный магазин забанит ваш IP.

Правило 4. Для серьёзных объёмов — используйте API-чекер через SetupIntent.
Ручной ввод через браузер оставляет больше следов (cookies, fingerprint). API-через Python + SetupIntent быстрее, чище и оставляет минимум цифровых следов.

Правило 5. Никогда не используйте свой реальный IP и личные карты для тестов.
Всегда используйте:
  • Резидентные прокси, соответствующие стране BIN.
  • Антидетект-браузер с отдельным fingerprint (если проверяете через браузер).
  • Для API-чекера — отдельный Stripe-аккаунт, не связанный с вашими личными данными.

Правило 6. Если карта упала с fraudulent — немедленно прекратите.
Этот код означает, что Stripe Radar уже пометил эту карту или BIN как высокорисковый. Дальнейшие попытки приведут к блокировке вашего IP или аккаунта.

4.3. Что делать, если вас заблокировали​

Если вы получили ошибку blocked_by_radar или ваш IP перестал проходить платежи:
  1. Смените прокси — старый IP сожжён.
  2. Смените Stripe-аккаунт (если использовали API-чекер).
  3. Смените BIN-диапазон — возможно, весь BIN попал в чёрный список.
  4. Сделайте паузу на 24-48 часов — некоторые блокировки временные.

Часть 5. Чек-лист: как правильно проверить карту перед вбивом​

Перед тем как вбивать карту в основной магазин, пройдите этот чек-лист. Каждый пункт — минус 10-20% к вероятности отказа.

Предпроверка (BIN):
  • Проверьте BIN через binlist.io — страна, тип (не prepaid), банк.
  • Страна BIN совпадает со страной прокси? — если нет, даже не начинайте.
  • BIN не старше 7 дней? — старые BIN чаще заблокированы.

Проверка через SetupIntent (API-чекер):
  • Создайте отдельный Stripe-аккаунт для чекинга (не тот, которым будете вбивать).
  • Используйте резидентный прокси для API-запросов.
  • Запустите check_card_zero_auth() — если прошла, карта жива.
  • Проверьте код ошибки — если authentication_required, карта не подходит.

Проверка через микро-платёж (если нет API):
  • Выберите сайт из топа-5 (Wikipedia, Red Cross, Humble Bundle).
  • Сделайте пожертвование $1 через тот же прокси и антидетект, что будете использовать для основного вбива.
  • Если прошло — карта жива. Если insufficient_funds — баланс меньше $1.
  • Если do_not_honor или fraudulent — карта мертва, не тратьте время.

Финальная проверка перед вбивом:
  • Карта жива (прошла чек).
  • Баланс карты предположительно выше суммы чека (если проверяли на $1 — не значит, что пройдёт $500).
  • Карта не требует 3DS (для обычных магазинов).
  • Прошло не менее 5-10 минут после чека (не бейте сразу по той же карте).

Заключение: стратегия чекинга для начинающего​

Помните главное правило: чекинг — это не опция, а необходимость. Без него вы работаете вслепую и сжигаете деньги.

Для начинающего с бюджетом до $100:
  1. Начните с ручной проверки через Wikipedia или Humble Bundle ($1 за карту).
  2. Ведите таблицу: какие BIN проходят, какие нет.
  3. Когда накопится 20-30 проверенных карт — проанализируйте, какие BIN стабильно работают.
  4. После этого задумайтесь о создании своего API-чекера на Python.

Для продвинутого (бюджет от $200):
  1. Создайте свой чекер на Stripe API с SetupIntent.
  2. Интегрируйте его в свой воркфлоу: каждая купленная карта сначала проверяется, потом идёт в основной вбив.
  3. Используйте разные Stripe-аккаунты для чекинга и для основных вбивов.

Быстрая памятка на одну строку:
«Прежде чем вбить — проверь: через SetupIntent ($0) или микро-платёж ($1). Жива — вбивай. Мертва — в топку. Две попытки с одной карты — сжигаешь IP»
 
Last edited:
Top