Настройка Apple Pay в приложении Wallet на iPhone – Служба поддержки Apple (RU)

«отвязываем» карту от app store и itunes store

Можно поменять способ оплаты на Айфоне, используя непосредственно настройки гаджета. Для этого:

  1. Открыть в «Настройках» пункт «iTunes Store и App Store».
  2. Кликнуть на строку с идентификатором Apple ID.
    Как отвязать банковскую карту от Айфона: открепить, изменить способ оплаты  Как отвязать банковскую карту от Айфона: открепить, изменить способ оплаты
  3. Кликаем снова по «Apple ID» для перехода в личный кабинет.
    Как отвязать банковскую карту от Айфона: открепить, изменить способ оплаты  Как отвязать банковскую карту от Айфона: открепить, изменить способ оплаты
  4. Авторизуемся, выбираем страну «Россия» и жмем «Оплата и доставка».
    Как отвязать банковскую карту от Айфона: открепить, изменить способ оплаты  Как отвязать банковскую карту от Айфона: открепить, изменить способ оплаты
  5. Нажимаем «Изменить платежную информацию».
  6. Удаляем данные карты и сохраняемся.
    Как отвязать банковскую карту от Айфона: открепить, изменить способ оплаты  Как отвязать банковскую карту от Айфона: открепить, изменить способ оплаты

После этого предыдущие платежные данные для оплаты покупок в iTunes Store и App Store будут удалены. Здесь же можно обновить платежную информацию на Айфоне, выбрав подходящий вариант.

Как привязать карту к apple id?

Внесение данных с карты
Внимательно заполните все поля достоверными данными с вашей платежной карты

Иногда возникают ситуации, когда удобно прикрепить платёжную карту к ранее созданной учётке. Прикрепить можно любую карту с положительным балансом или кредитку Виза Classic или Мастер Кард. Не подойдут для этой цели карты Маэстро или Виза Электрон.Есть вариант использования виртуальной карты с дебетовым балансом, созданной в приложениях Яндекс Деньги или Киви.Для прикрепления карты к аккаунту выполните такие шаги:

  1. Открываем App Store и во вкладке «Посмотреть Apple ID» выбираем способ оплаты.
  2. Обязательно указываем все настоящие данные карты в соответствующих полях.
Завершающий этап смены данных
Подтвердите действие и сохраните изменения

Таким же методом можно внести изменения в другие данные учётной записи iTunes.

Как мы увидели — нет ничего сложного в смене данных о способе платежей кредитной карте в Apple ID. Простые пошаговые действия помогут быстро и успешно произвести эти манипуляции с персональной информацией в вашем аккаунте.

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

  1. Переходим в «Настройки», раздел «ITunes Store и Apple Store».
  2. Выбираем новую карту оплаты Visa, MasterCard или AmEx, а далее указываем с нее все платежные реквизиты – номер, срок действия, код безопасности с обратной стороны.
  3. В случае правильно введенных данных карта подтверждается. Отключенная карта продолжает работать.

Apple ID поддерживает дебетовые и кредитные карты, физические пластиковые и виртуальные, например, от Яндекс.Деньги или QIWI. При заполнении данных не забудьте указать и свой платежный адрес – несколько строк адреса можно объединить в одну, в нашей стране это не критично.

Храните данные своей карты в безопасности! Не беспокойтесь, что Айтюнс или App Store захочет списать ваши деньги. Теперь при необходимости вы сможете ее быстро привязать и отвязать. Удачного пользования и хорошего дня!

Когда не получилось выбрать «нет» для изменения данных об оплате

Перед тем, как отвязать карту от Apple ID, можно обзавестись электронной картой, не привязанной к зарплатному счёту.

При установке новой платёжной карты повторить все вышеперечисленные этапы, сменить банковскую карту, сохранить её реквизиты.

Возможность выбора слова «Нет» при внесении корректив в платежные данные ограничена Mac App Store, iTunes Store, iBooks Store и App Store. Этот параметр становится недоступен при внесении изменений в Apple ID. При отсутствии планов пользоваться кредиткой, есть возможность расплатиться иным способом.

  1. Существует задолженность или просроченный платёж. После погашения задолженности функция станет доступна.
  2. Подключена автоматически возобновляемая подписка. Остановите подписку для получения требуемого результата.
  3. При первом посещении торговой площадки через Apple ID. Для регистрации укажите данные о способе оплаты. Выбрать вкладку «Нет» можно в завершение процедуры создания учётной записи. Если создается новый Apple ID можно сразу не прописывать реквизиты карты.
  4. При смене области или страны. Пометьте желаемый способ осуществления платежей и обновите персональные данные. Теперь можно выбирать слово «Нет» в графе «Способ оплаты».
  5. При выборе «Семейного доступа» требуют указывать способ совершения платежей. Он будет применяться для оплаты поступающих заказов от участников этой семьи и изменить его имеет возможность только организатор.

Существование вкладки «Попросить купить» удобно при наличии несовершеннолетних членов группы. Это дает возможность контролировать траты.

Для смены сведений о способе оплаты при помощи ПК, необходимо открытие iTunes. Войдя во вкладку «Информация об учётной записи», сделайте клик на надписи «Просмотреть мою учётную запись».Второй вариант предполагает выполнение нижеследующих шагов:

Для изменения параметров на странице данных об учётной записи следует воспользоваться манипуляциями:

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

Надо понимать, что изменение банковской карты в Apple ID и App Store это одно и то же. Необязательно проделывать две процедуры.

Программа Wallet – это универсальный сервис, с помощью которого можно привязать к устройству дебетовые и кредитные карты, а также хранить различные талоны, купоны, билеты и бонусы. С помощью кошелька возможно со своего устройства приобрести билет на поезд или самолет, купить пропуск в кино, списать и начислить бонусные пункты и многое другое.

Разобравшись с тем, как удалить карту Wallet на Айфоне, возникают вопросы иного характера. Пользователи со временем отмечают, что сервис хранит много ненужной информации, например, старые посадочные талоны или билеты в кинотеатр.

Следующие рекомендации помогут владельцам гаджетов Apple удалить посадочные талоны из Wallet:

  1. Запустить приложение.
  2. В списке билетов отыскать ненужную информацию и одним касанием сохранить свой выбор.
  3. В правом нижнем углу находится кнопка очистки. С помощью данной команды выполняется удаление посадочных талонов и билетов.

Предусмотрен еще один способ, с помощью которого можно удалить билеты из Wallet на iPhone одной командой. Владельцы мобильных устройств сталкиваются с проблемой, когда накопилось большое количество тикетов, а избавляться от каждого по отдельности нет времени. Потребуется выполнить такие шаги:

  1. Первое действие – открытие кошелька.
  2. Касаясь сенсора, потребуется проводить пальцем по направлению вверх до момента, пока не всплывет надпись «Редактировать талоны».
  3. Выполняется переход в режим редактирования.
  4. Рядом с каждым талоном будут находиться кнопки красного цвета, выбрав все ненужные продукты, их можно будет деактивировать одним нажатием.

Платежная система Apple Wallet была представлена пользователям в 2021 году, когда в продаже появился Айфон 6. С помощью сервиса можно оплачивать покупки в магазинах, в которых установлены терминалы с поддержкой NFC. Если гаджет настроен правильно, для выполнения операции потребуется приложить его к платежному терминалу.

Привязка карты к сервису полностью безопасна, поскольку информация будет храниться в зашифрованном виде. Даже при утере телефона злоумышленники не смогут использовать платежные реквизиты, подтверждение личности требует сканирование отпечатка пальца.

Отвязывать карту рекомендуется по следующему алгоритму:

  1. Переходим в «Настройки», раздел «ITunes Store и Apple Store».
  2. Нажмите на строке вашего идентификатора, выберите «Просмотреть Apple ID». Система может спрсоить с вас пароль.
    Как отвязать банковскую карту от Apple ID? И привязать снова
  3. Выбираем «Платежная информация», попадаем в настройки ваших карт, привязанных к Apple ID. В списке выбираем пункт “Нет”. Данное действие открепляет карты от Apple ID. В английском варианте – «None». Т.е. отключив здесь карту, платежи становятся невозможными.
    Как отвязать банковскую карту от Apple ID? И привязать снова

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

  • Проверьте задолженности или просрочки платежей.
  • Отмените активные подписки.
  • Первый заход в магазин – в дальнейшем карту можно убрать.
  • Изменены страна или регион – снова возможен запрос карты, в дальнейшем заходе можно убрать.
  • Настройка группы семейного доступа – поинтересуйтесь, не ограничили ли вам доступ кто-нибудь из семьи.

При нажатии на кнопку «Готово» платежная информация будет удалена.

С помощью простого алгоритма выше при необходимости платежные данные можно просто поменять.

Обработка pdol (processing options data object list)

В ответ на запуск платежного приложения карта может затребовать от считывателя PDOL (Processing Options Data Object List). Это набор параметров POS-терминала — поддерживаемые протоколы и стандарты, валюта, в которой будет производиться расчет, дата, случайное число для криптографии, и так далее.

Список PDOL может различаться у разных карт. Общее число параметров PDOL — несколько десятков. Полный список параметров PDOL можно посмотреть здесь: eftlab.co.uk/index.php/site-map/knowledge-base/145-emv-nfc-tags.Сложность состоит в том, что список PDOL у разных карт, даже выпущенных одним банком в разное время, может существенно различаться. Некоторые карты запрашивают два-три параметра, другие — десяток.

Это очень важный момент, так как некоторые карты могут отказаться работать без корректного ответа PDOL. Поэтому, для получения PAN-номера от всех карт, нам придется прикинуться настоящим POS-терминалом. Напомню, что единственной нашей целью является получения PAN-номера. Поэтому попытаемся сформировать максимально простой, но при этом корректный ответ PDOL.

Ответ карты на старт платежного приложения. Содержит запрос PDOL.

'6F 31 84 07 A0 00 00 00 03 10 10 A5 26 9F 38 18 9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 BF 0C 08 9F 5A 05 60 08 40 06 43 90 00'

Пропустим этот ответ через

парсер

Видно, что значение PDOL начинается с маркера 9F38 и равно 9F66049F02069F03069F1A0295055F2A029A039C019F3704. Парсер emvlab.org не умеет парсить значения PDOL, поэтому воспользуемся программой для Android-смартфонов Credit Card Reader.

Вот тот же ответ, обработанный более умным парсером. Видно каждый параметр PDOL:

Данный парсер не скрывает байт длины после маркера, как это делает emvlab.org. Поэтому последний байт каждого маркера следует читать как длину.

Разберем запрос PDOL подробнее

9F 38 18 // Маркер начала PDOL. Длина 18 (24 байта) 
 9F 66 (длина 04) // Terminal Transaction Qualifiers (TTQ). Параметры платежного терминала 
  9F 02 (длина 06) // Сумма списания
   9F 03 (длина 06) // вторая сумма
   9F 1A (длина 02) // Код странцы в формате ISO3166-1
   95 (длина 05) // Terminal Verification Results
    5F 2A (длина 02) // Код валюты, в которой работает терминал, в формате ISO4217
     9A (длина 03) // Дата в формате YYMMDD
      9C (длина 01) // Тип транзакции 
       9F 37 (длина 04) // Случайное число для криптографии

Подробное описание всех возможных параметров PDOL можно найти в

EMV Contactless Specifications Book C-1/2/3 Kernel 1/2/3 Specification.

Карта ожидает ответ на PDOL в том же порядке, в котором следуют запросы, и ровно той длины, которая указана после каждого параметра PDOL. Если сложить длину всех параметров (последний байт каждого параметра), получится 33 байта. Значит карта ожидает от считывателя PDOL длиной в 33 байта.

Так как мы не собираемся списывать с карты деньги, наша задача — сформировать самый простой из возможных ответ PDOL, который удовлетворит карту. Если наш ответ не понравится карте, она ответит кодом 6985 Conditions of use not satisfied.

Экспериментальным путем я выяснил, что почти на все запросы PDOL можно ответить нолями, кроме Terminal Transaction Qualifiers (TTQ). В случае с VISA, нам нужно убедить карту в том, что терминал соответствует спецификации VCPS 2.1.1. Для этого ответ на TTQ должен выглядеть так:

'F0 00 00 00'

Подробнее про формат TTQ

здесь

Карты MasterCard, которые мне довелось испытать, позволяли игнорировать PDOL и отдавали PAN-номер без корректного ответа на PDOL.

