Задать вопрос
@mkone112
Начинающий питонист.

Как надёжно определить, что обе карты выпустил один банк?

У меня есть БД с платежами по картам, включающая поле с первыми шестью цифрами банковских карт. Я хотел сгруппировать платежи по банкам, но перепробовав все попавшиеся api к своему удивлению - не смог найти способа надежно определить что две карты были выданы одним банком.

Например, бики 510621 и 044525444 соответствуют YANDEX.MONEY NBCO LLC и YooMoney, NBCO LLC, хотя по факту и то и другое - яндекс деньги.

Для биков 413203 и 532356, api возвращают имена 'RUSSIAN REGIONAL DEVELOPMENT BANK OJSC (CLOSED)' и 'JOINT-STOCK COMPANY RUSSIAN REGIONAL DEVELOPMENT BANK (RRDB)'.
Поначалу я решил просто почистить возвращаемые строки от мусора вроде "LLC" или "JOINT STOCK COMPANY", а затем сравнивать строки каким-нибудь алгоритмом. Расчет расстояния Левенштейна ожидаемо оказался довольно бесполезным, после этого я попробовал использовать индекс Жаккара - стало получше, но работает это далеко не на 100%, т.к. названия многих банков могут, например почти целиком состоять из названий одинаковых географических мест. Некоторые названия по всей видимости нужно сначала перевести обратно на русский, и только после сравнивать, пример - "POCHTA BANK" vs "POST BANK".

Т.е. алгоритм сравнения названий если и возможен, то он будет крайне переусложненным, и не факт, что вся эта конструкция в итоге не начнет сбоить. Вопрос - существует ли в природе консистентный api или бд c идентификаторами банков, или какой-то другой способ простого определения, что две карты были выданы одним банком?
  • Вопрос задан
  • 225 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@kisaa
Статьи на Хабре:
https://habr.com/ru/post/453672/ - CardInfo (больше не работает)
https://habr.com/ru/post/527796/ - BinKing (больше про применение во фронтенде)

Насчет ваших 6-и цифр:
https://habr.com/ru/post/453672/#comment_20206912
Ответ написан
opium
@opium
Просто люблю качественно работать
Это две разные компании так то))) если про Яндекс и юмани
В целом банков не так много, и видимо надо вручную унифицировать названия и потом уже пользоваться этой базой для сравнения
Ну придется раз в какое то время новые имена унифицировать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы