KR20240024790A - 호스팅된 포스 서비스 - Google Patents

호스팅된 포스 서비스 Download PDF

Info

Publication number
KR20240024790A
KR20240024790A KR1020237041173A KR20237041173A KR20240024790A KR 20240024790 A KR20240024790 A KR 20240024790A KR 1020237041173 A KR1020237041173 A KR 1020237041173A KR 20237041173 A KR20237041173 A KR 20237041173A KR 20240024790 A KR20240024790 A KR 20240024790A
Authority
KR
South Korea
Prior art keywords
transaction
identifier
payment
merchant
computing device
Prior art date
Application number
KR1020237041173A
Other languages
English (en)
Inventor
앤드류 레이
매닉 비스와스
Original Assignee
아메리칸 익스프레스 트레블 릴레이티드 서비스즈 컴퍼니, 아이엔씨.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아메리칸 익스프레스 트레블 릴레이티드 서비스즈 컴퍼니, 아이엔씨. filed Critical 아메리칸 익스프레스 트레블 릴레이티드 서비스즈 컴퍼니, 아이엔씨.
Publication of KR20240024790A publication Critical patent/KR20240024790A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/326Payment applications installed on the mobile devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3276Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

카드-미제시 거래에 대해 카드-제시 거래의 보안 피처를 제공하는 호스팅된 포스(point-of-sale) 서비스에 대한 다양한 실시예가 개시된다. 본 개시의 다양한 실시예는 가맹점 단말기로부터 거래에 대한 가맹점 식별자 및 거래 금액을 수신하도록 구성될 뿐만 아니라, 거래에 대한 가맹점 식별자 및 암호화된 결제 계정 데이터를 수신하도록 구성될 수 있다. 그 다음, 암호화된 결제 계정 데이터는 복호화될 수 있다. 그 다음, 거래에 대한 인가 요청은 가맹점 식별자, 거래 금액, 및 결제 계정 데이터에 적어도 부분적으로 기초하여 생성된다. 그 다음, 인가 요청은 결제 프로세서에 전송되며, 이는 결제 네트워크를 통해 인가 요청을 인가 엔티티에 라우팅할 수 있다. 인가 응답은 결제 프로세서를 통해 인가 엔티티로부터 이에 응답하여 수신되고, 콘텐츠는 가맹점 단말기 상으로 포워딩된다.

Description