Вот как будет выглядеть минимальный рабочий ответ на запрошенный выше PDOL:

'80A80000238321F0000000000000000000000000000000000000000000000000000000000000000000'
 80 A8 00 00 // Команда GET PROCESSING OPTIONS (GPO)
  23 // длина всего запроса (35 байт)
   83 // маркер PDOL-ответ
    21 // длина PDOL-ответа (33 байта)
     F0 00 00 00 // Terminal Transaction Qualifiers (TTQ)
      00 00 00 00 00 00 // Сумма списания
       00 00 00 00 00 00 // Вторая сумма
        00 00 // Код страны считывателя
         00 00 00 00 00 // Terminal Verification Results (TVR)
          00 00 // Валюта
           00 00 00 // дата 
            00 // тип транзакции
             00 00 00 00 // Случайное число 

Если наш ответ удовлетворил карту, мы получим сообщение, начинающееся с маркера

с кодом SW2=9000. Этот ответ может содержать нужный нам PAN-номер, а может и не содержать. (офигеть)

Способы отвязки

1. Откройте iTunes -> «Учетная запись» -> «Просмотреть»;

2. Введите пароль от учетной записи.

3. На странице с информацией об аккаунте нажмите «Правка» рядом с пунктом «Способ оплаты»;

4. На отобразившейся странице в секции «Способ оплаты» выберите «Нет» и нажмите «Готово».

1. На домашнем экране мобильного устройства открыть приложение «Настройки»;

2. Прокрутить вниз и выбрать «Wallet и Apple Pay»;

3. Выбрать карту, которую нужно удалить;

4. Прокрутить вниз и нажать на красную кнопку «Удалить карту»;

5. В появившемся всплывающем окне нажать на красную кнопку «Удалить», чтобы подтвердить действия.

Помимо Apple Pay, данные вашей банковской карты могут храниться в браузере. С помощью функции автозаполнения они автоматически вводятся в соответствующее поле при осуществлении покупок онлайн.

2. Открыть раздел «Safari» и перейти в Автозаполнение;

3. Выбрать «Сохраненные карты»;

4. Когда система попросит авторизоваться с помощью Touch ID, прикоснуться к датчику пальцем;

5. В правом верхнем углу нажать на синюю кнопку «Изменить» и выбрать карту для удаления;

6. Нажать на кнопку «Удалить» в левом верхнем углу страницы;

7. В открывшемся окне нажать на красную кнопку «Удалить», чтобы подтвердить действия.

Проделав все вышеуказанные шаги, вы удалите из браузера Safari данные вашей банковской карты.

Как видите, ничего сложного.

По материалам yablyk

Банковские карты имеют срок действия. По умолчанию, когда заканчивается период её активности, с неё невозможно списать средства. Эпл, используя свои ресурсы и какие-то неизвестные рычаги, смогла обойти эту проблему, и банки выдают данные вновь выданных карт.

Открепить устройство требуется по разным причинам. Самая частая — смена хозяина. Покупая телефон, планшет или ноутбук с «яблочным» логотипом, необходимо убедиться, что гаджет отвязан от аккаунта прежнего владельца. Иначе использование будет ограниченным, и прежний хозяин в любой момент удалённо будет иметь возможность вывести его из строя, превратив в бесполезный кирпич.

Существуют два варианта.

Все зависит от предпочтений пользователя. Интересно, как отвязать карту от Apple ID? Существует несколько путей решения поставленной задачи.

На сегодняшний день отвязать или изменить платежную информацию в «Эппл АйДи» предлагается:

  • при помощи мобильного устройства;
  • через iTunes.

Оба решения действуют одинаково эффективно. Они признаны официальными, не требуют от пользователя никаких особых знаний и навыков. Как действовать в том или ином случае?

Как отвязать карту от Apple ID? Следующий метод — это работа с компьютером. Для реализации поставленной задачи необходимо установить iTunes. Без этого приложения работать с «яблочным» смартфоном не получится.

