Терминал для платежных карт EMV не различает пластиковые карты, карты на основе защищенных элементов или карты, эмулированные HCE. Во всех случаях он будет говорить по одному и тому же протоколу. На самом деле «протоколыs», поскольку EMV имеет несколько разных вариантов ядра, которые используют (немного) разные протоколы с карточными приложениями. Но эта дифференциация основана на вариантах приложений и брендах (например, MasterCard EMV, MasterCard MagStripe, Visa и т. д.), а не на форм-факторе/оборудовании «смарт-карты».
Таким образом, бесконтактный считыватель EMV выберет PPSE для любого типа карты (пластиковая, SE, HCE и т. д.), чтобы определить фактическое платежное приложение.
Android не интерпретирует команду выбора PPSE и, следовательно, не формирует и не отправляет список доступных платежных приложений. Обратите внимание, что платежные приложения HCE выбираются пользователем через пользовательский интерфейс настроек, и одновременно может быть активным/доступным только одно платежное приложение.
Обработка PPSE остается за приложениями. Таким образом, обычно платежное приложение HCE, основанное на стандартах EMV, регистрируется как для платежного приложения AID, так и для имени PPSE DF. Обратите внимание, что с точки зрения протокола нет никакой разницы между именем DF и AID, поэтому вы можете зарегистрировать его в XML-файле службы APDU хоста с фильтром AID для имени DF («2PAY.SYS.DDF01») в его Шестнадцатеричное представление ASCII 325041592E5359532E4444463031
:
<aid-filter android:name="325041592E5359532E4444463031" />
Следовательно, ваш хост-сервис APDU должен будет обработать команду выбора PPSE и ответить на нее FCI, который содержит список платежных приложений EMV в своем дискреционном шаблоне данных.
person
Michael Roland
schedule
09.10.2014