Помогите, пожалуйста, кто знает в чем может быть проблема ! Мы - IT-шники, разрабатывающие софт для терминалов оплаты. Недавно к нам обратились заказчики с вопросом подключения к терминалам стандартных карт-ридеров для считывания данных с магнитных карт Hi Co, первой, второй и третьей полосы. При этом нам поставили задачу не только в карт ридерах считывать данные с карт, но и предоставить им решение по записи своих данных на пластик, для выпуска карт их бонусной системы, со степенью надежности близкой к банковской. Нам предоставили энкодер MagCard Encoder, дали небольшую сууму денег на покупку заготовок пластика с магнитной полосой и несколько банковских пластиков для сравнения формата и записи в аналогичном банковскому формату. При этом для энкодера дали софт, позволяющий считывать данные со всех дорожек любой карты и записывать на все три дорожки любой карты. И вот мы уже трое суток мучаемся с проблемой, суть которой понять не можем до сих пор ! 1) Берем банковскую пластикову карту любого из банков, что нам оставили заказчики - сбер, мастер банк, альфа банк, россельхоз. Считываем энкодером данные с карты и получаем вот такую конструкцию: 1 дорожка: B536******3412471^17***88/^14056******0149***50 2 дорожка: 536******3412471'14056******014942450 3 дорожка: <нет данных> или кострукцию с пробелами типа: 1 дорожка: B54******48681563^MA****CH/A****EY ^111*********000**407 2 дорожка: 5**********81563'11**********000***07 3 дорожка: <нет данных> Затем эти данные мы методом копи-пасте пишем на заготовку пластика, однако вот это самое "<нет данных>" не пишется, оно почему то заменяется нулями. Однако в Интернете пишут, что третья дорожка е влияет ни на что, поэтому идем в ближайший банкомат проверять заготовку, так как пин-коды заказчики к картам дали. Все банкоматы отклоняют заготовку с формулировками типа "карта не валидна" или или что то в таком же духе. Что это может быть ? Может ли реально влиять отсуствие нужных данных на третьей дорожке ? Чем вызвано, что энкодер показывает при считывании с банковской карты не пустую дорожку, а именно так: <нет данных> ? Не может ли влиять пластиковая заготовка или магнитная лента, например они должны быть другой плотности или обладать какими то другими характеристиками ? Помогите советом, кто знает, пожалуйста !
Так банкоматы не только магнитную полосу проверяют P.S. В примере Вы засветили свою карту, хоть звездочками замените что-ли)
Заменили на звездочки. Тоже подумали, что они возможно не только магнитку читают, поэтому провели еще один эксперимент - пожертвовали рабочей картой альфа банка, на нее записали данные с другой карты альфа банка, опять попробовали, опять отклонена транзакция. Затем снова данные с родной карты записали опять на эту же родную карту и сунули в банкомат, и получили опять ту же смую проблему. Получается что энкодер или программа виноваты.
nightflight Подозрительная фраза: Пробелы это не печатаемые символы. При конвертации Bin -> Text -> Bin такие коды теряются. Мб у вас тоже самое ?
Только у двух банков пробелы, а мы уже протестили штук 5-6. В понедельник будем обзванивать специалистов по PSI DSS. Ну и конечно, попробуем считать данные на более низком уровне, без софта поставщика оборудования, может там что выяснится...
2nightflight погуглите ISO-4909:2006 "Банковские карты - содержание третьей дорожки магнитной полосы"; может этот сайт поможет