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 во времени для выявления тренда на блокировку.
Когда BIN заблокирован, любая карта этого BIN будет отклоняться, независимо от баланса, CVV и даже от того, жива она или нет. Для кардера это означает, что тратить время на покупку карт этого BIN бессмысленно.
Но как отличить блокировку BIN от:
Ключевой принцип: BIN-блокировка проявляется одинаково для всех карт этого BIN и мгновенно (<1 секунды ответа). Ошибки среды (IP, fingerprint) часто дают задержку >1 секунды и могут варьироваться в зависимости от чистоты вашего окружения.
Важное наблюдение: Если Stripe возвращает fraudulent за 0.3–0.8 секунды для всех карт одного BIN — это BIN-блокировка. Если тайминг >1 секунды и ошибка do_not_honor — проблема в конкретной карте.
В Adyen BIN-блокировка почти всегда даёт FRAUD с таймингом менее 1 секунды.
Практическое применение: Если вы подозреваете, что ваш BIN заблокирован, отправьте запрос с тестовой картой 4000 0000 0000 0009. Если Stripe вернёт fraudulent за 0.5 секунды — значит, ваш IP и fingerprint чисты, а проблема в BIN. Если тестовая карта проходит (т.е. do_not_honor с таймингом 2 секунды) — ваш IP и fingerprint чисты, а проблема в конкретных картах.
Пример из реального лога: BIN 414720 давал 35% успеха в январе, 25% в феврале, 10% в марте, 0% в апреле. В апреле уже не было смысла покупать карты этого BIN.
Ошибка 2. Слишком мало данных. Не делайте выводы о BIN по 3–5 попыткам. Нужно минимум 20–30 попыток для статистической значимости.
Ошибка 3. Смешивание разных шлюзов. BIN может быть заблокирован в Stripe, но работать в Braintree. Анализируйте отдельно для каждого шлюза.
Ошибка 4. Не учитывать качество прокси. Если вы используете плохие прокси, вы будете получать fraudulent даже на живых BIN. Сначала убедитесь в чистоте окружения.
Используйте тестовые карты Stripe для верификации гипотез и стройте графики успешности по времени, чтобы видеть тренды. Это сэкономит вам тысячи долларов на покупке мёртвых BIN.
Быстрая памятка на одну строку:
«fraudulent за 0.5 сек — BIN мёртв. do_not_honor за 2 сек — карта мёртва. Тестовая карта 4000 0000 0000 0009 подтверждает. Смени прокси и fingerprint — если не помогло, BIN в чёрном списке. Строй график успешности по дням — падение до нуля»
В этой статье я научу вас анализировать шаблоны ошибок, чтобы с уверенностью сказать: «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 | Типичный тайминг | Значение |
|---|---|---|---|
| fraudulent | fraudulent | <1 сек | BIN в чёрном списке Stripe Radar |
| blocked | blocked | <1 сек | BIN заблокирован мерчантом через Radar Rules |
| generic_decline | generic_decline | <1 сек | BIN в чёрном списке (общая блокировка) |
| card_declined | do_not_honor | 1–3 сек | Карта мёртва (банк эмитента), не BIN |
| card_declined | insufficient_funds | 1–3 сек | Карта жива, но пуста |
Важное наблюдение: Если Stripe возвращает fraudulent за 0.3–0.8 секунды для всех карт одного BIN — это BIN-блокировка. Если тайминг >1 секунды и ошибка do_not_honor — проблема в конкретной карте.
2.2. Adyen
Adyen возвращает resultCode и refusalReason.| resultCode | refusalReason | Тайминг | Значение |
|---|---|---|---|
| Refused | FRAUD | <1 сек | BIN в чёрном списке |
| Refused | BLOCKED | <1 сек | BIN заблокирован мерчантом |
| Refused | DO_NOT_HONOR | 1–3 сек | Карта мёртва |
| Refused | NOT_ENOUGH_BALANCE | 1–3 сек | Недостаточно средств |
| Error | TIMEOUT | >3 сек | Проблема с сетью или прокси |
В Adyen BIN-блокировка почти всегда даёт FRAUD с таймингом менее 1 секунды.
2.3. Braintree
Braintree возвращает processor_response_code и processor_response_text.| Код | Текст | Тайминг | Значение |
|---|---|---|---|
| 2000 | Fraud | <1 сек | BIN в чёрном списке |
| 2000 | Blocked | <1 сек | BIN заблокирован мерчантом |
| 2005 | Do Not Honor | 1–3 сек | Карта мёртва |
| 2004 | Insufficient Funds | 1–3 сек | Недостаточно средств |
| 2003 | Expired Card | 1–3 сек | Срок истёк |
Часть 3. Как отличить блокировку BIN от блокировки по IP или фингерпринту
3.1. Таблица дифференциальной диагностики
| Тип блокировки | Код ошибки (Stripe) | Тайминг | Поведение при смене прокси | Поведение при смене карты |
|---|---|---|---|---|
| BIN | fraudulent / blocked | <1 сек | Ошибка сохраняется | Ошибка сохраняется (для всех карт этого BIN) |
| IP | fraudulent / generic_decline | 1–3 сек | Ошибка исчезает при смене прокси | Ошибка может сохраняться для некоторых карт |
| Fingerprint | fraudulent | 1–2 сек | Ошибка может сохраняться при смене прокси | Исчезает при смене антидетект-профиля |
| Мёртвая карта | do_not_honor | 1–3 сек | Ошибка не зависит от прокси | Исчезает при смене карты (но не BIN) |
3.2. Практический алгоритм дифференциации
- Проверьте тайминг. Если <1 сек — подозрение на BIN или IP-блокировку.
- Смените карту того же BIN. Если ошибка повторяется — BIN под подозрением.
- Смените прокси на заведомо чистый (резидентный, фрод-скор <30). Если ошибка исчезла — проблема была в IP.
- Смените профиль антидетекта (новый fingerprint). Если ошибка исчезла — проблема в fingerprint.
- Проверьте через тестовую карту (см. Часть 4).
3.3. Пример из практики
Вы вбили 5 карт BIN 414720. Все упали с fraudulent за 0.5 секунды. Вы сменили прокси, но ошибка осталась. Вы сменили профиль антидетекта — ошибка осталась. Вы купили карту другого BIN — она прошла. Диагноз: BIN 414720 заблокирован Stripe. Прекратите покупать карты этого BIN.Часть 4. Использование тестовых карт для проверки реакции шлюза
4.1. Тестовые карты Stripe
Stripe предоставляет тестовые номера карт, которые всегда возвращают определённые коды ошибок. Их можно использовать, чтобы понять, как шлюз реагирует на определённые типы отказов, не рискуя реальными картами.| Номер карты | Ожидаемый decline code | Тайминг | Использование |
|---|---|---|---|
| 4000 0000 0000 0002 | do_not_honor | 1–3 сек | Симулирует мёртвую карту |
| 4000 0000 0000 0009 | fraudulent | <1 сек | Симулирует блокировку по BIN |
| 4000 0000 0000 0010 | generic_decline | <1 сек | Симулирует общую блокировку |
| 4000 0000 0000 0030 | insufficient_funds | 1–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 в чёрном списке. Строй график успешности по дням — падение до нуля»