Определение типа кредитной / дебетовой карты - PullRequest
0 голосов
/ 05 апреля 2010

Я пишу POS-приложение для комбинации iPhone / iPod, используя то же аппаратное обеспечение, которое используется в Apple Stores :: EasyPay.

Хорошо, мое препятствие заключается в следующем: как определить, какой тип кредитной карты используется при вводе текста в поле uitext?

Я предполагаю, что должен использовать textField:shouldChangeCharactersInRange:replacementString:? Тем не менее, у меня есть идеи, плавающие вокруг, но я просто не могу собрать их вместе, чтобы сформировать код: /

Любая помощь приветствуется!

Ответы [ 4 ]

1 голос
/ 14 апреля 2010

Вы можете связаться с Visa / MC и подписаться на обновления списка BIN. Виза бесплатна, но я считаю, что MC имеет плату. После того, как вы зарегистрируетесь, вы будете получать по почте компакт-диск с текущими диапазонами BIN ежемесячно.

Вы также можете пройти через процессор или ISO (независимую организацию продаж), если вы работаете с ним. Я предполагаю, что, поскольку у вас есть платежное приложение, у вас есть какие-то отношения с ISO, который устанавливает торговые счета для ваших клиентов. ISO должен иметь возможность получить список BIN для вас от процессора и, вероятно, бесплатно.

1 голос
/ 05 апреля 2010

Возможно, я не понял вашу проблему, но я думаю, что у вас может быть список БИН (идентификационный номер банка).Например, большинство номеров кредитных карт, начинающихся с «4», являются Visa.Если они начинаются с «5», они, вероятно, Mastercard.Это только пример, у вас должен быть полный список для идентификации каждой возможной карты.К сожалению, полный и обновленный список оплачивается, но у вас может быть хороший список для поиска бесплатной информации в Интернете, например здесь .

1 голос
/ 05 апреля 2010

Вы можете сделать разумный удар при угадывании типа карты по первым шести цифрам номера карты, который известен как Идентификационный номер эмитента (IIN)

Проблема в том, что, вы будете бороться, чтобы получить полный список IIN.Даже крупные покупатели стараются поддерживать актуальный список, так как эмитенты часто добавляют или удаляют диапазоны.

К счастью, тип карты обычно не имеет значения.Вы должны быть в состоянии выполнить базовую проверку длины и контрольную цифру luhn , а затем отправить карту процессору для проверки и авторизации.

0 голосов
/ 05 апреля 2010

Я думаю, что вы на правильном пути с textField:shouldChangeCharactersInRange:replacementString:, так как он вызывается каждый раз, когда пользователь меняет содержимое в текстовом поле. Похоже, вы на самом деле не хотите менять textField, но вместо этого хотите изменить другой связанный элемент управления, который идентифицирует тип карты. Вы можете использовать алгоритм, описанный в Определение типа кредитной карты по номеру , в качестве вспомогательной функции для соответствующей корректировки типа кредитной карты, когда пользователь начинает печатать.

Вы можете пропустить полную проверку, пока во входной строке не будет правильное количество символов.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...