Как отвязать кредитную карту от Apple ID? После погашения долга на ней нужно:

  1. Установить на компьютер последнюю версию iTunes.
  2. Запустить соответствующее приложение.
  3. При помощи USB-провода произвести подключение смартфона/планшета к ПК.
  4. Выполнить вход в систему при помощи Apple ID в «АйТюнс».
  5. В меню, расположенном в верхней части окна, выбрать «Учетная запись»-Посмотреть».
  6. Ввести пароль для входа в систему. Подтвердить действия путем нажатия на кнопку Enter на клавиатуре или на «Посмотреть» на экране.
  7. Перейти в раздел «Информация об учетной записи». Нажать на кнопку «Правка».
  8. В разделе «Способ оплаты» выставить параметр «Нет». Нажать на «Готово» для подтверждения изменений.

На данном этапе произойдет сохранение данных. Отныне понятно, как отвязать номер карты от Apple ID в том или ином случае. Никаких затруднений данный процесс не вызовет. После завершения отвязки пластика через ПК можно отключить мобильный телефон от компьютера и продолжить с ним работу.

Before you change your payment information, make sure that you have the latest version of iOS.

  1. Open the Settings app. 
  2. Tap your name, then tap iTunes & App Store.*
  3. Tap your Apple ID, then tap View Apple ID. You might be asked to sign in.
  4. Tap Manage Payments. (If you’re using an older version of iOS, tap Payment Information.) Then add, update, reorder, or remove your payment methods:

Before you sell, give away, or trade in your device, you should remove your personal information. You shouldn’t manually delete your contacts, calendars, reminders, documents, photos, or any other iCloud information while you’re signed in to iCloud with your Apple ID. This would delete your content from the iCloud servers and any of your devices signed in to iCloud.

Бывает так, что пользователю нужно стереть карту платежа. На этот случай есть инструкция разработчиков. Она подходит и для Айтюнс.

Часто, во время прохождения процедуры регистрации в Apple ID пользователи вносят данные карты банка. Происходит это по разным причинам, но со временем многие приходят к выводу, что это было ошибочное решение. И тут возникает вопрос, как отвязать карту от своей учётки.

  1. Заходим в Настройки и выбираем вкладку «iTunes Store и App Store».
  2. В своем Apple ID выберите «Просмотреть Apple ID». Иногда система просит осуществить вход.
    Вход в систему
    При входе в систему отобразится ваш идентификатор
  3. Выбрав «Нет» (None) в графе «Платёжная информация», вы удалите карту банка.
    Выбор пункта «Нет»
    Завершающий этап удаления платежных данных
  4. Жмите «Готово» для завершения процедуры.

Важно! При осуществлении семейного доступа, возможность вносить изменения в информацию по оплате имеет один пользователь, который имеет права администратора.

Читаем emv-карты на коленке

Читать EMV-карты можно любым NFC-ридером, поддерживающим передачу произвольных APDU-команд. Для этого не требуются промышленные сертифицированные ридеры, подойдет любой модуль для Arduino за $3

Чтобы изготовить прототип считывателя, мне потребовалось бегло изучить протокол EMV. Под спойлером — краткий разбор протокола EMV с примерами чтения на Arduino и компьютере.

Читаем банковские карты на коленке с примерами. (Много текста)

Для чтения EMV карт подойдут такие устройства:

Описанный ниже процесс не является корректной реализацией протокола EMV. Приведенные команды APDU содержат ошибки и нарушают рекомендации EMVco, из-за чего могут не работать с некоторыми картами.

Для изучения протокола EMV рекомендуется читать официальную документацию, которую я, к своему стыду, почти не читал.

Приведенные APDU-команды будут одинаковыми не зависимо от выбранного оборудования. Однако в случае с PC/SC ридером не нужно заботиться о низкоуровневых командах, настраивать модуляцию и т.д.

Я буду использовать программу SmartCard Scripter, в связке с PC/SC-ридером HiD Omnikey. Программа SmartCard Scripter имеет наиболее компактный pascal-подобный синтаксис из всего что я видел. Краткое описание синтаксиса infintuary.org/scs_tut.php

Для того чтобы послать произвольную APDU команду на карту, достаточно такого когда:

// Программа для чтения UID карты
begin
  APDU('FF CA 00 00 00');
end.

Начало коммуникации — команда select (ppse)

Официальное описание: EMV Contactless Specifications — PPSE and Application Management for Secure Element

Начало общения с EMV-картой всегда происходит с чтения файла PPSE (Payment System Environment) командой SELECT.

