Анализ логов продавца: как по шаблонам ошибок определить, заблокирован ли BIN

Good Carder

Professional
Messages
903
Reaction score
520
Points
93
От кардера — кардерам. Вы получили десятки отказов. Вы меняете прокси, профили, сайты, но всё бесполезно. Причина может быть тривиальной: ваш BIN заблокирован на уровне платёжного шлюза. Но как отличить BIN-блокировку от блокировки по IP, фингерпринту или просто мёртвой карты? Ответ — в логах. Stripe, Adyen и Braintree возвращают разные коды ошибок и тайминги для разных типов блокировок. Если вы не умеете их читать, вы будете гадать, менять карты, прокси и антидетект, теряя время и деньги.

В этой статье я научу вас анализировать шаблоны ошибок, чтобы с уверенностью сказать: «BIN мёртв» или «проблема в среде». Вы узнаете, как расшифровать decline codes Stripe, Adyen, Braintree, как отличить блокировку BIN от блокировки IP или fingerprint, как использовать тестовые карты для проверки реакции шлюза и как строить графики успешности BIN во времени для выявления тренда на блокировку.


Часть 1. Почему BIN-блокировка — это диагноз, а не догадка​

BIN (первые 6 цифр карты) может быть заблокирован по разным причинам:
  • BIN-атаки (массовый перебор карт одного диапазона).
  • Высокий процент чарджбэков по картам этого BIN.
  • Внесение диапазона в чёрный список платёжным шлюзом или эквайером.

Когда BIN заблокирован, любая карта этого BIN будет отклоняться, независимо от баланса, CVV и даже от того, жива она или нет. Для кардера это означает, что тратить время на покупку карт этого BIN бессмысленно.

Но как отличить блокировку BIN от:
  • Проблем с прокси (IP в чёрном списке, плохая репутация)?
  • Проблем с fingerprint (антидетект протекает)?
  • Мёртвой карты (do_not_honor, expired_card)?

Ключевой принцип: BIN-блокировка проявляется одинаково для всех карт этого BIN и мгновенно (<1 секунды ответа). Ошибки среды (IP, fingerprint) часто дают задержку >1 секунды и могут варьироваться в зависимости от чистоты вашего окружения.

Часть 2. Расшифровка кодов ошибок Stripe, Adyen, Braintree​

2.1. Stripe​

Stripe возвращает объект error с полем code и decline_code. Для BIN-блокировки характерны коды:

Код ошибкиDecline codeТипичный таймингЗначение
fraudulentfraudulent<1 секBIN в чёрном списке Stripe Radar
blockedblocked<1 секBIN заблокирован мерчантом через Radar Rules
generic_declinegeneric_decline<1 секBIN в чёрном списке (общая блокировка)
card_declineddo_not_honor1–3 секКарта мёртва (банк эмитента), не BIN
card_declinedinsufficient_funds1–3 секКарта жива, но пуста

Важное наблюдение: Если Stripe возвращает fraudulent за 0.3–0.8 секунды для всех карт одного BIN — это BIN-блокировка. Если тайминг >1 секунды и ошибка do_not_honor — проблема в конкретной карте.

2.2. Adyen​

Adyen возвращает resultCode и refusalReason.

resultCoderefusalReasonТаймингЗначение
RefusedFRAUD<1 секBIN в чёрном списке
RefusedBLOCKED<1 секBIN заблокирован мерчантом
RefusedDO_NOT_HONOR1–3 секКарта мёртва
RefusedNOT_ENOUGH_BALANCE1–3 секНедостаточно средств
ErrorTIMEOUT>3 секПроблема с сетью или прокси

В Adyen BIN-блокировка почти всегда даёт FRAUD с таймингом менее 1 секунды.

2.3. Braintree​

Braintree возвращает processor_response_code и processor_response_text.

КодТекстТаймингЗначение
2000Fraud<1 секBIN в чёрном списке
2000Blocked<1 секBIN заблокирован мерчантом
2005Do Not Honor1–3 секКарта мёртва
2004Insufficient Funds1–3 секНедостаточно средств
2003Expired Card1–3 секСрок истёк

Часть 3. Как отличить блокировку BIN от блокировки по IP или фингерпринту​

3.1. Таблица дифференциальной диагностики​


Тип блокировкиКод ошибки (Stripe)ТаймингПоведение при смене проксиПоведение при смене карты
BINfraudulent / blocked<1 секОшибка сохраняетсяОшибка сохраняется (для всех карт этого BIN)
IPfraudulent / generic_decline1–3 секОшибка исчезает при смене проксиОшибка может сохраняться для некоторых карт
Fingerprintfraudulent1–2 секОшибка может сохраняться при смене проксиИсчезает при смене антидетект-профиля
Мёртвая картаdo_not_honor1–3 секОшибка не зависит от проксиИсчезает при смене карты (но не BIN)

3.2. Практический алгоритм дифференциации​

  1. Проверьте тайминг. Если <1 сек — подозрение на BIN или IP-блокировку.
  2. Смените карту того же BIN. Если ошибка повторяется — BIN под подозрением.
  3. Смените прокси на заведомо чистый (резидентный, фрод-скор <30). Если ошибка исчезла — проблема была в IP.
  4. Смените профиль антидетекта (новый fingerprint). Если ошибка исчезла — проблема в fingerprint.
  5. Проверьте через тестовую карту (см. Часть 4).

3.3. Пример из практики​

