Я работаю над мобильным платежным приложением. Пользователь может добавить все свои карты, как оплату (например, кредитные/дебетовые/кассовые карты), так и неплатежи (карточки с лояльностью, чтобы заработать очки) в приложении.Как отличить номер платежной карты (например, кредитные/дебетовые карты) и номера неплатежей?
При добавлении карты я хочу различать эти карты двух типов и хочу показать их в отдельных списках в приложении.
Я, хотя алгоритм Луна будет делать, но даже неплатежные карты будут вычислять контрольную цифру согласно алгоритму Луна.
Просьба предложить, если есть какой-либо другой механизм, который я могу использовать для прагматического разграничения между этими двумя типами карт.
благодаря
Я предлагаю, чтобы ваши пользователи приложений могли группировать карты по своему усмотрению или использовать регулярные выражения для быстрого анализа числа номеров для общих диапазонов. Есть много готовых примеров использования, просто Google. Обычные регулярные выражения не на 100% правильны. Поддержка таблиц BIN карты будет более сложной из-за размера таких таблиц и постоянных обновлений. –
В дополнение к замечанию выше, ISO/IEC 7812 является стандартом для * самых * платежных карт, и поэтому вы можете быть достаточно уверенными, чтобы номера платежных карт начинались с 4/5/6. Там могут быть некоторые карты лояльности в пределах этих диапазонов, хотя, особенно в диапазоне 6. Кроме того, некоторые эмитенты карт (JCB для одного) полностью следуют различным стандартам (карты JCB начинаются с 3). Вкратце - позвольте пользователям разобраться! – PaulG
@PaulG - На самом деле, 7812 распространяется на * все * кредитные карты, включая JCB. [Эта таблица] (https://en.wikipedia.org/wiki/Payment_card_number#Issuer_identification_number_.28IIN.29) содержит все основные диапазоны BIN (первые несколько цифр). Стоит отметить, что карты American Express также начинаются с 3, но их очень легко отличить от JCB на основе второй цифры. – Bobson