기술 포스트
키보드 모드 EMV 리더에서 MSR로 폴백하기
이전 게시물에서 ID TECH의 특허 출원 중인 Augusta 칩 카드 리더를 소개한 바 있습니다. Augusta는 내장된 '더 빠른 EMV' 기능(흔히 Quick Chip이라 불림)을 활용하여 최소 2초 만에 EMV 거래를 처리할 수 있습니다. Augusta가 독보적인(특허 출원 중) 이유는 단순히 Quick Chip 거래를 처리할 수 있다는 점만이 아닙니다. 특허 출원 중인 핵심은, 이러한 거래를 키보드 모드로 동작하는 USB 장치를 통해 수행할 수 있다는 점에 있습니다. 즉, 카드를 삽입하기만 하면 EMV 거래에 필요한 TLV 데이터를 나타내는 문자 데이터가 장치에서 자동으로 출력되며, 브라우저 기반 가상 터미널 앱 등에서 바로 활용할 수 있습니다. 별도의 드라이버가 필요하지 않습니다.
Augusta를 결제 앱에 연동하기 위해 카드 리더를 '조회'하는 별도의 소프트웨어가 필요하지 않습니다. 카드를 삽입하면 리더가 자동으로 데이터를 출력합니다. 이 동작 방식은 MagStripe 리더(카드 스와이퍼)를 사용해 본 분이라면 이미 익숙할 것입니다. 카드를 스와이프하기만 해도 데이터가 웹 폼으로 곧바로 전송되는 방식과 동일합니다. Augusta는 이와 동일한 편의성을 EMV(칩 카드 거래)를 지원해야 하는 결제 앱 개발자에게 제공합니다. EMV 지원 제품으로 이러한 기능을 제공하는 회사는 ID TECH가 유일합니다.
이제 이 기능(키보드 모드의 Quick Chip EMV)은 Augusta뿐만 아니라, MSR·칩 카드·비접촉/NFC 거래(Apple Pay, Android Pay, Mifare 등 포함)를 모두 지원하는 3-in-1 ViVOpay VP3300과 같은 다른 ID TECH 카드 리더에서도 이용 가능합니다.
일반적으로 칩 카드를 사용하는 환경에서는, 결제 앱이 리더의 동작을 세밀하게 제어해야 합니다. 예를 들어 고객이 칩 대신 카드를 스와이프할 경우, 칩 삽입(딥)을 3회 시도한 후에야 스와이프를 허용하도록 처리해야 합니다. 일반적으로 이러한 로직(MSR 스와이프 감지 → 카드 칩 유무 확인 → 칩이 있을 경우 스와이프 거부 → 칩 삽입 실패 후에만 스와이프 허용)을 구현하려면 결제 앱과 카드 리더 간에 빈번한 통신이 필요합니다. 그렇다면 카드 리더가 데이터를 출력만 데이터를 자동으로 처리하려면 어떻게 해야 할까요?
ID TECH 리더기에서는 폴백(fallback) 동작을 구성 설정을 통해 제어할 수 있습니다. 설정 단계에서 통합 담당자는 USB-HID 모드로 다양한 TLV(태그-길이-값 삼중항)를 "터미널 설정"으로 리더기에 전송하여 원하는 동작 방식을 지정합니다. 리더기 구성이 완료되면 키보드 모드로 전환할 수 있으며, 이후에는 폴백 동작이 자동으로 처리됩니다.
예를 들어, 태그 DFEF62를 사용하여 카드에 칩이 존재하는지 확인하도록 리더기를 구성할 수 있습니다. 이 태그에 값 01을 지정하면, 리더기는 카드를 스와이프할 때 트랙 데이터의 서비스 코드를 자동으로 확인하여 해당 카드에 칩이 있는지 여부를 판단합니다. (칩 사용을 먼저 시도하기 전까지는 스와이프 시도가 거부됩니다.)
카드 소지자가 칩을 시도해야 하는 횟수를 제어하려면 태그 DFEF7D를 사용할 수 있습니다. TLV에 값 03을 지정하면(DFEF7D0103) 카드 소지자가 스와이프로 폴백하기 전에 최소 3회 칩 사용을 시도하도록 리더기에 설정할 수 있습니다.
폴백 세션 중 상세 오류 코드를 수집하려면, 값 01을 사용하여 태그 DFEF65로 리더기를 구성하십시오. 값 '01'은 상세 오류 보고 기능을 활성화하도록 지시합니다. 카드를 삽입할 때마다 태그 DFEF61에 상세 오류 코드가 표시됩니다. 표시될 수 있는 2바이트 오류 코드의 예시는 다음과 같습니다:
상태 코드 및 오류 코드의 전체 목록은 ID TECH 태그 참조 가이드의 부록을 참조하십시오. 해당 문서는 별도의 등록 절차 없이 무료로 ID TECH Knowledge Base.
에서 다운로드할 수 있습니다. 추가로 알아두어야 할 구성 태그로 DFEF7E가 있습니다. 이 태그를 사용하면 폴백 동작을 트리거할 2바이트 오류 코드를 정확히 지정할 수 있습니다. (이 TLV의 값으로 최대 32개의 2바이트 오류 코드를 지정할 수 있습니다.)
이처럼 심층적인 구성 가능성 덕분에 결제 앱에서 복잡한 런타임 "비즈니스 로직"이 불필요해지며, EMV 리더기를 POS 환경에 통합하는 작업이 훨씬 빠르고 간편해집니다. 이는 ID TECH가 개발자의 편의를 위해 한 걸음 더 나아가는 방식 중 하나입니다.
EMV, Quick Chip, USB 키보드 모드에 대해 궁금한 점이 있으신가요? 전문가에게 전화하세요: 1-800-984-1010. 언제든지 도와드리겠습니다!
