Как определить, что карта, которую вводит человек, является дебетовой, чековой или кредитной?
Я смотрю на это только для веб-платежей в США. Это для выставления счетов за коммунальные услуги.
Как определить, что карта, которую вводит человек, является дебетовой, чековой или кредитной?
Я смотрю на это только для веб-платежей в США. Это для выставления счетов за коммунальные услуги.
Я думаю, вы запутались, когда вы проводите карту в магазине, машина знает, какая у вас карта. Хотя с моей голландской дебетовой картой у меня всегда была возможность выбрать ...
Но я предполагаю, что магнитная полоса хранит больше, чем просто номер, и считыватели карт используют его для определения вашего типа карты.
Вам просто нужно будет присоединиться к другим приложениям / сайтам и спросить пользователя :)
Лучший код, который я видел для проверки типа карты, - это страница Javascript по адресу http://www.eflo.net/mod10.htm - может различать дебетовую и кредитную карту VISA по вашему запросу, а также многие другие варианты карт. Я очень легко перенес этот код на C #.
Другой альтернативой является получение копии базы данных BIN (Bank Identification Number), которая представляет собой список всех префиксов карт, выпуска карты и требований к проверке карты (например, Дата истечения срока действия, Номер выпуска, Дата начала). Некоторые источники БИН;
не уверен, для чего вам это нужно, но я знаю, что во всех POS-системах Попросите ПОЛЬЗОВАТЕЛЯ указать тип карты.
вы можете запустить «Дебет как кредит» - не нужен пин-код
вы можете запустить «Кредит как дебет» - введите свой пин-код, и транзакция будет считаться авансом наличными
Wiki содержит списки префиксов кредита и дебета.
Однако некоторые карты IIRC могут использоваться как кредитные, так и дебетовые, в зависимости от контекста.
Вы, вероятно, уже узнали об этом через свой платежный шлюз, но карты (дебетовые, кредитные, пользовательские [например, карты магазина] трудно различить без небольшой помощи. Обычно вы можете отправить номер карты в платежный шлюз, и они дать вам эту деталь, но вы можете вычислить ее с помощью простой таблицы префиксов.
Проще говоря, каждому банку / организации предоставляется доступ к определенному набору префиксов [числа в начале], и в зависимости от требуемого уровня детализации вы можете сопоставить любой номер карты с организацией, используя префикс. Приятно то, что дебетовые и кредитные карты используют разные префиксы даже из одного банка.
С точки зрения веб-шлюза вас обычно это не волнует, поскольку платежный шлюз автоматически сообщит вам, принимают ли они карту, выполнит за вас проверку горячей карты и подтвердит другую введенную информацию.
Комментарий (вверху / внизу) о том, что не нужно вводить PIN-код на дебетовой карте, неверен. Это не дебетовая карта, которую иногда называют Гаражными / Топливными картами (откуда я родом), они работают только для определенных «транзакций типа топлива», чтобы ускорить обработку на АЗС.
Числовые диапазоны. Вот небольшой отрывок из старой спецификации, которая у меня когда-то была.
К настоящему времени вполне могут быть другие методы, например, в ответном сообщении от процессора, но мне не приходилось иметь дело с этим в течение долгого времени. Мы обрабатываем все как кредитную карту, и если карта строго дебетовая, банк просто позаботится об этом.
Binbase сообщит вам, дебетовая или кредитная карта, на основе первых шести цифр номера карты. Вы можете выполнять 10 ручных поисков в день или можете заплатить, чтобы купить всю базу данных. www.binbase.com/search.html
Возвращаемая информация имеет следующий формат:
Card Brand: VISA
Issuing Bank: BRANCH BANKING AND TRUST COMPANY
Card Type (Credit/Debit): DEBIT
Card Level: CLASSIC
ISO Country Name: UNITED STATES
ISO Country A2 Code: US
ISO Country A3 Code: USA
ISO Country Number: 840
Bank Website: HTTP://WWW.EXAMPLE.COM
Bank Phone: 555-555-5555 OR 800-555-5555
Я нашел бесплатный json API для проверки BIN. https://api.freebinchecker.com/bin/ {bin} для проверки одного номера BIN. Он принимает число длиной шесть - первые цифры любой платежной карты. Приложение выполнит поиск в базе данных, чтобы вернуть всю необходимую информацию, хранящуюся для BIN, и около 350 000+ записей. Там же есть премиум-функция.
Вы можете получить тип карты и другую важную информацию. Полный номер карты, кроме первых 6 цифр, не требуется.
Пример:
**Request:**
https://api.freebinchecker.com/bin/370245
**Response:**
{"valid":true,
"card":{
"status":"active",
"brand":"VISA",
"type":"credit",
"category":"STANDARD",
"sub-category":"The payment system \"Visa\""
},
"country":{
"name":"United States",
"alpha-2-code":"US",
"numeric-code":"840",
"latitude":"37.09024",
"longitude":"-95.712891"
},
"issuer":{
"name":"JPMORGAN CHASE BANK, N.A.",
"url":"www.jpmorganchase.com",
"tel":"1-800-565-3460-9200"
}}
Для получения дополнительной информации: Freebinchecker
https://binlist.net/ предлагает бесплатный (с ограничением по скорости) API. Вам нужно ввести только первые 6 или 8 цифр номера карты, то есть идентификационные номера эмитента (ИИН), ранее известные как идентификационный номер банка (БИН).
curl -H "Accept-Version: 3" "https://lookup.binlist.net/45717360"