APDU-команда SELECT PPSE

'00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00'
  00 A4 04 00 // команда select 
   0E // длина command data (14 байт)
    32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 // command data 2PAY.SYS.DDF01
    00 // завершающий маркер

Старт платежного приложения — select aid

В ответ на SELECT PPSE карта должна вернуть FCI (File Control Information) со списком приложений, существующих на карте. Помимо платежных приложений (VISA, MasterCard, AmericanExpress) карта может содержать неплатежные приложения, используемые для других нужд.

Ответ карты VISA на SELECT PPSE

'6F 23 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 11 BF 0C 0E 61 0C 4F 07 A0 00 00 00 03 10 10 87 01 01 90 00'

Для удобства проанализируем ответ с помощью онлайн-парсера формата TVL

emvlab.org/tlvutils/

. Тот же ответ карты VISA, обработанный парсером:

Как добавить карту Тройка в Apple Pay. Инструкция.

Из всего этого нас интересует только идентификатор платежного приложения (AID). В данном случае, это значение A0000000031010, означающее Visa International.

AID помечается маркером 4F. Вторым битом после маркера следует длина данных, в нем содержащихся. Несмотря на то, что длина AID может варьироваться от 5 до 16 байт, в большинстве случаев она равна 7 байтам. Поэтому для простоты поиска AID в ответе, мы будем искать маркер 4F 07 и считать 7 байт после него как AID. Такой подход очень примитивный и может не работать в случаях, если длина AID будет другой, но для нашей задачи это не важно, так мы скорее всего никогда не столкнемся с картами, отличными от Visa и MasterCard. Поэтому наш самодельный парсер PPSE-ответа можно упростить до такой логики: если ответ начинается с 6F, заканчивается на 90 00 и содержит внутри последовательность 4F 07, ответ считается корректным.

Полный список AID: eftlab.co.uk/knowledge-base/211-emv-aid-rid-pix

Некоторые популярные AID

A0000000031010 Visa International
A0000000032020 Visa International
A0000000041010 Mastercard International
A0000000043060 Mastercard International United States Maestro (Debit)

Получив значение AID, его нужно запустить командой SELECT. В данном случае мы запускаем приложение Visa International, полученное из ответа на PPSE SELECT

APDU-команда SELECT AID

'00 A4 04 00 07 A0 00 00 00 03 10 10'
  00 A4 04 00 // команда select 
   07 // длина command data (7 байт)
    A0 00 00 00 03 10 10 // AID Visa International

Обработка pdol (processing options data object list)

В ответ на запуск платежного приложения карта может затребовать от считывателя PDOL (Processing Options Data Object List). Это набор параметров POS-терминала — поддерживаемые протоколы и стандарты, валюта, в которой будет производиться расчет, дата, случайное число для криптографии, и так далее.

Список PDOL может различаться у разных карт. Общее число параметров PDOL — несколько десятков. Полный список параметров PDOL можно посмотреть здесь: eftlab.co.uk/index.php/site-map/knowledge-base/145-emv-nfc-tags.
Сложность состоит в том, что список PDOL у разных карт, даже выпущенных одним банком в разное время, может существенно различаться. Некоторые карты запрашивают два-три параметра, другие — десяток.

Это очень важный момент, так как некоторые карты могут отказаться работать без корректного ответа PDOL. Поэтому, для получения PAN-номера от всех карт, нам придется прикинуться настоящим POS-терминалом. Напомню, что единственной нашей целью является получения PAN-номера. Поэтому попытаемся сформировать максимально простой, но при этом корректный ответ PDOL.

Ответ карты на старт платежного приложения. Содержит запрос PDOL.

'6F 31 84 07 A0 00 00 00 03 10 10 A5 26 9F 38 18 9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 BF 0C 08 9F 5A 05 60 08 40 06 43 90 00'

Пропустим этот ответ через

парсер

:

Как добавить карту Тройка в Apple Pay. Инструкция.

Видно, что значение PDOL начинается с маркера 9F38 и равно 9F66049F02069F03069F1A0295055F2A029A039C019F3704. Парсер emvlab.org не умеет парсить значения PDOL, поэтому воспользуемся программой для Android-смартфонов Credit Card Reader.

Вот тот же ответ, обработанный более умным парсером. Видно каждый параметр PDOL:

