KR20230034143A - 결제 옵션의 지연 로딩을 통한 전자 상거래 결제를 위한 시스템 및 방법 - Google Patents

결제 옵션의 지연 로딩을 통한 전자 상거래 결제를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20230034143A
KR20230034143A KR1020220099217A KR20220099217A KR20230034143A KR 20230034143 A KR20230034143 A KR 20230034143A KR 1020220099217 A KR1020220099217 A KR 1020220099217A KR 20220099217 A KR20220099217 A KR 20220099217A KR 20230034143 A KR20230034143 A KR 20230034143A
Authority
KR
South Korea
Prior art keywords
options
payment
loading
option
user interface
Prior art date
Application number
KR1020220099217A
Other languages
English (en)
Other versions
KR102672386B1 (ko
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 KR20230034143A publication Critical patent/KR20230034143A/ko
Application granted granted Critical
Publication of KR102672386B1 publication Critical patent/KR102672386B1/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/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • G06Q20/0855Payment architectures involving remote charge determination or related payment systems involving a third party
    • 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/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/12Payment architectures specially adapted for electronic shopping 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Human Resources & Organizations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

결제 거래 동안 결제 옵션을 점진적으로 제공하기 위한 시스템 및 방법이 제공된다. 거래 프로세스 동안, 한 세트의 결제 옵션을 갖는 옵션 카테고리를 갖는 사용자 인터페이스가 제공된다. 결제 옵션과 연관된 요청이 전송되며, 전송되는 질의 중 적어도 하나는 원격 타사에 전송된다. 하나 이상의 결제 옵션은 제1 세트의 옵션으로서 식별되고, 나머지는 제2 세트의 옵션으로서 식별된다. 사용자 인터페이스는, 제2 세트의 옵션의 디스플레이 전에, 제1 세트의 옵션 및 선택 가능한 UI 요소를 디스플레이하도록 업데이트되며, 모든 제2 세트의 옵션은, 선택 가능한 UI 요소의 선택 전에 디스플레이로부터 숨겨져 있다. 결제 거래는, 제2 세트의 옵션의 디스플레이 없이, 제1 세트의 옵션으로부터의 옵션 중 하나를 사용하여 완료될 수 있다.

Description

결제 옵션의 지연 로딩을 통한 전자 상거래 결제를 위한 시스템 및 방법{SYSTEMS AND METHODS FOR E-COMMERCE CHECKOUT WITH DELAY LOADING OF CHECKOUT OPTIONS}
본 개시물은 결제 거래(checkout transaction)를 완료하기 위한 시스템 및 방법에 관한 것이다. 특히, 본 개시물은, 결제 옵션이 지연 로딩될 수 있는 경우와 같이, 모든 가능한 결제 옵션이 아직 로딩되지 않았음에도 불구하고, 결제 거래의 완료를 가능하게 하기 위한 시스템 및 방법에 관한 것이다.
온라인 서비스(예를 들어, 온라인 전자 상거래 플랫폼, 또는 전용 온라인 결제 서비스)를 사용하여 제품을 구매하길 원하는 고객은 결제 거래를 완료함으로써 구매를 완료하도록 요구될 수 있다. 결제 거래(또는 단순히 결제) 동안, 흔히 미리 결정될 수 없는 거래의 상이한 구성 요소 또는 양태에 대한 선택 가능한 옵션이 고객에게 제공된다. 이러한 구성 요소/양태는, 배송과 같은 타사 서비스 제공자에 의해 제공되는 작업을 포함하는 서비스일 수 있다. 타사 서비스 및 요금은 흔히 변경될 수 있기 때문에, 흔히 선택 가능한 다수의 옵션은 이들의 현재 요금을 결정하기 위해 타사 서비스 제공자의 외부 원격 서버에 대한 외부 호출(예를 들어, 애플리케이션 프로그래밍 인터페이스(API) 호출)을 수행하기 위한 온라인 플랫폼을 흔히 필요로 한다.
전형적으로, 결제 동안 수행되는 외부 호출은, 원격 서버에 호스팅되는 타사 애플리케이션과의 라운드-트립(round-trip) 요청 및 응답을 필요로 한다. 이러한 외부 호출의 속도는, 타사 및/또는 연결성 제공자에 의해 제공되는, 기술 인프라의 레벨, 서버 속도, 및 네트워크 연결 속도에 따라 좌우될 수 있다. 따라서, 이러한 외부 호출의 지연은, 결제를 제공하는 온라인 서비스의 제어를 벗어하는 지연으로 인해 주로 유발될 수 있다.
이러한 지연에 직면하면, 결제 옵션이 로딩되고 있음을 표시하기 위해, 결제 사용자 인터페이스(UI)에 로딩 커서(loading cursor)(예를 들어, 스피너(spinner))가 고객에게 표시될 수 있다. 그 다음, 고객은, 결제 거래를 계속하기 전에, 모든 옵션이 로딩되어 디스플레이되도록 대기해야 한다.
기존의 온라인 결제 시스템에서, 결제 거래가 완료될 수 있기 전에, 모든 결제 옵션이 로딩되어야 하고 사용자 선택을 위해 이용 가능해야 한다. 일부 결제 옵션을 위해 원격 타사 서버로부터의 응답이 필요한 경우, 응답에 대한 대기는 결제 거래의 지연을 유발할 수 있다.
그러나, 결제 거래 자체가 완료될 수 있기 전에, 모든 외부 호출이 완료되어야 하는 것(즉, 원격 서버로부터 응답이 수신됨)은 컴퓨터 자원의 비효율적인 사용일 수 있다. 다수의 옵션 카테고리에 대해 모든 타사 결제 옵션을 로딩 및 디스플레이하는 것은, 특히 고객이 거래를 완료하기 위해 각각의 옵션 카테고리에서 하나의 결제 옵션만을 선택해야 할 수 있기 때문에, 결제 프로세스를 제공하는 온라인 서비스의 컴퓨터 자원(예를 들어, 컴퓨터 처리 용량, 메모리 자원 등을 포함함)에 대한 낭비일 수 있을 뿐만 아니라, 시간 소모적일 수 있다. 또한, 네트워크 자원(예를 들어, 네트워크 대역폭, 네트워크 포트 등)은, 고객에 의해 선택되지 않고 종료되는 옵션에 대한 응답일 수 있더라도, 외부 호출에 대한 응답에 의해 소비된다(이는 그러한 응답 시에 전달되는 정보 및 데이터가 낭비됨을 의미한다). 따라서, 결국, 컴퓨터 자원(모든 타사 호출을 수행하고 모든 옵션 카테고리에 대해 모든 결제 옵션을 로딩 및 디스플레이하기 위해 사용되는, 처리 능력, 메모리 저장소, 및 대역폭을 포함함)은, 선택되지 않은 결제 옵션에 대해 본질적으로 "낭비"된다.
또한, 결제 동안 발생하는 지연은, 고객이 UI가 응답하지 않는 것으로 인식하거나 추정할 수 있기 때문에, 고객 혼란을 유발할 수 있다. 이로 인해, 고객이 이들의 거래를 취소하거나, 페이지를 떠나거나/재로딩하거나, 거래 중단 등을 야기할 수 있으며, 이들 모두는 또한 컴퓨터 자원의 추가적인 낭비일 수 있다(예를 들어, 결제 페이지를 재로딩하기 위한 낭비된 처리 능력 및 메모리 자원). 고객이 결제 페이지를 재로딩하지 않더라도, 결제 거래가 완료되거나 폐기될 때까지, 결제 거래를 수행하기 위해 필요한 메모리 자원이 점유되기 때문에(그리고 다른 프로세스에서의 사용을 위해 이용 가능하지 않기 때문에), 컴퓨터 자원의 낭비가 여전히 있다. 온라인 서비스를 사용하여 동시에 결제를 완료하려고 시도할 수 있는 다수의 고객에 의해 이러한 낭비가 크게 증대된다는 점을 이해해야 한다. 따라서, 결제 거래의 지연은 고객에게 불편을 유발할 수 있을 뿐만 아니라, 컴퓨터 자원에 대한 상당한 낭비를 야기할 수도 있다.
따라서, 본 개시물은, 모든 가능한 결제 옵션이 아직 로딩되지 않더라도, 결제 거래의 완료를 가능하게 하기 위한 방법 및 시스템에 관한 것이다. 특히, 하나 이상의 가능한 결제 옵션이 지연 로딩될 수 있다. 본 개시물의 실시예는, 결제 옵션이 제1 및 제2 세트의 옵션(예를 들어, 고속-로딩(quick-load) 또는 저속-로딩(slow-load))으로 자동으로 분류될 수 있다는 점에서 기술적 개선을 제공한다. 지연 로딩 옵션으로도 지칭되는 제2 세트/저속-로딩 옵션은, 고객에 의해 UI 요소(예를 들어, 확대기)가 선택될 때까지 디스플레이로부터 숨겨져 있는 반면에, 제1 세트의 옵션/고속-로딩 옵션 중 적어도 하나는 즉시 디스플레이된다(예를 들어, 적어도 하나의 디스플레이되는 옵션에 대한 정보가 이용 가능해지는 즉시). 제2 세트의 옵션은 지연 로딩될 수 있다(예를 들어, 일정 시간 후에만 로딩되어 디스플레이되도록 이용 가능해질 수 있다). 제2 세트의 옵션이 아직 로딩되지 않았거나 아직 이용 가능하지 않는 경우에도, 고객은 제1 세트의 옵션 중 적어도 하나의 옵션을 통해 결제 거래를 완료할 수 있다. 이에 따라, 모든 가능한 결제 옵션(원격 서버에 대한 외부 호출을 필요로 하는 타사 결제 옵션을 포함함)을 로딩하기 위해 시간 및/또는 컴퓨터 자원을 낭비할 필요 없이, 결제 거래가 완료될 수 있는 기술적 이점을 제공한다.
일부 실시예에서, 본 개시물은 시스템을 설명하고, 시스템은, 적어도 하나의 프로세서 및 적어도 하나의 메모리를 포함하며, 적어도 하나의 메모리는, 적어도 하나의 프로세서에 의해 실행 가능한 명령으로서, 시스템으로 하여금, 결제 거래를 완료하기 위해 사용자 인터페이스를 네트워크를 통해 원격 클라이언트 장치에 제공하도록 하기 위한 명령으로서, 사용자 인터페이스는 결제 거래와 연관된 옵션 카테고리를 포함하고, 옵션 카테고리는 연관된 세트의 결제 옵션을 갖는, 명령; 시스템으로 하여금, 네트워크를 통해, 결제 옵션의 각각의 결제 옵션과 연관된 요청을 전송하도록 하기 위한 명령으로서, 전송되는 질의 중 적어도 하나는 원격 타사 서버에 전송되며, 결제 거래를 완료하기 위해 결제 옵션 중 하나의 선택이 요구되는, 명령; 시스템으로 하여금, 하나 이상의 결제 옵션을 제1 세트의 옵션으로서 식별하도록 하고, 나머지 결제 옵션을 제2 세트의 옵션으로서 식별하도록 하기 위한 명령; 시스템으로 하여금, 하나 이상의 요청에 대한 응답의 수신 후에 그리고 제2 세트의 옵션의 디스플레이 전에, 제1 세트의 옵션으로부터 결제 옵션 중 적어도 하나를 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 표시를 원격 클라이언트 장치에 전송하도록 하기 위한 명령; 시스템으로 하여금, 선택 가능한 사용자 인터페이스 요소를 디스플레이하기 위한 표시를 원격 클라이언트 장치에 전송하도록 하기 위한 명령으로서, 모든 제2 세트의 옵션은, 선택 가능한 사용자 인터페이스 요소의 선택 전에 디스플레이로부터 숨겨져 있는, 명령; 및 시스템으로 하여금, 모든 제2 세트의 옵션에 대해 각각의 질의로부터 응답을 수신하기 전에, 사용자 인터페이스 상에 디스플레이되는 제1 세트의 옵션으로부터의 결제 옵션 중 하나를 사용하여 결제 거래의 완료를 가능하게 하도록 하기 위한 명령을 저장한다.
위의 실시예에서, 제1 세트의 옵션은 고속-로딩 옵션일 수 있으며, 제2 세트의 옵션은 저속-로딩 옵션일 수 있고, 고속-로딩 옵션은, 저속-로딩 옵션보다 더 빠르게 로딩된다.
위의 실시예 중 어느 하나에서, 디스플레이되는 제1 세트의 옵션 중 하나의 옵션은 디폴트 옵션으로서 자동으로 선택될 수 있으며, 적어도 하나의 프로세서는, 시스템으로 하여금, 결제 거래를 완료하기 위한 옵션의 선택에 응답하여, 디폴트 옵션을 사용하여 결제 거래의 완료를 트리거하도록 하기 위한 명령을 실행하도록 추가로 구성될 수 있다.
위의 실시예 중 어느 하나에서, 적어도 하나의 프로세서는, 시스템으로 하여금, 원격 클라이언트 장치의 선택 가능한 사용자 인터페이스 요소의 선택에 응답하여, 임의의 나머지 고속-로딩 옵션을 디스플레이하기 위해, 그리고 각각의 질의로부터의 응답이 모두 수신되지 않은 경우, 저속-로딩 옵션에 대한 로딩 표시자를 디스플레이하기 위해, 또는 각각의 질의로부터의 응답이 모두 수신된 저속-로딩 옵션을 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 표시를 원격 사용자 장치에 전송하도록 하기 위한 명령을 실행하도록 추가로 구성될 수 있다.
위의 실시예 중 어느 하나에서, 적어도 하나의 프로세서는, 시스템으로 하여금, 트리거 이벤트를 탐지하는 단계에 응답하여, 결제 옵션에 대한 질의를 전송하도록 하기 위한 명령을 실행하도록 추가로 구성될 수 있다.
위의 실시예 중 어느 하나에서, 옵션 카테고리는 배송과 관련될 수 있으며, 트리거 이벤트는 배송 주소의 수신일 수 있다.
위의 실시예 중 어느 하나에서, 적어도 하나의 프로세서는, 시스템으로 하여금, 질의로부터의 임의의 응답에 기초하여, 각각의 결제 옵션이 제1 세트의 옵션 또는 제2 세트의 옵션에 속하는지 여부를 결정하도록 하기 위한 명령을 실행하도록 추가로 구성될 수 있다.
위의 실시예 중 어느 하나에서, 각각의 결제 옵션은, 응답을 수신하기 위한 임계치 컷오프 시간(cut-off time); 유사한 질의로부터 응답을 수신하기 위한 이력 측정치; 각각의 질의와 관련된 네트워크 통신 및/또는 실행 네트워크 구성의 분석; 및 판매자 구성 중 적어도 하나에 기초하여, 제1 세트의 옵션 또는 제2 세트의 옵션인 것으로 결정될 수 있다.
위의 실시예 중 어느 하나에서, 이용 가능한 결제 옵션은, 임계치 컷오프 시간에 기초하여, 고속-로딩 또는 저속-로딩인 것으로 결정될 수 있으며, 임계치 컷오프 시간은, 고객의 이력 응답 시간에 기초하여, 고객을 위해 동적으로 결정된다.
위의 실시예 중 어느 하나에서, 적어도 하나의 프로세서는, 시스템으로 하여금, 저속-로딩 옵션 중 더 빠른 및 더 느린 로딩 옵션을 식별하도록 하기 위한 명령으로서, 더 느린 저속-로딩 옵션에서는, 더 빠른 저속-로딩 옵션보다 각각의 질의로부터 응답을 수신하는데 더 많은 시간이 필요한, 명령; 및 선택 가능한 사용자 인터페이스 요소의 선택에 응답하여, 임의의 나머지 고속-로딩 옵션을 디스플레이하도록 하기 위한 명령, 및 더 느린 저속-로딩 옵션을 디스플레이하기 전에, 더 빠른 저속-로딩 옵션에 대해 각각의 질의로부터 응답을 수신한 후에 더 빠른 저속-로딩 옵션을 디스플레이하도록 하기 위한 명령을 실행하도록 추가로 구성될 수 있다.
일부 예시적인 양태에서, 본 개시물은 방법을 설명하고, 방법은, 결제 거래를 완료하기 위해, 네트워크를 통해 원격 클라이언트 장치에 사용자 인터페이스를 제공하는 단계로서, 사용자 인터페이스는 결제 거래와 연관된 옵션 카테고리를 포함하고, 옵션 카테고리는 연관된 세트의 결제 옵션을 갖는, 단계; 네트워크를 통해, 결제 옵션의 각각의 결제 옵션과 연관된 요청을 전송하는 단계로서, 전송되는 질의 중 적어도 하나는 원격 타사 서버에 전송되며, 결제 거래를 완료하기 위해 결제 옵션 중 하나의 선택이 요구되는, 단계; 하나 이상의 결제 옵션을 제1 세트의 옵션으로서 식별하고, 나머지 결제 옵션을 제2 세트의 옵션으로서 식별하는 단계; 하나 이상의 요청에 대한 응답의 수신 후에 그리고 제2 세트의 옵션의 디스플레이 전에, 제1 세트의 옵션 중 적어도 하나를 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 표시를 원격 클라이언트 장치에 전송하는 단계; 사용자 인터페이스 상의 선택 가능한 사용자 인터페이스 요소를 디스플레이하기 위한 표시를 원격 클라이언트 장치에 전송하는 단계로서, 모든 제2 세트의 옵션은, 선택 가능한 사용자 인터페이스 요소의 선택 전에 디스플레이로부터 숨겨져 있는, 단계; 및 모든 제2 세트의 옵션에 대해 각각의 질의로부터 응답을 수신하기 전에, 사용자 인터페이스 상에 디스플레이되는 제1 세트의 옵션 중 적어도 하나의 하나를 사용하여 결제 거래의 완료를 가능하게 하는 단계를 포함한다.
일부 실시예에서, 방법은, 본원에 설명된 프로세서에 의해 수행되는 단계 중 어느 하나를 포함할 수 있다.
일부 예시적인 양태에서, 본 개시물은 컴퓨터 판독 가능 매체를 설명하고, 컴퓨터 판독 가능 매체는, 시스템의 프로세서에 의해 실행될 때, 시스템으로 하여금, 결제 거래를 완료하기 위해 사용자 인터페이스를 네트워크를 통해 원격 클라이언트 장치에 제공하도록 하기 위한 명령으로서, 사용자 인터페이스는 결제 거래와 연관된 옵션 카테고리를 포함하고, 옵션 카테고리는 연관된 세트의 결제 옵션을 갖는, 명령; 시스템으로 하여금, 네트워크를 통해, 결제 옵션의 각각의 결제 옵션과 연관된 요청을 전송하도록 하기 위한 명령으로서, 전송되는 질의 중 적어도 하나는 원격 타사 서버에 전송되며, 결제 거래를 완료하기 위해 결제 옵션 중 하나의 선택이 요구되는, 명령; 시스템으로 하여금, 하나 이상의 결제 옵션을 고속-로딩 옵션으로서 식별하고, 나머지 결제 옵션을 저속-로딩 옵션으로서 식별하도록 하기 위한 명령; 시스템으로 하여금, 하나 이상의 요청에 대한 응답의 수신 후에 그리고 저속-로딩 옵션의 디스플레이 전에, 고속-로딩 옵션 중 적어도 하나를 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 표시를 원격 클라이언트 장치에 전송하도록 하기 위한 명령; 시스템으로 하여금, 사용자 인터페이스 상의 선택 가능한 사용자 인터페이스 요소를 디스플레이하기 위한 표시를 원격 클라이언트 장치에 전송하도록 하기 위한 명령으로서, 모든 저속-로딩 옵션은, 선택 가능한 사용자 인터페이스 요소의 선택 전에 디스플레이로부터 숨겨져 있는, 명령; 및 시스템으로 하여금, 모든 저속-로딩 옵션에 대해 각각의 질의로부터 응답을 수신하기 전에, 사용자 인터페이스 상에 디스플레이되는 고속-로딩 옵션 중 적어도 하나의 하나를 사용하여 결제 거래의 완료를 가능하게 하기 위한 명령을 저장한다.
일부 실시예에서, 컴퓨터 판독 가능 매체는, 프로세서에 의해 실행될 때, 시스템으로 하여금, 본원에 설명된 방법 중 어느 하나를 수행하도록 할 수 있다.
따라서, 이하의 청구범위에서 상세화되는 바와 같은 방법, 시스템, 컴퓨터 프로그램, 및 컴퓨터 판독 가능 매체가 제공된다.
이제 본 출원의 예시적인 실시형태를 도시하는 첨부된 도면을 예시로서 참조할 것이며, 첨부된 도면으로서:
도 1은 본원에 설명된 실시예가 구현될 수 있는 예시적인 전자 상거래 플랫폼의 블록도이다;
도 2는 도 1의 전자 상거래 플랫폼을 통해 접속될 수 있는 관리자의 예시적인 홈페이지이다;
도 3은 도 1의 전자 상거래 플랫폼의 다른 블록도로서, 애플리케이션 개발과 관련된 일부 세부사항을 도시한다;
도 4는 도 1의 전자 상거래 플랫폼의 예시적인 구현예를 도시하는 블록도이다;
도 5는 도 1의 전자 상거래 플랫폼의 다른 블록도로서, 결제 옵션의 점진적인 로딩과 관련된 일부 세부사항을 도시한다;
도 6은 전형적인 결제 거래 동안 사용자 장치와 통상적인 전자 상거래 플랫폼 간의 예시적인 통신을 도시하는 시그널링 다이어그램이다;
도 7은 본 개시물의 실시예에 따라, 결제 옵션의 점진적인 로딩을 가능하게 하기 위해, 결제 거래 동안 사용자 장치와 결제 옵션 관리자 간의 예시적인 통신을 도시하는 시그널링 다이어그램이다;
도 8은 본 개시물의 실시예에 따라, 결제 옵션 관리자를 사용하여 구현될 수 있는 결제 옵션의 점진적인 로딩을 위한 예시적인 방법을 도시하는 흐름도이다; 그리고
도 9a 내지 도 9d는 결제 옵션의 점진적인 로딩을 위한 일부 예시적인 제시 형식을 도시한다.
유사한 참조번호는 유사한 구성 요소를 표시하기 위해 상이한 도면에서 사용될 수 있다.
본 개시물은 아래에 설명되는 전자 상거래 플랫폼의 맥락에서 설명될 것이다. 그러나, 이러한 설명은 단지 예시의 목적을 위한 것이며, 제한적인 것으로 의도되지 않음을 이해해야 한다. 또한, 본 개시물은 다른 맥락에서 구현될 수 있으며, 전자 상거래 플랫폼에서의 구현으로 반드시 제한될 필요가 없음을 이해해야 한다. 예를 들어, 온라인 구매를 완료하기 위한 결제 거래는, 반드시 전자 상거래 플랫폼의 일부일 필요는 없는 온라인 결제 서비스에 의해 제공될 수 있다. 다른 실시예에서, 전자 상거래 플랫폼에 의해 호스팅되지 않을 수 있는 온라인 스토어(즉, 온라인 스토어는 독립형 온라인 스토어임)가 온라인 결제 서비스를 제공할 수 있다. 다른 그러한 가능성이 본 개시물의 범위 내에서 고려된다.
예시적인 전자 상거래 플랫폼
상거래 플랫폼과의 통합이 요구되는 것은 아니지만, 일부 실시형태에서, 본원에 개시된 방법은, 전자 상거래 플랫폼과 같은 상거래 플랫폼과 연계하여 또는 상거래 플랫폼을 통해 수행될 수 있다. 따라서, 상거래 플랫폼의 일 실시예가 설명될 것이다.
도 1은 일 실시형태에 따라, 예시적인 전자 상거래 플랫폼(100)을 도시한다. 전자 상거래 플랫폼(100)은, 판매자 제품 및 서비스를 고객에게 제공하기 위해 사용될 수 있다. 본 개시물은 장치, 시스템, 및 프로세스를 사용하여 제품 및 서비스를 구매하는 것을 고려하지만, 단순화를 위해, 본원의 설명은 제품을 언급할 것이다. 또한, 본 개시물 전반에 걸쳐서 제품에 대한 모든 언급은, 예를 들어, 물리적 제품, 디지털 콘텐츠(예를 들어, 음악, 비디오, 및 게임), 소프트웨어, 티켓, 구독, 제공될 서비스 등을 포함하는, 제품 및/또는 서비스에 대한 언급인 것으로 이해되어야 한다.
본 개시물은 전반에 걸쳐서 "판매자" 및 "고객"이 개인 이상일 수 있음을 고려하지만, 단순화를 위해, 본원의 설명은 이에 따라 전반적으로 판매자 및 고객을 언급할 수 있다. 또한, 본 개시물 전반에 걸쳐서 판매자 및 고객에 대한 모든 언급은, 개인, 회사, 법인, 컴퓨팅 엔티티 등의 그룹에 대한 언급인 것으로 이해되어야 하며, 영리 또는 비영리 제품 교환을 나타낼 수 있다. 또한, 본 개시물은 전반에 걸쳐서 "판매자" 및 "고객"을 언급하고, 이에 따라 이들의 역할을 설명하지만, 전자 상거래 플랫폼(100)은, 전자 상거래 환경에서 보다 일반적으로 사용자를 지원하는 것으로 이해되어야 하며, 또한 본 개시물 전반에 걸쳐서 판매자 및 고객에 대한 모든 언급은 사용자에 대한 언급인 것으로 이해되어야 하고, 예를 들어, 사용자는, 판매자-사용자(예를 들어, 제품의 판매자, 소매업자, 도매업자, 또는 제공자), 고객-사용자(예를 들어, 제품의 구매자, 구매 대리인, 소비자, 또는 사용자), 예비 사용자(예를 들어, 검색을 하고 아직 구매하지 않은 사용자, 제품을 마케팅 및 판매할 때 잠재적인 사용에 대해 전자 상거래 플랫폼(100)을 평가하는 사용자 등), 서비스 제공자 사용자(예를 들어, 배송 제공자(112), 금융 제공자 등), 회사 또는 법인 사용자(예를 들어, 제품의 구매, 판매, 또는 사용을 위한 전형적인 회사; 기업 사용자; 고객 관계 또는 고객 관리 대리인 등), 정보 기술 사용자, 컴퓨팅 엔티티 사용자(예를 들어, 제품의 구매, 판매, 또는 사용을 위한 컴퓨팅 봇(computing bot)) 등이다. 또한, 주어진 사용자는 (예를 들어, 판매자로서) 주어진 역할로 역할을 할 수 있고, 이들의 관련 장치는 하나의 상황에서 (예를 들어, 판매자 장치로서) 이에 따라 언급될 수 있지만, 그러한 동일한 개인은 다른 상황에서 상이한 역할로 (예를 들어, 고객으로서) 역할을 할 수 있으며, 그러한 동일한 또는 다른 관련 장치는 이에 따라 (예를 들어, 고객 장치로서) 언급될 수 있음을 인식할 수 있다. 예를 들어, 개인은 하나의 유형의 제품(예를 들어, 신발)에 대한 판매자일 수 있으며, 다른 유형의 제품(예를 들어, 식료품)의 고객/소비자일 수 있다. 다른 실시예에서, 개인은 동일한 유형의 제품의 소비자 및 판매자 둘 다일 수 있다. 특정 실시예에서, 특정 카테고리의 상품으로 거래하는 판매자는, 이들이 도매업자(판매자의 역할을 하는 도매업자)에게 주문하는 경우, 그러한 동일한 카테고리의 상품에 대해 고객의 역할을 할 수 있다.
전자 상거래 플랫폼(100)은, 판매자에게 이들의 사업을 관리하기 위한 온라인 서비스/설비를 제공한다. 본원에 설명된 설비는 플랫폼(100)의 일부로서 구현되는 것으로 도시되지만, 전체적으로 또는 부분적으로, 독립형 서비스로서, 플랫폼(100)과 별도로 구성될 수도 있다. 또한, 그러한 설비는, 일부 실시형태에서, 추가적으로 또는 대안적으로, 하나 이상의 제공자/엔티티에 의해 제공될 수 있다.
도 1의 실시예에서, 설비는, 전술한 바와 같이, 플랫폼(100)의 일부일 수 있거나 플랫폼(100)의 외부에 있을 수 있는 하나 이상의 프로세서를 통해 컴퓨터 소프트웨어, 모듈, 프로그램 코드, 및/또는 명령을 실행하는 기계, 서비스 또는 엔진을 통하여 전개된다. 판매자는, 예를 들어, 온라인 스토어(138), 애플리케이션(142A-B), 채널(110A-B)을 통해, 및/또는 물리적인 장소(예를 들어, 키오스크, 단말기, 판독기, 프린터, 3D 프린터 등을 통한 예를 들어, 물리적인 상점 또는 다른 장소)에서의 판매시점관리(POS) 장치(152)를 통해, 고객과의 전자 상거래 경험을 구현함으로써, 고객과의 상거래를 활성화하거나 관리하기 위해 전자 상거래 플랫폼(100)을 사용할 수 있다. 판매자는 고객과의 단독 상거래 존재(presence)로서 전자 상거래 플랫폼(100)을 사용할 수 있거나, 예를 들어, 물리적 스토어(예를 들어, "오프라인(brick-and-mortar)" 소매점), 판매자 오프-플랫폼 웹사이트(104)(예를 들어, 전자 상거래 플랫폼(100)과 별도로 판매자에 의해 또는 판매자를 대신하여 지원되는, 상거래 인터넷 웹사이트 또는 다른 인터넷 또는 웹 속성 또는 자산), 애플리케이션(142B) 등을 통해, 다른 판매자 상거래 설비와 함께 전자 상거래 플랫폼(100)을 사용할 수 있다. 그러나, 예를 들어, 판매자의 물리적 스토어의 POS 장치(152)가 전자 상거래 플랫폼(100)에 링크되는 경우, 예를 들어, 판매자 오프 플랫폼 웹사이트(104)로부터 온라인 스토어(138)로 콘텐츠를 링크하는 "구매 버튼"을 통해, 판매자 오프-플랫폼 웹사이트(104)가 전자 상거래 플랫폼(100)에 연결되는 경우 등과 같이, 이러한 "다른" 판매자 상거래 설비도 전자 상거래 플랫폼(100) 내에 통합될 수 있거나 전자 상거래 플랫폼(100)과 통신할 수 있다.
온라인 스토어(138)는, 복수의 가상 상점을 포함하는 멀티-테넌트(multi-tenant) 설비를 나타낼 수 있다. 실시형태에서, 판매자는, 예를 들어, 판매자 장치(102)(예를 들어, 컴퓨터, 랩톱 컴퓨터, 모바일 컴퓨팅 장치 등)를 통해, 온라인 스토어(138)에서 하나 이상의 상점을 구성 및/또는 관리할 수 있으며, 다수의 상이한 채널(110A-B)(예를 들어, 온라인 스토어(138); 애플리케이션(142A-B); POS 장치(152)를 통한 물리적인 상점; 예를 들어, 소셜 네트워크, 소셜 미디어 페이지, 소셜 미디어 메시징 시스템을 통한 소설 미디어 채널 또는 웹사이트에 통합되는 예를 들어 전자 구매 버튼을 통하는 전자 시장; 및/또는 기타)을 통해 고객에게 제품을 공급할 수 있다. 판매자는 채널(110A-B)에 걸쳐서 판매할 수 있으며, 그 다음, 전자 상거래 플랫폼(100)을 통해 이들의 판매를 관리할 수 있고, 채널(110A)은 전자 상거래 플랫폼(100)의 내부 또는 외부의 설비 또는 서비스로서 제공될 수 있다. 판매자는, 추가적으로 또는 대안적으로, 이들의 물리적인 소매점에서, 팝업(pop up)에서, 도매를 통해, 전화 등을 통해 판매할 수 있으며, 그 다음, 전자 상거래 플랫폼(100)을 통해 이들의 판매를 관리할 수 있다. 판매자는 이러한 운영 방식의 임의의 조합 또는 전부를 사용할 수 있다. 특히, 다양한 및/또는 특정 조합의 방식을 사용함으로써, 판매자가 판매의 확률 및/또는 양을 개선할 수 있다. 본 개시물 전반에 걸쳐서, 온라인 스토어(138) 및 상점이라는 용어는, 전자 상거래 플랫폼(100)을 통해 공급되는 판매자의 온라인 전자 상거래 서비스를 지칭하는 것으로 동의어로 사용될 수 있으며, 온라인 스토어(138)는, (예를 들어, 하나의 판매자 또는 복수의 판매자를 위한) 전자 상거래 플랫폼(100)에 의해 지원되는 상점 모음(collection), 또는 개별 판매자의 상점(예를 들어, 판매자의 온라인 스토어)을 지칭할 수 있다.
일부 실시형태에서, 고객은, 고객 장치(150)(예를 들어, 컴퓨터, 랩톱 컴퓨터, 모바일 컴퓨팅 장치 등), POS 장치(152)(예를 들어, 소매점 장치, 키오스크, 자동화된 (셀프 서비스) 결제 시스템 등), 및/또는 당업계에 알려진 임의의 다른 상거래 인터페이스 장치를 통해 플랫폼(100)과 상호 작용할 수 있다. 전자 상거래 플랫폼(100)에 따라, 판매자는, 온라인 스토어(138)를 통해, 애플리케이션(142A-B)을 통해, 물리적인 장소(예를 들어, 판매자의 상점 또는 다른 곳)의 POS 장치(152)를 통해 고객과 연결되어, 전자 통신 설비(129) 및/또는 기타를 통해 고객과 통신할 수 있으므로, 고객과 연결되어 상호 작용하기 위해 이용 가능한 실제 또는 가상 경로에 대한 판매자 서비스를 촉진시키고 고객과 연결하기 위한 시스템을 제공할 수 있다.
일부 실시형태에서, 그리고 본원에 추가로 설명된 바와 같이, 전자 상거래 플랫폼(100)은 처리 설비를 통해 구현될 수 있다. 이러한 처리 설비는, 프로세서 및 메모리를 포함할 수 있다. 프로세서는 하드웨어 프로세서일 수 있다. 메모리는 비-일시적 컴퓨터 판독 가능 매체일 수 있거나/있고, 이를 포함할 수 있다. 메모리는 랜덤 액세스 메모리(RAM) 및/또는 지속성 저장 장치(예를 들어, 자기 저장 장치)일 수 있거나/있고, 이를 포함할 수 있다. 처리 설비는 명령 세트를 (예를 들어, 메모리에) 저장할 수 있으며, 명령 세트는, 실행될 때, 전자 상거래 플랫폼(100)으로 하여금, 본원에 설명된 바와 같은 전자 상거래 및 지원 기능을 수행하도록 한다. 처리 설비는, 서버, 클라이언트, 네트워크 인프라, 모바일 컴퓨팅 플랫폼, 클라우드 컴퓨팅 플랫폼, 고정식 컴퓨팅 플랫폼, 및/또는 일부 다른 컴퓨팅 플랫폼 중 하나 이상일 수 있거나 이의 일부일 수 있으며, 전자 상거래 플랫폼(100)의 구성 요소, 판매자 장치(102), 결제 게이트웨이(106), 애플리케이션(142A-B), 채널(110A-B), 배송 제공자(112), 고객 장치(150), 판매시점관리 장치(152) 등 간의 및 사이의 전자 연결 및 통신을 제공할 수 있다. 일부 구현예에서, 처리 설비는, 일제히 작동되는 하나 이상의 이러한 컴퓨팅 장치일 수 있거나 이를 포함할 수 있다. 예를 들어, 복수의 협동 컴퓨팅 장치는 처리 설비를 제공하는 역할을 하거나, 처리 설비의 역할을 할 수 있다. 전자 상거래 플랫폼(100)은, 클라우드 컴퓨팅 서비스, 서비스형 소프트웨어(software as a service: SaaS), 서비스형 인프라(IaaS), 서비스형 플랫폼(PaaS), 서비스형 데스크톱(DaaS), 서비스형 관리 소프트웨어(MSaaS), 서비스형 모바일 백엔드(MBaaS), 서비스형 정보 기술 관리(ITMaaS), 및/또는 기타 중 하나 이상으로서 또는 하나 이상을 사용하여 구현될 수 있다. 예를 들어, 본원에 설명된 설비(예를 들어, 온라인 스토어(138))를 구현하는 기본 소프트웨어는 서비스로서 제공될 수 있으며, 중앙에서 호스팅될 수 있다(그리고 예를 들어, 그 다음, 웹 브라우저 또는 다른 애플리케이션을 통해, 및/또는 고객 장치(150), POS 장치(152), 및/또는 기타를 통해 사용자에 의해 접속될 수 있다). 일부 실시형태에서, 전자 상거래 플랫폼(100)의 요소는, 다양한 다른 플랫폼 및 운영 체제와 통합 및/또는 작동되도록 구현될 수 있다.
일부 실시형태에서, 전자 상거래 플랫폼(100)의 설비(예를 들어, 온라인 스토어(138))는, 예를 들어 전자 상거래 플랫폼(100)에 연결된 네트워크를 통해, (데이터(134)를 사용하여) 고객 장치(150)에 콘텐츠를 제공할 수 있다. 예를 들어, 온라인 스토어(138)는 고객 장치(150)로부터의 데이터(134)에 대한 요청에 응답하여 콘텐츠를 제공 또는 전송할 수 있으며, 브라우저(또는 다른 애플리케이션)는 네트워크 통신 프로토콜(예를 들어, 인터넷 프로토콜)을 사용하여 네트워크를 통해 온라인 스토어(138)에 연결된다. 콘텐츠는 기계 판독 가능 언어로 작성될 수 있으며, 하이퍼텍스트 마크업 언어(HTML), 템플릿 언어, 자바스크립트 등, 및/또는 이들의 임의의 조합을 포함할 수 있다.
일부 실시형태에서, 온라인 스토어(138)는, 고객 장치에 콘텐츠를 제공하고, 고객이 이용 가능한 다양한 제품을 브라우징 및 구매할 수 있게 하는(예를 들어, 이들을 카트에 추가, 구매 버튼을 통해 구매 등), 서비스 인스턴스일 수 있거나 이를 포함할 수 있다. 또한, 판매자는, 예를 들어, 판매자가 온라인 스토어의 제품 정보 내에 표시되는 동일한 기본 제품 및 거래 데이터를 가지면서, 이들의 테마를 변경함으로써 이들의 온라인 스토어(138)의 룩 앤드 필(look and feel)을 선택하여 변경할 수 있는 테마 시스템과 같은, 테마 시스템을 통해 이들의 웹사이트의 룩 앤드 필을 맞춤화할 수 있다. 사용자가 유연하게 이들의 웹사이트의 디자인을 맞춤화할 수 있게 하는 디자인 인터페이스인 테마 편집기를 통해, 테마가 추가로 맞춤화될 수 있다. 추가적으로 또는 대안적으로, 테마는, 예를 들어, 특정 색상, 폰트, 및 사전 구축된 레이아웃 체계와 같은, 주어진 테마의 양태를 변경할 수 있는 예를 들어 설정과 같은, 테마별 설정을 사용하여, 추가적으로 또는 또는 대안적으로 맞춤화될 수 있다. 일부 구현예에서, 온라인 스토어는, 웹사이트 콘텐츠를 위한 콘텐츠 관리 시스템을 구현할 수 있다. 판매자는, 블로그 게시물 또는 정적 페이지를 작성할 때 이러한 콘텐츠 관리 시스템을 사용할 수 있으며, 예를 들어 블로그, 기사, 랜딩 페이지 등을 통해, 이들의 온라인 스토어(138)에 이들을 게시할 수 있을 뿐만 아니라, 내비게이션 메뉴를 구성할 수 있다. 판매자는, (예를 들어, 데이터(134)로서) 시스템에 의해 저장하기 위해, 이미지(예를 들어, 제품의 경우), 비디오, 콘텐츠, 데이터 등을 전자 상거래 플랫폼(100)에 업로드할 수 있다. 일부 실시형태에서, 전자 상거래 플랫폼(100)은, 예를 들어, 이미지를 크기 조절하기 위한 기능, 이미지를 제품과 연계시키기 위한 기능, 텍스트를 추가하여 이미지와 연계시키기 위한 기능, 신제품 변형을 위한 이미지를 추가하기 위한 기능, 이미지를 보호하기 위한 기능 등과 같은, 이러한 이미지 및 콘텐츠를 조정하기 위한 기능을 제공할 수 있다.
본원에 설명된 바와 같이, 전자 상거래 플랫폼(100)은, 예를 들어, 온라인 스토어(138), 애플리케이션(142A-B)을 포함하는 다수의 상이한 채널(110A-B)을 통해 뿐만 아니라, 본원에 설명된 바와 같은 물리적인 POS 장치(152)를 통해, 제품에 대한 판매 및 마케팅 서비스를 판매자에게 제공할 수 있다. 전자 상거래 플랫폼(100)은, 추가적으로 또는 대안적으로, 예를 들어, 이들의 온라인 스토어와 연계된 도메인 등록 서비스(118), 고객과의 거래를 촉진시키기 위한 결제 서비스(120), 구매한 제품에 대한 고객 배송 옵션을 제공하기 위한 배송 서비스(122), 재고, 리스크를 관리하기 위한 이행 서비스, 및 제품 보호 및 책임과 연계된 보험 서비스(124), 판매자 빌링 등을 제공하는 것 중 하나 이상과 같은, 온라인 사업 운영과 연계되는, 사업 지원 서비스(116), 관리자(114), 웨어하우스(warehouse) 관리 시스템 등을 포함할 수 있다. 서비스(116)는 전자 상거래 플랫폼(100)을 통해 제공될 수 있거나, 예를 들어, 결제 처리를 위한 결제 게이트웨이(106), 제품의 배송을 긴급 처리하기 위한 배송 제공자(112) 등을 통해, 외부 설비와 연계하여 제공될 수 있다.
일부 실시형태에서, 전자 상거래 플랫폼(100)은, 예를 들어, 배송 라벨 또는 요금 정보, 실시간 배송 업데이트, 추적, 및/또는 기타와 같은, 다양한 배송 관련 정보를 판매자 및/또는 이들의 고객에게 제공하기 위해, (예를 들어, 전자 상거래 플랫폼 배송 설비를 통한 또는 타사 배송업체를 통한) 배송 서비스(122)와 함께 구성될 수 있다.
도 2는 관리자(114)의 홈페이지의 제한적이지 않은 실시형태를 도시한다. 관리자(114)는, 관리 콘솔 및/또는 관리자 콘솔로 지칭될 수 있다. 관리자(114)는, 일상적인 작업에 관한 정보, 스토어의 최근 활동, 및 판매자가 이들의 사업을 구축하기 위해 취할 수 있는 다음 단계를 표시할 수 있다. 일부 실시형태에서, 판매자는 판매자 장치(102)(예를 들어, 데스크톱 컴퓨터 또는 모바일 장치)를 통해 관리자(114)에 로그인할 수 있으며, 예를 들어, 온라인 스토어(138)의 최근 방문 또는 주문 활동 보기, 온라인 스토어(138)의 카탈로그 업데이터, 주문 관리, 및/또는 기타와 같은, 이들의 온라인 스토어(138)의 양태를 관리할 수 있다. 일부 실시형태에서, 판매자는, 도 2에 도시된 것과 같은, 사이드바를 사용함으로써 관리자(114)의 상이한 섹션에 접속할 수 있다. 관리자(114)의 섹션은, 주문, 제품, 고객, 이용 가능한 리포트 및 할인을 포함하는, 판매자의 사업의 핵심적인 양태에 접속하여 관리하기 위한 다양한 인터페이스를 포함할 수 있다. 관리자(114)는, 추가적으로 또는 대안적으로, 온라인 스토어(138), 스토어에 접속하기 위해 고객에게 이용 가능하게 되는 모바일 애플리케이션(들)(모바일 앱), POS 장치, 및/또는 구매 버튼을 포함하는, 스토어를 위한 판매 채널을 관리하기 위한 인터페이스를 포함할 수 있다. 관리자(114)는, 추가적으로 또는 대안적으로, 판매자의 계정을 통해 설치된 애플리케이션(앱)을 관리하고, 판매자의 온라인 스토어(138) 및 계정에 적용되는 설정을 관리하기 위한 인터페이스를 포함할 수 있다. 판매자는 검색 바를 사용하여, 이들의 스토어에서 제품, 페이지, 또는 다른 정보를 탐색할 수 있다.
판매자의 온라인 스토어(138)의 방문자 및 상거래에 관한 보다 상세한 정보는 리포트 또는 메트릭(metric)을 통해 볼 수 있다. 리포트는, 예를 들어, 구입 리포트, 행동 리포트, 고객 리포트, 금융 리포트, 마케팅 리포트, 판매 리포트, 제품 리포트, 및 맞춤형 리포트를 포함할 수 있다. 판매자는, 예를 들어 드롭-다운 메뉴를 사용함으로써, 상이한 시간 기간(예를 들어, 일별, 주별, 월별 등)으로부터 상이한 채널(110A-B)에 대한 판매 데이터를 볼 수 있다. 스토어의 판매 및 계약 데이터에 대한 보다 상세한 보기를 원하는 판매자를 위해, 개요 대시보드가 제공될 수도 있다. 판매자의 계정을 통한 활동의 개요를 나타내기 위해, 홈 메트릭 섹션의 활동 피드(activity feed)가 제공될 수 있다. 예를 들어, 판매자는, "모든 최근 활동 보기" 대시보드 버튼을 클릭함으로써, 이들의 계정을 통한 최근 활동의 더 긴 피드를 볼 수 있다. 홈 페이지는, 예를 들어, 계정 상태, 성장, 최근 고객 활동, 주문 업데이트 등에 기초하여, 판매자의 온라인 스토어(138)에 관한 알림을 표시할 수 있다. 예를 들어, 결제 작업 흐름, 주문 이행 작업 흐름, 주문 파일보관 작업 흐름, 반품 작업 흐름 등과 같은, 온라인 스토어(138)에 대해 구성된 작업 흐름을 탐색하는 판매자를 지원하기 위해, 알림이 제공될 수 있다.
전자 상거래 플랫폼(100)은, 예를 들어 판매 전환 등을 증가시키도록, 통신을 집계 및 분석하기 위해, 예를 들어, 판매자, 고객, 판매자 장치(102), 고객 장치(150), POS 장치(152) 등 간의 통신 상호 작용을 수집 및 분석하기 위해 전자 메시징 설비를 사용하여, 마케팅 및 전자 통신을 제공하기 위한 통신 설비(129) 및 관련 판매자 인터페이스를 제공할 수 있다. 예를 들어, 고객은 제품과 관련된 문의사항이 있을 수 있으며, 이는 고객과 판매자(또는 판매자를 대신하는 자동화된 프로세서 기반 에이전트/챗봇) 간의 대화를 생성할 수 있고, 통신 설비(129)는, 예를 들어, 판매 확률을 개선하기 위해, 고객 요청에 대한 자동화된 응답을 제공하도록 및/또는 응답 방법에 관한 권장 사항을 판매자에게 제공하도록 구성된다.
전자 상거래 플랫폼(100)은, 예를 들어 보안 카드 서버 환경을 통해, 고객과의 안전한 금융 거래를 위한 금융 설비(120)를 제공할 수 있다. 전자 상거래 플랫폼(100)은, 전자 상거래 플랫폼(100)과 판매자의 은행 계좌 간에 자동 결제(ACH) 이체를 수행하고, 판매자에게 비용을 청구하며, 금융거래를 중재하는 등을 위해, 결제 카드 업계 데이터(PCI) 환경(예를 들어, 카드 서버)에 신용 카드 정보를 저장할 수 있다. 또한, 금융 설비(120)는, 자금의 대출(예를 들어, 자금 대출, 현금서비스 등) 및 보험의 제공을 통해, 금융 지원을 판매자 및 구매자에게 제공할 수 있다. 일부 실시형태에서, 온라인 스토어(138)는 다수의 독립적으로 관리되는 상점을 지원할 수 있으며, 다양한 제품 및 서비스를 위해 일일 단위로 대량의 거래 데이터를 처리할 수 있다. 거래 데이터는, 고객, 고객 계정, 또는 고객에 의해 수행된 거래를 나타내는 임의의 고객 정보를 포함할 수 있으며, 예를 들어, 연락처 정보, 빌링 정보, 배송 정보, 반품/환불 정보, 할인/오퍼(offer) 정보, 결제 정보, 또는 온라인 스토어 이벤트 또는 정보, 예를 들어, 페이지 뷰, 제품 검색 정보(검색 키워드, 연결 클릭(click-through) 이벤트), 제품 리뷰, 폐기된 카트, 및/또는 전자 상거래 플랫폼(100)을 통한 사업과 관련된 다른 거래 정보를 포함할 수 있다. 일부 실시형태에서, 전자 상거래 플랫폼(100)은 이러한 데이터를 데이터 설비(134)에 저장할 수 있다. 도 1을 다시 참조하면, 일부 실시형태에서, 전자 상거래 플랫폼(100)은, 예를 들어, 제품, 재고, 고객, 주문, 공급자, 리포트, 금융, 리스크 및 사기 행위 등과 관련된 작업 자동화 또는 콘텐츠 관리를 위한 다양한 작업 흐름을 수행하도록 구성될 수 있는 상거래 관리 엔진(136)을 포함할 수 있다. 일부 실시형태에서, 추가적인 기능은, 추가적으로 또는 대안적으로, 점점 늘어나는 다양한 온라인 스토어, POS 장치, 제품, 및/또는 서비스를 수용하기 위해 필요한 더 큰 유연성 및 맞춤화를 가능하게 하기 위해, 애플리케이션(142A-B)을 통해 제공될 수 있다. 애플리케이션(142A)은 전자 상거래 플랫폼(100)의 구성 요소일 수 있는 반면에, 애플리케이션(142B)은 전자 상거래 플랫폼(100)의 외부의 타사 서비스로서 제공되거나 호스팅될 수 있다. 상거래 관리 엔진(136)은 스토어별 작업 흐름을 수용할 수 있으며, 일부 실시형태에서, 관리자(114) 및/또는 온라인 스토어(138)를 포함할 수 있다.
애플리케이션(142A-B)으로서 기능을 구현함으로써, 상거래 관리 엔진(136)은 계속 반응할 수 있고, 서비스 저하 또는 보다 심각한 인프라 고장 등을 감소시키거나 방지할 수 있다.
온라인 스토어 데이터를 분리시키는 것은 온라인 스토어(138)와 판매자 간에 데이터 개인정보 보호를 유지하는 데 중요할 수 있지만, 예를 들어, 주문 리스크 평가 시스템 또는 플랫폼 결제 설비(이 둘 모두는 적절히 수행하기 위해 다수의 온라인 스토어(138)로부터의 정보를 필요로 함)를 통해, 교차-스토어(cross-store) 데이터를 수집하여 사용하기 위한 이유가 있을 수 있다. 일부 실시형태에서, 상거래 관리 엔진(136)으로부터 그리고 전자 상거래 플랫폼(100) 내의 이들 자체의 인프라 내로 이러한 구성 요소를 이동시키는 것이 바람직할 수 있다.
플랫폼 결제 설비(120)는, 상거래 관리 엔진(136)으로부터의 데이터를 사용하지만, 별도의 구성 요소 또는 서비스로서 구현되는 구성 요소의 일 실시예이다. 플랫폼 결제 설비(120)에 따라, 온라인 스토어(138)와 상호 작용하는 고객은, 상거래 관리 엔진(136)에 의해 안전하게 저장된 이들의 결제 정보를 가질 수 있으므로, 이들은 단지 이를 한 번 입력하기만 하면 된다. 고객이 상이한 온라인 스토어(138)를 방문하는 경우, 이들이 이전에 거기에 가본 적이 없더라도, 플랫폼 결제 설비(120)는, (예를 들어, 이들이 대신에 이를 재입력해야 하는 경우, 이들의 정보를 잘못 입력할 수 있는 것을 방지함으로써) 더 빠른 결제 및/또는 잠재적으로 더 적은 에러 취약성의 결제를 가능하게 하기 위해, 이들의 정보를 기억할 수 있다. 이는 교차-플랫폼 네트워크 효과를 제공할 수 있으며, 예를 들어, 고객의 구매와 관련된 사용의 편의성으로 인해, 더 자주 결제하는 더 많은 고객이 있기 때문에, 전자 상거래 플랫폼(100)은, 더 많은 판매자 및 구매자가 가입함에 따라, 이의 판매자 및 구매자에게 더 유용해진다. 이러한 네트워크 효과를 극대화하기 위해, 주어진 고객에 대한 결제 정보가 검색 가능할 수 있으며, 다수의 온라인 스토어(138)에 걸쳐서 전체적으로 이용 가능해질 수 있다.
상거래 관리 엔진(136) 내에 포함되지 않는 기능의 경우, 애플리케이션(142A-B)은, 전자 상거래 플랫폼(100) 또는 개별 온라인 스토어(138)에 기능을 추가하기 위한 방법을 제공한다. 예를 들어, 애플리케이션(142A-B)은, 판매자의 온라인 스토어(138)의 데이터에 접속하여 데이터를 변경할 수 있으며, 관리자(114)를 통해 작업을 수행할 수 있고, (예를 들어, 확장자/API를 통해 표시되는) 사용자 인터페이스를 통해 판매자를 위한 새로운 흐름을 구현할 수 있는 등이다. 판매자는, 애플리케이션 검색, 권장사항, 및 지원(128)을 통해 애플리케이션(142A-B)을 탐색하여 설치할 수 있게 될 수 있다. 일부 실시형태에서, 상거래 관리 엔진(136), 애플리케이션(142A-B), 및 관리자(114)는 함께 작업하도록 개발될 수 있다. 예를 들어, 애플리케이션 확장 포인트는 상거래 관리 엔진(136)의 내부에 구축될 수 있으며, 추가적인 기능을 전달하기 위해 인터페이스(140B 및 140A)를 통해 애플리케이션(142A 및 142B)에 의해 접속될 수 있고, 관리자(114)의 사용자 인터페이스에서 판매자에게 표시될 수 있다.
일부 실시형태에서, 애플리케이션(142A-B)은 인터페이스(140A-B)를 통해 판매자에게 기능을 전달할 수 있으며, 예를 들어, 애플리케이션(142A-B)은 거래 데이터를 판매자에게 표시할 수 있거나/표시할 수 있고(예를 들어, 앱: "엔진, 모바일 앱 또는 관리자(114)의 나의 앱 데이터를 표시"), 상거래 관리 엔진(136)은 주문형 작업을 수행하도록 애플리케이션에 요청할 수 있다(엔진: "앱, 이러한 결제를 위해 지방세 계산 결과를 나에게 제공").
애플리케이션(142A-B)은, 상거래 관리 엔진(136)을 통해 그리고 상거래 관리 엔진(136) 내에서 이용 가능한 데이터 및/또는 기능을 애플리케이션의 기능에 노출시키기 위해, 인터페이스(140A-B)를 통해(예를 들어, REST(웹 표현상태 변경) 및/또는 그래프QL(GraphQL) API를 통해) 상거래 관리 엔진(136)에 연결될 수 있다. 예를 들어, 전자 상거래 플랫폼(100)은, 플랫폼(100) 외부의 제품 및 서비스에 연결할 수 있는 API 인터페이스(140A-B)를 애플리케이션(142A-B)에 제공할 수 있다. (예를 들어, 애플리케이션 개발을 위해 제공되는 바와 같은) API 및 애플리케이션의 사용을 통해 제공되는 유연성에 따라, 전자 상거래 플랫폼(100)은 판매자의 새롭고 특별한 요구를 더 잘 수용할 수 있거나, 상거래 관리 엔진(136)에 대한 지속적인 변경을 필요로 하지 않으면서 특정 사용 사례를 해결할 수 있다. 예를 들어, 배송 서비스(122)는 배송 또는 운송 업체 서비스 API를 통해 상거래 관리 엔진(136)과 통합될 수 있으므로, 전자 상거래 플랫폼(100)은, 상거래 관리 엔진(136)에서 실행되는 코드에 직접적인 영향을 주지 않으면서, 배송 서비스 기능을 제공할 수 있다.
구현예에 따라, 애플리케이션(142A-B)은 API를 사용하여 주문형 데이터(예를 들어, 고객 생성 이벤트, 제품 교환 이벤트, 또는 주문 취소 이벤트 등)를 획득할 수 있거나, 업데이트가 발생하는 경우 푸시되는 데이터를 가질 수 있다. 구독 모델은, 이벤트가 발생함에 따라 이벤트를 애플리케이션(142A-B)에 제공하기 위해 사용될 수 있거나, 상거래 관리 엔진(136)의 변경된 상태와 관련하여 업데이트를 제공하기 위해 사용될 수 있다. 일부 실시형태에서, 업데이트 이벤트 구독과 관련된 변경이 발생하는 경우, 상거래 관리 엔진(136)은, 예를 들어 사전 정의된 콜백 URL에 대한 요청을 게시할 수 있다. 이러한 요청의 본문은, 객체의 새로운 상태, 및 동작 또는 이벤트에 대한 설명을 포함할 수 있다. 업데이트 이벤트 구독은 관리자 설비(114)에서 수동으로 생성될 수 있거나, (예를 들어, API(140A-B)를 통해) 자동으로 생성될 수 있다. 일부 실시형태에서, 업데이트 이벤트는, 이들을 트리거한 상태 변경으로부터 비동기식으로 큐잉(queued) 및 처리될 수 있으며, 이는 실시간 또는 거의 실시간으로 분배되지 않는 업데이트 이벤트 알림을 생성할 수 있다.
일부 실시형태에서, 전자 상거래 플랫폼(100)은, 하나 이상의 애플리케이션 검색, 권장사항 및 지원(128)을 제공할 수 있다. 애플리케이션 검색, 권장사항 및 지원(128)은, 애플리케이션의 개발을 보조하기 위한 개발자 제품 및 도구, 애플리케이션 대시보드(예를 들어, 애플리케이션의 관리를 위한 관리자를 위해, 애플리케이션의 맞춤화를 위한 판매자를 위해, 개발자에게 개발 인터페이스를 제공하기 위해 등), 애플리케이션(142A-B)으로의 접속을 제공하는 것과 관련된 승인을 제공하고 설치하기 위한 설비(예를 들어, 설치하기 전에 기준이 충족되어야 하는 경우와 같은 공용 접속을 위해, 또는 판매자에 의한 사적 사용을 위해), 판매자가 이들의 온라인 스토어(138)를 위한 요구사항을 충족시키는 애플리케이션(142A-B)을 용이하게 검색하도록 하기 위한 애플리케이션 검색, 이들이 이들의 온라인 스토어(138)를 통해 사용자 경험을 개선할 수 있는 방법에 대한 제안을 판매자에게 제공하기 위한 애플리케이션 권장사항 등을 포함할 수 있다. 일부 실시형태에서, (예를 들어, API를 통해) 예를 들어 애플리케이션에 연결하고, 애플리케이션을 검색하며, 애플리케이션 권장사항을 생성하는 등을 위한 애플리케이션 식별자(ID)가 애플리케이션(142A-B)에 할당될 수 있다.
애플리케이션(142A-B)은, 대략적으로 3개의 카테고리로서, 고객 응대 애플리케이션, 판매자 응대 애플리케이션, 통합 애플리케이션 등으로 그룹화될 수 있다. 고객 응대 애플리케이션(142A-B)은, 판매자가 제품을 나열하여 이들이 구매되도록 할 수 있는 장소인 온라인 스토어(138) 또는 채널(110A-B)(예를 들어, 온라인 스토어, 반짝 세일을 위한 애플리케이션(예를 들어, 판매자 제품, 또는 타사 소스로부터의 우발적인 판매 기회로부터), 모바일 스토어 애플리케이션, 소셜 미디어 채널, 대량 구매를 제공하기 위한 애플리케이션 등)을 포함할 수 있다. 판매자 응대 애플리케이션(142A-B)은, (예를 들어, 웹 또는 웹사이트 또는 모바일 장치와 관련된 애플리케이션을 통해) 판매자가 이들의 온라인 스토어(138)를 관리할 수 있게 하는 애플리케이션, (예를 들어, POS 장치와 관련된 애플리케이션을 통해) 이들의 사업을 운영할 수 있게 하는 애플리케이션, (예를 들어, 배송(예를 들어, 드롭 배송), 자동화된 에이전트의 사용, 프로세스 흐름 개발의 사용 및 개선과 관련된 애플리케이션을 통해) 이들의 사업을 성장시킬 수 있게 하는 애플리케이션 등을 포함할 수 있다. 통합 애플리케이션은, 배송 제공자(112) 및 결제 게이트웨이(106)와 같은, 사업의 운영에 참여하는 유용한 통합을 제공하는 애플리케이션을 포함할 수 있다.
따라서, 전자 상거래 플랫폼(100)은, 판매자가 유연하고 투명한 방식으로 고객과 연결될 수 있게 하는 유연한 시스템 아키텍처를 통해 온라인 쇼핑 경험을 제공하도록 구성될 수 있다. 전형적인 고객 경험은 일 실시형태의 예시적인 구매 작업 흐름을 통해 더 잘 이해될 수 있으며, 고객은 채널(110A-B)을 통해 판매자의 제품을 브라우징하고, 이들이 구매하려고 의도하는 것을 이들의 카트에 추가하며, 결제로 진행하고, 이들의 카트의 내용물에 대해 결제함으로써, 판매자에 대한 주문의 생성을 야기한다. 그 다음, 판매자는 주문을 검토 및 이행(또는 취소)할 수 있다. 그 다음, 제품이 고객에게 배달된다. 고객이 만족하지 않는 경우, 이들은 제품을 판매자에게 반품할 수 있다.
예시적인 실시형태에서, 고객은, 예를 들어, 판매자의 온라인 스토어(138), POS 장치(152)를 통한 물리적인 상점; 웹사이트 또는 소셜 미디어 채널에 통합된 전자 구매 버튼을 통한 전자 시장와 같은, 다수의 상이한 채널(110A-B)을 통해 판매자의 제품을 브라우징할 수 있다. 경우에 따라, 채널(110A-B)은 애플리케이션(142A-B)으로서 모델링될 수 있다. 상거래 관리 엔진(136)의 판촉 구성 요소는, 판매자가 이들이 판매하길 원하는 것과 이들의 이를 판매하는 곳을 기술할 수 있도록 하기 위해, (예를 들어, 제품 데이터 객체 또는 모델을 사용하여) 제품 목록을 생성 및 관리하도록 구성될 수 있다. 제품 목록과 채널 간의 연계는 제품 공개물(publication)로서 모델링될 수 있으며, 예를 들어 제품 목록 API를 통해, 채널 애플리케이션에 의해 접속될 수 있다. 제품은, 크기 및 색상과 같은 다수의 속성 및/또는 특성을 가질 수 있으며, 특소형 사이즈 및 녹색인 변형물, 또는 대형 사이즈 및 청색인 변형물과 같이, 이용 가능한 옵션을 모든 속성의 특정 조합으로 확장시키는 다수의 변형물을 가질 수 있다. 제품은, 임의의 옵션 없이, 제품에 대해 생성된 적어도 하나의 변형물(예를 들어, "디폴트 변형물")을 가질 수 있다. 브라우징 및 관리를 원활하게 하기 위해, 제품은, 제품 식별자(예를 들어, 스톡 키핑 유닛(stock keeping unit: SKU)) 등이 제공된 모음으로 그룹화될 수 있다. 제품의 모음은, 제품을 하나로 수동으로 분류함으로써(예를 들어, 맞춤형 모음), 자동 분류를 위한 규칙 세트를 구축함으로써(예를 들어, 스마트 모음) 등으로 구축될 수 있다. 제품 목록은, 가상 또는 증강 현실 인터페이스 등을 통해 볼 수 있는 2D 이미지, 3D 이미지 또는 모델을 포함할 수 있다.
일부 실시형태에서, 쇼핑 카트 객체는, 고객이 구매하려고 의도하는 제품을 저장하거나 추적하기 위해 사용된다. 쇼핑 카트 객체는 채널 특정될 수 있으며, 다수의 카트 라인 물품으로 구성될 수 있고, 각각의 카트 라인 물품은, 특정 제품 변형물에 대한 수량을 추적한다. 카트에 제품을 추가하는 것은 고객 또는 판매자로부터의 임의의 의무이행을 의미하지 않으며, 카트의 예상 수명은 대략 몇 분(몇 일이 아님)일 수 있기 때문에, 카트 객체/카트를 나타내는 데이터는 일시적 데이터 저장소에 지속될 수 있다.
그 다음, 고객은 결제로 진행된다. 상거래 관리 엔진(136)에 의해 생성된 결제 객체 또는 페이지는, 고객의 연락처 정보, 빌링 정보 및/또는 배송 세부사항과 같은, 주문을 완료하기 위한 고객 정보를 수신하도록 구성될 수 있다. 고객이 이들의 연락처 정보를 입력하지만 결제를 진행하지 않는 경우, 전자 상거래 플랫폼(100)은, (예를 들어, 폐기된 결제 구성 요소를 통해) 고객이 결제를 완료하도록 권장하기 위한 메시지를 고객 장치(150)에 전송할 수 있다. 그러한 이유로, 결제 객체는, 카트 객체보다 훨씬 더 긴 수명(몇 시간 또는 심지어 몇 일)을 가질 수 있으므로, 지속될 수 있다. 그 다음, 고객은 이들의 카트의 내용물에 대해 결제함으로써, 판매자에 대한 주문의 생성을 야기한다. 일부 실시형태에서, 상거래 관리 엔진(136)은, 결제 처리 구성 요소를 통해 다양한 결제 게이트웨이 및 서비스(106)(예를 들어, 온라인 결제 시스템, 모바일 결제 시스템, 디지털 지갑, 신용카드 게이트웨이)와 통신하도록 구성될 수 있다. 결제 게이트웨이(106)와의 실제 상호 작용은, 카드 서버 환경을 통해 제공될 수 있다. 결제 프로세스의 종료 시에, 주문이 생성된다. 주문은 판매자와 고객 간의 판매 계약이며, 판매자는 주문을 통해 열거된 상품 및 서비스(예를 들어, 주문 라인 물품, 배송 라인 물품 등)를 제공하기로 동의하고, 고객은 결제금액(세금을 포함함)을 제공하기로 동의한다. 주문이 생성되면, 알림 구성 요소를 통해, 주문 확인 알림이 고객에게 전송될 수 있으며, 주문 알림이 판매자에게 전송될 수 있다. 결제 처리 작업이 초과 판매(over-selling)를 회피하기 시작하는 경우, 재고가 비축될 수 있다(예를 들어, 판매자는 각각의 변형물에 대한 재고 정책 또는 구성을 사용하여 이러한 특성을 제어할 수 있다). 재고 비축은 짧은 기간(몇 분)을 가질 수 있으며, 특정 장소에서 및/또는 특정 (일반적으로 짧은) 시간 동안 구매자에게 판매하기 위해, 할인, 판촉 또는 제한된 재고의 제품이 공급될 수 있는 이벤트인, 반짝 세일 또는 "드롭"을 지원하도록 신속하고 가변적이어야 할 수 있다. 결제가 실패하는 경우, 비축은 해제된다. 결제가 성공하고, 주문이 생성되는 경우, 비축은 특정 장소에 할당된 영구적인(장기) 재고 의무이행으로 전환된다. 상거래 관리 엔진(136)의 재고 구성 요소는, 변형물이 비축된 위치를 기록할 수 있으며, 재고 추적이 활성화된 변형물에 대한 수량을 추적할 수 있다. 이에 따라, 재고 물품(수량 및 위치가 관리되는 물품을 나타내는 판매자 응대 개념)으로부터 제품 변형물(제품 목록의 템플릿을 나타내는 고객 응대 개념)을 분리시킬 수 있다. 재고 레벨 구성 요소는, 판매를 위해 이용 가능하거나, 주문에 할당되거나, 재고 이송 구성 요소로부터(예를 들어, 공급자로부터) 들어오는 수량을 추적할 수 있다.
그 다음, 판매자는 주문을 검토 및 이행(또는 취소)할 수 있다. 상거래 관리 엔진(136)의 검토 구성 요소는, 실제로 이들을 이행하기 전에 주문이 이행을 위해 적합하도록 보장하기 위해, 사업 프로세스 판매자의 사용을 구현할 수 있다. 주문은 사기성일 수 있고, 검증이 필요할 수 있으며(예를 들어, ID 확인), 판매자가 이들의 자금을 받도록 보장하기 위해 대기해야 하는 결제 방법 등을 가질 수 있다. 리스크 및 권장사항은 주문 리스크 모델에서 지속될 수 있다. 주문 리스크는 사기 탐지 도구로부터 생성될 수 있으며, 주문 리스크 API 등을 통해 타사에 의해 제출될 수 있다. 이행으로 진행하기 전에, 판매자는 결제 정보(예를 들어, 신용카드 정보)를 포착해야 할 수 있거나, 주문을 결제된 것으로 표시하기 전에, (예를 들어, 은행 이제, 수표 등을 통해) 이를 수신하기 위해 대기해야 할 수 있다. 판매자는 이제 배송을 위한 제품을 준비할 수 있다. 일부 실시형태에서, 이러한 사업 프로세스는, 상거래 관리 엔진(136)의 이행 구성 요소에 의해 구현될 수 있다. 이행 구성 요소는, 재고 위치 및 이행 서비스에 기초하여, 주문의 라인 물품을 논리적인 이행 작업 단위로 그룹화할 수 있다. 판매자는 작업 단위를 검토하여 조정할 수 있으며, 예를 들어, 판매자가 제품을 선택하여 상자에 포장하는 경우 사용되는 (예를 들어, 판매자 관리 위치에서의) 수동 이행 서비스를 통해, 관련 이행 서비스를 트리거할 수 있고, 배송 라벨을 구매하여 이의 추적 번호를 입력하거나, 단지 물품을 이행된 것으로 표시할 수 있다. 대안적으로, API 이행 서비스는, 타사 이행 서비스에 대한 이행 기록을 생성하도록, 타사 애플리케이션 또는 서비스를 트리거할 수 있다. 주문을 이행하기 위한 다른 가능성이 존재한다. 고객이 만족하지 않는 경우, 이들은 제품(들)을 판매자에게 반품할 수 있다. 사업 프로세스 판매자는, 반품 구성 요소에 의해 구현될 수 있는 물품을 "판매하지 않도록" 검토할 수 있다. 반품은, 판매된 제품이 실제로 사업으로 복귀되어 다시 판매 가능한 재고 보충(restock); 고객으로부터 징수된 돈이 부분적으로 또는 완전히 반환되는 환불; 환불된 돈이 얼마인지를 표기하는 회계 조정(예를 들어, 반품되지 않고 고객의 소유로 남아있는 상품 또는 임의의 재고보충 수수료가 있는 경우를 포함함) 등과 같은, 다양한 상이한 조치로 구성될 수 있다. 반품은 판매 계약(예를 들어, 주문)에 대한 변경을 나타낼 수 있으며, 전자 상거래 플랫폼(100)은, 법적 의무와 관련된(예를 들어, 세금과 관련된) 규정 준수 문제를 판매자가 인식하게 할 수 있다. 일부 실시형태에서, 전자 상거래 플랫폼(100)에 따라, 판매자는, 예를 들어 판매 모델 구성 요소(예를 들어, 물품에 발생된 판매 관련 이벤트를 기록하는 부록-전용 일자-기반 원장(append-only date-based ledger))를 통해 구현되는, 시간이 지남에 따른 판매 계약의 변경을 추적할 수 있다.
도 4는 결제 구성 요소를 구현하기 위해 원격 타사 서버(460)(아래에 추가로 설명됨)를 통해 타사 서비스 제공자(450)와 통신하는 전자 상거래 플랫폼(100)의 예시적인 하드웨어 구성의 블록도이다.
전자 상거래 플랫폼(100)의 상이한 구성 요소(예를 들어, 데이터 설비(134), 애널리틱스(analytics)(132), 상거래 관리 엔진(136), 및 애플리케이션(142A-B))는 별도의 하드웨어 또는 소프트웨어 구성 요소로 구현될 수 있거나, 공통 하드웨어 구성 요소 또는 서버로 구현될 수 있거나, 전자 상거래 플랫폼(100)의 공통 (통합형) 서비스 또는 엔진으로서 구성될 수 있음을 유의해야 한다. 도 4의 실시예에서, 전자 상거래 플랫폼(100)은, 코어 서버(410), 데이터 서버(420), 및 애플리케이션 서버(430)를 포함하며, 이들은 (예를 들어, 유선 연결을 통해 및/또는 무선 인트라넷 연결을 통해) 서로 각각 통신한다. 각각의 서버(410, 420, 430)는, 각각의 처리 장치(412, 422, 432)(그 각각은 예를 들어, 마이크로프로세서, 그래픽 처리 장치, 디지털 신호 프로세서, 또는 다른 계산 요소일 수 있음), 각각의 메모리(414, 424, 434)(그 각각은 예를 들어, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 하드 디스크, 광학 디스크, 가입자 식별 모듈(SIM) 카드, 메모리 스틱, 보안 디지털(SD) 메모리 카드 등일 수 있으며, 실체적인 또는 일시적인 메모리를 포함할 수 있음), 및 각각의 통신 인터페이스(416, 426, 436)(그 각각은 유선 및/또는 무선 통신을 위한 전송기, 수신기 및/또는 트랜시버를 포함할 수 있음)를 포함한다. 코어 서버(410)는, 예를 들어, 특히, 관리자(114), 애널리틱스(132), 코어 상거래 설비(136), 서비스(116) 및/또는 금융 설비(130)를 제공하는, 전자 상거래 플랫폼의 코어 기능과 관련된 작업을 수행할 수 있으며 명령을 저장할 수 있다. 데이터 서버(420)는, 특히, 데이터 설비(134)를 구현하기 위해 사용될 수 있다. 애플리케이션 서버(430)는, 예를 들어, 애플리케이션 개발 지원(128)을 구현하기 위한 그리고 애플리케이션(142)을 위한 명령 및 데이터를 저장하는, 애플리케이션(142)과 관련된 작업을 수행할 수 있으며, 명령을 저장할 수 있다.
판매자 및 고객은, 각각의 장치(102, 150, 152)를 사용하여, 하나 이상의 네트워크(440)(예를 들어, 가상 사설망(VPN), 인터넷 등을 포함하는 유선 및/또는 무선 네트워크)를 통해 전자 상거래 플랫폼(100)에 접속할 수 있다.
위에 언급된 바와 같이, 결제 거래 동안, 다른 가능성 중에서도, 배송 옵션 선택, 결제 플랜 선택, 보상 할인 적용과 같이, 상이한 카테고리의 거래를 위한 선택 가능한 옵션이 고객에게 제공될 수 있다. 다수의 이러한 서비스는 타사 서비스 제공자(450)에 의해 전달될 수 있으므로, 타사 서비스 제공자(450)의 외부 타사 서버(460)로의 외부 호출(예를 들어, API 호출)을 필요로 한다. 전형적으로, 결제 시의 이러한 외부 호출은, 라운드트립 요청 및 응답을 필요로 한다. 이들은 타사 서비스 제공자(450)에게 직접 이루어질 수 있거나, 판매자가 결제 옵션을 관리하기 위해 이들의 온라인 스토어에 설치했을 수 있는 타사 애플리케이션을 통해 이루어질 수 있다. 타사 애플리케이션은, 서버(410, 420, 430)로부터 원격에 및/또는 지리적으로 다른 위치에 위치되는 타사 서버(460)에서 흔히 호스팅된다.
도 4는 전자 상거래 플랫폼(100)의 예시적인 하드웨어 구현예를 도시하지만, 다른 구현예가 가능할 수 있음을 이해해야 한다. 예를 들어, 더 많거나 더 적은 수의 서버가 있을 수 있거나, 전자 상거래 플랫폼(100)이 분산형 방식으로 구현될 수 있거나, 메모리(414, 424, 434) 중 적어도 일부는, 다른 가능한 변형예 중에서, 외부 저장소 또는 클라우드 기반 저장소로 대체될 수 있다.
도 5는 도 1을 참조하여 설명된 일부 세부사항을 생략하고 아래에 설명되는 추가적인 세부사항을 도시하는 전자 상거래 플랫폼(100)의 다른 도면이다. 특히, 도 5는, 예를 들어 타사 서비스 제공자로부터의 결제 옵션 중 일부/전부가 아직 로딩되지 않은 경우에도, 결제 프로세스의 완료를 가능하게 하고 결제 옵션의 점진적인 로딩을 제공하는 것과 관련된 전자 상거래 플랫폼(100)의 일부 예시적인 세부사항을 도시한다.
도 5는 단순화를 위해 온라인 스토어(138)의 단일 예를 도시한다. 그러나, 결제 거래 프로세스를 각각 갖는, 전자 상거래 플랫폼(100) 상의 다수의 온라인 스토어(138)가 있을 수 있음을 이해해야 한다. 온라인 스토어(138)의 결제 거래 프로세스는, 거래 입력(312) 및 하나 이상의 옵션 카테고리(314)와 연관된다.
각각의 옵션 카테고리(314)는, 결제 시에만 결정될 수 있거나 채워질 수 있는(즉, 이들이 사전 로딩될 수 없음) 결제 거래의 양태 또는 카테고리와 관련될 수 있다. 예를 들어, 옵션 카테고리(314)는, 다른 가능성 중에서, 배송, 결제 할부, 할인, 보상 시스템, 구독, 관세와 관련될 수 있다. 이와 관련하여, 각각의 옵션 카테고리(314)는, 거래를 완료하기 위해, 사용자가 결제 프로세스의 일부로서 선택할 수 있거나 선택해야 하는 결제 옵션(316)의 세트를 이와 연관시킨다. 결제 옵션(316)은, 이들이 결정될 수 있기 전에, 결제 옵션이 고객별 및/또는 구매별 정보를 필요로 하기 때문에, 사전 로딩될 수 없다.
고객별 및 구매별 정보는 거래 입력(312)을 구성한다. 예를 들어, 옵션 카테고리가 배송과 관련된 경우, 고객별 입력은 배송 주소일 수 있으며, 구매별 입력은 고객의 카트의 가격, 및 패키지의 크기 및 중량일 수 있다. 옵션 카테고리(314)가 회원 보상 프로그램과 관련된 경우, 고객별 입력은 고객의 회원 번호일 수 있으며, 구매별 입력은 고객의 카트 내의 물품(즉, 보상 물품 또는 통상적인 물품)의 카테고리일 수 있다.
전자 상거래 플랫폼(100)은, 온라인 스토어(138)와 통신하는 결제 옵션 관리자(350)를 더 포함한다. 일반적으로, 결제 거래가 옵션 카테고리(314)를 포함하는 경우, 그러한 결제 거래를 완료하기 위해, 그러한 옵션 카테고리(314)에 따른 결제 옵션(316) 중 하나의 선택이 요구된다. 따라서, 아래에 더 상세히 설명되는 바와 같이, 결제 옵션 관리자(350)는, (주어진 옵션 카테고리(314)에 대한) 결제 옵션 모음 중 어떤 것이 적어도 제1 세트/세그먼트/그룹의 결제 옵션에 속하는지, 그리고 결제 옵션 모음 중 어떤 것이 적어도 제2 세트/세그먼트/그룹의 결제 옵션에 속하는지를 식별 및/또는 결정하도록 구성된다. 그 다음, 결제 옵션 관리자(350)는 결제 UI를 업데이트하도록 구성되며, 결제 UI는, 사용자 장치(150)로 하여금, 예를 들어 상이한 시간에(즉, 점진적으로), 제1 및 제2 세트의 결제 옵션을 사용자에게 상이하게 디스플레이하거나 제공하게 하기 위해 통신된다.
예를 들어, 제1 세트는, 즉시 또는 짧은 한정된 지연으로 고객에게 표시되기에 충분히 빠르게 로딩될 수 있는 결제 옵션(예를 들어, 로컬 데이터베이스 검색을 통한 고정 요금)일 수 있으며, 제2 세트는, 로딩되기에 더 느리거나/너무 느려서 제1 세트에 따라 허용될 수 없는 결제 옵션일 수 있다(예를 들어, 동적 배송 요금을 위한 타사의 API 호출). 제2 세트의 결제 옵션은 지연 로딩될 수 있다. 예를 들어, 제2 그룹의 (더 느린) 결제 옵션은 디스플레이로부터 숨겨질 수 있으며, 고객이 결제 UI에서 선택 가능한 사용자 인터페이스 요소(예를 들어, 확대기 또는 스피너)를 선택한 후에만 디스플레이될 수 있다. 그러나, 결제 옵션 관리자(350)에 따라, 전자 상거래 플랫폼(100)은, 제2 그룹의 (더 느린) 결제 옵션이 로딩되지 않은 경우에도(그리고 이에 따라 결제 UI에서의 선택을 위해 디스플레이되지 않고 이용 가능하지 않는 경우에도), 제1 그룹의 (더 빠른) 결제 옵션 중 하나를 사용하여 결제 거래를 완료할 수 있다. 그러한 방식으로, 결제 옵션 관리자(350)에 따라, 전자 상거래 플랫폼(100)은, (예를 들어, 타사 서비스 제공자(350)로부터의) 모든 결제 옵션(316)이 아직 타사 서버로부터 수신되지 않았거나 고객 장치(150) 상에 디스플레이되지 않은 경우에도, 결제 프로세스를 완료할 수 있다.
결제 옵션 관리자(350)를 사용하는 예시적인 결제 거래가 이제 설명된다. 결제 옵션 관리자(350)는 초기에 트리거 이벤트에 의해 활성화되며, 트리거 이벤트는 전형적으로 고객 장치(150)에/내에 입력된 고객 입력이고, 네트워크를 통해 전자 상거래 플랫폼(100)에 통신된다. 트리거 이벤트는, 다른 가능성 중에서, 결제 프로세스 동안의 배송 주소 수신, 결제 사용자 인터페이스의 초기화, 또는 특정 옵션 카테고리를 활성화시키기 위한 사용자 인터페이스 상의 고객의 선택일 수 있다.
트리거 이벤트가 탐지된 후에, 결제 옵션 관리자(350)는, 관련된 각각의 옵션 카테고리(314)에 대해 결제 옵션(316)을 채우기 위한 질의를 자동으로 수행한다. 예를 들어, 옵션 카테고리(314)가 배송과 관련된 경우, 트리거 이벤트는 고객의 배송 주소 수신일 수 있다. 그 다음, 배송 요금 요청/질의는, 거래 입력(312)(예를 들어, 카트의 가격, 배송 주소의 위치, 및 패키지의 크기 및 중량 등)에 기초하여, 결제 옵션 관리자(350)에 의해 자동으로 발송된다.
위에 언급된 바와 같이, 결제 옵션(316)은 이러한 고객별 및 구매별 정보에 따라 좌우되므로, 미리 결정될 수 없다. 옵션 카테고리(314)는, 다른 가능성 중에서, 배송, 결제 할부, 할인, 보상 시스템, 구독, 관세 중 하나 이상과 관련될 수 있다.
결제 옵션 관리자(350)는, 요청/질의를 로컬 및 원격 소스에 발송하도록 구성될 수 있다. 예를 들어, 결제 옵션 관리자(350)는 로컬 데이터 설비(134)/애널리틱스(132)에 질의할 수 있으며, 결제 옵션(316)에 대해 (선택적으로 타사 서버(460)를 통해) 원격 타사 서비스 제공자(450)에 질의할 수 있다.
로컬 질의의 경우, 결제 옵션 관리자(350)는, 전자 상거래 플랫폼(100)의 데이터 설비(134) 및 애널리틱스(132)로부터의 정보에 접속할 수 있다. 애널리틱스(132) 및 데이터 설비(134)는, 예를 들어, 시간이 지남에 따라 변경되지 않는 옵션 카테고리에 대한 고정 요금 또는 결제 옵션을 갖는 데이터베이스를 포함할 수 있다. 배송과 관련된 옵션 카테고리의 경우, 데이터베이스는, 예를 들어, 특정 구매 요건이 충족되면 조건부인 고정 배송 요금 또는 무료 배송 결제 옵션을 포함할 수 있다.
애널리틱스(132) 및 데이터 설비(134)는, 특히, 고객에 관한 정보(예를 들어, 고객 프로필에 저장됨), 고객의 구매 습관에 관한 정보(예를 들어, 고객 그룹에 의해 집계된 구매 정보, 시간 기간에 의해 집계된 구매 정보 등), 고객의 브라우징 습관에 관한 정보(예를 들어, 고객 그룹에 의해 집계된 브라우징 정보, 시간 기간에 의해 집계된 브라우징 정보 등), 판매에 관한 정보(예를 들어, 제품 카테고리에 의해 집계된 판매 정보, 시간 기간에 의해 집계된 판매 정보, 지리에 의해 집계된 판매 정보 등)를 더 포함할 수 있다. 고객에 관한 정보는, 고객 그룹을 한정하기 위해 사용될 수 있다. 예를 들어, 고객 그룹은, 다른 가능성 중에서, 공통적인 성별, 공통적인 연령 그룹, 공통적인 지리적 영역, 공통적인 주거 방식, 공통적인 구매 이력, 공통적인 브라우징 이력, 공통적인 관심사(고객 프로필에 명시적으로 표시되는지 또는 구매 또는 브라우징 이력에 암시적으로 표시되는지 여부와 관계없이), 및 이들의 조합과 같은, 공통적인 특성에 의해 한정될 수 있다. 물론, 이러한 데이터베이스는, 전자 상거래 플랫폼(100)으로부터 로컬이 아닌 원격으로 저장될 수 있음을 인식한다.
타사 서비스 제공자(450)에 대한 외부 질의의 경우, 전형적으로 이러한 질의에 대한 응답은, 원격 타사 서버(460)에서 호스팅되는 애플리케이션과의 라운드트립 요청 및 응답을 필요로 한다. 배송 시나리오의 일 실시예는, 변동 배송 요금에 대한 배송업체의 API 호출이다. 또한, 외부 질의는, 타사 서비스 제공자(450)에게 직접 이루어질 수도 있다. 위에 언급된 바와 같이, 이러한 외부 호출의 속도는, 타사 및/또는 연결성 제공자에 의해 제공되는, 기술 인프라의 레벨, 서버 속도, 및 네트워크 연결 속도에 따라 좌우될 수 있다. 따라서, 이러한 외부 호출의 지연은, 타사 서비스 제공자 자체의 지연으로 인해 주로 유발될 수 있다.
전형적으로, 기존의 통상적인 온라인 결제에서, 모든 요청/질의에 대한 응답이 수신된 후에, 로컬 및 외부 질의 둘 모두로부터의 전체 세트의 결제 옵션은, 드롭다운 메뉴 또는 다른 형태의 리스트(예를 들어, 라디오 버튼의 세트, 또는 일련의 카드/섹션)로 사용자 인터페이스를 통해 고객에게 동시에 디스플레이된다. 그러나, 본 개시물에서, 결제 옵션 관리자(350)는, 이들이 제1 세트(예를 들어, 고속-로딩 세트) 또는 제2 세트(예를 들어, 저속-로딩 세트)의 결제 옵션인 것으로 식별되거나 결정되는지 여부에 따라, 각각의 결제 옵션(316)을 디스플레이하도록 고객 장치(150) 상의 사용자 인터페이스에 명령하도록 구성된다.
이를 위해, 결제 옵션 관리자(350)는, 로딩 속도 계산 모듈(352)을 사용하여, 질의의 응답 시간에 기초하여, 각각의 결제 옵션(316)이 제1 세트의 옵션에 속해야 하는지 또는 제2 세트의 옵션에 속해야 하는지 여부를 식별 및/또는 동적으로 결정하도록 구성된다. 일부 실시예에서, 제1 세트의 옵션은 "고속-로딩" 옵션일 수 있으며, 제2 세트의 옵션은 "저속-로딩" 또는 "지연 로딩된" 옵션일 수 있다. "고속-로딩 옵션" 및 "저속-로딩 옵션"이라는 표현은 상대적인 용어로서, 결제 옵션(316)은, 아래에 추가로 설명되는 바와 같이, 더 느리게 로딩되거나 지연 로딩되는 다른 결제 옵션(316)보다 더 빠르게 또는 미리 한정된 시간 임계치 내에서 그것이 로딩되는(즉, 질의에 대한 응답이 수신되는) "고속-로딩"으로서 식별될 수 있음을 이해한다.
로딩 계산 모듈(352)은, 하나 이상의 로딩 메트릭(354)에 기초하여, 각각의 결제 옵션(316)이 제1 세트의 옵션(예를 들어, "고속-로딩")의 일부인지 또는 제2 세트의 옵션(예를 들어, "저속-로딩" 또는 "지연 로딩된")의 일부인지 여부를 식별하거나 결정한다. 이러한 로딩 메트릭(354)은, 각각의 결제 옵션(316)이 제1 세트의 옵션에 속하는지 또는 제2 세트의 옵션에 속하는지(예를 들어, "고속-로딩" 또는 "저속-로딩" 결제 옵션) 여부를 결정하기 위해 계산 모듈(352)을 로딩함으로써 질의에 적용되는 하드 또는 동적 규칙이다. 메트릭은, 정적 임계치 컷오프 시간(예를 들어, 제1 세트의 옵션에 포함되기 위해, 질의에 대한 응답 시간은 500 ms 미만이어야 함), 경험적 측정치(예를 들어, 컷오프 시간은, 유사한 질의에 대한 이력 또는 최근 응답 시간에 기초하여 설정됨), 경험적 측정치의 통계적 분석(예를 들어, 컷오프 시간은, 예를 들어, 응답 시간이 실질적으로 정규적으로 분포되는 하나 또는 2개의 응답 시간과 같은, 분포의 컷오프 포인트에 기초하여 설정됨), 로딩되는 호출의 분석(예를 들어, 제1 당사자 호출, 타사 호출, 또는 데이터베이스 검색을 사용하여, 질의가 수행되는지 여부), 네트워크 분석(예를 들어, 컷오프 시간은, 고객 네트워크 또는 제1 당사자 또는 타사 네트워크에 대한 현재 또는 예측된 부하에 기초하여 설정됨), 도메인 정보에 기초하는 추단법(예를 들어, 모든 고정 요금은 제1 세트의 옵션에 포함되는 반면에, 모든 변동 요금은 제2 세트의 옵션에 포함됨), 및 고객 구성(예를 들어, 판매자 자체 또는 전자 상거래 플랫폼(100)은, 어떤 요금이 제1 세트의 옵션에 속하고 어떤 요금이 제2 세트의 옵션에 속하는지를 결제 옵션 관리자(350)에게 표시함)일 수 있다. 특히, 로딩 메트릭(354)은, 전자 상거래 플랫폼(100)에서의 컴퓨팅 자원의 상태에 따라 동적으로 가변되는 규칙을 포함할 수 있다. 예를 들어, 현재 컴퓨팅 자원 또는 네트워크 자원의 높은 사용량(예를 들어, 네트워크 대역폭의 높은 사용량, 높은 네트워크 혼잡도, 메모리 자원의 높은 사용량 등)이 있는 경우, 임계치 컷오프 시간은, 컴퓨팅/네트워크 자원의 추가적인 사용량을 감소시키기 위해, 동적으로 감소될 수 있다(예를 들어, 300 ms 내에 도달하는 응답만이 제1 세트의 옵션에 포함됨). 따라서, 지연 로딩되는 옵션은 변경될 수 있다; 제1 세트에 속하는 옵션, 및 제2 세트에 속하는 옵션이 반드시 고정될 필요는 없다.
일부 실시예에서, 전자 상거래 플랫폼(100)은, (예를 들어, 이력 측정치에 기초하여) 다양한 타사 서비스 제공자의 API의 상대 속도에 관한 정보를 미리 가질 수 있다. 그 다음, (판매자에 의해 선택될 수 있는) 결제 옵션(316)에 대한 서비스 제공자에 기초하여, (예를 들어, 선택된 제공자의 상대 속도에 대한 통계적 분석에 기초하여) 결제 옵션 관리자(350)가 컷오프 시간을 한정할 수 있다.
경험적 측정치, 유사한 질의에 대한 이력 또는 최근 응답 시간, 컴퓨팅/네트워크 자원의 사용량, 선택된 제공자의 상대 속도 등과 같은, 로딩 계산 모듈(352)에 의해 사용되는 데이터 및 정보는, 전용 메모리(356) 및/또는 데이터 설비(134)에 저장될 수 있다.
제1 세트의 옵션이 결제 옵션 관리자(350)에 의해 식별된 경우, 결제 옵션 관리자(350)는, 제1 세트의 옵션으로부터의 적어도 하나의 옵션을 (트리거 이벤트 직후에, 또는 짧은 고정된 지연으로) 자동으로 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 표시를 원격 클라이언트 장치(150)에 전송하도록 구성된다. 제1 세트의 옵션은, 제1 세트의 옵션과 연관된 하나 이상의 요청/질의에 대한 응답의 수신 후에, 결제 옵션 관리자(350)에 의해 식별될 수 있다. 특히, 제1 세트의 옵션 중 적어도 하나의 이러한 디스플레이는, 제2 세트의 옵션으로부터의 옵션 중 어느 하나의 디스플레이 전에 이루어진다.
결제 옵션 관리자(350)는, 제1 세트의 옵션으로부터의 적어도 하나의 옵션을 통해, 선택 가능한 사용자 인터페이스 요소(예를 들어, 확대기 아이콘 또는 V형 기호)를 자동으로 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 표시를 원격 클라이언트 장치(150)에 전송하도록 추가로 구성된다. 제2 세트의 옵션으로부터의 옵션 중 어느 하나 또는 전부가 지연 로딩될 수 있으며, 선택 가능한 사용자 인터페이스 요소의 선택 전에, 클라이언트 장치(150) 상의 디스플레이로부터 숨겨져 있다.
일부 실시예에서, 결제 옵션 관리자(350)는, 제1 세트의 옵션으로부터의 모든 옵션을 동시에 자동으로 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 표시를 원격 클라이언트 장치(150)에 전송하도록 구성될 수 있다. 예를 들어, 모든 고정 요금 배송 옵션은, (예를 들어, 골조(skeleton) UI 요소를 대체하는) 제1 세트의 옵션으로서 결제 페이지 상에 동시에 디스플레이될 수 있으며, 제1 세트의 옵션으로부터의 각각의 고정 요금 옵션은, 고객이 선택하기 위한 라디오 버튼으로 디스플레이된다. 제1 세트의 옵션으로부터의 모든 옵션이 동시에 로딩되지 않는 경우, 제1 세트의 옵션 전부가 로딩되도록 대기하는 것은, 렌더링 전의 짧은 시간 기간 동안, 페이지의 섹션 또는 페이지의 디스플레이를 지연시킬 수 있다. 즉, 제1 세트의 옵션 전부가 로딩될 때까지, 다른 UI 요소의 로딩(예를 들어, 페이지 로딩, 섹션 로딩)이 고객에 대해 차단될 수 있다(즉, 디스플레이되지 않음).
제1 세트의 옵션 중 하나 초과의 옵션이 고객 장치(150)를 통해 고객에게 먼저 보이게 되는 경우, 결제 옵션 관리자(350)는, 고객 장치(150) 상에 디스플레이하기 위한 결제 기준 또는 미리 선택된 순서에 기초하여, 제1 세트의 옵션의 옵션을 랭킹하도록 추가로 구성될 수 있다. 예를 들어, 미리 선택된 순서는 가격에 기초하는 랭킹일 수 있으며, 최저가 옵션이 리스트의 상단에 디스플레이된다. 옵션 카테고리(314)가 배송인 경우, 제1 세트의 옵션의 옵션은, 배송 시간, 또는 판매자의 미리 결정된 선호 배송업체에 기초하여, 대안적으로 랭킹 및 디스플레이될 수 있다. 다른 랭킹 시스템은, 다른 가능성 중에서, 호출 속도, 고객의 특정 이력 선호도, 사용 가능성, 전반적인 대중성, 또는 최상의 이율 구비에 기초하는 랭킹을 포함한다. 또한, 이러한 랭킹은, 요인의 조합(예를 들어, 1차 정렬 순서, 2차 정렬 순서 등)에 따라 좌우될 수 있다.
다른 실시예에서, 결제 옵션 관리자(350)는, 고객 장치(150)를 통해 제1 세트의 옵션으로부터의 하나의 옵션만을 자동으로 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 표시를 원격 클라이언트 장치(150)에 전송하도록 구성될 수 있다. 예를 들어, 결제 옵션 관리자(350)가 제1 세트의 옵션으로부터 이용 가능한 3개의 결제 옵션을 식별하는 경우, 최저가 결제 옵션은 드롭다운에서 선택된(볼 수 있는) 디폴트 옵션으로서 표시될 수 있다. 선택 가능한 사용자 인터페이스 요소(예를 들어, 드롭다운/확대기 버튼)가 클라이언트 장치(150)에서 고객에 의해 선택되거나 클릭될 때까지, 다른 2개의 결제 옵션은 드롭다운 내에서 보이지 않을 수 있다. 그러한 시점에, 제1 세트의 옵션으로부터의 2개의 추가적인 결제 옵션을 볼 수 있지만, 이들이 이미 로딩되어 있기 때문에, 로딩 표시자가 없다.
제1 세트의 옵션으로부터의 적어도 하나의 옵션의 디스플레이는, 제2 세트의 옵션으로부터의 임의의 옵션의 디스플레이 전에 이루어진다. 또한, 제1 세트의 옵션으로부터의 적어도 하나의 옵션의 디스플레이는, 결제 옵션 관리자(350)가 제2 세트의 옵션에 대한 하나 이상의 질의에 대한 응답/답변을 수신하기 전에도 이루어질 수 있다.
위에 언급된 바와 같이, 전형적으로 통상적인 온라인 결제 거래는, 결제 거래 동안 옵션이 대기 중임을 표시하기 위해, 사용자 인터페이스를 통해 로딩 커서를 고객에게 표시한다. 이러한 시간에, 모든 결제 옵션이 로딩될 때까지 거래가 완료될 수 없기 때문에, 고객은 지연에 직면한다. 또한, 고객은 이들이 로딩 커서를 볼 때 기다리는 경향이 있으며, 페이지가 완전히 로딩되지 않았고 결제 거래가 아직 진행될 수 없음을 인식한다. 또한, 고객은 디스플레이될 표시되는 대기 중인 추가적인 옵션을 보길 원하기 때문에 기다리는 경향이 있다.
이를 위해, 결제 옵션 관리자(350)는, 선택 가능한 사용자 인터페이스 요소(예를 들어, 확대기)를 갖는 사용자 인터페이스 상에 디스플레이되는 제1 세트의 옵션 중 적어도 하나(예를 들어, 고속-로딩 옵션 중 하나)를 즉시(또는 짧은 고정된 지연으로) 고객에게 제공하도록 구성되지만, 제2 세트의 옵션 중 어느 하나(예를 들어, 저속-로딩 또는 지연 로딩된 옵션) 또는 로딩 커서를 제공하거나 디스플레이하지 않는다. 결제 옵션 관리자(350)는, 사용자 인터페이스 상의 확대기 뒤에 제2 세트의 옵션(예를 들어, 저속-로딩 또는 지연 로딩된 옵션) 및 로딩 커서를 숨기기 위한 표시를 원격 클라이언트 장치(150)에 전송하도록 추가로 구성된다.
결제 거래가 제1 세트의 옵션 중 어느 하나를 통해(예를 들어, 고속-로딩 옵션 중 어느 하나를 통해) 완료될 수 있지만, 클라이언트 장치(150)를 통해 고객에게 보일 수 있게 되는 제1 세트의 옵션 중 적어도 하나는, 임의의 추가적인 고객 상호 작용을 필요로 하지 않으면서, 디폴트 옵션으로서 사전 선택될 수 있다.
제1 세트의 옵션으로부터의 하나 초과의 옵션이 고객 장치(150)를 통해 고객에게 보일 수 있게 되는 경우, 결제 옵션 관리자(350)는, 제1 세트의 옵션 중 하나의 옵션을 디폴트 옵션으로 자동으로 할당할 수 있다. 예를 들어, 제1 세트의 옵션이 가격에 기초하여 랭킹된 경우, 리스트의 상단에 디스플레이되는 최저가 옵션이 디폴트 옵션으로서 선택될 수 있다. 제1 세트의 옵션 중 하나의 옵션만이 고객 장치(150)를 통해 고객에게 보일 수 있게 되는 경우, 결제 옵션 관리자(350)는, 임의의 추가적인 고객 상호 작용을 필요로 함이 없이, 제1 세트의 옵션으로부터의 하나의 디스플레이된 옵션을 디폴트 옵션으로 자동으로 할당할 수 있다.
제1 세트의 결제 옵션 중 다수의 옵션이 디스플레이되는 경우, 고객이 다수의 옵션의 모든 특징을 비교하는 데 일정 시간이 걸릴 수 있다. 따라서, 다수의 옵션의 경우, 결제 옵션 관리자(350)는, 다른 요인 중에서, 제1 세트의 옵션으로부터의 어떤 로딩된 옵션이 최저가인지, 가장 빠른 배달 시간을 갖는지, 또는 가장 인기가 있는지를 식별/결정하고, 리스트 상에서 그러한 옵션을 자동으로 강조 표시하도록 선택적으로 추가로 구성될 수 있다. 옵션은 상이한 폰트 또는 배경색으로 강조 표시될 수 있거나, "가장 빠른", "최저가", "가장 인기 있는" 등으로 라벨링/표시될 수 있다.
본 결제 옵션 관리자(350)는, 제2 세트의 옵션 중 어느 하나 또는 전부에 대해 각각의 질의로부터 응답을 수신하지 않은 경우에도, 제1 세트의 결제 옵션으로부터의 옵션 중 하나를 사용하여, 결제 거래의 완료를 허용/활성화하도록 구성된다. 따라서, 결제 옵션 관리자(350)는, 제2 세트의 옵션(예를 들어, 저속-로딩 옵션)이 로딩되지 않은 경우에도, (예를 들어, 고객이 결제를 완료하기 위해 옵션을 선택할 수 있게 하는) 결제 거래를 고객이 진행할 수 있는 표시를 클라이언트 장치(150)에 전송함으로써, 사용자 인터페이스 상에 디스플레이되는 제1 세트의 옵션(예를 들어, 고속-로딩 옵션)으로부터의 옵션 중 적어도 하나를 사용하여, 결제 거래의 완료를 가능하게 한다.
제2 세트의 옵션이 질의에 기초하여 결제 옵션 관리자(350)에 의해 식별된 후에, 제2 세트의 옵션의 로딩은 사용자 인터페이스 상에 숨겨져 있다. 제2 세트의 옵션이 여전히 로딩 중인 경우, 결제 옵션 관리자(350)는, 고객이 결제 사용자 인터페이스 상의 선택 가능한 사용자 인터페이스 요소(예를 들어, 확대기 버튼 또는 V형 무늬)를 선택하는 경우에만, 로딩 표시자(예를 들어, 로딩 커서/스피너)를 디스플레이하기 위해 결제 사용자 인터페이스를 업데이트하도록 구성된다.
사용자 인터페이스 요소가 고객에 의해 선택되는지 여부와 관계없이, 결제 옵션 관리자(350)는, 제1 세트의 옵션에 대해 질의가 수행되는 동시에 제2 세트의 옵션에 대해 질의를 수행한다. 이러한 방식으로, 로딩의 표시는, 결제 사용자 인터페이스를 통해 고객에게 즉시 보이지 않는다. 사용자 인터페이스 요소는, 다른 가능한 사용자 인터페이스 옵션 중에서, 드롭다운 메뉴를 위한 확대기, 또는 확대 가능한 섹션(예를 들어, V형 무늬로 선택 가능함)일 수 있다.
사용자 인터페이스 요소가 선택되고, 제2 세트의 옵션이 여전히 로딩 중인 경우(즉, 제2 세트의 옵션에 대한 모든 응답이 수신되지 않은 경우), 제2 세트의 옵션의 모든 옵션이 이용 가능해질 때까지, 사용자 인터페이스를 통해 로딩 커서(예를 들어, 스피너)가 고객에게 표시된다. 그러한 시점에, 결제 옵션 관리자(350)는, 현재 로딩된 제2 세트의 옵션으로 스피너를 대체함으로써, 사용자 인터페이스를 업데이트하기 위한 업데이트를 클라이언트 장치(150)에 전송하도록 구성된다. 예를 들어, 변동 배송 요금이 제2 세트의 옵션 중의 옵션(예를 들어, 저속-로딩 옵션)인 것으로 결정되는 경우, 고객은 이들이 사용자 인터페이스 요소와 상호 작용하는 경우에만 변동 배송 요금을 항상 볼 것이다.
사용자 인터페이스 요소가 시간 기간 후에 고객에 의해 선택되고, 제2 세트의 옵션이 이미 로딩된 경우(즉, 제2 세트의 옵션에 대한 모든 응답이 수신된 경우), 결제 옵션 관리자(350)는, 로딩 커서/스피너 없이 모든 제2 세트의 옵션을 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 업데이트를 클라이언트 장치(150)에 전송하도록 구성될 수 있다.
대안적으로, 결제 옵션 관리자(350)는, 이들이 로딩된 후에 결제 페이지 상의 사용자 인터페이스 요소를 제2 세트의 옵션 자체로 자동으로 대체하기 위해, 사용자 인터페이스를 업데이트하기 위한 업데이트를 클라이언트 장치(150)에 전송하도록 구성될 수 있다. 예를 들어, 고객이 사용자 인터페이스 요소를 클릭하도록 대기하고, 제2 세트의 옵션이 이제 모두 로딩된 경우, 제2 세트의 옵션은, 배송 옵션 리스트의 추가적인 라디오 버튼으로서 즉시 그리고 자동으로 디스플레이될 수 있으며, 사용자 인터페이스 요소는 더 이상 디스플레이되지 않는다.
제2 세트의 옵션에 다수의 옵션이 있는 경우, 일단 로딩되면, 결제 옵션 관리자(350)는, 제2 세트의 옵션의 로딩된 다수의 옵션을 랭킹하고, 다른 가능성 중에서, 가격, 배송 시간, 이력 고객 선호도, 또는 사전 한정된 판매자 선호도, 사용 가능성에 기초하여, 제2 세트의 옵션을 디스플레이하기 위해 사용자 인터페이스를 업데이트하기 위한 업데이트를 클라이언트 장치(150)에 전송하도록 구성될 수도 있다.
일부 실시예에서, 제2 세트의 결제 옵션이 로딩되면, 이들의 해당 특징(예를 들어, 가격 및 배송 시간)은, 디스플레이된 제1 세트의 결제 옵션보다 더 선호될 수 있다(즉, 더 낮거나 더 빠름). 이러한 경우, 모든 결제 옵션은, 최신 최저가(또는 가장 빠른, 또는 가장 판매자 선호된, 또는 이행 네트워크 선호된 등) 옵션이 결제 옵션의 리스트에 먼저 디스플레이되도록, 자동으로 재배치/재-랭킹될 수 있다. 대안적으로, 전체 리스트를 재배치하는 대신에, 결제 옵션이 전술한 바와 같은 "식별 표지"인 경우, 단지 식별 표지 또는 강조 표시가 최신 최저가/가장 빠른 결제 옵션으로 이동될 수 있다.
다른 실시예에서, 고객이 사용자 인터페이스 요소를 선택/클릭하지 않는 경우, 제2 세트의 옵션 중 하나의 옵션이 디스플레이된 제1 세트의 결제 옵션보다 더 선호되는 것으로 밝혀지더라도, 제2 세트의 옵션 중 더 선호되는 옵션은 사용자 인터페이스에 디스플레이되지 않을 수 있다.
선택적으로, 그 다음, 결제 옵션 관리자(350)는, 고객이 추가적인 결제 옵션을 보기 위해 사용자 인터페이스 요소를 선택했는지 여부와 관계없이, 새로운 더 선호하는 결제 옵션에 대한 알림을 고객에게 제공하기 위해, 사용자 인터페이스를 업데이트하기 위한 업데이트를 클라이언트 장치(150)에 전송하도록 구성될 수도 있다.
따라서, 지금까지, 결제 옵션 관리자(350)는, 고속-로딩 옵션 및 저속-로딩 또는 지연 로딩된 옵션과 같은, 2개의 집단/세트로 결제 옵션을 디스플레이하기 위해, 사용자 인터페이스를 식별 및 업데이트하도록 구성되는 것으로 설명되었다. 그러나, 선택적으로, 결제 옵션 관리자(350)는, 3개의 세트(예를 들어, 고속-로딩 집단, 더 빠른 저속-로딩 집단, 및 더 느린 저속-로딩 집단으로서)와 같은, 2개 초과의 세트/집단으로 결제 옵션을 분할하도록 구성될 수 있다. 예를 들어, 제1(예를 들어, 고속-로딩) 세트/집단은 디스플레이를 위해 즉시 이용 가능해질 수 있으며, 제2(예를 들어, 더 빠른 저속-로딩) 세트/집단은 제1 시간량 후에 디스플레이를 위해 이용 가능해질 수 있고, 제3(예를 들어, 더 느린 저속-로딩) 세트/집단은 제2 시간량 후에 디스플레이를 위해 이용 가능해질 수 있으며, 제2 시간량은 제1 시간량 초과이다.
예를 들어, 사용자 인터페이스 요소의 선택에 응답하여, 결제 옵션 관리자(350)는, 제1 세트의 옵션으로부터 임의의 나머지 옵션을 디스플레이하기 위해, 그리고 제3 세트의 옵션을 디스플레이하기 전에, 제2 세트의 옵션에 대해 각각의 질의로부터 응답을 수신한 후에 제2 세트의 옵션을 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 업데이트를 클라이언트 장치(150)에 전송할 수 있다. 결제 옵션 관리자(350)는, 각각의 질의로부터의 응답이 모두 수신되지 않은 경우 제3 세트의 옵션에 대해 로딩 표시자를 디스플레이하기 위해, 또는 각각의 질의로부터의 응답이 모두 수신된 제3 세트의 옵션을 디스플레이하기 위해, 사용자 인터페이스를 업데이트하기 위한 업데이트를 클라이언트 장치(150)에 추가로 전송할 수 있다.
다른 실시예에서, 제1 시간량은, 고객이 사용자 인터페이스 요소를 선택하는 데 걸리는 시간량일 수 있다. 이러한 경우, 사용자 인터페이스 요소가 선택된 경우, 로딩된 임의의 옵션은, 제2 세트의 옵션 중의 옵션(예를 들어, 더 빠른 저속-로딩 옵션)으로서 디스플레이된다. 여전히 로딩 중인 옵션은 제3 세트의 옵션 중의 옵션(예를 들어, 더 느린 저속-로딩 옵션)으로서 간주될 수 있으며, 제3 세트의 옵션(더 느린 저속-로딩 옵션)이 이용 가능해질 때까지, 제2 세트의 옵션(더 빠른 저속-로딩 옵션) 및 로딩 커서(예를 들어, 스피너)가 고객에게 표시될 수 있다. 그러한 시점에, 스피너는 제3 세트의 옵션으로 대체될 수 있다.
도 6은 통상적인 전자 상거래 플랫폼(600)과 로컬 데이터베이스(634), 고객 장치(150), 및 타사 서비스 제공자(450) 간의 예시적인 통신을 도시하는 신호 다이어그램이다. 트리거 이벤트(602)의 알림(604) 또는 고객 장치로부터의 요청(들) 이후에, 통상적인 전자 상거래 플랫폼(600)은 전형적으로 결제 옵션을 위해 내부 데이터베이스(606) 및/또는 원격 타사 서비스 제공자(608)에 질의를 전송한다. 모든 요청/질의에 대한 응답(로컬 응답(610) 및 외부 응답(612)을 포함함)이 수신된 후에, 로컬 및 외부 질의 모두로부터의 전체 세트의 결제 옵션은 조합될 수 있으며(614), 사용자 인터페이스를 통한 동시적인 디스플레이를 위해 고객 장치(150)에 전송될 수 있다(616). 고객이 고객 장치(150)에서 결제 옵션 중 하나를 선택(618)한 후에, 통상적인 전자 상거래 플랫폼(600)은 고객 장치(620) 상의 사용자 인터페이스를 통해 결제 거래를 진행하고, 거래가 완료된다. 그러나, 위에 언급된 바와 같이, 결제 거래의 완료를 가능하게 하기 전에 모든 요청/질의에 대한 응답을 대기하는 것은, 고객 혼란, 결제 거래의 완료에 대한 바람직하지 않은 지연, 및 불필요한 결제 옵션을 로딩하기 위한 컴퓨터 자원의 낭비를 야기할 수 있다.
따라서, 도 7은 본 개시물의 실시예에 따라, 결제 옵션 관리자(350), 고객 장치(150), 및 타사 서비스 제공자(450) 간의 예시적인 통신을 도시하는 시그널링 다이어그램이다. 결제 옵션 관리자(350)는 전자 상거래 플랫폼(100)을 통해(예를 들어, 전자 상거래 플랫폼(100)의 서버에서), 전자 상거래 플랫폼(100)의 외부에서(예를 들어, 타사 서버에서, 고객 장치(150)에서, 또는 판매자 장치(102)에서), 또는 이의 조합으로 구현될 수 있다. 예를 들어, 결제 옵션 관리자(350)는, 전자 상거래 플랫폼(100)의 일부가 아닐 수 있는 온라인 결제 서비스에 의해 구현될 수 있다. 이하의 설명은, 결제 옵션 관리자(350)가 전자 상거래 플랫폼(100)의 서버에서 구현되는 일 실시예의 맥락이다.
702에서, 고객 장치(150)에서 트리거 이벤트가 입력되거나 탐지된다. 예를 들어, 고객 장치(150)에서 고객에 의해 배송 주소가 입력될 수 있다. 트리거 이벤트가 탐지되면, 704에서, 고객 장치(150)에 의해 결제 옵션 관리자(350)에 알림이 자동으로 전송된다.
트리거 이벤트 알림에 응답하여, 결제 옵션 관리자(350)는 모든 질의를 발송하여 결제 옵션을 채운다. 이러한 질의는, 706의 결제 옵션에 대한 로컬 질의(예를 들어, 전자 상거래 플랫폼(100)의 데이터 설비(134)에 저장된 내부 데이터베이스에 대한 요청), 및 708의 결제 옵션에 대한 외부 질의(예를 들어, 선택적으로 타사 서버(460)를 통해, 타사 서비스 제공(450)에 대한 요청) 둘 모두를 포함한다.
710에서, 로컬 데이터 설비(134)는, 로컬로 소싱되는 결제 옵션으로 이의 요청에 응답한다. 그 다음, 712에서, 결제 옵션 관리자(350)는, 제1 또는 제2 세트의 결제 옵션(예를 들어, 고속-로딩 또는 저속-로딩 응답)의 일부인 것으로 로컬 응답을 식별할 수 있다. 일부 시나리오에서, 710의 로컬 응답은 전자 상거래 플랫폼(100)의 내부에 있기 때문에, 로컬 응답(들)은, 즉시 또는 매우 적은 지연으로, 결제 옵션 관리자(350)에 제공될 수 있다. 이러한 경우, 로딩 메트릭(354)을 적용한 후에, 결제 옵션 관리자(350)는, 하나 이상의 로컬 응답(들)을 제1 세트의 옵션(예를 들어, 고속-로딩 옵션)으로서 식별할 수 있다.
714에서, 제1 세트의 옵션 중 적어도 하나의 옵션을 식별하면, 결제 옵션 관리자(350)는, 제1 세트의 결제 옵션 중 적어도 하나의 옵션을 디스플레이하기 위한 신호를 고객 장치(150)에 즉시 전송한다. 제1 세트의 옵션 중 적어도 하나가 디스플레이됨으로써, 고객 장치(150)는, 716에서, 제1 세트의 옵션 중 하나를 디폴트 옵션으로서 자동으로 선택할 수 있다. 어떤 경우이든, 결제 옵션 관리자(350)는, 제1 세트의 옵션으로부터의 옵션(예를 들어, 고속-로딩 옵션 중 하나)만으로, 718에서 결제 프로세스를 진행할 수 있다.
도 6의 통상적인 시그널링 다이어그램과 대조적으로, 718의 결제 프로세스의 완료는, 720의 타사 서비스 제공자(450)로부터의 외부 응답(들)을 수신하는 결제 옵션 관리자(350) 없이, 및/또는 722의 고객 장치(150)에서 디스플레이되는 제2 세트의 옵션 없이 진행될 수 있다. 물론, 다른 실시예에서, 718의 결제 프로세스는, 결제 옵션 관리자(350)가 720에서 타사 서비스 제공자(450)로부터 외부 응답(들)을 수신한 후에도(이에 따라, 제2 세트의 옵션의 지연된 로딩을 위한 시간을 제공함), 그리고 제2 세트의 옵션이 722에서 고객 장치(150)에 디스플레이된 후에도 수행될 수 있다.
도 7은 로컬 응답이 결제 옵션 관리자(350)에 의해 제1 세트의 옵션인 것으로 결정되는 반면에, 외부 응답이 제2 세트의 옵션인 것으로 결정되는 시그널링 실시예를 도시한다. 그러나, (전술한) 로딩 메트릭(354)을 적용할 때, 결제 옵션 관리자(350)는 제1 세트의 옵션 중의 옵션과 관련되는 특정 외부 응답을 식별할 수 있으며, 대신에 제2 세트의 옵션 중의 옵션과 관련되는 특정 로컬 응답을 식별할 수 있음을 당업자라면 이해할 것이다. 주목할 만한 특징은, 어떤 결제 옵션이 제1 세트의 옵션(예를 들어, 고속-로딩 옵션)에 속하는지 그리고 어떤 것이 제2 세트의 옵션(예를 들어, 저속-로딩 옵션)에 속하는지를 식별/결정할 수 있는 결제 옵션 관리자(350)의 기능으로서, 제1 세트의 결제 옵션 중 적어도 하나만의 디스플레이를 먼저 유발하고, (예를 들어, 지연된 로딩 후에 및/또는 고객에 의해 요청된 경우) 후속적으로 제2 세트의 결제 옵션의 디스플레이를 유발하며, 디스플레이되거나 로딩되는 제2 세트의 옵션 없이 거래의 완료를 여전히 가능하게 한다.
도 8은 이용 가능한 모든 결제 옵션 없이 결제 거래를 완료하기 위한 예시적인 방법(800)을 도시하는 흐름도이다. 예시적인 방법(800)은, 예를 들어, 결제 옵션 관리자(350)를 사용하여 전자 상거래 플랫폼(100)에 의해 수행될 수 있다. 특히, 방법(800)은, 주어진 고객에 의해 주어진 온라인 스토어(138)에서 거래 프로세스 동안 실시간(또는 거의 실시간)으로 수행될 수 있다.
작업(802)에서, 결제 옵션 관리자(350)는, 결제 거래를 완료하기 위해 네트워크(440)를 통해 원격 클라이언트 장치(150)에 결제 사용자 인터페이스를 제공한다. 사용자 인터페이스는, 결제 거래와 연관된 적어도 하나의 옵션 카테고리(314)를 포함한다. 옵션 카테고리(314)는, 연관된 세트의 결제 옵션(316)을 갖는다.
위에 언급된 바와 같이, 각각의 옵션 카테고리(314)는, 결제 시에만 결정될 수 있거나 채워질 수 있는(즉, 이들이 사전 로딩될 수 없음) 결제 거래의 양태 또는 카테고리와 관련될 수 있다. 예를 들어, 옵션 카테고리(314)는, 다른 가능성 중에서, 배송, 결제 할부, 할인, 보상 시스템, 구독, 관세와 관련될 수 있다. 이와 관련하여, 각각의 옵션 카테고리(314)는, 거래를 완료하기 위해, 사용자가 결제 프로세스의 일부로서 선택할 수 있거나 선택해야 하는 결제 옵션(316)의 세트를 이와 연관시킨다. 결제 옵션(316)은, 이들이 결정될 수 있기 전에, 결제 옵션이 고객별 및/또는 구매별 정보를 필요로 하기 때문에, 사전 로딩될 수 없다.
선택적으로, 작업(804)에서, 트리거 이벤트는 결제 옵션 관리자(350)에 의해 탐지된다. 이러한 트리거 이벤트는, 배송 주소(예를 들어, 클라이언트 장치(150)를 통해 결제 사용자 인터페이스로 고객에 의해 입력됨)의 수신과 같은, 클라이언트 장치(150)로부터의 고객별 정보의 수신일 수 있다. 대안적으로, 트리거 이벤트는, 다른 가능성 중에서, 특정 카테고리의 옵션을 활성화시키기 위한 사용자 인터페이스 상의 선택의 표시의 클라이언트 장치(150)로부터의 수신, 또는 사용자 인터페이스가 클라이언트 장치(150)에서 초기화되었다는 탐지일 수 있다.
작업(806)에서, 결제 옵션(316)과 연관된 요청 또는 질의가 전송된다. 전송된 질의 중 적어도 하나가 (예를 들어, 네트워크(440)를 통해) 원격 타사 서버(460)에 전송되며, 결제 거래를 완료하기 위해, 결제 옵션(316) 중 하나의 선택이 필요하다.
작업(808)에서, 하나 이상의 결제 옵션(316)은 제1 세트의 옵션(예를 들어, 고속-로딩 옵션)에 속하는 것으로 식별되며, 다른 결제 옵션(316)은 제2 세트의 옵션(예를 들어, 저속-로딩 옵션)에 속하는 것으로 식별된다. 결제 옵션(316)은, 다양한 상이한 로딩 메트릭(354)에 기초하여, 제1 또는 제2 세트의 결제 옵션(예를 들어, 고속-로딩 또는 저속-로딩)에 속하는 것으로 결정될 수 있다. 로딩 메트릭(354)의 실시예는, 다른 가능성 중에서, 응답을 수신하기 위한 임계치 컷오프 시간, 유사한 질의로부터 응답을 수신하기 위한 이력 측정치, 각각의 질의에 관련된 이행 네트워크 구성 및/또는 네트워크 통신의 분석, 판매자의 구성, 컴퓨터/네트워크 자원의 현재 사용량에 따른 동적 컷오프 시간을 포함한다. 예를 들어, 사용된 로딩 메트릭(354)이 응답을 수신하기 위한 임계치 컷오프 시간에 기초하는 경우, 500 ms 내에 수신된 모든 응답은 고속-로딩으로 간주될 수 있는 반면에, 500 ms 후에 수신된 모든 응답은 저속-로딩으로 간주될 수 있다. 대안적으로, 임계치 컷오프 시간은, 해당 고객의 이력 응답 시간에 기초할 수 있다.
따라서, 작업(810)에서, 사용자 인터페이스에 대한 업데이트가 원격 클라이언트 장치(150)에 통신되어, 하나 이상의 요청에 대한 응답의 수신 후에, 그러나 제2 세트의 옵션 중 어느 하나의 디스플레이 전에, 제1 세트의 옵션 중 적어도 하나의 옵션을 디스플레이한다. 이와 관련하여, 사용자 인터페이스는, 제1 세트의 옵션으로부터의 하나 이상의 옵션만이 디스플레이되도록 업데이트된다.
이러한 시점에, 디스플레이된 제1 세트의 옵션 중 적어도 하나의 옵션이 사용자 인터페이스를 통해 디폴트 옵션으로서 자동으로 선택될 수 있다.
또한, 작업(812)에서, 사용자 인터페이스에 대한 업데이트가 원격 클라이언트 장치(150)에 통신되어, 선택 가능한 사용자 인터페이스 요소를 디스플레이하며, 모든 제2 세트의 옵션은, 선택 가능한 사용자 인터페이스 요소의 선택 전에 디스플레이로부터 숨겨진다.
예를 들어, 선택 가능한 사용자 인터페이스 요소가 원격 클라이언트 장치(150)에서 선택되었지만, 제2 세트의 옵션 중의 옵션이 아직 로딩되지 않은 경우, 사용자 인터페이스는, 제1 세트의 옵션으로부터의 임의의 나머지 옵션을 디스플레이하고, 각각의 질의로부터의 응답이 모두 수신되지 않은 경우, 제2 세트의 옵션에 대한 로딩 표시자를 디스플레이하도록 업데이트될 수 있다.
선택적으로, 작업(814)에서, 제2 세트의 옵션이 (예를 들어, 지연 후에) 로딩된 경우, 사용자 인터페이스는, 하나 이상의 각각의 요청에 대한 응답의 추가적인 수신 후에, 제2 세트의 옵션을 디스플레이하도록 추가로 업데이트될 수 있다.
그러나, 제2 세트의 옵션(예를 들어, 지연 로딩된 옵션)이 디스플레이되는지 여부와 관계없이, 작업(816)에서, 사용자 인터페이스 상에 디스플레이되는 제1 세트의 옵션 중 하나의 옵션(예를 들어, 고속-로딩 옵션 중 하나)을 사용하여, 결제 거래가 완료될 수 있다. 제2 세트의 옵션(예를 들어, 저속-로딩 옵션) 중 어느 하나 또는 전부에 대한 각각의 질의로부터 응답을 수신하기 전에, 결제 거래가 완료될 수 있다. 디폴트 옵션이 선택된 경우, 결제 거래를 완료하기 위한 옵션의 선택에 응답하여, 고객과의 추가적인 상호 작용 없이, 디폴트 옵션을 사용하여, 결제 거래가 완료될 수 있다.
위의 거래 프로세스/방법(800)은 전자 상거래 플랫폼(100)을 통해 구현될 수 있으며, 고객이 탐색할 수 있는 일련의 페이지로서 고객에게 표시될 수 있다. 예시적인 일련의 페이지는 도 9a 내지 도 9d에 도시된다.
도 9a는 원격 클라이언트 장치(150) 상에 디스플레이되는 결제 사용자 인터페이스(900)를 도시한다. 사용자 인터페이스(900)는, 결제 거래와 연관된 적어도 하나의 옵션 카테고리(314)를 포함한다. 도시된 실시형태에서, 옵션 카테고리(314)는 배송이며, "배송"(902)으로 식별되고, 배송 옵션(904)(도 9a에서 아직 채워지지 않음)인 결제 옵션(316)의 세트와 연관된다. 본 실시형태에 도시된 바와 같이, 결제 사용자 인터페이스(900)는, 트리거 이벤트로도 식별되는 배송 주소를 수신하였다. 이러한 시점에, 배송 카테고리(902)에 대한 배송 옵션(904)이 아직 제공되지 않았거나 선택되지 않았기 때문에, "계속" 버튼(906)은 비활성이다(예를 들어, 음영 처리됨). 즉, 결제 거래가 아직 완료될 수 없다.
트리거 이벤트(즉, 배송 주소의 입력)의 탐지 시에, 결제 옵션 관리자(350)는 배송 질의를 전송하며, 배송 질의 중 적어도 하나가 타사 배송업체에 전송된다. 본 경우, 배송 질의 중 하나도 로컬로 발송된다. 결제 옵션 관리자(350)는, 배송 옵션 중 하나를 제1 세트의 배송 옵션(예를 들어, 고속-로딩 옵션)(이 경우, 로컬 데이터베이스 검색에 기초하여 결정된 고정-요금 배송 옵션(904))에 속하는 것으로 식별한다. 따라서, 도 9b에 도시된 바와 같이, 이러한 고정-요금 배송 옵션(904)은, 확대기/V형 무늬(908)(즉, 선택 가능한 사용자 인터페이스 요소)를 통해 결제 사용자 인터페이스(900) 상에 즉시 디스플레이된다. 또한, 고정-요금 배송 옵션이 디폴트 옵션으로서 자동으로 선택되었다. 특히, 제2 세트의 배송 옵션(예를 들어, 저속-로딩 또는 지연 로딩된 옵션)에 속하는 임의의/모든 배송 옵션은 초기에 디스플레이로부터 숨겨져 있다. 또한, 주목할 만한 점은, "계속" 버튼(906)이 이제 활성이고(예를 들어, 도 9b에서 점선으로 표시된 바와 같이, 상이한 색상으로 시각적으로 강조 표시됨), 고객이 확대기를 선택하지 않더라도, 그리고 제2 세트의 옵션이 로딩되지 않았더라도, 디폴트 고정-요금 배송 옵션(904)으로 결제 거래가 완료될 수 있다.
즉, 거래가 저속-페치(slow-to-fetch) 데이터 옵션 없이 완료될 수 있기 때문에, 고객은 "불완전한" 정보를 통해(즉, 모든 이용 가능한 옵션에 대한 정보를 로딩하지 않으면서) 결제 프로세스를 진행할 수 있다.
도 9c는 확대기/V형 무늬가 고객에 의해 선택되지만, 제2 세트의 옵션이 아직 로딩되지 않은 경우 일 실시예를 도시한다. 이러한 경우, 제2 세트의 옵션이 여전히 로딩되고 있음을 표시하는 스피너/로딩 커서(910)가 표시된다. 위에 언급된 바와 같이, 도 9c의 "계속" 버튼(906)은 여전히 활성화되며, 제2 세트의 배송 옵션이 아직 로딩되지 않았더라도, 고정-요금 배송 옵션(904)으로 결제 거래가 여전히 완료될 수 있다.
도 9d는 제2 세트의 배송 옵션(예를 들어, 저속-로딩 또는 지연 로딩된 옵션)이 로딩된 경우를 추가로 도시한다. 이러한 경우, 스피너/로딩 커서(910)는 저속-로딩 배송 옵션(912)으로 대체된다. 이제 고객은 제1 세트의 옵션으로부터의 옵션(예를 들어, 고속-로딩 고정-요금 배송 옵션(904)) 또는 제2 세트의 옵션으로부터의 저속-로딩 긴급 배송 옵션(912)으로 거래를 완료하는 옵션을 갖는다. 그러나, 고객은 항상 제2 세트의 옵션이 제공되지 않으면서 거래를 완료할 수 있다.
트리거 이벤트가 발생하면, 모든 결제 옵션을 채우기 위한 모든 질의(예를 들어, 제2 세트의/저속-로딩/지연 로딩된 결제 옵션, 및 제1 세트의 결제 옵션을 포함함)가 동시에 한 번에 발송됨을 유의한다(확대기/V형 무늬가 선택되지 않은 경우). 따라서, 확대기와 고객의 상호 작용은, 제2 세트의 결제 옵션에 대한 호출만을 인보크(invoke)하는 것처럼 보인다. 그러나, 전술한 바와 같이, 그러한 질의는 트리거 이벤트의 이전 탐지 시에 이미 발송되었다.
제2 세트의 옵션 중 일부 또는 전부가 아직 로딩되지 않거나 이용 가능하지 않더라도, 제1 세트의 옵션으로부터의 (고속-로딩) 디폴트 옵션을 사용하여 거래를 완료할 수 있는 고객의 능력은, 컴퓨터 효율을 개선한다. 타사 호출로부터 응답을 수신하기 위해, 그리고 결제 사용자 인터페이스 상에 제2 세트의 결제 옵션의 전부를 로딩 및 디스플레이하기 위해 달리 사용되는, 처리 능력, 메모리 저장소, 및 대역폭은 이제 다른 목적을 위해 사용될 수 있다. 따라서, 고객의 결제 거래의 완료를 방해하지 않으면서, 컴퓨터 자원이 절약될 수 있다.
위에 언급된 바와 같이, 일반적으로 전형적인 결제 사용자 인터페이스는, 모든 결제 옵션이 로딩되어 선택을 위해 이용 가능하게 될 때까지, 고객이 결제 거래를 완료하지 못하게 한다. 본 개시물에 따라, 각각의 옵션 카테고리에 대해 제1 세트의 결제 옵션으로부터의 적어도 하나의 옵션(예를 들어, 하나의 고속-로딩 옵션)을 고객에게 표시함으로써, 제2 세트의 옵션 중의 옵션(예를 들어, 저속-로딩 또는 지연 로딩된 옵션)과 관련된 응답 중 일부 또는 전부가 결제 사용자 인터페이스를 통해 아직 수신/로딩 및 디스플레이되지 않았더라도, 고객이 거래를 완료할 수 있다.
또한, 고객-이익 관점에서, 로딩 커서가 초기에 고객에게 표시되지 않기 때문에, 제2 세트의 옵션(예를 들어, 저속-로딩 또는 지연 로딩된 결제 옵션)이 진행 전에 로딩되도록, 고객이 제2 세트의 옵션(예를 들어, 저속-로딩 또는 지연 로딩된 결제 옵션)을 기다리지 않아도 되거나, 기다릴 필요가 없다. 이러한 방식으로, 거래가 간소화될 수 있고 더 적은 지연으로 더 빨리 완료될 수 있다. 또한, 결제 거래를 위해 예약된 자원이 다른 목적을 위해 더 신속하게 해제될 수 있다.
본 개시물은 특정 순서로의 작업(예를 들어, 단계)을 갖는 방법 및 프로세스를 설명하지만, 방법 및 프로세스의 하나 이상의 작업은 적절하게 생략되거나 변경될 수 있다. 하나 이상의 작업은, 이들이 적절한 것으로 설명된 것 이외의 순서로 수행될 수 있다.
본 개시물은 적어도 부분적으로 방법의 관점에서 설명되지만, 본 개시물은, 하드웨어 구성 요소, 소프트웨어, 또는 이 둘의 임의의 조합을 통해, 설명된 방법의 특징 및 양태의 적어도 일부를 수행하기 위한 다양한 구성 요소에 또한 관한 것임을 당업자라면 이해할 것이다. 따라서, 본 개시물의 기술적 솔루션은 소프트웨어 제품의 형태로 구현될 수 있다. 적합한 소프트웨어 제품은, 예를 들어, DVD, CD-ROM, USB 플래시 디스크, 착탈식 하드 디스크, 또는 다른 저장 매체를 포함하는, 사전 기록된 저장 장치 또는 다른 유사한 비휘발성 또는 비-일시적 컴퓨터 판독 가능 매체에 저장될 수 있다. 소프트웨어 제품은, 처리 장치(예를 들어, 개인용 컴퓨터, 서버, 또는 네트워크 장치)가 본원에 개시된 방법의 실시예를 실행할 수 있게 하는, 이를 통해 실체적으로 저장된 명령을 포함한다.
본 개시물은 청구범위의 청구 대상을 벗어나지 않으면서 다른 특정 형태로 구현될 수 있다. 설명된 예시적인 실시형태는 모든 면에서 단지 예시적인 것으로 간주되어야 하며, 제한적인 것으로 간주되어서는 안된다. 전술한 실시형태 중 하나 이상으로부터 선택된 특징은 명시적으로 설명되지 않은 대안적인 실시형태를 생성하기 위해 조합될 수 있으며, 이러한 조합을 위해 적합한 특징은 본 개시물의 범위 내에 있는 것으로 이해된다.
또한, 개시된 범위 내의 모든 값 및 하위 범위가 개시된다. 또한, 본원에 개시되고 도시된 시스템, 장치 및 프로세스는 특정 수의 요소/구성 요소를 포함할 수 있지만, 시스템, 장치 및 조립체는, 추가적인 또는 더 적은 이러한 요소/구성 요소를 포함하도록 변경될 수 있다. 예를 들어, 개시된 임의의 요소/구성 요소가 단수형으로 언급될 수 있지만, 본원에 개시된 실시형태는 복수의 이러한 요소/구성 요소를 포함하도록 변경될 수 있다. 본원에 설명된 청구 대상은 기술의 모든 적합한 변화를 커버하고 포괄하도록 의도된다.
또한, 본 교시는 이하의 번호 표시된 조항 중 하나 이상의 특징으로 확장될 수 있다:
1. 시스템으로서,
적어도 하나의 프로세서 및 적어도 하나의 메모리를 포함하며,
상기 적어도 하나의 메모리는, 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령으로서,
상기 시스템으로 하여금, 결제 거래를 완료하기 위해 사용자 인터페이스를 네트워크를 통해 원격 클라이언트 장치에 제공하도록 하기 위한 명령으로서, 상기 사용자 인터페이스는 상기 결제 거래와 연관된 옵션 카테고리를 포함하고, 상기 옵션 카테고리는 연관된 세트의 결제 옵션을 갖는, 명령;
상기 시스템으로 하여금, 상기 네트워크를 통해, 상기 결제 옵션의 각각의 결제 옵션과 연관된 요청을 전송하도록 하기 위한 명령으로서, 상기 전송되는 질의 중 적어도 하나는 원격 타사 서버에 전송되며, 상기 결제 거래를 완료하기 위해 상기 결제 옵션 중 하나의 선택이 요구되는, 명령;
상기 시스템으로 하여금, 하나 이상의 상기 결제 옵션을 제1 세트의 옵션으로서 식별하도록 하고, 나머지 상기 결제 옵션을 제2 세트의 옵션으로서 식별하도록 하기 위한 명령;
상기 시스템으로 하여금, 하나 이상의 상기 요청에 대한 응답의 수신 후에 그리고 상기 제2 세트의 옵션의 디스플레이 전에, 상기 제1 세트의 옵션으로부터 상기 결제 옵션 중 적어도 하나를 디스플레이하기 위해, 상기 사용자 인터페이스를 업데이트하기 위한 표시를 상기 원격 클라이언트 장치에 전송하도록 하기 위한 명령;
상기 시스템으로 하여금, 선택 가능한 사용자 인터페이스 요소를 디스플레이하기 위한 표시를 상기 원격 클라이언트 장치에 전송하도록 하기 위한 명령으로서, 모든 상기 제2 세트의 옵션은, 상기 선택 가능한 사용자 인터페이스 요소의 선택 전에 디스플레이로부터 숨겨져 있는, 명령; 및
상기 시스템으로 하여금, 모든 상기 제2 세트의 옵션에 대해 각각의 질의로부터 응답을 수신하기 전에, 상기 사용자 인터페이스 상에 디스플레이되는 상기 제1 세트의 옵션으로부터의 상기 결제 옵션 중 하나를 사용하여 상기 결제 거래의 완료를 가능하게 하도록 하기 위한 명령을 저장하는, 시스템.
2. 제1항에 있어서, 상기 제1 세트의 옵션은 고속-로딩 옵션이며, 상기 제2 세트의 옵션은 저속-로딩 옵션이고, 상기 고속-로딩 옵션은 상기 저속-로딩 옵션보다 더 빠르게 로딩되는, 시스템.
3. 제1항에 있어서, 디스플레이되는 제1 세트의 옵션 중 하나의 옵션은 디폴트 옵션으로서 자동으로 선택되며, 상기 적어도 하나의 프로세서는, 상기 시스템으로 하여금, 상기 결제 거래를 완료하기 위한 상기 옵션의 선택에 응답하여, 상기 디폴트 옵션을 사용하여 상기 결제 거래의 완료를 트리거하도록 하기 위한 명령을 실행하도록 추가로 구성되는, 시스템.
4. 제2항에 있어서, 상기 적어도 하나의 프로세서는, 상기 시스템으로 하여금,
상기 원격 클라이언트 장치에서의 상기 선택 가능한 사용자 인터페이스 요소의 선택에 응답하여, 임의의 나머지 고속-로딩 옵션을 디스플레이하기 위해 상기 사용자 인터페이스를 업데이트하기 위한 표시를 상기 원격 사용자 장치에 전송하도록 하기 위한 명령; 및
각각의 질의로부터의 응답이 모두 수신되지 않은 경우, 상기 저속-로딩 옵션에 대한 로딩 표시자를 디스플레이하도록 하기 위한 명령; 또는
각각의 질의로부터의 응답이 모두 수신된 상기 저속-로딩 옵션을 디스플레이하도록 하기 위한 명령을 실행하도록 추가로 구성되는, 시스템.
5. 제1항에 있어서, 상기 적어도 하나의 프로세서는, 상기 시스템으로 하여금, 트리거 이벤트를 탐지하는 단계에 응답하여, 결제 옵션에 대한 상기 질의를 전송하도록 하기 위한 명령을 실행하도록 추가로 구성되는, 시스템.
6. 제5항에 있어서, 상기 옵션 카테고리는 배송과 관련되며, 상기 트리거 이벤트는 배송 주소의 수신인, 시스템.
7. 제2항에 있어서, 상기 적어도 하나의 프로세서는, 상기 시스템으로 하여금, 상기 질의로부터의 임의의 응답에 기초하여, 각각의 상기 결제 옵션이 상기 제1 세트의 옵션 또는 상기 제2 세트의 옵션에 속하는지 여부를 결정하도록 하기 위한 명령을 실행하도록 추가로 구성되는, 시스템.
8. 제7항에 있어서, 각각의 상기 결제 옵션은,
응답을 수신하기 위한 임계치 컷오프 시간;
유사한 질의로부터 응답을 수신하기 위한 이력 측정치;
각각의 질의와 관련된 네트워크 통신 및/또는 이행 네트워크 구성의 분석; 및
판매자 구성 중 적어도 하나에 기초하여, 상기 제1 세트의 옵션 또는 상기 제2 세트의 옵션인 것으로 결정되는, 시스템.
9. 제8항에 있어서, 상기 이용 가능한 결제 옵션은, 상기 임계치 컷오프 시간에 기초하여, 고속-로딩 또는 저속-로딩인 것으로 결정되며, 상기 임계치 컷오프 시간은, 상기 고객의 이력 응답 시간에 기초하여, 고객을 위해 동적으로 결정되는, 시스템.
10. 제2항에 있어서, 상기 적어도 하나의 프로세서는, 상기 시스템으로 하여금,
상기 저속-로딩 옵션 중 더 빠른 로딩 옵션 및 더 느린 로딩 옵션을 식별하도록 하기 위한 명령으로서, 상기 더 느린 저속-로딩 옵션은, 상기 더 빠른 저속-로딩 옵션보다 각각의 질의로부터 응답을 수신하기 위해 더 많은 시간을 필요로 하는, 명령; 및
상기 선택 가능한 사용자 인터페이스 요소의 선택에 응답하여,
임의의 나머지 고속-로딩 옵션을 디스플레이하도록 하기 위한 명령; 및
상기 더 느린 저속-로딩 옵션을 디스플레이하기 전에, 상기 더 빠른 저속-로딩 옵션에 대해 각각의 질의로부터 응답을 수신한 후에, 상기 더 빠른 저속-로딩 옵션을 디스플레이하도록 하기 위한 명령을 실행하도록 추가로 구성되는, 시스템.
11. 방법으로서,
결제 거래를 완료하기 위해, 네트워크를 통해 원격 클라이언트 장치에 사용자 인터페이스를 제공하는 단계로서, 상기 사용자 인터페이스는 상기 결제 거래와 연관된 옵션 카테고리를 포함하고, 상기 옵션 카테고리는 연관된 세트의 결제 옵션을 갖는, 단계;
상기 네트워크를 통해, 상기 결제 옵션의 각각의 결제 옵션과 연관된 요청을 전송하는 단계로서, 상기 전송되는 질의 중 적어도 하나는 원격 타사 서버에 전송되며, 상기 결제 거래를 완료하기 위해 상기 결제 옵션 중 하나의 선택이 요구되는, 단계;
하나 이상의 상기 결제 옵션을 제1 세트의 옵션으로서 식별하고, 나머지 상기 결제 옵션을 제2 세트의 옵션으로서 식별하는 단계;
하나 이상의 상기 요청에 대한 응답의 수신 후에 그리고 상기 제2 세트의 옵션의 디스플레이 전에, 상기 제1 세트의 옵션 중 적어도 하나를 디스플레이하기 위해, 상기 사용자 인터페이스를 업데이트하기 위한 표시를 상기 원격 클라이언트 장치에 전송하는 단계;
상기 사용자 인터페이스 상의 선택 가능한 사용자 인터페이스 요소를 디스플레이하기 위한 표시를 상기 원격 클라이언트 장치에 전송하는 단계로서, 모든 상기 제2 세트의 옵션은, 상기 선택 가능한 사용자 인터페이스 요소의 선택 전에 디스플레이로부터 숨겨져 있는, 단계; 및
모든 상기 제2 세트의 옵션에 대해 각각의 질의로부터 응답을 수신하기 전에, 상기 사용자 인터페이스 상에 디스플레이되는 상기 제1 세트의 옵션 중 적어도 하나의 하나를 사용하여 상기 결제 거래의 완료를 가능하게 하는 단계를 포함하는, 방법.
12. 제11항에 있어서, 상기 제1 세트의 옵션은 고속-로딩 옵션이며, 상기 제2 세트의 옵션은 저속-로딩 옵션이고, 상기 고속-로딩 옵션은 상기 저속-로딩 옵션보다 더 빠르게 로딩되는, 방법.
13. 제11항에 있어서,
디스플레이되는 상기 제1 세트의 옵션 중 적어도 하나의 하나를 디폴트 옵션으로서 자동으로 선택하는 단계; 및
상기 결제 거래를 완료하기 위한 상기 옵션의 선택에 응답하여, 상기 디폴트 옵션을 사용하여 상기 결제 거래의 완료를 트리거하는 단계를 더 포함하는, 방법.
14. 제12항에 있어서,
상기 원격 클라이언트 장치에서의 상기 선택 가능한 사용자 인터페이스 요소의 선택에 응답하여,
임의의 나머지 고속-로딩 옵션을 디스플레이하기 위해;
상기 각각의 질의로부터의 응답이 모두 수신되지 않은 경우, 상기 저속-로딩 옵션에 대한 로딩 표시자를 디스플레이하기 위해; 또는
상기 각각의 질의로부터의 응답이 모두 수신된 상기 저속-로딩 옵션을 디스플레이하기 위해, 상기 사용자 인터페이스를 업데이트하기 위한 표시를 상기 원격 사용자 장치에 전송하는 단계를 더 포함하는, 방법.
15. 제11항에 있어서,
트리거 이벤트를 탐지하고, 이에 응답하여, 상기 시스템으로 하여금, 결제 옵션에 대한 상기 질의를 전송하도록 하는 단계를 더 포함하는, 방법.
16. 제15항에 있어서, 상기 옵션 카테고리는 배송과 관련되며, 상기 트리거 이벤트는 배송 주소의 수신인, 방법.
17. 제11항에 있어서,
상기 질의로부터의 응답에 기초하여, 각각의 상기 결제 옵션이 고속-로딩 옵션인지 또는 저속-로딩 옵션인지 여부를 결정하는 단계를 더 포함하는, 방법.
18. 제17항에 있어서, 상기 결정하는 단계는,
응답을 수신하기 위한 임계치 컷오프 시간;
유사한 질의로부터 응답을 수신하기 위한 이력 측정치;
각각의 질의와 관련된 네트워크 통신 및/또는 이행 네트워크 구성의 분석; 및
판매자 구성에 기초하는, 방법.
19. 제12항에 있어서,
상기 저속-로딩 옵션 중 더 빠른 로딩 옵션 및 더 느린 로딩 옵션을 식별하는 단계로서, 상기 더 느린 저속-로딩 옵션은, 상기 더 빠른 저속-로딩 옵션보다 각각의 질의로부터 응답을 수신하기 위해 더 많은 시간을 필요로 하는, 단계; 및
상기 선택 가능한 사용자 인터페이스 요소의 선택에 응답하여,
임의의 나머지 고속-로딩 옵션을 디스플레이하는 단계; 및
상기 더 느린 저속-로딩 옵션을 디스플레이하기 전에, 상기 더 빠른 저속-로딩 옵션에 대해 각각의 질의로부터 응답을 수신한 후에, 상기 더 빠른 저속-로딩 옵션을 디스플레이하는 단계를 더 포함하는, 방법.
20. 컴퓨터 판독 가능 매체로서,
시스템의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
결제 거래를 완료하기 위해 사용자 인터페이스를 네트워크를 통해 원격 클라이언트 장치에 제공하도록 하는 명령으로서, 상기 사용자 인터페이스는 상기 결제 거래와 연관된 옵션 카테고리를 포함하고, 상기 옵션 카테고리는 연관된 세트의 결제 옵션을 갖는, 명령;
상기 시스템으로 하여금, 상기 네트워크를 통해, 상기 결제 옵션의 각각의 결제 옵션과 연관된 요청을 전송하도록 하는 명령으로서, 상기 전송되는 질의 중 적어도 하나는 원격 타사 서버에 전송되며, 상기 결제 거래를 완료하기 위해 상기 결제 옵션 중 하나의 선택이 요구되는, 명령;
상기 시스템으로 하여금, 하나 이상의 상기 결제 옵션을 고속-로딩 옵션으로서 식별하도록 하고, 나머지 상기 결제 옵션을 저속-로딩 옵션으로서 식별하도록 하는 명령;
상기 시스템으로 하여금, 하나 이상의 상기 요청에 대한 응답의 수신 후에 그리고 상기 저속-로딩 옵션의 디스플레이 전에, 상기 고속-로딩 옵션 중 적어도 하나를 디스플레이하기 위해, 상기 사용자 인터페이스를 업데이트하기 위한 표시를 상기 원격 클라이언트 장치에 전송하도록 하는 명령;
상기 시스템으로 하여금, 상기 사용자 인터페이스 상의 선택 가능한 사용자 인터페이스 요소를 디스플레이하기 위한 표시를 상기 원격 클라이언트 장치에 전송하도록 하는 명령으로서, 모든 상기 저속-로딩 옵션은, 상기 선택 가능한 사용자 인터페이스 요소의 선택 전에 디스플레이로부터 숨겨져 있는, 명령; 및
상기 시스템으로 하여금, 모든 상기 저속-로딩 옵션에 대해 각각의 질의로부터 응답을 수신하기 전에, 상기 사용자 인터페이스 상에 디스플레이되는 상기 고속-로딩 옵션 중 적어도 하나의 하나를 사용하여 상기 결제 거래의 완료를 가능하게 하는 명령을 저장하는, 컴퓨터 판독 가능 매체.

Claims (11)

  1. 방법으로서,
    결제 거래를 완료하기 위해, 네트워크를 통해 원격 클라이언트 장치에 사용자 인터페이스를 제공하는 단계로서, 상기 사용자 인터페이스는 상기 결제 거래와 연관된 옵션 카테고리를 포함하고, 상기 옵션 카테고리는 연관된 세트의 결제 옵션을 갖는, 단계;
    상기 네트워크를 통해, 상기 결제 옵션의 각각의 결제 옵션과 연관된 질의를 전송하는 단계로서, 상기 전송되는 질의 중 적어도 하나는 원격 타사 서버에 전송되고, 상기 결제 거래를 완료하기 위해 상기 결제 옵션 중 하나의 선택이 요구되는, 단계;
    상기 질의에 대한 응답을 수신하기 위한 임계치 컷오프 시간에 기초하여, 하나 이상의 상기 결제 옵션을 제1 세트의 옵션으로서 결정하고, 나머지 상기 결제 옵션을 제2 세트의 옵션으로서 결정하는 단계;
    하나 이상의 상기 요청에 대한 응답의 수신 후에 그리고 상기 제2 세트의 옵션의 디스플레이 전에, 상기 제1 세트의 옵션 중 적어도 하나를 디스플레이하기 위해, 상기 사용자 인터페이스를 업데이트하기 위한 표시를 상기 원격 클라이언트 장치에 전송하는 단계;
    상기 사용자 인터페이스 상의 선택 가능한 사용자 인터페이스 요소를 디스플레이하기 위한 표시를 상기 원격 클라이언트 장치에 전송하는 단계로서, 모든 상기 제2 세트의 옵션은, 상기 선택 가능한 사용자 인터페이스 요소의 선택 전에 디스플레이로부터 숨겨져 있는, 단계; 및
    모든 상기 제2 세트의 옵션에 대해 각각의 질의로부터 응답을 수신하기 전에, 상기 사용자 인터페이스 상에 디스플레이되는 상기 제1 세트의 옵션 중 적어도 하나의 하나를 사용하여 상기 결제 거래의 완료를 가능하게 하는 단계를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 제1 세트의 옵션은 고속-로딩 옵션이며,
    상기 제2 세트의 옵션은 저속-로딩 옵션이고,
    상기 고속-로딩 옵션은 상기 저속-로딩 옵션보다 더 빠르게 로딩되는, 방법.
  3. 제1항 또는 제2항에 있어서,
    디스플레이되는 상기 제1 세트의 옵션 중 적어도 하나의 하나를 디폴트 옵션으로서 자동으로 선택하는 단계; 및
    상기 결제 거래를 완료하기 위한 상기 옵션의 선택에 응답하여, 상기 디폴트 옵션을 사용하여 상기 결제 거래의 완료를 트리거하는 단계를 더 포함하는, 방법.
  4. 제2항에 있어서,
    상기 원격 클라이언트 장치에서의 상기 선택 가능한 사용자 인터페이스 요소의 선택에 응답하여,
    임의의 나머지 고속-로딩 옵션을 디스플레이하기 위해;
    상기 각각의 질의로부터의 응답이 모두 수신되지 않은 경우, 상기 저속-로딩 옵션에 대한 로딩 표시자를 디스플레이하기 위해; 또는
    상기 각각의 질의로부터의 응답이 모두 수신된 상기 저속-로딩 옵션을 디스플레이하기 위해, 상기 사용자 인터페이스를 업데이트하기 위한 표시를 상기 원격 사용자 장치에 전송하는 단계를 더 포함하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    트리거 이벤트를 탐지하고, 이에 응답하여, 상기 시스템으로 하여금, 결제 옵션에 대한 상기 질의를 전송하도록 하는 단계를 더 포함하는, 방법.
  6. 제5항에 있어서,
    상기 옵션 카테고리는 배송과 관련되며,
    상기 트리거 이벤트는 배송 주소의 수신인, 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 결정하는 단계는,
    유사한 질의로부터 응답을 수신하기 위한 이력 측정치;
    각각의 질의와 관련된 네트워크 통신 및/또는 이행 네트워크 구성의 분석; 또는
    판매자 구성에 추가로 기초하는, 방법.
  8. 제2항에 있어서,
    상기 저속-로딩 옵션 중 더 빠른 로딩 옵션 및 더 느린 로딩 옵션을 식별하는 단계로서, 상기 더 느린 저속-로딩 옵션은, 상기 더 빠른 저속-로딩 옵션보다 상기 각각의 질의로부터 응답을 수신하기 위해 더 많은 시간을 필요로 하는, 단계; 및
    상기 선택 가능한 사용자 인터페이스 요소의 선택에 응답하여,
    임의의 나머지 고속-로딩 옵션을 디스플레이하는 단계; 및
    상기 더 느린 저속-로딩 옵션을 디스플레이하기 전에, 상기 더 빠른 저속-로딩 옵션에 대해 각각의 질의로부터 응답을 수신한 후에, 상기 더 빠른 저속-로딩 옵션을 디스플레이하는 단계를 더 포함하는, 방법.
  9. 시스템으로서,
    적어도 하나의 프로세서 및 적어도 하나의 메모리를 포함하며,
    상기 적어도 하나의 메모리는, 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령으로서, 상기 시스템으로 하여금, 제1항 내지 제8항 중 어느 한 항에 따른 방법을 수행하도록 하기 위한 명령을 저장하는,
    시스템.
  10. 컴퓨터 프로그램으로서,
    프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 제1항 내지 제8항 중 어느 한 항에 따른 방법을 수행하도록 하기 위해 구성되는,
    컴퓨터 프로그램.
  11. 컴퓨터 판독 가능 매체로서,
    시스템의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금, 제1항 내지 제8항 중 어느 한 항에 따른 방법을 수행하도록 하는 명령을 저장하는,
    컴퓨터 판독 가능 매체.
KR1020220099217A 2021-09-02 2022-08-09 결제 옵션의 지연 로딩을 통한 전자 상거래 결제를 위한 시스템 및 방법 KR102672386B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17/465,409 US11853981B2 (en) 2021-09-02 2021-09-02 Systems and methods for e-commerce checkout with delay loading of checkout options
US17/465,409 2021-09-02
EP22173103.7 2022-05-12
EP22173103.7A EP4145374A1 (en) 2021-09-02 2022-05-12 Systems and methods for e-commerce checkout with delay loading of checkout options

Publications (2)

Publication Number Publication Date
KR20230034143A true KR20230034143A (ko) 2023-03-09
KR102672386B1 KR102672386B1 (ko) 2024-06-04

Family

ID=

Also Published As

Publication number Publication date
US20240078523A1 (en) 2024-03-07
US20230063784A1 (en) 2023-03-02
CN115760262A (zh) 2023-03-07
AU2022204610A1 (en) 2023-03-16
US11853981B2 (en) 2023-12-26
EP4145374A1 (en) 2023-03-08
CA3166049A1 (en) 2023-03-02
TW202312066A (zh) 2023-03-16

Similar Documents

Publication Publication Date Title
US20210012281A1 (en) System and method for managing inventory through return labels
US20210012280A1 (en) System and method for processing returned items based on related inventory information
US20210312531A1 (en) Systems and methods for displaying global product data
US11847585B2 (en) Systems and methods for selectively preventing origination of transaction requests
US20240078523A1 (en) Systems and methods for e-commerce checkout with delay loading of checkout options
US20220374591A1 (en) Systems and methods for dynamically rendering content based on a template
US20230359984A1 (en) Methods and systems for inventory management for blockchain-based transactions
US11797526B2 (en) Data structures and methods for electronically recording events
US20230061754A1 (en) Systems and methods for determining delivery time information for a product sold online
US11816713B2 (en) Systems and methods for automating tasks across multiple online stores
KR102672386B1 (ko) 결제 옵션의 지연 로딩을 통한 전자 상거래 결제를 위한 시스템 및 방법
US11829782B2 (en) System and method for contextual navigation in applications
US20230162115A1 (en) Order cancelling ui component management
US20240070761A1 (en) Live view of a website such as an e-commerce store
US20230410137A1 (en) Methods for managing virtual shopping carts
US20230113506A1 (en) Systems and methods for generating content for a user interface
US20230128539A1 (en) Systems And Methods For Providing Dynamic Fulfillment Defaults
US11809904B2 (en) System and method for executing multiple scripts at a single extension point
US11615424B2 (en) Systems and methods for dynamically conducting messaging campaigns responsive to customer events
US20230410187A1 (en) Systems and methods for dynamically controlling display of search results
US11562043B1 (en) System and method for rendering webpage code to dynamically disable an element of template code
US11775599B2 (en) System and method for displaying customized search results based on past behaviour
US20240028495A1 (en) Systems and methods for using benchmarking to determine whether an executable program will satisfy one or more performance-based criteria for execution on an execution platform
US20230260004A1 (en) Systems and method for providing contextual product recommendations
US20230401631A1 (en) Systems and Methods for Providing Responsive Interactive Checkout User Interfaces

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right