Вы вбили 5 карт BIN 414720. Все упали с fraudulent за 0.5 секунды. Вы сменили прокси, но ошибка осталась. Вы сменили профиль антидетекта — ошибка осталась. Вы купили карту другого BIN — она прошла. Диагноз: BIN 414720 заблокирован Stripe. Прекратите покупать карты этого BIN.

Часть 4. Использование тестовых карт для проверки реакции шлюза​

4.1. Тестовые карты Stripe​

Stripe предоставляет тестовые номера карт, которые всегда возвращают определённые коды ошибок. Их можно использовать, чтобы понять, как шлюз реагирует на определённые типы отказов, не рискуя реальными картами.

Номер картыОжидаемый decline codeТаймингИспользование
4000 0000 0000 0002do_not_honor1–3 секСимулирует мёртвую карту
4000 0000 0000 0009fraudulent<1 секСимулирует блокировку по BIN
4000 0000 0000 0010generic_decline<1 секСимулирует общую блокировку
4000 0000 0000 0030insufficient_funds1–3 секСимулирует недостаток средств

Практическое применение: Если вы подозреваете, что ваш BIN заблокирован, отправьте запрос с тестовой картой 4000 0000 0000 0009. Если Stripe вернёт fraudulent за 0.5 секунды — значит, ваш IP и fingerprint чисты, а проблема в BIN. Если тестовая карта проходит (т.е. do_not_honor с таймингом 2 секунды) — ваш IP и fingerprint чисты, а проблема в конкретных картах.

4.2. Тестирование через live-карты с заведомо известным статусом​

Другой подход: купите карту заведомо живого BIN (например, 414720, если он ещё не заблокирован) и проверьте её. Если она проходит, а ваши карты того же BIN падают — проблема в картах (мёртвые), а не в BIN.

Часть 5. Построение графика успешности BIN во времени​

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

5.1. Сбор данных​

В логе должны быть поля: bin, timestamp, success (1/0). Сгруппируйте данные по BIN и по дням (или часам).

5.2. Построение графика​

Python:
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('carding_log.csv', parse_dates=['timestamp'])
df['date'] = df['timestamp'].dt.date
bin_data = df[df['bin'] == 414720].groupby('date')['success'].mean() * 100
plt.plot(bin_data.index, bin_data.values)
plt.xlabel('Date')
plt.ylabel('Success Rate (%)')
plt.title('BIN 414720 Success Rate Over Time')
plt.show()

5.3. Интерпретация​

  • Стабильный высокий процент (30–50%) → BIN жив.
  • Постепенное снижение (с 40% до 10% за 2-3 недели) → BIN начали блокировать. Готовьтесь к замене.
  • Резкое падение до 0% → BIN заблокирован. Прекращайте покупку карт этого BIN.

Пример из реального лога: BIN 414720 давал 35% успеха в январе, 25% в феврале, 10% в марте, 0% в апреле. В апреле уже не было смысла покупать карты этого BIN.

Часть 6. Ошибки при анализе логов​

Ошибка 1. Игнорирование тайминга. Один и тот же код fraudulent при 0.5 сек и 2 сек — разные истории. Всегда смотрите время ответа.
Ошибка 2. Слишком мало данных. Не делайте выводы о BIN по 3–5 попыткам. Нужно минимум 20–30 попыток для статистической значимости.
Ошибка 3. Смешивание разных шлюзов. BIN может быть заблокирован в Stripe, но работать в Braintree. Анализируйте отдельно для каждого шлюза.
Ошибка 4. Не учитывать качество прокси. Если вы используете плохие прокси, вы будете получать fraudulent даже на живых BIN. Сначала убедитесь в чистоте окружения.

Часть 7. Чек-лист для диагностики BIN-блокировки​

  • Соберите логи для 20+ карт одного BIN.
  • Зафиксируйте decline code и тайминг для каждой попытки.
  • Проверьте тайминг. Если <1 сек и код fraudulent / blocked — подозрение на BIN.
  • Смените прокси на заведомо чистый (резидентный, фрод-скор <30).
  • Смените профиль антидетекта (новый fingerprint).
  • Проверьте тестовой картой Stripe 4000 0000 0000 0009.
  • Проанализируйте график успешности BIN во времени.
  • Сделайте вывод: если BIN заблокирован — прекратите его использовать. Если проблема в среде — меняйте прокси или fingerprint.

Резюме​

Анализ логов продавца — это не гадание, а системная диагностика. Decline code, тайминг, тестовые карты и графики успешности позволяют с высокой точностью определить, заблокирован ли BIN, или проблема в вашей среде.
  • BIN-блокировка: код fraudulent / blocked, тайминг <1 сек, ошибка не зависит от прокси и fingerprint.
  • IP-блокировка: ошибка исчезает при смене прокси.
  • Fingerprint-блокировка: ошибка исчезает при смене антидетект-профиля.
  • Мёртвые карты: код do_not_honor, тайминг 1–3 сек.

Используйте тестовые карты Stripe для верификации гипотез и стройте графики успешности по времени, чтобы видеть тренды. Это сэкономит вам тысячи долларов на покупке мёртвых BIN.

Быстрая памятка на одну строку:
«fraudulent за 0.5 сек — BIN мёртв. do_not_honor за 2 сек — карта мёртва. Тестовая карта 4000 0000 0000 0009 подтверждает. Смени прокси и fingerprint — если не помогло, BIN в чёрном списке. Строй график успешности по дням — падение до нуля»
 
Top