Как добавить карту Тройка в Apple Pay. Инструкция.

Данный парсер не скрывает байт длины после маркера, как это делает emvlab.org. Поэтому последний байт каждого маркера следует читать как длину.

Разберем запрос PDOL подробнее

9F 38 18 // Маркер начала PDOL. Длина 18 (24 байта) 
 9F 66 (длина 04) // Terminal Transaction Qualifiers (TTQ). Параметры платежного терминала 
  9F 02 (длина 06) // Сумма списания
   9F 03 (длина 06) // вторая сумма
   9F 1A (длина 02) // Код странцы в формате ISO3166-1
   95 (длина 05) // Terminal Verification Results
    5F 2A (длина 02) // Код валюты, в которой работает терминал, в формате ISO4217
     9A (длина 03) // Дата в формате YYMMDD
      9C (длина 01) // Тип транзакции 
       9F 37 (длина 04) // Случайное число для криптографии

Подробное описание всех возможных параметров PDOL можно найти в

EMV Contactless Specifications Book C-1/2/3 Kernel 1/2/3 Specification.

Карта ожидает ответ на PDOL в том же порядке, в котором следуют запросы, и ровно той длины, которая указана после каждого параметра PDOL. Если сложить длину всех параметров (последний байт каждого параметра), получится 33 байта. Значит карта ожидает от считывателя PDOL длиной в 33 байта.

Так как мы не собираемся списывать с карты деньги, наша задача — сформировать самый простой из возможных ответ PDOL, который удовлетворит карту. Если наш ответ не понравится карте, она ответит кодом 6985 Conditions of use not satisfied.

Экспериментальным путем я выяснил, что почти на все запросы PDOL можно ответить нолями, кроме Terminal Transaction Qualifiers (TTQ). В случае с VISA, нам нужно убедить карту в том, что терминал соответствует спецификации VCPS 2.1.1. Для этого ответ на TTQ должен выглядеть так:

'F0 00 00 00'

Подробнее про формат TTQ

здесь

.

Карты MasterCard, которые мне довелось испытать, позволяли игнорировать PDOL и отдавали PAN-номер без корректного ответа на PDOL.

Вот как будет выглядеть минимальный рабочий ответ на запрошенный выше PDOL:

'80A80000238321F0000000000000000000000000000000000000000000000000000000000000000000'
 80 A8 00 00 // Команда GET PROCESSING OPTIONS (GPO)
  23 // длина всего запроса (35 байт)
   83 // маркер PDOL-ответ
    21 // длина PDOL-ответа (33 байта)
     F0 00 00 00 // Terminal Transaction Qualifiers (TTQ)
      00 00 00 00 00 00 // Сумма списания
       00 00 00 00 00 00 // Вторая сумма
        00 00 // Код страны считывателя
         00 00 00 00 00 // Terminal Verification Results (TVR)
          00 00 // Валюта
           00 00 00 // дата 
            00 // тип транзакции
             00 00 00 00 // Случайное число 

Если наш ответ удовлетворил карту, мы получим сообщение, начинающееся с маркера

77

с кодом SW2=9000. Этот ответ может содержать нужный нам PAN-номер, а может и не содержать. (офигеть)

Поиск pan-номера

Так как нам лень писать полную имплементацию протокола EMV, разбирать все структуры ответов и формировать корректные запросы, мы поступим глупым способом, а именно пошлем все возможные запросы и будем просто искать в ответах нужный маркер, содержащий PAN-номер.

PAN-номер может содержаться в трех местах:

APDU-команды (что они значат вообще? Хз, нужно прочитать)

'00 b2 01 1c 00'
'00 b2 01 0c 00'
'00 b2 02 0c 00'
'00 b2 01 14 00'
'00 b2 02 14 00'
'00 b2 04 14 00'

И парсим все ответы на предмет маркеров

57 13

либо

5A 08

. Найденные 8 байт карты можно дополнительно чекнуть на контрольную сумму с помощью

Алгоритма Луна

.

Если номер валидный, берем его последние десять цифр.

В итоге наш примитивный алгоритм чтения PAN-номера можно изобразить в виде блок-схемы

Как добавить карту Тройка в Apple Pay. Инструкция.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *