2015-01-03 11 views
1

Я работаю над университетским проектом, где нам нужно настроить POS-терминал, когда транзакция будет успешно завершена и одобрена через NFC.Как разделить бесконтактную карту и смартфон при выполнении платежа через NFC?

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

Любая идея, как определить, является ли это смартфоном или бесконтактной картой?

Заранее спасибо.

+1

Учитывая, что телефоны выполняют эмиссию реальной кредитной карты при совершении транзакции, я сомневаюсь, что это возможно. –

+0

См. Ответ на этот вопрос: http://stackoverflow.com/questions/26208056/initial-hand-shake-between-nfc-controller-and-pos-readeer Кажется, вам нужно найти что-то вне оплаты процедуры – mictter

ответ

1

Как правило, вы не сможете отличить бесконтактную карту от форматов пластиковых карт и формфактора мобильного телефона. Оба говорят по одному и тому же протоколу (EMV бесконтактный).

Однако вы можете различать (не совсем надежно) между мобильным телефоном и пластиковой картой, просматривая определенные параметры протокола.

  • Например, многие Android мобильные телефоны будут иметь флаг NFCIP-1 установлен в выбранном подтверждения (САК) байт, указывающий, что они также поддерживают режим равный-равному. Поэтому, если у вас есть доступ к бату SAK, вы можете получить приблизительную оценку. К сожалению, существует много ситуаций, когда поддержка NFCIP-1 не сообщается в байте SAK даже на мобильном телефоне (например, на Android, когда экран выключен или заблокирован).

  • Кроме того, некоторые EMV Бесконтактные Kernes определяют флаг в профиле обмена приложениями (AIP), который указывает, является ли устройство мобильным устройством или нет (Kernel 2: AIP Byte 1, Bit 2; Kernel 3-5: AIP Байт 2, бит 7). Однако, даже если некоторые ядра ссылаются на этот бит как указание на то, является ли устройство мобильным телефоном или нет, его точное значение обычно возникает, если устройство поддерживает проверку держателя карты на устройстве или нет. Следовательно, если мобильный телефон не поддерживает CVM на устройстве, у него также не будет установлен этот флаг. Аналогично, если какое-либо другое устройство, помимо мобильного телефона, поддерживает CVM на устройстве (маркер EMV с дисплеем и PIN-пэдом?), Он будет иметь этот флаг.