호스팅된 포스 서비스
관련 출원에 대한 교차 참조
본 출원은 발명의 명칭이 "HOSTED POINT-OF-SALE SERVICE"이고 2021년 6월 2일자로 출원된 동시-계류 중인 미국 특허 출원 번호 제17/337,291호에 대한 우선권 및 그 이익을 주장하며, 이는 전체적으로 본원에 진술된 바와 같이 참조로서 통합된다.
스마트 카드는 결제 카드가 사용될 때 부정 거래의 발생을 감소시키기 위해 광범위하게 사용되어 왔다. 예를 들어, EMV(유로페이, 마스터카드, 및 비자) 표준을 준수하는 신용 카드, 충전 카드, 또는 직불 카드와 같은 스마트 카드는 발행자, 결제 프로세서, 또는 결제 네트워크를 통해 카드를 인증할 수 있는 칩을 포함한다. 이것은 카드가 비인가된 모조품 또는 복제품으로부터 구별되도록 허용한다. 제2 인증 요소, 예컨대 개인 식별 번호(personal identification number; PIN)와 조합될 때, EMV 카드는 또한 EMV 카드로 구매하는 개인이 카드의 인가된 사용자 또는 소유자인지를 인증할 수 있다.
불행하게도, EMV 호환 신용 카드, 충전 카드, 또는 직불 카드와 같은 스마트 카드의 추가적인 보안 이점은 카드가 결제를 위해 존재하지 않는 거래에 적용되지 않는다. 카드-미존재 거래의 예는 신용 카드, 충전 카드, 또는 직불 카드를 사용한 전화 또는 인터넷을 통해 이루어지는 결제를 포함한다. 따라서, 누군가는 카드가 존재하고 결제 단말기 또는 포스(point-of-sale; PoS) 디바이스로 인증되는 거래에 EMV 호환 신용 카드, 충전 카드, 또는 직불 카드가 제공하는 보안 세이프가드(safeguard)를 우회하기 위해 전화 또는 인터넷을 통해 구매하기 위한 유효 신용 카드 번호를 포함하는 도난, 위조, 또는 모조 카드를 사용할 수도 있다.
본 개시의 많은 양태는 다음 도면을 참조하여 더 양호하게 이해될 수 있다. 도면의 구성요소는 반드시 축척에 따라야 하는 것은 아니며, 그 대신 본 개시의 원리를 명확하게 예시하는 데 중점을 둔다. 더욱이, 도면에서, 유사 참조 번호는 수 개의 도면에 걸쳐 대응하는 부분을 지정한다.
도 1a는 컴퓨팅 디바이스 상에서 실행되는 브라우저에 의해 디스플레이되는 웹사이트 상에서 구매하기 위한 본 개시의 수 개의 실시예 중 하나의 예시적 사용을 도시하는 도면이다.
도 1b는 물리적 결제 단말기와 상호작용하는 동안 소매점에서 구매하기 위한 본 개시의 수 개의 실시예 중 하나의 예시적 사용을 도시하는 도면이다.
도 2a 내지 도 2d는 모바일 디바이스 상에서 실행되는 브라우저에 의해 디스플레이되는 웹사이트를 통해 구매하기 위한 본 개시의 수 개의 실시예 중 하나의 예시적 사용을 도시하는 일련의 도면이다.
도 3은 본 개시의 다양한 실시예에 따른 네트워크 환경의 도면이다.
도 4는 도 3의 네트워크 환경의 구성요소 사이의 일련의 상호작용의 제1 예를 예시하는 시퀀스 다이어그램이다.
도 5는 도 3의 네트워크 환경의 구성요소 사이의 일련의 상호작용의 제2 예를 예시하는 시퀀스 다이어그램이다.
도 6은 본 개시의 다양한 실시예에 따른 도 3의 네트워크 환경의 컴퓨팅 환경에서 실행되는 애플리케이션의 일부로서 구현되는 기능의 일예를 예시하는 흐름도이다.
도 7은 본 개시의 다양한 실시예에 따른 도 3의 네트워크 환경의 컴퓨팅 환경에서 실행되는 애플리케이션의 일부로서 구현되는 기능의 일예를 예시하는 흐름도이다.
호스팅된 포스(point-of-sale) 서비스를 가맹점(merchant) 단말기 또는 결제 플랫폼에 제공하기 위한 다양한 접근법이 개시된다. 가맹점은 포스 서비스를 제공하는 클라우드-기반 결제 단말기에 거래 정보를 제공할 수 있다. 결제 정보는 그 후에 인증된 또는 인가된 사용자로부터 안전하게 수집되고 포스 서비스를 제공하는 클라우드-기반 결제 단말기 상으로 포워딩될 수 있다. 그 다음, 클라우드-기반 결제 단말기는 인가된 사용자에 의해 제공되는 결제 정보 및 가맹점 단말기에 의해 제공되는 거래 정보를 사용하여 거래(transaction)를 위한 인가(authorization) 요청을 생성할 수 있다. 클라우드-기반 결제 단말기는 물리적 포스 단말기가 카드-제시 거래에서 갖거나 획득하게 될 것과 동일한 정보를 갖거나 획득할 것이기 때문에, 클라우드-기반 결제 단말기는 클라우드-기반 결제 단말기가 카드-제시 거래에 참여하고 있는 것처럼 가맹점을 대신하여 인가 요청을 생성할 수 있다. 결과적으로, 호스팅된 포스 서비스에서 제공되는 클라우드-기반 결제 단말기는 전형적으로 결제를 위한 카드-미제시 거래(예를 들어, 웹사이트를 통해 또는 전화를 걸쳐 이루어지는 구매)에 의존하는 가맹점에 대한 사기를 최소화하기 위해 카드-제시 거래에서 사용되는 추가적인 보안 피처(feature)(예를 들어, 직불, 신용, 또는 충전 카드의 암호화 검증)를 제공할 수 있다. 이것은 가맹점이 카드-제시 거래에서 이용가능한 추가적인 암호화 보안 피처를 이용하는 것을 허용함으로써 카드-미제시 거래의 보안을 향상시킨다.
다음의 논의에서, 시스템 및 그것의 구성요소의 일반적인 설명이 제공된 다음에, 그 동작에 대한 논의가 이어진다. 다음의 논의는 본 개시의 다양한 구성요소의 동작의 예시적 예를 제공하지만, 다음 예시적 예의 사용은 다음 예시적 예에 의해 개시되는 원리와 일치하는 다른 구현예를 배제하지 않는다.
도 1a는, 도 3 내지 도 7에서 추가로 설명되는 바와 같이, 본 개시의 다양한 실시예에 대한 사용자 경험의 하나의 예를 예시한다. 여기서, 사용자는 각자의(his or her) 퍼스널 컴퓨터(예를 들어, 데스트탑, 랩톱, 태블릿 등) 상에서 실행되는 브라우저(103)를 사용하여 웹사이트 상에서 쇼핑을 할 수도 있다. 쇼핑을 마친 후, 사용자는 체크아웃 프로세스를 시작할 수도 있으며, 그것에 의해 사용자는 구매될 품목을 확인하고, 배송 및 청구 정보를 제공하고, 결제를 가맹점에게 제안하고, 결제가 승인되면 주문 확인을 수신한다.
결제 프로세스의 일부로서, 가맹점은 매트릭스 바 코드(106a)(예를 들어, QR(quick response) 코드, 아즈텍 코드, PDF417 코드, 데이터 매트릭스 코드 등)가 웹페이지 내에 디스플레이되거나 렌더링되도록 할 수도 있다. 매트릭스 바 코드(106a)는 거래에 대한 다양한 정보, 예컨대 거래 금액, 가맹점 신원, 및 거래 식별자를 포함할 수도 있다. 그 다음, 사용자는 각자의 선호하는 결제 애플리케이션 또는 디지털 지갑을 사용하여 매트릭스 바 코드(106a)를 스캔하기 위해 각자의 모바일 디바이스(109a)를 사용할 수도 있다. 매트릭스 바 코드(106a)를 스캔 시, 그 다음, 모바일 디바이스(109a) 상에서 실행되는 결제 애플리케이션 또는 디지털 지갑은 결제 정보를 호스팅된 포스 서비스에 전송하여 거래를 완료할 수도 있다.
모바일 디바이스(109a)로부터 결제 정보를 수신 시, 그 다음, 호스팅된 포스 서비스는 사용자가 각자의 결제 카드를 웹사이트를 운영하는 가맹점에게 물리적으로 제시한 것처럼 거래가 인가되도록 요청할 수도 있다. 이것은, 나중 단락에서 설명되는 바와 같이, 거래를 인가하기 위해 적절한 암호를 생성하는 것을 포함할 수도 있다. 결과적으로, 가맹점 및 사용자는 카드-미제시 거래에 참여할 수 있으며, 게다가 결제 카드가 가맹점에게 물리적으로 제시되는 거래에 대해 제공되는 추가적인 보안으로부터 이익을 얻을 수 있다.
도 1b는 유사한 예를 예시하며, 여기서 사용자는, 도 3 내지 도7에서 추가로 설명되는 바와 같이, 소매점에서 쇼핑을 하고 있다. 쇼핑을 마친 후, 사용자는 체크아웃하고 가맹점에게 결제를 시도할 수도 있다. 체크아웃 프로세스의 일부로서, 사용자는 각자의 모바일 디바이스(109b)로 매트릭스 바 코드(106b)를 스캔하기 위해 프롬프트될 수도 있다. 매트릭스 바 코드(106b)는 물리적 결제 단말기(113)의 스크린 상에 디스플레이될 수도 있다. 매트릭스 바 코드(106b)는 거래에 대한 다양한 정보, 예컨대 거래 금액, 가맹점 신원, 및 거래 식별자를 포함할 수도 있다. 그 다음, 사용자는 각자의 선호하는 결제 애플리케이션 또는 디지털 지갑으로 매트릭스 바 코드(106b)를 스캔하기 위해 각자의 모바일 디바이스(109b)를 사용할 수도 있다. 매트릭스 바 코드(106b)를 스캔 시, 그 다음, 모바일 디바이스(109b) 상에서 실행되는 결제 애플리케이션 또는 디지털 지갑은 결제 정보를 호스팅된 포스 서비스에 전송하여 거래를 완료할 수도 있다.
모바일 디바이스(109b)로부터 결제 정보를 수신 시, 그 다음, 호스팅된 포스 서비스는 사용자가 물리적 결제 단말기(113)를 운영하는 가맹점에게 각자의 결제 카드를 물리적으로 제시한 것처럼 거래가 인가되도록 요청할 수도 있다. 이것은, 나중 단락에서 설명되는 바와 같이, 거래를 인가하기 위해 적절한 암호를 생성하는 것을 포함할 수도 있다. 결과적으로, 가맹점 및 사용자는 카드-미제시 거래에 참여할 수 있으며, 게다가 결제 카드가 가맹점에게 물리적으로 제시되는 거래에 대해 제공되는 추가적인 보안으로부터 이익을 얻을 수 있다.
도 2a 내지 도 2d는 본 개시의 다양한 실시예에 따른 사용자 경험의 다른 예를 예시하며, 이는 도 3 내지 도 7에서 추가로 설명된다. 여기서, 사용자는 모바일 디바이스(203) 상에 설치되는 브라우저 또는 전용 애플리케이션에 의해 디스플레이되는 모바일-최적화된 웹 페이지를 사용하여 각자의 모바일 디바이스(203)(예를 들어, 스마트폰, 태블릿 등) 상에서 쇼핑하고 있을 수도 있다. 체크아웃 프로세스의 일부로서, 가맹점은 결제를 요청할 수 있다. 그 다음, 브라우저 또는 가맹점 애플리케이션은 모바일 디바이스(203) 상에 설치되는 결제 애플리케이션 또는 디지털 지갑이 오픈되게 할 수도 있으며, 따라서 사용자는 가맹점과의 거래를 완료하기 위해 결제를 승인하거나 인가할 수도 있다.
예를 들어, 도 2a는 사용자가 결제를 제공하기 위해 체크아웃 프로세스 동안 프롬프트될 수도 있는 방법을 도시한다. 프롬프트는 가맹점에 의해 제공되고 모바일 디바이스(203)에 의한 디스플레이를 위해 렌더링되는 URL(uniform resource locator)(206)을 포함할 수도 있다. URL(206)은, 조작될 때, 모바일 디바이스(203)가 모바일 디바이스(203) 상에 설치되는 결제 애플리케이션 또는 디지털 지갑을 오픈하게 할 수도 있다. 따라서, URL(206)은 결제 애플리케이션 또는 디지털 지갑의 이름 또는 신원과 같은 정보 뿐만 아니라, 가맹점 신원, 거래 금액, 거래용 식별자 등과 같은 다른 정보를 인코딩할 수도 있다.
결과적으로, 도 2b에서, 모바일 디바이스(203)는 URL(206)에 의해 지정되는 결제 애플리케이션 또는 디지털 지갑을 오픈하거나 런칭할 수 있다. 일부 구현예에서, 결제 애플리케이션 또는 디지털 지갑은 런칭될 때 모바일 디바이스(203)의 사용자를 인증하도록 구성될 수 있다. 이것은 생체인식(예를 들어, 얼굴 인식, 지문 스캐닝 등)을 사용하여 수행될 수도 있으며, 사용자에게 패스워드 등에 대해 프롬프트한다.
그 다음, 도 2c에서, 결제 애플리케이션 또는 디지털 지갑은 확인 또는 인가를 위해 사용자에게 거래 정보를 제시할 수 있다. 도시된 바와 같이, 결제 애플리케이션 또는 디지털 지갑은 결제를 요청하고 있는 가맹점 및 결제 금액을 식별할 수 있다. 하나 이상의 사용자 인터페이스 요소(209a 및 209b)(집합적으로 "사용자 인터페이스 요소(209)")는 사용자가 거래를 인가하거나 거부하는 것을 허용하기 위해 사용자에게 디스플레이될 수 있다. 이전에 논의되고 예시된 바와 같이, 이것은 사용자의 이전 인증에 응답하여 수행될 수 있으며, 따라서 거래를 인가하는 사용자의 신원이 검증된다.
사용자가 거래를 인가하는 것에 응답하여, 그 다음, 모바일 디바이스(203) 상에서 실행되는 결제 애플리케이션 또는 디지털 지갑은 결제 정보를 호스팅된 포스 서비스에 전송하여 거래를 완료할 수도 있다. 모바일 디바이스(203)로부터 결제 정보를 수신 시, 호스팅된 포스 서비스는 사용자가 각자의 결제 카드를 웹사이트를 운영하는 가맹점에게 물리적으로 제시한 것처럼 거래가 인가되도록 요청할 수도 있다. 이것은, 나중 단락에서 설명되는 바와 같이, 거래를 인가하기 위해 적절한 암호를 생성하는 것을 포함할 수도 있다. 결과적으로, 가맹점 및 사용자는 카드-미제시 거래에 참여할 수 있으며, 게다가 결제 카드가 가맹점에게 물리적으로 제시되는 거래에 대해 제공되는 추가적인 보안으로부터 이익을 얻을 수 있다.
사용자가 거래를 인가한다고 가정 시, 그 다음, 결제 애플리케이션 또는 디지털 지갑은, 도 2d에서 예시되는 바와 같이, 가맹점의 웹사이트 또는 가맹점의 애플리케이션을 디스플레이하는 브라우저로 다시 사용자를 리디렉션할 수도 있다. 예를 들어, 사용자가 결제를 인가한 후, 결제 애플리케이션 또는 모바일 애플리케이션은 사용자를 브라우저 또는 가맹점 애플리케이션으로 리턴시킬 수도 있다. 가맹점이 그것의 결제 프로세서로부터 결제가 인가된 확인 메시지를 수신하면, 그 다음, 가맹점은, 도 2d에 예시된 바와 같이, 브라우저 또는 그것의 애플리케이션에 확인을 디스플레이할 수도 있다.
도 3을 참조하면, 도 1a, 도 1b, 및 도 2a 내지 도 2d에 도시된 것들 뿐만 아니라 후속하는 도 4 내지 도 7에 추가로 설명되는 것들과 같은 다양한 실시예에 따른 네트워크 환경(300)이 도시된다. 네트워크 환경(300)은 컴퓨팅 환경(303), 하나 이상의 결제 프로세서(306), 가맹점 단말기(309), 및 클라이언트 디바이스(313)를 포함할 수 있다. 이들 각각은 네트워크(316)를 통해 서로 데이터 통신을 할 수 있다.
네트워크(316)는 광역 네트워크(WAN), 근거리 네트워크(LAN), 개인 영역 네트워크(PAN), 또는 이들의 조합을 포함할 수 있다. 이들 네트워크는 유선 또는 무선 구성요소 또는 이들의 조합을 포함할 수 있다. 유선 네트워크는 이더넷 네트워크, 케이블 네트워크, 광섬유 네트워크, 및 전화 네트워크 예컨대 다이얼-업, 디지털 가입자 회선(digital subscriber line; DSL), 및 통합 서비스 디지털 네트워크(ISDN)의 네트워크를 포함할 수 있다. 무선 네트워크는 셀룰러 네트워크, 위성 네트워크, IEEE(Institute of Electrical and Electronic Engineers) 802.11 무선 네트워크(, WI-FI®), BLUETOOTH® 네트워크, 마이크로파 전송 네트워크 뿐만 아니라, 라디오 브로드캐스트에 의존하는 다른 네트워크를 포함할 수 있다. 네트워크(316)는 또한 2개 이상의 네트워크(316)의 조합을 포함할 수 있다. 네트워크(316)의 예는 인터넷, 인트라넷, 엑스트라넷, 가상 사설 네트워크(VPN), 및 유사한 네트워크를 포함할 수 있다.
컴퓨팅 환경(303)은 프로세서, 메모리, 및/또는 네트워크 인터페이스를 포함하는 하나 이상의 컴퓨팅 디바이스를 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스는 다른 컴퓨팅 디바이스 또는 애플리케이션을 대신하여 계산을 수행하도록 구성될 수 있다. 다른 예로소, 그러한 컴퓨팅 디바이스는 콘텐츠(content)에 대한 요청에 응답하여 다른 컴퓨팅 디바이스에 콘텐츠를 호스팅하고/하거나 제공할 수 있다.
더욱이, 컴퓨팅 환경(303)은 하나 이상의 서버 뱅크 또는 컴퓨터 뱅크 또는 다른 배열로 배열될 수 있는 복수의 컴퓨팅 디바이스를 이용할 수 있다. 그러한 컴퓨팅 디바이스는 단일 설치에 위치될 수 있거나 많은 상이한 지리적 위치 사이에 분산될 수 있다. 예를 들어, 컴퓨팅 환경(303)은 호스팅된 컴퓨팅 리소스, 그리드 컴퓨팅 리소스 또는 임의의 다른 분산된 컴퓨팅 배열을 함께 포함할 수 있는 복수의 컴퓨팅 디바이스를 포함할 수 있다. 일부 경우에서, 컴퓨팅 환경(303)은 처리, 네트워크, 저장, 또는 다른 컴퓨팅-관련 리소스의 할당된 용량이 시간에 따라 가변될 수 있는 탄력적인 컴퓨팅 리소스에 대응할 수 있다.
다양한 애플리케이션 또는 다른 기능은 컴퓨팅 환경(303)에서 실행될 수 있다. 예를 들어, 컴퓨팅 환경(303)은 호스팅된 포스 서비스(319), 하나 이상의 결제 애플리케이션(323)을 잠재적으로 다른 네트워크의 이용가능한 서비스 또는 애플리케이션으로서 구현하거나 실행할 수도 있다. 컴퓨팅 환경(303)은 또한 하나 이상의 가맹점 프로파일(326)을 저장할 수 있으며, 이는 호스팅된 포스 서비스(319)에 액세스가능한 보안 데이터베이스 또는 데이터 저장소에 저장될 수 있다.
가맹점 프로파일(326)은 결제 거래를 처리하기 위해 호스팅된 포스 서비스(319)를 사용하는 가맹점을 나타낼 수 있다. 따라서, 가맹점 프로파일(326)은 가맹점과 고객 사이의 거래의 인가를 요청하기 위해 호스팅된 포스 서비스(319)에 의해 사용되는 정보를 포함할 수 있다. 이러한 데이터는 가맹점 식별자(329), 거래 통화(333), 가맹점 위치(336), 결제 프로세서 식별자(343), 및 EMV 표준 또는 유사한 결제 카드 표준의 현재 또는 향후 버전에 의해 지정될 수 있는 바와 같은 잠재적 다른 정보를 포함할 수 있다.
가맹점 식별자(329)는 호스팅된 포스 서비스(319)을 사용하기 위해 등록된 가맹점을 다른 등록된 가맹점에 대해 고유하게 식별하는 임의의 식별자일 수 있다. 예를 들어, 가맹점 식별자(329)는 순차적으로 또는 무작위로 할당된 번호, 전역 고유 식별자(globally unique identifier; GUID), 범용 고유 식별자(universally unique identifier: UUID), 또는 유사한 식별자일 수도 있다. 가맹점 식별자(329)는 가맹점이 호스팅된 포스 서비스(319)를 사용하기 위해 등록할 때 가맹점에게 생성 및 할당될 수 있으며, 이는 가맹점 프로파일(326)이 가맹점을 대신하여 생성되게 한다.
거래 통화(333)는 가맹점이 거래를 위해 사용하고 가맹점이 결제를 받을 것으로 예상하는 화폐 통화를 나타낼 수 있다. 예를 들어, 거래 통화(333)는 그것의 통화가 미국 달러에 연동되게 하는 미국 또는 다른 관할 구역에 위치되는 가맹점의 경우 미국 달러(USD)일 수도 있다. 반면에, 다른 관할 구역에 위치되는 가맹점은 국내 통화로서 지정되는 그들의 거래 통화(예를 들어, 영국 가맹점의 경우 파운드 스털링, 유럽 가맹점의 경우 유로 달러, 중국 가맹점의 경우 위안 또는 인민폐, 일본 가맹점의 경우 엔, 싱가포르 가맹점의 경우 싱가포르 달러, 한국 가맹점의 경우 원 등)를 가질 수 있다.
가맹점 위치(336)는 가맹점과 연관되는 지리적 위치 또는 주소를 나타낼 수 있다. 가맹점 위치(336)는 가맹점이 호스팅된 포스 서비스(319)를 사용하기 위해 등록할 때 가맹점에 의해 제공될 수 있다. 일부 경우에서, 가맹점 위치(336)는 가맹점 단말기(309)가 물리적으로 위치되는 주소(예를 들어, 소매점)일 수도 있다. 주로 또는 독점적으로 카드-미제시 거래를 사용하여 사업을 수행하는 가맹점과 같은 다른 경우에서, 가맹점 위치(336)는 가맹점의 주소 또는 가맹점의 사무소(들)의 주소일 수도 있다. 가맹점 위치(336)는 또한 가맹점이 위치되는 국가를 나타내는 국가 코드와 같이 보다 일반적일 수도 있다.
결제 프로세서 식별자(343)는 호스팅된 포스 서비스(319)에 의해 지원되는 다른 결제 프로세서(306)에 대해 결제 프로세서(306)를 고유하게 식별하는 고유 식별자이다. 결제 프로세서 식별자(343)는 결제 카드 거래(예를 들어, 직불, 충전, 또는 신용 카드 거래)를 처리하기 위해 가맹점에 의해 사용되는 결제 프로세서(306)를 식별하기 위해 가맹점 프로파일(326)에 포함될 수 있다. 결제 프로세서 식별자(343)는 일부 구현예에서 호스팅된 포스 서비스(319)에 의해 생성될 수 있지만, 다른 구현예는 결제 프로세서(306) 자체에 의해 제공되는 결제 프로세서 식별자(343)를 사용할 수 있다.
호스팅된 포스 서비스(319)는 포스 서비스를 가맹점에게 제공하는 클라우드-기반 결제 단말기를 나타낸다. 따라서, 호스팅된 포스 서비스(319)는 가맹점을 대신하여 결제 프로세서(306)와 결제 거래를 개시하기 위해 실행될 수 있다. 후속 단락에서 보다 상세히 설명되는 바와 같이, 호스팅된 포스 서비스(319)는 소매상에 의해 사용되는 물리적 포스 단물기에 의해 제공되는 기능을 구현하기 위해 실행될 수 있다. 결과적으로, 가맹점 단말기(309)는 결제 정보를 호스팅된 포스 서비스(319)에 전송하도록 구성될 수 있으며, 그것에 의해 호스팅된 포스 서비스(319)가 거래에 대한 인가 요청을 생성하게 하고 인가 요청을 가맹점의 결제 프로세서(306)에 제공하게 할 수 있다. 다른 결과로서, 가맹점은 카드-미제시 거래의 일부로서 수신되는 결제 정보를 호스팅된 포스 서비스(319)에 전송할 수 있고, 그 다음, 호스팅된 포스 서비스(319)는, 나중 단락에서 설명되는 바와 같이, 카드-제시 거래의 보안 피처를 포함하는 인가 요청을 생성할 수 있다.
결제 애플리케이션(323)은 결제 네트워크의 정책을 준수하는 거래에 대한 인가 요청을 생성하기 위해 결제 네트워크에 의해 정의되는 기능을 수행하도록 실행될 수 있다. 각각의 결제 네트워크는 그 자체의 결제 애플리케이션(323)을 제공할 수 있으며, 이는 결제 네트워크의 정책을 준수하는 인가 요청을 생성하기 위해 사용될 수 있다. 간단한 예로서, VISA®은 VISA 결제 네트워크에 참여하는 발행자와의 거래를 인가할 시 사용하기 위한 결제 애플리케이션(323)을 제공할 수 있다. 반면에, MASTERCARD®는 VISA와 상이한 정책 및 우선순위(priority)를 가질 수 있고, 따라서 MASTERCARD는 MASTERCARD 결제 네트워크에 참여하는 발행자와의 거래를 인가할 시 사용하기 위한 별도의 결제 애플리케이션(323)을 제공할 수 있다.
결제 네트워크는 화폐 가치의 이전(transfer)을 통해 금융 거래를 해결하기 위해 사용되는 시스템이다. 직불, 충전, 및 신용 카드 거래의 맥락에서, 결제 네트워크는 거래를 승인 또는 거부하고 발행자와 결제 프로세서(306)에 의해 대표되는 가맹점 사이에 자금을 이전시키기 위한 목적을 위해 결제 프로세서(306)와 통신하는 직불, 충전, 또는 신용 카드의 발행을 허락한다. 예를 들어, 결제 프로세서(306)가 거래를 위한 인가 요청을 결제 네트워크에 전송할 때, 결제 네트워크는 인가 요청을 인가 요청에 지정되는 거래를 승인 또는 거부할 수 있는 적절한 발행자(예를 들어, 은행)에게 라우팅할 것이다. 발행자가 거래를 승인 또는 거부할지 여부에 관하여 결정을 하면, 발행자는 결정을 결제 네트워크에 제공할 수 있으며, 이는 결정을 결제 프로세서(306)에 리턴한다. 그 다음, 결제 프로세서(306)는 인가 결정을 포스 단말기, 서비스, 또는 디바이스에 리턴할 수 있다.
결제 프로세서(306)는 가맹점을 대신하여 결제 거래를 처리하기 위해 결제 처리 엔티티(entity)에 의해 제어되는 하나 이상의 시스템을 나타낸다. 따라서, 결제 프로세서(306)는 가맹점으로부터 거래 인가 요청을 수신하고, 거래 인가 요청을 적절한 인가 엔티티(예를 들어, 직불, 신용, 또는 충전 카드와 같은 결제 카드 계정의 발행자)에게 라우팅하고, 인가 응답 또는 결정을 가맹점에게 다시 전달하도록 구성될 수 있다.
가맹점 단말기(309)는 가맹점이 고객 또는 고객 디바이스, 예컨대 클라이언트 디바이스(313)와 결제 정보 또는 거래 정보를 교환하는 것을 허용하는 물리적 또는 가상적(예를 들어, 소프트웨어) 디바이스를 나타낼 수 있다. 예를 들어, 가맹점 단말기(309)는 디스플레이 스크린 또는 무선 송신기 예컨대 근거리 통신(near field communications; NFC) 송신기, BLUETOOTH®, 초광대역 송신기 등을 포함하는 물리적 디바이스일 수도 있다. 디스플레이는 거래 정보, 예컨대 가맹점 식별자(329), 거래 식별자(346), 거래 금액(349) 등을 렌더링할 수도 있다. 이러한 정보는 매트릭스 바 코드(106) 또는 클라이언트 디바이스(313)에 의해 쉽게 인식되는 다른 형식(format)의 형태로 제시될 수도 있다. 추가적으로 또는 대안적으로, 가맹점 단말기(309)는 또한 무선 송신기 예컨대 NFC 송신기, BLUETOOTH 송신기, 초광대역 송신기 등을 포함할 수도 있으며, 이는 거래 정보, 예컨대 가맹점 식별자(329), 거래 식별자(346), 거래 금액(349) 등을 클라이언트 디바이스(313)가 가맹점 단말기(309)에 근접할 때 클라이언트 디바이스(313)에 전송할 수도 있다.
가상적 디바이스로서 구현될 때, 가맹점 단말기(309)는 가맹점을 위한 웹사이트 또는 웹-기반 상점(storefront)과 같은 전자 상거래 시스템의 구성요소일 수도 있다. 이러한 맥락에서, 가맹점 단말기(309)는 또한 클라이언트 디바이스(313)의 사용자가 가맹점에 의해 제공되는 웹사이트를 사용하는 것에 대한 대안으로서 가맹점으로부터 구매하는 것을 허용하는 가맹점에 의해 제공되고 클라이언트 디바이스(313) 상에 설치되는 전용 애플리케이션의 서버측(server-side) 구성요소로서 구현될 수도 있다. 이들 구현예에서, 가맹점 단말기(309)는 매트릭스 바 코드(106)가 웹페이지 상에 표시되게 하거나 URL(206)이 전용 애플리케이션의 사용자 인터페이스 내에 표시되게 할 수도 있다. 매트릭스 바 코드(106) 또는 URL(206)은 가맹점 식별자(329), 거래 식별자(346), 거래 금액(349) 등과 같은 거래 정보를 포함할 수도 있다.
단말기 애플리케이션(353)은 또한 가맹점 단말기(309)의 동작을 용이하게 하기 위해 가맹점 단말기(309)에 의해 실행될 수도 있다. 따라서, 단말기 애플리케이션(353)은 (예를 들어, 물리적 가맹점 단말기(309) 상에 설치되는 애플리케이션 또는 펌웨어로서) 소프트웨어 또는 (예를 들어, 주문형 집적 회로(ASIC)로서) 하드웨어로 구현될 수도 있다. 가맹점 단말기(309)가 가상적 단말기인 그러한 구현예에서, 단말기 애플리케이션(353)은 가맹점 단말기(309)의 기능을 웹 애플리케이션 또는 전자 상거래 시스템에 제공하기 위해 애플리케이션 라이브러리, 구성요소, 또는 독립형 서비스로서 구현될 수도 있다.
이전에 언급된 바와 같이, 다양한 데이터가 가맹점 단말기(309)에 의해 저장될 수 있다. 이러한 정보는 가맹점 식별자(329), 거래 식별자(346), 거래 금액(349), 고객 식별자(351), 및 잠재적 다른 정보를 포함할 수 있다. 가맹점 식별자(329)는 가맹점 단말기(309)를 운영하는 가맹점을 식별한다. 가맹점 단말기(309)로 수행되는 개별 거래는 또한 거래 식별자(346)가 할당될 수 있으며, 이는 가맹점에 의해 수행되는 다른 거래에 대해 거래를 고유하게 식별하기 위해 사용될 수 있다. 거래 금액(349)은 또한 가맹점에 의해 수행되는 개별 거래에 대해 저장될 수 있다.
고객 식별자(351)는 다른 고객에 대해 고객을 고유하게 식별하는 식별자를 나타낼 수 있다. 고객 식별자(351)의 예는 생체인식 서명(예를 들어, 사용자 얼굴, 지문, 또는 다른 생체인식 데이터를 나타냄), 사용자 이름, 또는 사용자 이름과 일부 다른 인증 데이터 항목(예를 들어, 패스워드, 개인 식별 번호(PIN), 일회용 패스워드 등)의 조합을 포함한다. 고객 식별자(351)는, 도 5에 도시된 것들과 같이, 본 개시의 일부 구현예에서 가맹점 단말기(309)에 의해 수집되거나 일시적으로 저장될 수 있다.
클라이언트 디바이스(313)는 네트워크(316)에 결합될 수 있는 복수의 클라이언트 디바이스(313) 중 임의의 개별 클라이언트 디바이스를 나타낸다. 클라이언트 디바이스(313)는 컴퓨터 시스템과 같은 프로세서-기반 시스템을 포함할 수 있다. 그러한 컴퓨터 시스템은 퍼스널 컴퓨터 (예를 들어, 데스트탑 컴퓨터, 랩톱 컴퓨터, 또는 유사한 디바이스), 모바일 컴퓨팅 디바이스(예를 들어, 개인 정보 단말기, 휴대폰, 스마트폰, 웹 패드, 태블릿 컴퓨터 시스템, 휴대용 게임 콘솔, 전자책 리더, 및 유사한 디바이스), 미디어 재생 디바이스(예를 들어, 미디어 스트리밍 디바이스, BluRay® 플레이어, 디지털 비디오 디스크(DVD) 플레이어, 셋톱 박스, 및 유사한 디바이스), 비디오게임 콘솔, 또는 유사한 기능을 갖는 다른 디바이스의 형태로 구현될 수 있다. 클라이언트 디바이스(313)는 하나 이상의 디스플레이(356), 예컨대 액정 디스플레이(LCD), 가스 플라즈마-기반 평탄 패널 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 전기 영동 잉크("E-잉크") 디스플레이, 프로젝터, 또는 다른 유형의 디스플레이 디바이스를 포함할 수 있다. 일부 경우에서, 디스플레이(356)는 클라이언트 디바이스(313)의 구성요소일 수 있거나 유선 또는 무선 연결을 통해 클라이언트 디바이스(313)에 연결될 수 있다.
클라이언트 디바이스(313)는 다양한 애플리케이션 예컨대 브라우저(103), 디지털 지갑(359), 또는 다른 클라이언트 애플리케이션을 실행하도록 구성될 수 있다. 브라우저(103), 디지털 지갑(359), 또는 다른 클라이언트 애플리케이션은 디스플레이(356) 상에 사용자 인터페이스(363)를 렌더링할 수도 있으며, 이는 사용자 입력을 획득하기 위해 사용자 인터페이스 요소 또는 다른 메커니즘을 포함할 수도 있다.
디지털 지갑(359)은 클라이언트 디바이스(313)의 인가된 사용자에 의해 이루어질 결제 거래를 용이하게 하거나 허용하기 위해 실행될 수 있다. 따라서, 디지털 지갑(359)은 개별 결제 수단, 방법 또는 계정과 관련되는 결제 계정 데이터(366)를 저장하도록 구성될 수 있다. 디지털 지갑(359)은 또한 결제 거래를 개시하거나, 촉진하거나, 완료하기 위해 결제 계정 데이터(366)의 적어도 일부를 제3자, 예컨대 가맹점, 결제 프로세서(306), 호스팅된 포스 서비스(319) 등에 전송하도록 구성될 수 있다. 일부 구현예에서, 디지털 지갑(359)은 다수의 결제 수단에 대한 정보를 저장하고 사용자가 특정 거래와 함께 사용하기 위한 결제 수단을 선택하는 것을 허용할 수 있다. 다른 경우에서, 디지털 지갑(359)은 단일 결제 수단, 예컨대 은행에 의해 발생되는 직불, 신용, 또는 충전 카드를 사용하여 결제를 용이하게 하기 위해 은행에 의해 발행되는 디지털 지갑(359)과 연관될 수도 있다. 디지털 지갑(359)의 예는 ALIPAY®, APPLE PAY®, GOOGLE PAY®, SAMSUNG PAY®, 및 WECHAT PAY® 뿐만 아니라 은행 또는 다른 금융 기관에 의해 출시되는 모바일 애플리케이션, 예컨대 모바일 디바이스에 대해 PAYPAL® 또는 AMERICAN EXPRESS®에 의해 출시되는 애플리케이션을 포함한다.
다양한 유형의 정보는 디지털 지갑(359)의 동작을 용이하게 하기 위해 클라이언트 디바이스(313) 상에 저장될 수도 있다. 예를 들어, 결제 계정 데이터(366)는 사용자에 의해 인가, 선택, 또는 요청되는 결제 계정을 사용하여 클라이언트 디바이스(313)의 사용자를 대신하여 결제를 개시하기 위해 디지털 지갑(359)에 의한 사용을 위해 클라이언트 디바이스(313) 상에 저장될 수도 있다. 결제 계정의 예는 결제 카드 계정, 예컨대 직불, 신용, 또는 충전 카드 계정을 포함할 수도 있다. 따라서, 결제 계정 데이터(366)는 계정 식별자(369), 계정 보유자의 이름(373), 보안 코드(376), 애플리케이션 거래 카운터(application transaction counter; ATC)(379), 암호 생성 키(383), 및 유효 기간(386)과 같은 정보 뿐만 아니라, EMV 표준 또는 유사한 결제 카드 보안 표준의 향후 버전에 의해 사용될 수 있는 다른 정보를 포함할 수도 있다. 게다가, 하나 이상의 인가된 사용자 식별자(389)는 클라이언트 디바이스(313) 상에 저장될 수 있다. 가맹점과의 거래에 관련된 정보, 예컨대 가맹점 식별자(329), 거래 식별자(346), 및 거래 금액(349)은 또한 클라이언트 디바이스(313) 상에 때때로 저장될 수 있다.
계정 식별자(369)는 클라이언트 디바이스(313) 상에 저장되는 결제 카드 계정에 대한 고유 식별자를 나타내며, 이는 다른 결제 카드 계정에 대해 결제 카드 계정을 고유하게 식별한다. 계정 식별자(369)는 또한 거래 계정 번호(transaction account number; TAN) 또는 주 계정 번호(primary account number; PAN)로서 지칭될 수 있다. 계정 식별자(369)의 예는 개별 직불, 신용, 또는 충전 카드에 대해 발행되는 직불, 신용, 또는 충전 카드 계정 번호를 포함한다. 그러나, 다른 유형의 계정 식별자(369)가 결제 기술 및 표준이 진화함에 따라 사용될 수도 있다.
이름(373)은 결제 계정 데이터(366)와 연관되거나 이에 의해 표현되는 결제 카드 계정의 계정 보유자, 소유자, 또는 인가된 사용자의 이름을 나타낸다. 이름(373)은 종종 개인에게 발행되는 물리적 결제 카드 상에 인쇄, 양각, 또는 에칭된다.
보안 코드(376)는, 거래 인가 요청의 일부로서 사용자에 의해 제시될 때, 사용자가 결제 카드를 물리적으로 소유하고 있음을 지시하는 임의의 코드를 나타낸다. 보안 코드(376)는 종종 3 또는 4 자리 숫자로서 표현된다. 보안 코드(376)의 예는 카드 보안 코드(CSC), 카드 검증 데이터(CVD), 카드 검증 번호(CVN), 카드 검증 값(CVV), 카드 식별 번호(CID number), 카드 검증 코드(CVC) 등을 포함한다. 보안 코드(376)는 정적 또는 동적일 수 있다. 정적 보안 코드(376)는 각각의 결제 카드가 유효한 한 일정하게 유지되고, 다수의 거래에 대해 재사용될 수 있다. EMV 호환 결제 카드와 같이 칩이 설치된 그러한 결제 카드의 경우, 동적 보안 코드(376)는 각각의 거래에 대한 인증 프로세스의 일부로서 생성될 수 있다.
애플리케이션 거래 카운터(application transaction counter; ATC)(379)는 결제 카드 또는 결제 카드 수단이 참여하는 각각의 거래에 대해 증분될 수 있는 정수 값을 나타낸다. 디지털 지갑(359)의 경우, ATC(379)는 결제 카드가 디지털 지갑(359)과 함께 처음 등록되거나 이에 링크될 때 초기화될 수 있다. 디지털 지갑(359)이 결제를 개시하거나 인가하기 위해 사용됨에 따라, 디지털 지갑(359)은 결제 계정 데이터(366)와 연관되어 저장되는 ATC(379)를 증분시킬 수 있다.
암호 생성 키(383)는 거래를 인가하기 위해 사용되는 암호를 생성하기 위한 목적을 위해 사용될 수 있는 임의의 암호화 키를 나타낼 수 있다. 암호 생성 키(383)의 하나의 예는 애플리케이션 암호 마스터 키(MKAC)이며, 이는 각각의 거래에 대한 암호를 생성하기 위해 사용될 수 있는 고유 세션 키(SKAC)를 생성하기 위해 EMV 호환 결제 카드에 의해 사용된다. 세션 키(SKAC)는 또한 일부 경우에서 암호 생성 키(383)인 것으로 간주될 수 있다. 그러나, 다른 암호화 키는 또한 결제 기술 및 표준이 발달함에 따라 사용될 수도 있다.
유효 기간(386)은 결제 계정 데이터(366)에 의해 표현되는 결제 계정이 만료되거나 그렇지 않으면 더 이상 유효하지 않은 날짜를 나타낼 수 있다. 유효 기간(386)은 전형적으로 만기의 월 및 연도에 의해 표현될 수 있다. 그러나, 다른 날짜 형식이 또한 사용될 수 있다(예를 들어, 일, 월 및 연도; 연도 등).
인가된 사용자 식별자(389)는 사용자가 클라이언트 디바이스(313) 및/또는 디지털 지갑(359)을 사용하기 위해 인가되는지 여부를 식별하는 식별자를 나타낼 수 있다. 일부 구현예에서, 다수의 사용자가 존재하고, 개별 인가된 사용자 식별자(389)는 디지털 지갑(359)과 함께 등록되거나 기입되는 개별 결제 계정에 대한 결제 계정 데이터(366)와 링크되거나 연관될 수 있다. 이들 구현예에서, 개별 인가된 사용자 식별자(389)와 개별 결제 계정에 대한 결제 계정 데이터(366) 사이의 그러한 연결(linkage)은 클라이언트 디바이스(313)의 디지털 지갑(359)을 사용하는 것을 허용하지만, 사용자가 사용하기 위해 이전에 인가된 특정 결제 계정을 사용하는 것에 제한될 것이다. 인가된 사용자 식별자(389)의 예는 생체인식 서명(예를 들어, 사용자 얼굴, 지문, 또는 다른 생체인식 데이터를 나타냄), 사용자 이름, 또는 사용자 이름과 일부 다른 인증 데이터 항목(예를 들어, 패스워드, 개인 식별 번호(PIN), 일회용 패스워드 등)의 조합을 포함한다.
도 3은 또한 일부 구현예에서 가맹점 단말기(309)가 결제 계정 데이터(366) 또는 결제 계정 데이터(366)의 서브세트를 저장할 수 있다는 것을 도시한다. 예를 들어, 가맹점 단말기(309)가 (예를 들어, 가상적 단말기로서, 브라우저(103)에 의해 렌더링되는 웹-기반 상점의 구성요소로서, 또는 전자 상거래 애플리케이션 또는 전용 쇼핑 애플리케이션의 구성요소로서) 소프트웨어로 구현되는 구현예에서, 가맹점 단말기(309)는 향후 결제를 용이하게 하거나 더 신속히 처리하기 위해 결정 정보를 저장할 수도 있다. 예를 들어, 웹-기반 상점은 향후 거래에 대한 결제를 더 신속히 처리하기 위해 사용자의 거래 계정에 대한 계정 식별자(369), 이름(373), 및 유효 기간(386)을 저장할 수도 있다. ATC(379) 및 암호 생성 키(383)는 또한 일부 경우에서 가맹점 단말기(309)에 의해 저장될 수도 있다. 이들 구현예에서, 가맹점 단말기(309)에 저장되는 결제 계정 데이터(266)는 또한 사용자 식별자(393)를 포함하거나 이와 연관될 수도 있다.
사용자 식별자(393)는 웹-기반 상점, 전자 상거래 애플리케이션, 또는 전용 쇼핑 애플리케이션의 사용자에 대한 사용자 계정을 나타낼 수도 있다. 따라서, 사용자 식별자(393)는 다른 사용자에 대해 사용자를 고유하게 식별하는 임의의 식별자를 나타낼 수도 있다. 그러나, 통상적으로 사용된 사용자 식별자(393)는 사용자명, 이메일 주소 등을 포함할 수도 있다. 사용자가 체크아웃 프로세스를 완료하기 위해 각자의 사용자 계정으로 로그인할 때, 가맹점 단말기(309)는 사용자 식별자(393)에 적어도 부분적으로 기초하여 사용자의 거래 계정에 대한 연관된 계정 식별자(369), 이름(373), 및 유효 기간(386)을 검색할 수도 있다. 그 다음, 가맹점 단말기(309)는 사용자가 거래 또는 결제를 완료하기 위해 시도할 때 연관된 계정 식별자(369), 이름(373), 및 유효 기간(386)을 호스팅된 포스 서비스(319)에 제공할 수도 있다. 일부 경우에서, 가맹점 단말기(309)는 또한 ATC(379) 및 암호 생성 키(383)를 호스팅된 포스 서비스(319)에 제공하도록 구성될 수도 있다.
다음으로 도 4를 참조하면, 도 3의 네트워크 환경(300)의 다양한 구성요소 사이의 상호작용의 동작에 대한 하나의 예를 제공하는 시퀀스 다이어그램이 도시된다. 대안으로서, 도 4의 시퀀스 다이어그램은 네트워크 환경(300) 내에서 구현되는 하나 이상의 방법의 요소의 예를 도시하는 것으로서 볼 수 있다.
블록(403)으로부터 시작하여, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 거래 정보를 호스팅된 포스 서비스(319)에 전송하게 한다. 이러한 거래 정보는 가맹점 식별자(329), 거래 금액(349), 및 거래 식별자(346)를 포함할 수 있다. 거래 정보는, 예를 들어, 사용자가 물리적 가맹점 단말기(309)를 사용하여 계산원과 체크 아웃하거나 사용자가 가맹점의 웹사이트 상에서 또는 가맹점에 의해 제공되고 사용자의 클라이언트 디바이스(313) 상에 설치되는 전용 쇼핑 애플리케이션 내에서 체크아웃 프로세스를 개시하는 것에 응답하여 전송될 수도 있다. 일부 구현예에서, 단말기 애플리케이션(353)에 의해 호스팅된 포스 서비스(319)에 전송되는 거래 정보는 또한 거래 계정의 계정 식별자(369), 이름(373), 및 유효 기간(386)을 포함할 수도 있다. 일부 경우에서, 단말기 애플리케이션(353)은 또한 ATC(379) 및 암호 생성 키(383)를 호스팅된 포스 서비스(319)에 제공할 수도 있다.
그 다음, 블록(406)에서, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 거래 정보(예를 들어, 가맹점 식별자(329), 거래 금액(349), 및 거래 식별자(346))를 고객에게 제시하게 할 수 있다. 이것은 임의의 특정 구현예에 대해 적합한 바와 같은 다양한 접근법을 사용하여 수행될 수도 있다.
예를 들어, 가맹점 단말기(309)가 물리적 가맹점 단말기(309)인 경우, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 가맹점 단말기(309)의 디스플레이 상에 매트릭스 바 코드(106)를 디스플레이하게 할 수도 있다. 가맹점 단말기(309)가 (예를 들어, 웹사이트에 대한 체크아웃 프로세스의 일부로서) 가상적 가맹점 단말기(309)로서 구현되는 경우, 단말기 애플리케이션(353)은 웹사이트가 사용자의 브라우저(103) 내의 웹페이지 상에 매트릭스 바 코드(106)를 디스플레이하게 할 수도 있다. 이전에 논의된 바와 같이, 매트릭스 바 코드(106)는 관련 거래 정보를 인코딩할 수도 있으며, 이는 사용자의 클라이언트 디바이스(313) 상에 설치되는 카메라를 사용하여 광학적으로 스캔될 수도 있다. 다른 예로서, 가맹점 단말기(309)가 물리적 가맹점 단말기(309)인 경우, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 무선 전송, 예컨대 근거리 통신(NFC) 전송, BLUETOOTH 전송, 초광대역 전송 등을 사용하여 거래 정보를 클라이언트 디바이스(313)에 전송하게 할 수도 있다. 가맹점 단말기(309)가 가상적 단말기로서 동작되는 다른 예에서, 단말기 애플리케이션(353)은 웹사이트 또는 전용 애플리케이션이 거래 정보를 인코딩하는 URL(206)을 디스플레이하게 하고, 선택되거나 조작될 때, 디지털 지갑(359)이 오픈되게 하고 거래 정보를 디지털 지갑(359)에 전달하게 할 수도 있다. 다른 접근법은 또한 통신 기술이 발달함에 따라 사용될 수 있다.
다음으로 블록(409)에서, 디지털 지갑(359)은 단말기 애플리케이션(353)에 의해 제시되는 거래 정보를 획득한다. 예를 들어, 단말기 애플리케이션(353)이 가맹점 단말기(309)가 매트릭스 바 코드(106)를 렌더링하게 하는 경우, 사용자는 매트릭스 바 코드(106)를 스캔하기 위해 각자의 클라이언트 디바이스(313) 상에 설치되는 카메라를 사용할 수도 있다. 그 다음, 디지털 지갑(359)은 거래에 대한 가맹점 식별자(329), 거래 금액(349), 및 거래 식별자(346) 뿐만 아니라, 요구될 수 있는 다른 정보를 획득하기 위해 매트릭스 바 코드(106)를 평가할 수도 있다. 마찬가지로, 가맹점 단말기(309)가 클라이언트 디바이스(313)와 NFC 전송, BLUETOOTH 전송, 초광대역 전송 등과 같은 무선 전송을 개시하는 경우, 디지털 지갑(359)은 사용자에게 전송을 수락하도록 프롬프트할 수도 있다. 수락되면, 디지털 지갑(359)은 무선 전송을 통해 거래에 대한 가맹점 식별자(329), 거래 금액(349), 및 거래 식별자(346)를 획득할 수도 있다. 다른 예에서, 단말기 애플리케이션(353)이 가맹점 단말기(309)가 거래 정보, 예컨대 거래에 대한 가맹점 식별자(329), 거래 금액(349), 및 거래 식별자(346)를 인코딩하게 하는 경우, 그 다음, 디지털 지갑(359)은 거래 정보를 획득하기 위해 URL의 인수(argument)를 분석할 수도 있다.
블록(413) 상으로 이동하면, 디지털 지갑(359)은 클라이언트 디바이스(313)의 현재 사용자가 디지털 지갑(359)의 인가된 사용자인지 여부를 결정하기 위해 클라이언트 디바이스(313)의 사용자를 인증할 수 있다. 이것은, 예를 들어, 도둑이 도단당한 클라이언트 디바이스(313)를 사용하여 결제하는 것을 방지하게 의해 수행될 수 있다. 예를 들어, 디지털 지갑(359)은 클라이언트 디바이스(313)의 사용자에게 패스워드, 개인 식별 번호(PIN), 또는 다른 비밀(secret)을 입력하도록 프롬프트할 수도 있다. 사용자에 의해 입력되는 패스워드 또는 PIN이 인가된 사용자 식별자(389)에 의해 지정되는 저장된 패스워드 또는 PIN과 일치하는 경우, 디지털 지갑(359)은 클라이언트 디바이스(313)의 현재 사용자가 디지털 지갑(359)의 인가된 사용자라고 결론을 내릴 수도 있다. 다른 예로서, 디지털 지갑(359)은 사용자에게 클라이언트 디바이스(313) 상에 설치되는 센서를 사용하여 생체인식 정보를 제공하도록 프롬프트할 수도 있다. 제공된 생체인식 정보의 서명이 인가된 사용자 식별자(389)에 의해 지정되는 저장된 서명과 일치하는 경우, 그 다음, 디지털 지갑(359)은 클라이언트 디바이스(313)의 현재 사용자가 디지털 지갑(359)의 인가된 사용자라고 결론을 내릴 수도 있다. 예를 들어, 클라이언트 디바이스(313) 상에 설치되는 카메라 또는 지문 리더에 의해 캡처되는 지문이 인가된 사용자 식별자(389)에 의해 지정되는 이전에 저장된 지문과 일치하는 경우, 그 다음, 디지털 지갑(359)은 클라이언트 디바이스(313)의 현재 사용자가 디지털 지갑(359)의 인가된 사용자라고 결론을 내릴 수도 있다. 다른 예로서, 클라이언트 디바이스(313)의 카메라를 사용하여 캡처되는 클라이언트 디바이스(313)의 사용자의 얼굴이 인가된 사용자 식별자(389)에 의해 지정되는 바와 같이 인가된 이전에 저장된 얼굴 이미지와 일치하는 경우, 그 다음, 디지털 지갑(359)은 클라이언트 디바이스(313)의 사용자가 디지털 지갑(359)의 인가된 사용자라고 결론을 내릴 수도 있다. 일부 구현예에서, 디지털 지갑(359)은 PIN 또는 패스워드를 입력하는 사용자와 얼굴 인식 또는 지문 매칭을 조합하는 것과 같이 사용자를 인증하기 위해 인증 메커니즘의 조합을 사용할 수도 있다.
블록(416)으로 진행하면, 디지털 지갑(359)은 사용자에게 인증에 응답하여 거래를 확인하거나 인가하도록 프롬프트할 수 있다. 예를 들어, 디지털 지갑(359)은 거래에 대한 정보, 예컨대 (아마도 가맹점 식별자(329)에 기초한) 가맹점 신원 및 거래 금액(349)을 디스플레이할 수도 있다. 그 다음, 사용자는 예컨대 버튼을 클릭하여 승인을 확인함으로써 각자의 거래 승인을 제공할 수도 있다.
사용자는 디지털 지갑(359)에 의해 등록, 기입, 또는 달리 관리되는 다수의 결제 계정을 가질 수도 있다. 따라서, 블록(416)으로서의 승인 프로세스의 일부로서, 디지털 지갑(359)의 일부 구현예는 또한 사용자에게 가맹점과의 거래를 완료하기 위해 사용하기 위한 디지털 지갑(359)에 의해 등록, 기입, 또는 달리 관리되는 다수의 이용가능한 결제 계정으로부터 결제 계정을 선택하도록 프롬프트할 수도 있다. 그러나, 다른 구현예는 (예를 들어, 사용자가 디지털 지갑(359)에 의해 등록, 기입, 또는 달리 관리되는 하나의 결제 계정만을 갖는 경우) 사용자에게 결제 계정을 선택하도록 프롬프트하지 않을 수 있다.
그 다음, 블록(419)에서, 디지털 지갑(359)은 선택된 결제 계정에 대한 결제 계정 데이터(366)를 호스팅된 포스 서비스(319)에 전송할 수 있다. 이것은 계정 식별자(369), 이름(373), 보안 코드(376), ATC(379), 암호 생성 키(383), 유효 기간(386), 및 다른 결제 계정 데이터(366)를 포함할 수 있다. 일부 구현예에서, 디지털 지갑(359)은 암호 생성 키(383)(예를 들어, EMV 호환 애플리케이션 암호 마스터 키(MKAC)로부터 유도되는 EMV 호환 세션 키)로서 단일 거래를 인가하는 데 유효한 일회용 세션 키를 생성 및 전송할 수도 있다. 그러나, 다른 구현예에서, 디지털 지갑(359)은 암호 생성 키(383) 자체(예를 들어, EMV 호환 MKAC)를 전송할 수도 있으며, 이는 호스팅된 포스 서비스(319)에 의해 거래를 인가하는 데 유효한 일회용 세션 키를 유도하기 위해 사용될 수도 있다.
결제 계정 데이터(366)를 전송하기 위해, 디지털 지갑(359)은 이전에 합의된 암호화 키(예를 들어, 호스팅된 포스 서비스(319)에 의해 사용되는 공유 대칭 암호화 키 또는 공개-개인 키 쌍의 공개 키)를 사용하여 그것을 호스팅된 포스 서비스(319)에 전송하기 전에 먼저 결제 계정 데이터(366)를 암호화할 수도 있다. 디지털 지갑(359)은 또한 거래에 대한 가맹점 식별자(329), 거래 금액(349), 및 거래 식별자(346)와 같은 거래 정보를 호스팅된 포스 서비스(319)에 전송할 수 있으며, 따라서 호스팅된 포스 서비스(319)는 디지털 지갑(359)에 의해 제공되는 결제 계정 데이터(366)를 사용하여 어떤 거래가 처리되어야 하는지를 결정할 수 있다.
다음으로 블록(423)에서, 호스팅된 포스 서비스(319)는 디지털 지갑(359)으로부터 암호화된 결제 계정 데이터(366) 및 거래 데이터를 수신하고 이에 응답하여 거래에 대한 인가 요청을 생성할 수 있다. 그 다음, 호스팅된 포스 서비스(319)는, 예를 들어, 디지털 지갑(359)에 의해 공급되는 가맹점 식별자(329), 거래 식별자(346), 및 거래 금액(349)이 블록(403)에서 단말기 애플리케이션(353)에 의해 제공되는 가맹점 식별자(329), 거래 식별자(346), 및 거래 금액(349)과 일치하는지 확인함으로써 가맹점이 거래가 처리되도록 요청하였는지 여부를 결정할 수 있다. 단말기 애플리케이션(353)에 의해 제공되는 거래 정보가 디지털 지갑(359)에 의해 제공되는 거래 정보와 일치하는 경우, 호스팅된 포스 서비스(319)는 디지털 지갑(359)으로부터 수신되는 결제 계정 데이터(366)를 사용하여 거래에 대한 인가 요청을 생성할 수 있다. 인가 요청은 호스팅된 포스 서비스(319)에 의해 생성되는 암호 뿐만 아니라 가맹점 식별자(329), 거래 식별자(346), 및 거래 금액(349)과 같은 거래 정보를 포함할 수 있다. 많은 구현예에서, 암호는 인가 요청 암호(ARQC)와 같은 온라인 거래에 대한 EMV 표준을 준수할 수 있다. 따라서, 인가 요청은 ISO 8583 1100 표준, 또는 유사한 향후 표준을 준수하도록 형식화될 수도 있다. 인가 요청이 생성되면, 호스팅된 포스 서비스(319)는, 가맹점 프로파일(326)에 저장되는 결제 프로세서 식별자(343)에 의해 식별되는 바와 같이, 인가 요청을 가맹점의 결제 프로세서(306)에 전송할 수 있다.
EMV 호환 거래인 카드-제시 거래와 대조적으로, 호스팅된 포스 서비스(319)는 EMV 표준에 의해 지정되는 많은 단계를 스킵할 수 있다. 예를 들어, 사용자가 이미 디지털 지갑(359)에 의해 인증되었기 때문에, 개인 식별 번호는 요청될 필요가 없다. 다른 예로서, 애플리케이션 인터체인지 프로파일(AIP) 및 애플리케이션 파일 로케이터(AFL)는 호스팅된 포스 서비스(319)가 디지털 지갑(359)을 대신하여 EMV 호환 암호를 생성하고, 호스팅된 포스 서비스(319)가 그 자신의 능력을 인식하고 있기 때문에 호스팅된 포스 서비스(319)에 의해 요청될 필요가 없다. 블록(423)에서 수행되는 프로세스의 보다 상세한 설명은 도 6의 논의에서 설명된다.
블록(426)으로 이동하여, 결제 프로세서(306)는 인가 요청을 결제 카드 계정의 발행자에게 라우팅할 수 있다. 그 다음, 발행자는 인가 요청을 평가하고 거래를 승인 또는 거부할 수 있다. 인가 요청이 (예를 들어, 그것이 EMV 표준을 준수하였기 때문에) ARQC를 포함한 경우, 발행자는 인가 응답 암호(ARPC)를 생성하고 이에 응답하여 그것을 결제 프로세서(306)에 제공할 수도 있다.
블록(429)으로 진행하면, 결제 프로세서(306)는 발행자로부터 잠재적으로 ARPC를 포함하는 인가 응답을 수신할 수 있다. 그 다음, 결제 프로세서(306)는 추가 처리를 위해 인가 응답을 호스팅된 포스 서비스(319)에 전달할 수 있다.
그 다음, 블록(433)에서, 호스팅된 포스 서비스(319)는 인가 응답으로부터 관련 정보(예를 들어, 거래 식별자(346), 거래 금액(349), 인가 승인 또는 거부 등)를 추출하고 그것을 단말기 애플리케이션(353) 상으로 포워딩할 수 있다. 그러나, 일부 구현예에서, 호스팅된 포스 서비스(319)는 전체 인가 응답을 단말기 애플리케이션(353)에 포워딩할 수도 있다. 이들 구현예에서, 단말기 애플리케이션은 관련 정보에 대한 인가 응답을 평가할 필요가 있을 것이다. 호스팅된 포스 서비스(319)는 또한 임의의 정보를 단말기 애플리케이션(353) 상으로 포워딩하거나 전달하기 전에 이 시점에서 인가 응답에 포함되는 ARPC를 검증할 수도 있다.
이어서, 블록(436)에서, 단말기 애플리케이션(353)은 호스팅된 포스 서비스(319)로부터 인가 정보를 수신한다. 거래가 인가된 경우, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 결제를 확인하는 적절한 조치를 취하게 할 수 있다(예를 들어, 영수증 인쇄, 가맹점 단말기(309) 또는 클라이언트 디바이스(313)의 스크린 상에 주문 확인 디스플레이 등). 유사하게, 거래가 거절된 경우, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 사용자에게 결제가 거절되었다는 것을 경고하는 적절한 조치를 취하게 할 수도 있다.
다음으로 도 5를 참조하면, 도 3의 네트워크 환경(300)의 다양한 구성요소 사이의 상호 작용에 대한 동작의 일 예를 제공하는 시퀀스 다이어그램이 도시된다. 도 4의 시퀀스 다이어그램으로부터 별도로 논의되지만, 도 5에서 설명되거나 논의되는 상호작용 중 임의의 하나 이상은 도 5에서 설명되거나 논의되는 상호작용 중 임의의 하나 이상과 조합으로 구현될 수도 있다는 점이 주목되어야 한다. 대안으로서, 도 5의 시퀀스 다이어그램은 네트워크 환경(300) 내에서 구현되는 하나 이상의 방법의 요소의 예를 도시하는 것으로서 불 수 있다.
블록(503)으로부터 시작하여, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 거래 정보를 호스팅된 포스 서비스(319)에 전송하게 한다. 거래 정보는 가맹점 식별자(329), 거래 금액(349), 및 거래 식별자(346)를 포함할 수 있다. 거래 정보는, 예를 들어, 사용자가 물리적 가맹점 단말기(309)를 사용하여 계산원과 체크 아웃하거나 사용자가 가맹점의 웹사이트 상에서 또는 가맹점에 의해 제공되고 사용자의 클라이언트 디바이스(313) 상에 설치되는 전용 쇼핑 애플리케이션 내에서 체크아웃 프로세스를 개시하는 것에 응답하여 전송될 수도 있다. 일부 구현예에서, 단말기 애플리케이션에 의해 호스팅된 포스 서비스(319)에 전송되는 거래 정보는 또한 거래 계정의 계정 식별자(369), 이름(373), 및 유효 기간(386)을 포함할 수도 있다. 일부 경우에서, 단말기 애플리케이션(353)은 또한 ATC(379) 및 암호 생성 키(383)를 호스팅된 포스 서비스(319)에 제공할 수도 있다.
다음으로, 블록(506)에서, 단말기 애플리케이션(353)은 디지털 지갑(359)의 인가된 사용자를 나타내는 고객 식별자(351)를 획득할 수 있다. 예를 들어, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 고객이 가맹점 단말기(309)의 사용자 인터페이스를 통해 사용자명 및 패스워드, PIN, 또는 일회용-패스워드를 제출하도록 요청하게 할 수도 있다. 다른 예로서, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 얼굴 인식을 위한 사용자의 얼굴 이미지 또는 지문 인식을 위한 지문 이미지와 같은 사용자의 생체인식 서명을 획득하기 위해 통합형 카메라, 지문 스캐너, 또는 다른 생체인식 센서를 사용하게 할 수도 있다. 다른 접근법은 또한 본 개시의 다른 구현예에 대해 적합한 바와 같이 사용될 수 있다.
블록(509)으로 이동하여, 단말기 애플리케이션(353)은 거래 정보 및 고객 식별자(351)를 디지털 지갑(359)에 전송한다. 이것은 임의의 특정 구현예에 대해 적합한 바와 같은 다양한 접근법을 사용하여 수행될 수도 있다. 예를 들어, 가맹점 단말기(309)가 물리적 가맹점 단말기(309)인 경우, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 가맹점 단말기(309)의 디스플레이 상에 매트릭스 바 코드(106)를 디스플레이하게 할 수도 있다. 가맹점 단말기(309)가 (예를 들어, 웹사이트에 대한 체크아웃 프로세스의 일부로서) 가상적 가맹점 단말기(309)로서 구현되는 경우, 단말기 애플리케이션(353)은 웹사이트가 사용자의 브라우저(103) 내의 웹페이지 상에 매트릭스 바 코드(106)를 디스플레이하게 할 수도 있다. 이전에 논의된 바와 같이, 매트릭스 바 코드(106)는 관련 거래 정보, 예컨대 가맹점 식별자(329), 거래 금액(349), 및 거래 식별자(346) 뿐만 아니라, 블록(506)에서 획득되는 고객 식별자(351)를 인코딩할 수도 있다. 그 다음, 매트릭스 바 코드(106)(예를 들어, 매트릭스 바 코드(106a 또는 106b))는 사용자의 클라이언트 디바이스(313) 상에 설치되는 카메라를 사용하여 광학적으로 스캔될 수도 있다. 다른 예로서, 가맹점 단말기(309)가 물리적 가맹점 단말기(309)인 경우, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 근거리 통신(NFC) 전송, BLUETOOTH 전송, 초광대역 전송 등과 같은 무선 전송을 사용하여 거래 정보 및 고객 식별자를 클라이언트 디바이스(313)에 전송하게 할 수도 있다. 가맹점 단말기(309)가 가상적 단말기로서 동작되는 다른 예에서, 단말기 애플리케이션(353)은 웹사이트 또는 전용 애플리케이션이 거래 정보 및 고객 식별자를 인코딩하는 URL(206)을 디스플레이하게 할 수도 있다. URL(206)이 나중에 선택되거나 조작될 때, URL(206)은 디지털 지갑(359)이 URL로부터 거래 정보 및 고객 식별자(351)를 오픈하고 검색하게 할 수도 있다. 다른 접근법은 또한 통신 기술이 발달함에 따라 사용될 수 있다.
블록(511)을 참조하면, 디지털 지갑(359)은 단말기 애플리케이션(353)에 의해 제공되는 고객 식별자(351)를 인증할 수도 있다. 예를 들어, 디지털 지갑(359)은 수신된 고객 식별자(351)와 로컬 저장된 인가된 사용자 식별자(389)를 비교할 수도 있다. 수신된 고객 식별자(351)가 저장된 인가된 사용자 식별자(389)와 일치하는 경우, 그 다음, 디지털 지갑(359)은 인가된 사용자가 단말기 애플리케이션(353)을 실행하고 있는 가맹점 단말기(309)를 동작시키는 가맹점과 거래를 개시했다고 결정할 수도 있다.
그 다음, 블록(513)에서, 디지털 지갑(359)은 사용자에게 가맹점에게 결제하기 위한 결제 계정을 선택하고 선택된 결제 계정에 대한 결제 계정 데이터(366)를 호스팅된 포스 서비스(319)에 전송하도록 프롬프트할 수 있다. 예를 들어, 사용자는 디지털 지갑(359)에 의해 등록, 기입, 또는 달리 관리되는 다수의 결제 계정을 가질 수도 있다. 따라서, 디지털 지갑(359)의 일부 구현예는 사용자에게 가맹점과의 거래를 완료하기 위해 사용하는 디지털 지갑(359)에 의해 등록, 기입, 또는 달리 관리되는 다수의 이용가능한 결제 계정으로부터 결제 계정을 선택하도록 프롬프트할 수도 있다. 그러나, 다른 구현예는 (예를 들어, 사용자가 디지털 지갑(359)에 의해 등록, 기입, 또는 달리 관리되는 하나의 결제 계정만을 갖는 경우) 사용자에게 결제 계정을 선택하도록 프롬프트하지 않을 수 있다.
결제 계정이 선택되면, 그 다음, 각각의 결제 계정 데이터(366)는 디지털 지갑(359)에 의해 호스팅된 포스 서비스(319)에 전송될 수 있다. 이것은 계정 식별자(369), 이름(373), 보안 코드(376), ATC(379), 암호 생성 키(383), 유효 기간(386), 및 다른 결제 계정 데이터(366)를 포함할 수 있다. 일부 구현예에서, 디지털 지갑(359)은 암호 생성 키(383)(예를 들어, EMV 호환 애플리케이션 암호 마스터 키(MKAC)로부터 유도되는 EMV 호환 세션 키)로서 단일 거래를 인가하는 데 유효한 일회용 세션 키를 생성 및 전송할 수도 있다. 그러나, 다른 구현예에서, 디지털 지갑(359)은 암호 생성 키(383) 자체(예를 들어, EMV 호환 MKAC)를 전송할 수도 있으며, 이는 호스팅된 포스 서비스(319)에 의해 거래를 인가하는 데 유효한 일회용 세션 키를 유도하기 위해 사용될 수도 있다.
결제 계정 데이터(366)를 전송하기 위해, 디지털 지갑(359)은 이전에 합의된 암호화 키(예를 들어, 호스팅된 포스 서비스(319)에 의해 사용되는 공유 대칭 암호화 키 또는 공개-개인 키 쌍의 공개 키)를 사용하여 그것을 호스팅된 포스 서비스(319)에 전송하기 전에 먼저 결제 계정 데이터(366)를 암호화할 수도 있다. 디지털 지갑(359)은 또한 거래에 대한 가맹점 식별자(329), 거래 금액(349), 및 거래 식별자(346)와 같은 거래 정보를 호스팅된 포스 서비스(319)에 전송할 수 있으며, 따라서 호스팅된 포스 서비스(319)는 디지털 지갑(359)에 의해 제공되는 결제 계정 데이터(366)를 사용하여 어떤 거래가 처리되어야 하는지를 결정할 수 있다.
블록(516)으로 진행하면, 호스팅된 포스 서비스(319)는 디지털 지갑(359)으로부터 암호화된 결제 계정 데이터(366) 및 거래 데이터를 수신하고 응답으로 거래에 대한 인가 요청을 생성할 수 있다. 그 다음, 호스팅된 포스 서비스(319)는, 예를 들어, 디지털 지갑(359)에 의해 공급되는 가맹점 식별자(329), 거래 식별자(346), 및 거래 금액(349)이 블록(403)에서 단말기 애플리케이션(353)에 의해 제공되는 가맹점 식별자(329), 거래 식별자(346), 및 거래 금액(349)과 일치하는지 확인함으로써 가맹점이 거래가 처리되도록 요청하였는지 여부를 결정할 수 있다. 단말기 애플리케이션(353)에 의해 제공되는 거래 정보가 디지털 지갑(359)에 의해 제공되는 거래 정보와 일치하는 경우, 호스팅된 포스 서비스(319)는 디지털 지갑(359)으로부터 수신되는 결제 계정 데이터(366)를 사용하여 거래에 대한 인가 요청을 생성할 수 있다. 인가 요청은 호스팅된 포스 서비스(319)에 의해 생성되는 암호 뿐만 아니라 가맹점 식별자(329), 거래 식별자(346), 및 거래 금액(349)과 같은 거래 정보를 포함할 수 있다. 많은 구현예에서, 암호는 인가 요청 암호(ARQC)와 같은 온라인 거래에 대한 EMV 표준을 준수할 수 있다. 따라서, 인가 요청은 ISO 8583 1100 표준, 또는 유사한 향후 표준을 준수하도록 형식화될 수도 있다. 인가 요청이 생성되면, 호스팅된 포스 서비스(319)는, 가맹점 프로파일(326)에 저장되는 결제 프로세서 식별자(343)에 의해 식별되는 바와 같이, 인가 요청을 가맹점의 결제 프로세서(306)에 전송할 수 있다.
EMV 호환 거래인 카드-제시 거래와 대조적으로, 호스팅된 포스 서비스(319)는 EMV 표준에 의해 지정되는 많은 단계를 스킵할 수 있다. 예를 들어, 사용자가 이미 디지털 지갑(359)에 의해 인증되었기 때문에, 개인 식별 번호는 요청될 필요가 없다. 다른 예로서, 애플리케이션 인터체인지 프로파일(AIP) 및 애플리케이션 파일 로케이터(AFL)는 호스팅된 포스 서비스(319)가 디지털 지갑(359)을 대신하여 EMV 호환 암호를 생성하고, 호스팅된 포스 서비스(319)가 그 자신의 능력을 인식하고 있기 때문에 호스팅된 포스 서비스(319)에 의해 요청될 필요가 없다. 블록(516)에서 수행되는 프로세스의 보다 상세한 설명은 도 6의 논의에서 설명된다.
다음으로 블록(519)에서, 결제 프로세서(306)는 인가 요청을 결제 카드 계정의 발행자에게 라우팅할 수 있다. 그 다음, 발행자는 인가 요청을 평가하고 거래를 승인 또는 거부할 수 있다. 인가 요청이 (예를 들어, 그것이 EMV 표준을 준수하였기 때문에) ARQC를 포함한 경우, 발행자는 인가 응답 암호(ARPC)를 생성하고 응답으로 그것을 결제 프로세서(306)에 제공할 수도 있다.
블록(523)으로 진행하면, 결제 프로세서(306)는 발행자로부터 잠재적으로 ARPC를 포함하는 인가 응답을 수신할 수 있다. 그 다음, 결제 프로세서(306)는 추가 처리를 위해 인가 응답을 호스팅된 포스 서비스(319)에 전달할 수 있다.
그 다음, 블록(526)에서, 호스팅된 포스 서비스(319)는 인가 응답으로부터 관련 정보(예를 들어, 거래 식별자(346), 거래 금액(349), 인가 승인 또는 거부 등)를 추출하고 그것을 단말기 애플리케이션(353) 상으로 포워딩할 수 있다. 그러나, 일부 구현예에서, 호스팅된 포스 서비스(319)는 전체 인가 응답을 단말기 애플리케이션(353)에 포워딩할 수도 있다. 이들 구현예에서, 단말기 애플리케이션은 관련 정보에 대한 인가 응답을 평가할 필요가 있을 것이다. 호스팅된 포스 서비스(319)는 또한 임의의 정보를 단말기 애플리케이션(353) 상으로 포워딩하거나 전달하기 전에 이 시점에서 인가 응답에 포함되는 ARPC를 검증할 수도 있다.
이어서, 블록(529)에서, 단말기 애플리케이션(353)은 호스팅된 포스 서비스(319)로부터 인가 정보를 수신한다. 거래가 인가된 경우, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 결제를 확인하는 적절한 조치를 취하게 할 수 있다(예를 들어, 영수증 인쇄, 가맹점 단말기(309) 또는 클라이언트 디바이스(313)의 스크린 상에 주문 확인 디스플레이 등). 유사하게, 거래가 거절된 경우, 단말기 애플리케이션(353)은 가맹점 단말기(309)가 사용자에게 결제가 거절되었다는 것을 경고하는 적절한 조치를 취하게 할 수도 있다.
다음으로 도 6을 참조하면, 도 4의 시퀀스 다이어그램의 블록(423)에서 이전에 설명된 부분 및 도 5의 시퀀스 다이어그램의 블록(516)에서 이전에 설명된 부분과 같은 호스팅된 포스 서비스(319)의 일 부분의 동작에 대한 하나의 예를 제공하는 흐름도가 도시된다. 따라서, 도 6의 동작 중 임의의 하나 이상은 본 개시의 다양한 실시예에 따라 도 4 또는 도 5의 동작 중 임의의 하나 이상과 조합될 수 있다. 도 6의 흐름도는 호스팅된 포스 서비스(319)의 도시된 부분의 동작을 구현하기 위해 이용될 수 있는 많은 상이한 유형의 기능적 배열의 예를 단지 제공한다. 대안으로서, 도 6의 흐름도는 네트워크 환경(300) 내에서 구현되는 방법의 요소의 예를 도시하는 것으로서 볼 수 있다.
블록(603)으로부터 시작하여, 호스팅된 포스 서비스(319)는 결제 계정 데이터(366) 및 거래 정보, 예컨대 가맹점 식별자(329), 거래 식별자(346), 및/또는 거래 금액(349)을 수신할 수 있다. 일부 구현예에서, 결제 계정 데이터(366) 및 거래 정보는 클라이언트 디바이스(313) 상에서 실행되는 디지털 지갑(359)으로부터 수신될 수도 있다. 그러나, 일부 경우에서, 결제 계정 데이터(366)의 일부는 클라이언트 디바이스(313) 이외의 다른 소스, 예컨대 사용자에 대한 결제 계정 데이터(366)를 이전에 저장한 가맹점 컴퓨팅 시스템으로부터 올 수도 있다. 이것은 가맹점의 전자 상거래 애플리케이션, 전용 쇼핑 애플리케이션, 또는 웹-기반 상점이 향후 거래에 사용하기 위해 결제 계정 데이터(366)를 저장할 때 발생할 수도 있다. 다른 구현예에서, 거래 정보는 클라이언트 디바이스(313) 이외의 다른 소스, 예컨대 단말기 애플리케이션(353)으로부터 별도로 수신될 수도 있다. 이전에 논의된 바와 같이, 클라이언트 디바이스(313)의 디지털 지갑(359)에 의해 제공되는 결제 계정 데이터(366)는 계정 식별자(369), 계정 보유자의 이름(373), 보안 코드(376), ATC(379), 암호 생성 키(383), 및 유효 기간(386)을 포함할 수 있다. 일부 구현예에서, 디지털 지갑(359)으로부터 수신되는 암호 생성 키(383)는 단일 거래를 인가하는 데 유효한 일회용 세션 키(예를 들어, EMV 호환 애플리케이션 암호 마스터 키(MKAC)로부터 유도되는 EMV 호환 세션 키)일 수도 있다. 다른 경우에서, 디지털 지갑(359)으로부터 수신되는 암호 생성 키(383)는 마스터 키(예를 들어, EMV 호환 MKAC)일 수 있으며, 이는 거래를 인가하는 데 유효한 일회용 세션 키를 유도하기 위해 호스팅된 포스 서비스(319)에 의해 사용될 수도 있다.
일부 구현예에서, 결제 계정 데이터(366)는 보안 목적을 위해 암호화된 또는 난독화된 형태로 수신될 수 있다. 이러한 정보는 고객이 각자의 디지털 지갑(359)을 사용하여 가맹점에게 결제하기 위해 시도하는 것에 응답하여 호스팅된 포스 서비스(319)에 의해 수신될 수 있다.
그 다음, 블록(606)에서, 호스팅된 포스 서비스(319)는 디지털 지갑(359)의 사용자가 결제하기 위해 시도하는 가맹점이 호스팅된 포스 서비스(319)에 의해 지원되는지 여부를 결정할 수 있다. 이것은 디지털 지갑(359)으로부터 수신되는 가맹점 식별자(329)와 일치하는 가맹점 식별자(329)로 가맹점 프로파일(326)을 검색함으로써 수행될 수 있다. 일치하는 가맹점 프로파일(326)이 식별되지 않는 경우, 그 다음, 호스팅된 포스 서비스(319)는 (예를 들어, 가맹점이 호스팅된 포스 서비스(319)에 아직 등록되거나 기입되지 않았기 때문에) 가맹점이 호스팅된 포스 서비스(319)에 의해 지원되지 않는다고 결정할 수 있다. 이에 응답하여, 프로세스는 종료될 수 있고 호스팅된 포스 서비스(319)는 에러 메시지를 리턴할 수 있다. 그러나, 일치하는 가맹점 프로파일(326)이 식별되는 경우, 그 다음, 프로세스는 블록(609)으로 진행될 수 있다.
다음으로, 블록(609)에서, 호스팅된 포스 서비스(319)는 디지털 지갑(359)이 완료하기 위해 시도하는 거래가 인가되도록 이전에 요청되었는지 여부를 결정할 수 있다. 따라서, 호스팅된 포스 서비스(319)는 일치하는 거래 데이터가 가맹점 단말기(309)의 단말기 애플리케이션(353)에 의해 이전에 제공되었는지 확인하기 위해 디지털 지갑(359)에 의해 제공되는 거래 식별자(346)를 사용할 수 있다. 일치가 식별되는 경우, 그 다음, 프로세스는 블록(613)으로 진행될 수 있다. 일치가 식별되지 않는 경우, 그 다음, 프로세스는 종료될 수 있고 호스팅된 포스 서비스(319)는 가맹점이 거래의 인가를 요청하지 않았음을 나타내는 에러 메시지를 리턴할 수 있다.
블록(613)으로 이동하면, 호스팅된 포스 서비스(319)는 블록(603)에서 이전에 수신된 결제 계정 데이터(366)를 복호화할 수 있다. 예를 들어, 호스팅된 포스 서비스(319)는 결제 계정 데이터(366)를 복호화하기 위해 공개-개인 키 쌍 중 각각의 개인 키를 사용할 수도 있다. 다른 예로서, 호스팅된 포스 서비스(319)는 블록(603)에서 이전에 수신된 암호화된 결제 계정 데이터(366)를 복호화하기 위해 이전에 공유된 대칭 암호화 키를 사용할 수도 있다.
블록(616)으로 진행하면, 호스팅된 포스 서비스(319)는 난수(random number)를 생성할 수 있다. 난수는, 예를 들어, 거래에 대한 인가 요청의 일부로서 후속 암호를 생성하기 위한 시드 값(seed value)으로서 사용될 수 있다. EMV 표준 버전을 준수하는 암호 및 인가 요청을 생성하는 구현예에서, 블록(616)에서 생성되는 난수는 EMV 표준에 의해 지정되는 예측할 수 없는 수(Unpredictable Number)일 수도 있다.
다음으로 블록(619)에서, 호스팅된 포스 서비스(319)는 결제 계정 데이터(366)에 의해 지정되는 결제 계정을 사용하여 가맹점에게 결제하기 위한 인가 요청의 일부로서 사용하기 위한 암호를 생성할 수 있다. 다음 단락에서, EMV 표준을 준수하는 인가 요청 암호(ARQC)가 생성될 수도 있는 방법에 대한 설명이 제공된다. 그러나, 유사한 원리는 다른 카드 보안 표준과 함께 사용하기 위해 또는 EMV 표준에 의해 지정되는 다른 인가 암호에 대해 적용될 수도 있다.
ARQC를 생성하기 위해, 호스팅된 포스 서비스(319)는 먼저 인가 요청을 발행자에게 전달하기 위해 사용될 결제 네트워크의 신원(identity)을 결정할 수 있다. 이것은, 예를 들어, 디지털 지갑(359)으로부터 수신되는 계정 식별자(369)를 평가함으로써 수행될 수 있다. 계정 식별자(369)가 "3"의 시작 숫자(beginning digit)를 갖는 신용 카드 번호 또는 충전 카드 번호를 나타내는 경우, 그 다음, 호스팅된 포스 서비스(319)는 AMERICAN EXPRESS® 결제 네트워크가 사용될 것이고, AMERICAN EXPRESS 특정 결제 애플리케이션(323)이 암호를 생성하기 위해 사용되어야 한다고 결정할 수도 있다. 유사하게, 계정 식별자(369)가 "4"의 시작 숫자를 갖는 신용 카드 번호 또는 충전 카드 번호를 나타내는 경우, 그 다음, 호스팅된 포스 서비스(319)는 VISA® 결제 네트워크가 사용될 것이고, VISA 특정 결제 애플리케이션(323)이 암호를 생성하기 위해 사용되어야 한다고 결정할 수도 있다. 유사하게, 계정 식별자(369)가 "5"의 시작 숫자를 갖는 신용 카드 번호 또는 충전 카드 번호를 나타내는 경우, 그 다음, 호스팅된 포스 서비스(319)는 MASTERCARD® 결제 네트워크가 사용될 것이고, MASTERCARD 특정 결제 애플리케이션(323)이 암호를 생성하기 위해 사용되어야 한다고 결정할 수도 있다.
적절한 결제 애플리케이션(323)이 선택되면, 그것은 식별된 결제 네트워크에 대한 적절한 ARQC를 생성하기 위해 필요한 입력 데이터를 준비하도록 실행될 수 있다. 예를 들어, 결제 애플리케이션(323)은 계정 식별자(369), 블록(616)에서 생성되는 난수, ATC(379), 거래 통화(333), 거래 금액(349), 가맹점 위치(336), 거래 식별자(346), 거래 날짜, 거래 유형, 및/또는 EMV 표준의 현재 또는 미래 버전에 의해 지정되는 다른 정보 중 하나 이상을 선택 및 연결시킬 수도 있다.
그 다음, 결제 애플리케이션(323)의 출력은, 결제 애플리케이션(323)의 출력을 EMV 표준의 일부 버전에서 사용되는 애플리케이션 암호 생성 알고리즘을 통해 전달하는 것과 같은, ARQC를 생성하기 위한 다양한 접근법을 사용하는 암호 생성 키(383)를 사용하여 암호화될 수 있다. 예를 들어, 블록(603)에서 디지털 지갑(359)으로부터 수신되는 암호 생성 키(383)가 EMV 호환 애플리케이션 암호 마스터 키(MKAC)인 경우, 그 다음, 호스팅된 포스 서비스(319)는 디지털 지갑(359)에 의해 제공되는 MKAC 및 ATC(379)를 사용하여 일회용 애플리케이션 암호 세션 키(SKAC)를 생성할 수 있다. 그 다음, SKAC는 결제 애플리케이션(323)의 출력을 암호화하기 위해 사용될 수도 있으며, 그것에 의해 ARQC를 생성할 수도 있다. 다른 구현예에서, 암호 생성 키(383)는 (예를 들어, 디지털 지갑(359)이 암호 생성 키(383)로서 사용하기 위한 SKAC를 생성하기 위해 ATC(379) 및 MKAC를 사용하였기 때문에) SKAC일 수도 있다. 이들 구현예에서, 호스팅된 포스 서비스(319)는 ARQC를 생성하기 위해 결제 애플리케이션(323)의 출력을 직접 암호화하도록 암호 생성 키(383)를 사용할 수 있다.
이어서, 블록(623)에서, 호스팅된 포스 서비스(319)는 인가 요청을 준비하고 그것을 결제 프로세서(306)에 전송할 수 있다. 인가 요청을 생성하기 위해, 호스팅된 포스 서비스(319)는 블록(619)에서 생성되는 암호(예를 들어, 인가 요청이 EMV 호환 인가 요청인 경우 ARQC) 및 거래를 인가하기 위해 발행자에 의해 요구될 수 있는 다른 정보를 포함할 수 있다. 이러한 추가적인 정보는 계정 식별자(369), 거래 식별자(346), 가맹점 식별자(329), 거래 금액(349), 및/또는 발행자가 거래를 평가하고 인가하기 위해 특정할 수 있는 다른 정보를 포함할 수도 있다. 그 다음, 이러한 정보는 메시지, 예컨대 ISO 8583 1100 표준, 또는 유사한 향후 표준을 준수하는 인가 요청에 포함될 수 있으며, 그 다음, 이는 결제 프로세서(306)에 전송될 수 있다.
다음으로 도 7을 참조하면, 도 4의 시퀀스 다이어그램의 블록(423)에서 이전에 설명된 부분 및 도 5의 시퀀스 다이어그램의 블록(526)에서 이전에 설명된 부분과 같은 호스팅된 포스 서비스(319)의 일 부분의 동작에 대한 하나의 예를 제공하는 흐름도가 도시된다. 따라서, 도 7의 동작 중 임의의 하나 이상은 본 개시의 다양한 실시예에 따라 도 4 내지 도 6 중 임의의 것의 동작 중 임의의 하나 이상과 조합될 수 있다. 도 7의 흐름도는 호스팅된 포스 서비스(319)의 도시된 부분의 동작을 구현하기 위해 이용될 수 있는 많은 상이한 유형의 기능적 배열의 예를 단지 제공한다. 대안으로서, 도 7의 흐름도는 네트워크 환경(300) 내에서 구현되는 방법의 요소의 예를 도시하는 것으로서 볼 수 있다.
블록(703)으로부터 시작하여, 호스팅된 포스 서비스(319)는 결제 프로세서(306)로부터 인가 응답을 수신할 수 있다. 인가 응답은, 도 4 및 도 5의 논의에서 이전에 언급된 바와 같이, 발행자에 의해 생성되었고 결제 프로세서(306)에 제공되었을 수도 있다. 그 다음, 결제 프로세서(306)는 응답을 호스팅된 포스 서비스(319)에 전달하였을 수도 잇다. 일부 구현예에서, 인가 응답은 또한 ISO 8583 1100 표준, 또는 유사한 향후 표준을 준수하도록 형식화될 수도 있다.
다음으로 블록(706)에서, 호스팅된 포스 서비스(319)는 가맹점 단말기(309) 및 단말기 애플리케이션(353)을 운영하는 가맹점과 관련되는 거래 데이터에 대한 인가 응답을 분석할 수 있다. 데이터는 (예를 들어, 가맹점의 가맹점 프로파일(326) 내에 저장되는 설정으로서) 가맹점에 의해 관련된 것으로서 지정될 수도 있거나, 그것은 산업 표준 또는 규제 또는 법적 규율의 일부로서 정의될 수도 있다. 가맹점과 관련된 것으로서 고려될 수도 있는 데이터는 거래 식별자(346), 거래 금액(349), 고객 식별자(351) 또는 계정 식별자(369)(이 중 어느 하나는 마스킹될 수 있음), 거래가 승인 또는 거부되었는지 여부 등을 포함한다.
블록(706)에서 수행되는 분석의 일부로서, 호스팅된 포스 서비스(319)는 또한 인가 응답의 무결성 및/또는 진정성을 검증할 수도 있다. 예를 들어, 인가 응답이 EMV 표준 버전을 준수하는 경우, 그것은 인가 응답 암호(ARPC)를 포함할 수도 있다. 따라서, 호스팅된 포스 서비스(319)는 응답이 가맹점과 관련된 거래 데이터에 대한 인가 응답을 분석하거나 블록(709)으로 이동하기 전에 유효한 인가 응답인지 여부를 결정하기 위해 포함된 ARPC를 평가할 수도 있다.
블록(709)에 이어서, 호스팅된 포스 서비스(319)는 블록(706)에서 식별되는 관련 데이터를 가맹점 단말기(309)의 단말기 애플리케이션(353)에 포워딩할 수 있다. 이것은 단말기 애플리케이션(353)이 거래가 인가 또는 거절되었는지 여부를 알게 하고, 단말기 애플리케이션(353)이 거래의 기록을 저장하는 것을 허용하고/하거나, 확인을 고객에게 제공하고/하거나, 구매 또는 체크아웃 프로세스를 완료하기 위해 수행될 수도 있다.
이전에 논의된 다수의 소프트웨어 구성요소는 각각의 컴퓨팅 디바이스의 메모리에 저장되고 각각의 컴퓨팅 디바이스의 프로세서에 의해 실행가능하다. 이 점에 있어서, 용어 "실행가능한"은 궁극적으로 프로세서에 의해 실행될 수 있는 형태인 프로그램 파일을 의미한다. 실행가능한 프로그램의 예는 메모리의 랜덤 액세스 부분으로 로딩되고 프로세서에 의해 실행될 수 있는 형식의 머신 코드로 변환될 수 있는 컴파일된 프로그램, 메모리의 랜덤 액세스 부분으로 로딩되고 프로세서에 의해 실행될 수 있는 객체 코드와 같은 적절한 형식으로 표현될 수 있는 소스 코드, 또는 프로세서에 의해 실행될 메모리의 랜덤 액세스 부분에 명령을 생성하기 위해 다른 실행가능한 프로그램에 의해 해석될 수 있는 소스 코드일 수 있다. 실행가능한 프로그램은 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 하드 드라이브, 고체-상태 드라이브, 범용 직렬 버스(USB) 플래시 드라이브, 메모리 카드, 광학 디스크 에컨대 콤팩트 디스크(CD) 또는 디지털 다기능 디스크(DVD), 플로피 디스크, 자기 테이프, 또는 다른 메모리 구성요소를 포함하는 메모리의 임의의 부분 또는 구성요소에 저장될 수 있다.
메모리는 휘발성 및 비휘발성 메모리 및 데이터 저장 구성요소 모두를 포함한다. 휘발성 구성요소는 전력의 손실 시 데이터 값을 유지하지 않는 것들이다. 비휘발성 구성요소는 전력의 손실 시 데이터를 유지하는 것들이다. 따라서 메모리는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 하드 디스크 드라이브, 고체-상태 드라이브, USB 플래시 드라이브, 메모리 카드 리더를 통해 액세스되는 메모리 카드, 연관된 플로피 디스크 드라이브를 통해 액세스되는 플로피 디스크, 광학 디스크 드라이브를 통해 액세스되는 광학 디스크, 적절한 테이프 드라이브를 통해 액세스되는 자기 테이프, 또는 다른 메모리 구성요소, 또는 이들 메모리 구성요소 중 임의의 2개 이상의 조합을 포함할 수 있다. 게다가, RAM은 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 또는 자기 랜덤 액세스 메모리(MRAM) 및 다른 그러한 디바이스를 포함할 수 있다. ROM은 프로그램가능 판독 전용 메모리(PROM), 소거가능한 프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능한 프로그램가능 판독 전용 메모리(EEPROM), 또는 다른 유사 메모리 디바이스를 포함할 수 있다.
본원에 설명되는 애플리케이션 및 시스템은 위에 논의된 바와 같은 범용 하드웨어에 의해 실행되는 소프트웨어 또는 코드로 구현될 수 있지만, 대안으로서 동일한 것이 또한 전용 하드웨어 또는 소프트웨어/범용 하드웨어 및 전용 하드웨어의 조합으로 구현될 수 있다. 전용 하드웨어로 구현된 경우, 각각은 다수의 기술 중 임의의 하나 또는 이들의 조합을 이용하는 회로 또는 상태 머신으로서 구현될 수 있다. 이들 기술은 하나 이상의 데이터 신호의 적용 시 다양한 로직 기능을 구현하기 위한 로직 케이트를 갖는 이산 로직 회로, 적절한 로직 게이트를 갖는 주문형 집적 회로(ASIC), 필드-프로그램가능 게이트 어레이(FPGA), 또는 다른 구성요소 등을 포함할 수 있지만 이에 제한되지 않는다. 그러한 기술은 일반적으로 당업자에 의해 잘 알려져 있고, 따라서, 본원에서 상세히 설명되지 않는다.
흐름도 및 시퀀스 다이어그램은 본 개시의 다양한 실시예의 일부분의 구현의 기능 및 동작을 도시한다. 소프트웨어로 구현되는 경우, 각각의 블록은 지정된 로직 기능(들)을 구현하기 위한 프로그램 명령을 포함하는 모듈, 세그먼트, 또는 코드 부분을 나타낼 수 있다. 프로그램 명령은 컴퓨터 시스템의 프로세서와 같은 적절한 실행 시스템에 의해 인식가능한 수치 명령을 포함하는 프로그래밍 언어 또는 머신 코드로 기록되는 인간-판독가능 명령문(statement)을 포함하는 소스 코드의 형태로 구현될 수 있다. 머신 코드는 다양한 프로세스를 통해 소스 코드로부터 변환될 수 있다. 예를 들어, 머신 코드는 대응하는 애플리케이션의 실행 이전에 컴파일러(compiler)를 사용하여 소스 코드로부터 생성될 수 있다. 다른 예로서, 머신 코드는 인터프리터(interpreter)의 실행과 동시에 소스 코드로부터 생성될 수 있다. 다른 접근법이 또한 사용될 수 있다. 하드웨어로 구현되는 경우, 각각의 블록은 지정된 로직 기능 또는 기능들을 구현하기 위한 회로 또는 다수의 상호연결된 회로를 나타낼 수 있다.
흐름도 및 시퀀스 다이어그램은 특정 실행 순서를 도시하지만, 실행 순서는 도시된 것과 다를 수 있다는 점이 이해된다. 예를 들어, 2개 이상의 블록의 실행 순서는 도시된 순서에 대해 뒤섞일 수 있다. 또한, 연속적으로 도시되는 2개 이상의 블록은 동시에 또는 부분적으로 동시에 실행될 수 있다. 또한, 일부 실시예에서, 흐름도 및 시퀀스 다이어그램에 도시되는 블록 중 하나 이상은 스킵되거나 생략될 수 있다. 게다가, 임의의 수의 카운터, 상태 변수, 경고 세마포어(warning semaphore), 또는 메시지는, 향상된 유틸리티, 어카운팅(accounting), 성능 측정, 또는 문제 해결 지원 제공 등의 목적을 위해, 본원에 설명되는 로직 흐름에 추가될 수도 있다. 모든 그러한 변형예는 본 개시의 범위 내에 있다는 점이 이해된다.
또한, 소프트웨어 또는 코드를 포함하는 본원에 설명되는 임의의 로직 또는 애플리케이션은 컴퓨터 시스템 또는 다른 시스템의 프로세서와 같은 명령 실행 시스템에 의해 또는 이와 관련되어 사용하기 위해 임의의 비-일시적 컴퓨터-판독가능 매체에 구현될 수 있다. 이러한 의미에서, 로직은 컴퓨터-판독가능 매체로부터 페칭되고(fetched) 명령 실행 시스템에 의해 실행될 수 있는 명령 및 선언(declaration)을 포함하는 명령문을 포함할 수 있다. 본 개시의 맥락에서, "컴퓨터-판독가능 매체"는 명령 실행 시스템에 의해 또는 이와 관련되어 사용하기 위해 본원에 설명되는 로직 또는 애플리케이션을 포함, 저장, 또는 유지할 수 있는 임의의 매체일 수 있다. 더욱이, 복수의 컴퓨팅 디바이스(예를 들어, 저장 지역 네트워크 또는 분산 또는 클러스터링된 파일시스템 또는 데이터베이스)에 걸쳐 위치되는 분산된 컴퓨터-판독가능 매체의 수집(collection)은 또한 단일 비-일시적 컴퓨터-판독가능 매체로서 집합적으로 간주될 수 있다.
컴퓨터-판독가능 매체는 많은 물리적 매체 예컨대 자기, 광학, 또는 반도체 매체 중 임의의 하나를 포함할 수 있다. 적합한 컴퓨터-판독가능 매체의 보다 구체적인 예는 자기 테이프, 자기 플로피 디스켓, 자기 하드 드라이브, 메모리 카드, 고체-상태 드라이브, USB 플래시 드라이브, 또는 광학 디스크를 포함하지만 이에 제한되지 않는다. 또한, 컴퓨터-판독가능 매체는 정적 랜덤 액세스 메모리(SRAM) 및 동적 랜덤 액세스 메모리(DRAM)를 포함하는 랜덤 액세스 메모리(RAM), 또는 자기 랜덤 액세스 메모리(MRAM)일 수 있다. 게다가, 컴퓨터-판독가능 매체는 판독 전용 메모리(ROM), 프로그램가능 판독 전용 메모리(PROM), 소거가능한 프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능한 프로그램가능 판독 전용 메모리(EEPROM), 또는 다른 유형의 메모리 디바이스일 수 있다.
또한, 본원에 설명되는 임의의 로직 또는 애플리케이션은 다양한 방식으로 구현되고 구조화될 수 있다. 예를 들어, 설명되는 하나 이상의 애플리케이션은 단일 애플리케이션의 모듈 또는 구성요소로서 구현될 수 있다. 또한, 본원에 설명되는 하나 이상의 애플리케이션은 공유 또는 개별 컴퓨팅 디바이스 또는 이들의 조합에서 실행될 수 있다. 예를 들어, 본원에 설명되는 복수의 애플리케이션은 동일한 컴퓨팅 디바이스에서, 또는 동일한 컴퓨팅 환경의 다수의 컴퓨팅 디바이스에서 실행될 수 있다.
"X, Y, 또는 Z 중 적어도 하나"라는 어구(phrase)와 같은 분리형 언어(Disjunctive language)는, 달리 구체적으로 언급되지 않는 한, 항목, 용어 등이 X, Y, 또는 Z, 또는 이들의 임의의 조합(예를 들어, X; Y; Z; X 또는 Y; X 또는 Z; Y 또는 Y; X, Y, 또는 Z 등)일 수 있다는 것을 나타내기 위해 일반적으로 사용되는 바와 같은 맥락으로 달리 이해된다. 따라서, 그러한 분리형 언어는 일반적으로 특정 실시예가 X 중 적어도 하나, Y 중 적어도 하나, 또는 Z 중 적어도 하나가 각각 존재하도록 요구한다는 것을 암시하도록 의도되지 않고, 암시하지 않아야 한다.
본 개시의 상술한 실시예는 단지 본 개시의 원리의 명확한 이해를 위해 제시되는 구현예의 가능한 예라는 점이 강조되어야 한다. 많은 변형 및 수정은 본 개시의 사상 및 원리로부터 실질적으로 벗어나는 것 없이 상술한 실시예에 이루어질 수 있다. 모든 그러한 수정 및 변형은 본 개시의 범위 내에서 본원에 포함되고 다음 청구범위에 의해 보호되도록 의도된다.
본 개시의 다수의 예시적 실시예가 다음 항(clause)에서 제시된다. 다음 항이 본 개시의 다양한 구현예의 예를 설명하지만, 다른 구현예가 또한 본 개시의 원리에 기초하여 가능하다.
제1항 - 시스템으로서, 프로세서 및 메모리를 포함하는 컴퓨팅 디바이스; 및 상기 메모리에 저장되는 머신-판독가능 명령을 포함하며, 상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스가 적어도: 가맹점 단말기로부터 거래에 대한 가맹점 식별자 및 거래 금액을 수신하게 하고; 상기 거래에 대한 상기 가맹점 식별자 및 암호화된 결제 계정 데이터를 수신하게 하고; 상기 암호화된 결제 계정 데이터를 복호화하여 결제 계정 데이터를 생성하게 하고; 상기 가맹점 식별자, 상기 거래 금액, 및 상기 결제 계정 데이터에 적어도 부분적으로 기초하여 상기 거래에 대한 인가 요청을 생성하게 하고; 상기 인가 요청을 결제 프로세서에 전송하게 하고 - 상기 결제 프로세서는 결제 네트워크를 통해 상기 인가 요청을 인가 엔티티에 라우팅하도록 구성됨 -; 상기 결제 프로세서를 통해 상기 인가 엔티티로부터 인가 응답을 수신하게 하고; 상기 인가 응답의 콘텐츠를 상기 가맹점 단말기에 포워딩하게 하는, 시스템.
제2항 - 제1항에 있어서, 상기 컴퓨팅 디바이스가 상기 거래에 대한 상기 인가 요청을 생성하게 하는 상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도: 인가 요청 암호를 생성하게 하고; 상기 인가 요청에 상기 인가 요청 암호를 포함하게 하는, 시스템.
제3항 - 제2항에 있어서, 상기 암호화된 결제 계정 데이터는 암호 생성 키 및 애플리케이션 거래 카운터(ATC) 값을 포함하고; 상기 인가 요청 암호는 상기 ATC 값 및 상기 암호 생성 키에 적어도 부분적으로 기초하여 생성되는, 시스템.
제4항 - 제2항 또는 제3항에 있어서, 상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도: 복수의 지원된 결제 네트워크로부터 상기 거래에 대해 사용될 결제 네트워크를 식별하게 하고; 상기 인가 요청 암호는 상기 결제 네트워크의 식별에 적어도 부분적으로 기초하여 생성되는, 시스템.
제5항 - 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 머신-판독가능 명령은 추가로 상기 컴퓨팅 디바이스가 적어도: 상기 가맹점 식별자 및 상기 거래 금액과 함께 상기 가맹점 단말기로부터 상기 거래에 대한 거래 식별자를 수신하게 하고; 상기 가맹점 식별자 및 상기 암호화된 결제 계정 데이터와 함께 상기 클라이언트 디바이스로부터 상기 거래에 대한 거래 식별자를 수신하게 하고; 상기 거래 식별자에 적어도 부분적으로 기초하여 상기 거래 금액, 가맹점 식별자, 및 상기 암호화된 결제 계정 데이터를 상기 거래에 링크하게 하고; 상기 거래에 대한 상기 인가 요청은 상기 거래 금액, 가맹점 식별자, 및 상기 암호화된 결제 계정 데이터가 링크되는 것에 응답하여 생성되는, 시스템.
제6항 - 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 컴퓨팅 디바이스가 상기 인가 응답의 상기 콘텐츠를 상기 가맹점 단말기 상으로 포워딩하게 하는 상기 상기 머신-판독가능 명령은, 상기 컴퓨팅 디바이스에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도: 상기 인가 응답에 포함되는 데이터의 세브세트에 대해 상기 결제 프로세서를 통해 상기 인가 엔티티로부터 수신되는 인가 응답을 평가하게 하고; 상기 인가 응답에 포함되는 상기 데이터의 상기 서브세트를 상기 가맹점 단말기에 포워딩하게 하는, 시스템.
제7항 - 제2항 내지 제4항 중 어느 한 항에 있어서, 상기 컴퓨팅 디바이스가 상기 인가 요청 암호를 생성하게 하는 상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도: 마스터 암호 생성 키로부터 유도된 암호 생성 키를 생성하게 하고; 상기 유도된 암호 생성 키를 사용하여 상기 인가 요청 암호를 생성하게 하는, 시스템.
제8항 - 컴퓨터 구현 방법으로서, 가맹점 단말기로부터 거래에 대한 가맹점 식별자 및 거래 금액을 수신하는 단계; 상기 거래에 대한 상기 가맹점 식별자 및 암호화된 결제 계정 데이터를 수신하는 단계; 상기 암호화된 결제 계정 데이터를 복호화하여 결제 계정 데이터를 생성하는 단계; 상기 가맹점 식별자, 상기 거래 금액, 및 상기 결제 계정 데이터에 적어도 부분적으로 기초하여 상기 거래에 대한 인가 요청을 생성하는 단계; 상기 인가 요청을 결제 프로세서에 전송하는 단계 - 상기 결제 프로세서는 결제 네트워크를 통해 상기 인가 요청을 인가 엔티티에 라우팅하도록 구성됨 -; 상기 결제 프로세서를 통해 상기 인가 엔티티로부터 인가 응답을 수신하는 단계; 및 상기 인가 응답의 콘텐츠를 상기 가맹점 단말기에 포워딩하는 단계를 포함하는, 컴퓨터 구현 방법.
제9항 - 제8항에 있어서, 상기 거래에 대한 상기 인가 요청을 생성하는 단계는: 인가 요청 암호를 생성하는 단계; 및 상기 인가 요청에 상기 인가 요청 암호를 포함하는 단계를 더 포함하는, 방법.
제10항 - 제9항에 있어서, 상기 암호화된 결제 계정 데이터는 암호 생성 키 및 애플리케이션 거래 카운터(ATC) 값을 포함하고; 상기 인가 요청 암호는 상기 ATC 값 및 상기 암호 생성 키에 적어도 부분적으로 기초하여 생성되는, 컴퓨터 구현 방법.
제11항 - 제8항 내지 제10항 중 어느 한 항에 있어서, 복수의 지원된 결제 네트워크로부터 상기 거래에 대해 사용될 결제 네트워크를 식별하는 단계를 더 포함하고; 상기 인가 요청 암호는 상기 결제 네트워크의 식별에 적어도 부분적으로 기초하여 생성되는, 컴퓨터 구현 방법.
제12항 - 제8항 내지 제11항 중 어느 한 항에 있어서, 상기 가맹점 식별자 및 상기 거래 금액과 함께 상기 가맹점 단말기로부터 상기 거래에 대한 거래 식별자를 수신하는 단계; 상기 가맹점 식별자 및 상기 암호화된 결제 계정 데이터와 함께 상기 클라이언트 디바이스로부터 상기 거래에 대한 거래 식별자를 수신하는 단계; 상기 거래 식별자에 적어도 부분적으로 기초하여 상기 거래 금액, 가맹점 식별자, 및 상기 암호화된 결제 계정 데이터를 상기 거래에 링크시키는 단계를 더 포함하고; 상기 거래에 대한 상기 인가 요청은 상기 거래 금액, 가맹점 식별자, 및 상기 암호화된 결제 계정 데이터가 링크되는 것에 응답하여 생성되는, 컴퓨터 구현 방법.
제13항 - 제8항 내지 제12항 중 어느 한 항에 있어서, 상기 인가 응답에 포함되는 인가 응답 암호를 검증하는 단계를 더 포함하고; 상기 인가 응답의 상기 콘텐츠를 상기 가맹점 단말기에 포워딩하는 단계는 상기 인가 응답 암호를 검증하는 것에 응답하여 발생하는, 컴퓨터 구현 방법.
제14항 - 제8항 내지 제13항 중 어느 한 항에 있어서, 상기 인가 응답의 상기 콘텐츠를 상기 가맹점 단말기 상으로 포워딩하는 단계는: 상기 인가 응답에 포함되는 데이터의 세브세트에 대해 상기 결제 프로세서를 통해 상기 인가 엔티티로부터 수신되는 인가 응답을 평가하는 단계; 및 상기 인가 응답에 포함되는 상기 데이터의 상기 서브세트를 상기 가맹점 단말기에 포워딩하는 단계를 더 포함하는, 컴퓨터 구현 방법.
제15항 - 머신-판독가능 명령을 포함하는 비-일시적 컴퓨터-판독가능 매체로서, 상기 머신-판독가능 명령은, 컴퓨팅 디바이스의 프로세서에 의해 실행될 때, 컴퓨팅 디바이스가 적어도: 가맹점 식별자를 획득하게 하고; 거래에 대한 거래 식별자를 획득하게 하고; 상기 컴퓨팅 디바이스의 사용자를 인증하게 하고; 상기 거래에 대한 동의를 획득하게 하고; 및 상기 컴퓨팅 디바이스의 상기 사용자의 인증 및 상기 거래에 대한 상기 동의를 획득하는 것에 응답하여, 결제 계정 데이터, 상기 가맹점 식별자, 및 상기 거래 식별자를 호스팅된 포스 서비스에 전송하게 하는, 비-일시적 컴퓨터-판독가능 매체.
제16항 - 제15항에 있어서, 상기 컴퓨팅 디바이스가 상기 가맹점 식별자를 획득하게 하는 상기 머신-판독가능 명령은, 상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스가 적어도: 상기 가맹점 식별자를 인코딩하는 2차원 바코드의 이미지를 캡처하게 하고; 상기 2차원 바코드를 디코딩하여 상기 가맹점 식별자를 획득하게 하는, 비-일시적 컴퓨터-판독가능 매체.
제17항 - 제15항 또는 제16항에 있어서, 상기 컴퓨팅 디바이스가 상기 가맹점 식별자를 획득하게 하는 상기 머신-판독가능 명령은, 상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스가 적어도: 상기 머신-판독가능 명령의 실행이 개시될 때 상기 머신-판독가능 명령에 제공되는 하나 이상의 인수(argument)를 분석하게 하고; 상기 하나 이상의 인수로부터 상기 가맹점 식별자를 결정하게 하는, 비-일시적 컴퓨터-판독가능 매체.
제18항 - 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 컴퓨팅 디바이스가 상기 컴퓨팅 디바이스의 상기 사용자를 인증하게 하는 머신-판독가능 명령은 추가로 상기 컴퓨팅 디바이스가 적어도: 생체인식 식별자에 대한 프롬프트를 제시하게 하고; 생체인식 센서로부터 상기 생체인식 식별자를 획득하게 하고; 상기 컴퓨팅 디바이스에 제공되는 상기 생체 인식 식별자가 상기 컴퓨팅 디바이스의 상기 사용자의 저장된 생체인식 식별자와 일치하는지를 결정하게 하는, 비-일시적 컴퓨터-판독가능 매체.
제19항 - 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 결제 계정 데이터는 마스터 암호 생성 키를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
제20항 - 제15항 내지 제19항 중 어느 한 항에 있어서, 상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도: 상기 컴퓨팅 디바이스의 메모리에 저장되는 애플리케이션 거래 카운터(ATC)의 값에 적어도 부분적으로 기초하여 일회용 세션 암호 생성 키를 생성하게 하고; 상기 결제 계정 데이터에 상기 일회용 세션 암호 생성 키를 포함하게 하는, 비-일시적 컴퓨터-판독가능 매체.

Claims (20)

  1. 시스템으로서,
    프로세서 및 메모리를 포함하는 컴퓨팅 디바이스; 및
    상기 메모리에 저장되는 머신-판독가능 명령을 포함하며, 상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스가 적어도:
    가맹점 단말기로부터 거래에 대한 가맹점 식별자 및 거래 금액을 수신하게 하고;
    상기 거래에 대한 상기 가맹점 식별자 및 암호화된 결제 계정 데이터를 수신하게 하고;
    상기 암호화된 결제 계정 데이터를 복호화하여 결제 계정 데이터를 생성하게 하고;
    상기 가맹점 식별자, 상기 거래 금액, 및 상기 결제 계정 데이터에 적어도 부분적으로 기초하여 상기 거래에 대한 인가 요청을 생성하게 하고;
    상기 인가 요청을 결제 프로세서에 전송하게 하고 - 상기 결제 프로세서는 결제 네트워크를 통해 상기 인가 요청을 인가 엔티티에 라우팅하도록 구성됨 -;
    상기 결제 프로세서를 통해 상기 인가 엔티티로부터 인가 응답을 수신하게 하고;
    상기 인가 응답의 콘텐츠를 상기 가맹점 단말기에 포워딩하게 하는, 시스템.
  2. 제1항에 있어서,
    상기 컴퓨팅 디바이스가 상기 거래에 대한 상기 인가 요청을 생성하게 하는 상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도:
    인가 요청 암호를 생성하게 하고;
    상기 인가 요청에 상기 인가 요청 암호를 포함하게 하는, 시스템.
  3. 제2항에 있어서,
    상기 암호화된 결제 계정 데이터는 암호 생성 키 및 애플리케이션 거래 카운터(ATC) 값을 포함하고;
    상기 ATC 값 및 상기 암호 생성 키에 적어도 부분적으로 기초하여 생성되는, 시스템.
  4. 제2항 또는 제3항에 있어서,
    상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도:
    복수의 지원된 결제 네트워크로부터 상기 거래에 대해 사용될 결제 네트워크를 식별하게 하고;
    상기 인가 요청 암호는 상기 결제 네트워크의 식별에 적어도 부분적으로 기초하여 생성되는, 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 머신-판독가능 명령은 추가로 상기 컴퓨팅 디바이스가 적어도:
    상기 가맹점 식별자 및 상기 거래 금액과 함께 상기 가맹점 단말기로부터 상기 거래에 대한 거래 식별자를 수신하게 하고;
    상기 가맹점 식별자 및 상기 암호화된 결제 계정 데이터와 함께 상기 클라이언트 디바이스로부터 상기 거래에 대한 거래 식별자를 수신하게 하고;
    상기 거래 식별자에 적어도 부분적으로 기초하여 상기 거래 금액, 가맹점 식별자, 및 상기 암호화된 결제 계정 데이터를 상기 거래에 링크하게 하고;
    상기 거래에 대한 상기 인가 요청은 상기 거래 금액, 가맹점 식별자, 및 상기 암호화된 결제 계정 데이터가 링크되는 것에 응답하여 생성되는, 시스템.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 컴퓨팅 디바이스가 상기 인가 응답의 상기 콘텐츠를 상기 가맹점 단말기 상으로 포워딩하게 하는 상기 상기 머신-판독가능 명령은, 상기 컴퓨팅 디바이스에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도:
    상기 인가 응답에 포함되는 데이터의 세브세트에 대해 상기 결제 프로세서를 통해 상기 인가 엔티티로부터 수신되는 인가 응답을 평가하게 하고;
    상기 인가 응답에 포함되는 상기 데이터의 상기 서브세트를 상기 가맹점 단말기에 포워딩하게 하는, 시스템
  7. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 컴퓨팅 디바이스가 상기 인가 요청 암호를 생성하게 하는 상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도:
    마스터 암호 생성 키로부터 유도된 암호 생성 키를 생성하게 하고;
    상기 유도된 암호 생성 키를 사용하여 상기 인가 요청 암호를 생성하게 하는, 시스템.
  8. 컴퓨터 구현 방법으로서,
    가맹점 단말기로부터 거래에 대한 가맹점 식별자 및 거래 금액을 수신하는 단계;
    상기 거래에 대한 상기 가맹점 식별자 및 암호화된 결제 계정 데이터를 수신하는 단계;
    상기 암호화된 결제 계정 데이터를 복호화하여 결제 계정 데이터를 생성하는 단계;
    상기 가맹점 식별자, 상기 거래 금액, 및 상기 결제 계정 데이터에 적어도 부분적으로 기초하여 상기 거래에 대한 인가 요청을 생성하는 단계;
    상기 인가 요청을 결제 프로세서에 전송하는 단계 - 상기 결제 프로세서는 결제 네트워크를 통해 상기 인가 요청을 인가 엔티티에 라우팅하도록 구성됨 -;
    상기 결제 프로세서를 통해 상기 인가 엔티티로부터 인가 응답을 수신하는 단계; 및
    상기 인가 응답의 콘텐츠를 상기 가맹점 단말기에 포워딩하는 단계를 포함하는, 컴퓨터 구현 방법.
  9. 제8항에 있어서,
    상기 거래에 대한 상기 인가 요청을 생성하는 단계는:
    인가 요청 암호를 생성하는 단계; 및
    상기 인가 요청에 상기 인가 요청 암호를 포함하는 단계를 더 포함하는, 방법.
  10. 제9항에 있어서,
    상기 암호화된 결제 계정 데이터는 암호 생성 키 및 애플리케이션 거래 카운터(ATC) 값을 포함하고;
    상기 인가 요청 암호는 상기 ATC 값 및 상기 암호 생성 키에 적어도 부분적으로 기초하여 생성되는, 컴퓨터 구현 방법.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    복수의 지원된 결제 네트워크로부터 상기 거래에 대해 사용될 결제 네트워크를 식별하는 단계를 더 포함하고;
    상기 인가 요청 암호는 상기 결제 네트워크의 식별에 적어도 부분적으로 기초하여 생성되는, 컴퓨터 구현 방법.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    상기 가맹점 식별자 및 상기 거래 금액과 함께 상기 가맹점 단말기로부터 상기 거래에 대한 거래 식별자를 수신하는 단계;
    상기 가맹점 식별자 및 상기 암호화된 결제 계정 데이터와 함께 상기 클라이언트 디바이스로부터 상기 거래에 대한 거래 식별자를 수신하는 단계;
    상기 거래 식별자에 적어도 부분적으로 기초하여 상기 거래 금액, 가맹점 식별자, 및 상기 암호화된 결제 계정 데이터를 상기 거래에 링크시키는 단계를 더 포함하고;
    상기 거래에 대한 상기 인가 요청은 상기 거래 금액, 가맹점 식별자, 및 상기 암호화된 결제 계정 데이터가 링크되는 것에 응답하여 생성되는, 컴퓨터 구현 방법.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서,
    상기 인가 응답에 포함되는 인가 응답 암호를 검증하는 단계를 더 포함하고;
    상기 인가 응답의 상기 콘텐츠를 상기 가맹점 단말기에 포워딩하는 단계는 상기 인가 응답 암호를 검증하는 것에 응답하여 발생하는, 컴퓨터 구현 방법.
  14. 제8항 내지 제13항 중 어느 한 항에 있어서,
    상기 인가 응답의 상기 콘텐츠를 상기 가맹점 단말기 상으로 포워딩하는 단계는:
    상기 인가 응답에 포함되는 데이터의 세브세트에 대해 상기 결제 프로세서를 통해 상기 인가 엔티티로부터 수신되는 인가 응답을 평가하는 단계; 및
    상기 인가 응답에 포함되는 상기 데이터의 상기 서브세트를 상기 가맹점 단말기에 포워딩하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  15. 머신-판독가능 명령을 포함하는 비-일시적 컴퓨터-판독가능 매체로서,
    상기 머신-판독가능 명령은, 컴퓨팅 디바이스의 프로세서에 의해 실행될 때, 컴퓨팅 디바이스가 적어도:
    가맹점 식별자를 획득하게 하고;
    거래에 대한 거래 식별자를 획득하게 하고;
    상기 컴퓨팅 디바이스의 사용자를 인증하게 하고;
    상기 거래에 대한 동의를 획득하게 하고;
    상기 컴퓨팅 디바이스의 상기 사용자의 인증 및 상기 거래에 대한 상기 동의를 획득하는 것에 응답하여, 결제 계정 데이터, 상기 가맹점 식별자, 및 상기 거래 식별자를 호스팅된 포스(point-of-sale) 서비스에 전송하게 하는, 비-일시적 컴퓨터-판독가능 매체.
  16. 제15항에 있어서,
    상기 컴퓨팅 디바이스가 상기 가맹점 식별자를 획득하게 하는 상기 머신-판독가능 명령은, 상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스가 적어도:
    상기 가맹점 식별자를 인코딩하는 2차원 바코드의 이미지를 캡처하게 하고;
    상기 2차원 바코드를 디코딩하여 상기 가맹점 식별자를 획득하게 하는, 비-일시적 컴퓨터-판독가능 매체.
  17. 제15항 또는 제16항에 있어서,
    상기 컴퓨팅 디바이스가 상기 가맹점 식별자를 획득하게 하는 상기 머신-판독가능 명령은, 상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스가 적어도:
    상기 머신-판독가능 명령의 실행이 개시될 때 상기 머신-판독가능 명령에 제공되는 하나 이상의 인수(argument)를 분석하게 하고;
    상기 하나 이상의 인수로부터 상기 가맹점 식별자를 결정하게 하는, 비-일시적 컴퓨터-판독가능 매체.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 컴퓨팅 디바이스가 상기 컴퓨팅 디바이스의 상기 사용자를 인증하게 하는 머신-판독가능 명령은 추가로 상기 컴퓨팅 디바이스가 적어도:
    생체인식 식별자에 대한 프롬프트를 제시하게 하고;
    생체인식 센서로부터 상기 생체인식 식별자를 획득하게 하고;
    상기 컴퓨팅 디바이스에 제공되는 상기 생체 인식 식별자가 상기 컴퓨팅 디바이스의 상기 사용자의 저장된 생체인식 식별자와 일치하는지를 결정하게 하는, 비-일시적 컴퓨터-판독가능 매체.
  19. 제15항 내지 제18항 중 어느 한 항에 있어서,
    상기 결제 계정 데이터는 마스터 암호 생성 키를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서,
    상기 머신-판독가능 명령은, 상기 프로세서에 의해 실행될 때, 추가로 상기 컴퓨팅 디바이스가 적어도:
    상기 컴퓨팅 디바이스의 메모리에 저장되는 애플리케이션 거래 카운터(ATC)의 값에 적어도 부분적으로 기초하여 일회용 세션 암호 생성 키를 생성하게 하고;
    상기 결제 계정 데이터에 상기 일회용 세션 암호 생성 키를 포함하게 하는, 비-일시적 컴퓨터-판독가능 매체.
KR1020237041173A 2021-06-02 2022-05-23 호스팅된 포스 서비스 KR20240024790A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/337,291 US20220391896A1 (en) 2021-06-02 2021-06-02 Hosted point-of-sale service
US17/337,291 2021-06-02
PCT/US2022/072493 WO2022256776A1 (en) 2021-06-02 2022-05-23 Hosted point-of-sale service

Publications (1)

Publication Number Publication Date
KR20240024790A true KR20240024790A (ko) 2024-02-26

Family

ID=84284210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237041173A KR20240024790A (ko) 2021-06-02 2022-05-23 호스팅된 포스 서비스

Country Status (5)

Country Link
US (1) US20220391896A1 (ko)
EP (1) EP4348554A1 (ko)
KR (1) KR20240024790A (ko)
CN (1) CN117642761A (ko)
WO (1) WO2022256776A1 (ko)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050192895A1 (en) * 2004-02-10 2005-09-01 First Data Corporation Methods and systems for processing transactions
US20090055319A1 (en) * 2007-08-21 2009-02-26 Fazal Raheman Novel card-less, name-less, number-less, and paper-less method and system of highly secure completely anonymous customer-merchant transactions
EP2904559A2 (en) * 2012-10-05 2015-08-12 Google Inc. Systems, methods, and computer program products for managing remote financial transactions
KR102103377B1 (ko) * 2013-12-02 2020-04-23 마스터카드 인터내셔날, 인코포레이티드 보안 요소 없이 모바일 장치들에게 원격 알림 서비스 메시지를 보안 전송하는 방법 및 시스템
WO2015167425A1 (en) * 2014-04-28 2015-11-05 Hewlett-Packard Development Company, L.P. Virtual point of sale
AP2014008021A0 (en) * 2014-10-17 2014-10-31 Juma Hamis Kapaya System & method for smart device, point of sale device, smart card and website payments using encrypted QR code
US20180268403A1 (en) * 2015-01-27 2018-09-20 Abhishek Guglani Multiple protocol transaction encryption
EP3333791A1 (en) * 2016-12-12 2018-06-13 Gemalto Sa Method for generating a cryptogram in a user device and verifying this cryptogram in a payment server, corresponding user device and payment server

Also Published As

Publication number Publication date
CN117642761A (zh) 2024-03-01
US20220391896A1 (en) 2022-12-08
EP4348554A1 (en) 2024-04-10
WO2022256776A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
US11978051B2 (en) Authenticating remote transactions using a mobile device
US10592899B2 (en) Master applet for secure remote payment processing
JP6703510B2 (ja) モバイルデバイスにおいてセキュアエレメントなしでアドバンスド記憶鍵を生成するための方法およびシステム
US10354321B2 (en) Processing transactions with an extended application ID and dynamic cryptograms
CN115187242A (zh) 唯一令牌认证验证值
US20130268439A1 (en) Vtex3 fraud protection system mobile verification protocol (mvp)
US11797650B2 (en) Data value routing system and method
US20210241266A1 (en) Enhancing 3d secure user authentication for online transactions
US10628881B2 (en) Processing transactions with an extended application ID and dynamic cryptograms
US11907953B2 (en) Methods and systems for preventing a fraudulent payment transaction
US20230062507A1 (en) User authentication at access control server using mobile device
US20220291979A1 (en) Mobile application integration
KR20130009890A (ko) 암호화된 결제 인증 정보를 포함한 단말기를 통한 이차원 코드 스캔, 그것에 기초한 온라인 보안 결제 시스템 및 그 방법
KR20130016145A (ko) 암호화된 결제 인증 정보를 포함한 단말기를 통한 이차원 코드 스캔, 그것에 기초한 온라인 보안 결제 시스템 및 그 방법
CN112970234B (zh) 账户断言
US11748738B2 (en) Portable device loading mechanism for account access
US20220391896A1 (en) Hosted point-of-sale service
Alsadi et al. Challenges and Risks of Developing a Payment Facilitator Model
US11711217B2 (en) Token processing with selective de-tokenization for proximity based access device interactions
US12003500B2 (en) Token processing system and method
US20230179587A1 (en) Token processing system and method
WO2024077127A1 (en) Messaging flow for remote interactions using secure data
CN116405238A (zh) 高效的令牌提供系统和方法
WO2019162879A2 (en) System, apparatus, and method for inhibiting payment frauds