KR102414428B1 - 결제 정보 유실 방지 방법 및 장치 - Google Patents

결제 정보 유실 방지 방법 및 장치 Download PDF

Info

Publication number
KR102414428B1
KR102414428B1 KR1020200112472A KR20200112472A KR102414428B1 KR 102414428 B1 KR102414428 B1 KR 102414428B1 KR 1020200112472 A KR1020200112472 A KR 1020200112472A KR 20200112472 A KR20200112472 A KR 20200112472A KR 102414428 B1 KR102414428 B1 KR 102414428B1
Authority
KR
South Korea
Prior art keywords
payment
server
information
payment request
full
Prior art date
Application number
KR1020200112472A
Other languages
English (en)
Other versions
KR20220030762A (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 주식회사 오윈
Priority to KR1020200112472A priority Critical patent/KR102414428B1/ko
Publication of KR20220030762A publication Critical patent/KR20220030762A/ko
Application granted granted Critical
Publication of KR102414428B1 publication Critical patent/KR102414428B1/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/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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/02Reservations, e.g. for tickets, services or events
    • 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/14Payment architectures specially adapted for billing systems
    • G06Q20/145Payments according to the detected use or quantity
    • 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/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards

Abstract

본 발명의 일 양태는 제 1 서버에서의 결제 정보 유실 방지 방법을 개시하고 있다. 상기 방법은, 제 1 서버에서의 결제 정보 유실 방지 방법은, 결제와 관련된 결제 요청 전문을 획득하는 단계 및 상기 결제 요청 전문을 제 3 서버 - 상기 제 3 서버는 결제와 관련된 서버 또는 상기 결제와 관련된 서버와 무선 또는 유선으로 연결된 매개 장치를 포함함 - 로 요청하여 상기 제 3 서버로부터 결제 완료 응답을 수신하는 단계를 포함하되, 상기 결제 완료 응답을 수신하는 단계는, 상기 결제 요청 전문의 유실 방지를 위해, 타임아웃 룰(timeout rule)을 적용함에 의해, 상기 결제 완료 응답이 없음에 대응하여 상기 결제 요청 전문을 위한 신규 쓰레드(thread)를 생성하면서 메모리에 적어도 일 영역에 상기 결제 요청 전문이 저장된 상태로 상기 결제 요청 전문의 전송을 반복 시도하는 단계를 포함한다.

Description

결제 정보 유실 방지 방법 및 장치{DATA LOSS PROTECTION METHOD AND APPARATUS FOR PAYMENT INFORMATION}
본 발명은 결제 정보 유실 방지 방법에 관한 것으로, 보다 상세하게는, 주유와 관련된 결제 전문의 정보를 잃지 않고 보유하는 방법에 관한 것이다.
최근 신용카드 결제, 쿠폰을 통한 결제, 포인트를 통한 결제 및 현금 결제 등 사용자 입장에서 다양한 결제 방식이 도입되면서, 결제 정보의 관리가 매우 중요해졌다. 특히, 인터넷을 통한 예약 주문 후, 실제 매장을 방문하여 예약했던 주문을 처리함에 있어서, 결제 금액이 변경되는 등의 상황에서 결제 정보가 유실되어 고객, 카드사 또는 다른 서비스 업체가 그 손해를 흡수해야 한다면, 부당하게 손해를 입게되는 것이기에 문제가 될 수 있다.
특히, 신용카드를 통한 결제 절차 중, 결제 전문 요청 및 결제 승인이 이루어지고 있는 상황에서 일시적 통신 장애 등의 이유로 전송이 제대로 이루어지지 않으면, 고객은 결제를 하였으나, 상점 또는 서비스 업체 입장에서는 그 결과를 알 수 없는 경우가 발생한다. 이러한 경우, 상품 또는 서비스를 구매한 고객으로부터 강력한 민원이 발생하게 되는 문제점이 있다.
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 목적은 결제와 관련된 데이터를 타임아웃 룰(timeout rule)에 기반하여 이중화하여 관리함으로써 유실에 강인한 결제 정보 유실 방지 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른, 제 1 서버에서의 결제 정보 유실 방지 방법은, 결제와 관련된 결제 요청 전문을 획득하는 단계 및 상기 결제 요청 전문을 제 3 서버 - 상기 제 3 서버는 결제와 관련된 서버 또는 상기 결제와 관련된 서버와 무선 또는 유선으로 연결된 매개 장치를 포함함 - 로 요청하여 상기 제 3 서버로부터 결제 완료 응답을 수신하는 단계를 포함하되, 상기 결제 완료 응답을 수신하는 단계는, 상기 결제 요청 전문의 유실 방지를 위해, 타임아웃 룰(timeout rule)을 적용함에 의해, 상기 결제 완료 응답이 없음에 대응하여 상기 결제 요청 전문을 위한 신규 쓰레드(thread)를 생성하면서 메모리에 적어도 일 영역에 상기 결제 요청 전문이 저장된 상태로 상기 결제 요청 전문의 전송을 반복 시도하는 단계를 포함할 수 있다.
상기 결제 완료 응답을 수신하는 단계는, 제 1 스레드를 생성함에 의해 메모리의 제 1 영역에 상기 결제 요청 전문을 저장하고 제 3 서버로 결제 요청 전문을 전송하는 단계를 포함하고, 상기 결제 요청 전문의 전송시 타임아웃 룰이 적용되면, 제 2 스레드를 생성하면서 상기 메모리의 제 2 영역에 상기 결제 요청 전문을 저장할 수 있다.
상기 타임아웃 룰은 상기 결제 요청 전문을 적어도 1회 전송한 이후 기준 시간동안 상기 결제 완료 응답이 수신되지 않음에 대응하여 적용되며, 상기 제 2 쓰레드를 생성하면서 상기 타임아웃 룰이 리셋(reset)되어 적용될 수 있다.
상기 타임아웃 룰의 적용에 응답하여, 상기 제 2 스레드의 생성과 상기 메모리의 제 2 영역으로 기저장된 결제 요청 전문 정보를 이동함과 동시에, 상기 제 1 스레드 및 상기 메모리의 제 1 영역의 상기 기저장된 결제 요청 전문 정보를 삭제할 수 있다.
상기 결제 요청 전문은 예약 주문과 관련된 제 1 결제 요청 전문 및 상기 예약 주문에 대응하여 발생된 실제 액션의 완료에 의해 생성되는 제 2 결제 요청 전문 중 적어도 하나를 포함할 수 있다.
상기 방법은, 제 2 서버로부터 클라이언트로부터의 주문 정보를 수신하는 단계(상기 주문 정보는 주문 정보에 따른 제 1 결제 요청 전문을 포함함) 및 상기 제 3 서버로 상기 주문 정보에 대한 승인을 요청하는 단계를 더 포함하되, 상기 주문 정보의 유실을 방지하기 위해, 상기 주문 정보에 대해 타임아웃 룰이 적용될 수 있다.
상기 방법은, 상기 주문 정보에 대한 승인에 응답하여, 액션 완료 정보를 획득하는 단계(상기 액션 완료 정보는 상기 주문 정보에 대응하는 실제 액션의 완료에 의해 생성되는 정보임), 상기 액션 완료 정보에 대응하는 액션 완료 전문을 제 3 서버로부터 획득하는 단계, 상기 액션 완료 전문을 기반으로 제 2 결제 요청 전문을 상기 제 2 서버로 요청하여 획득하는 단계 및 상기 제 2 결제 요청 전문의 승인을 상기 제 3 서버로 요청하는 단계를 더 포함하되, 상기 제 2 결제 요청 전문의 승인시 타임아웃 룰이 적용될 수 있다.
상기 주문 정보는 주유와 관련된 예약 주문 정보를 포함하며, 상기 액션 완료 정보는 예약 주문에 따른 실제 주유 액션의 완료에 의해 생성된 주유 완료 정보를 포함할 수 있다.
상기 제 2 결제 요청 전문은 전표번호, 상기 주문 정보에 대응하는 실제 액션이 이루어지는 제 1 장치의 식별 정보, 상기 주문 정보에 대응하는 상품 번호, 결제 금액 및 매장 코드, 단말기 코드, 거래 일련 번호 및 할인 혜택에 관한 정보 중 적어도 둘을 포함할 수 있다.
상기 방법은, 상기 주문 정보에 대한 승인에 응답하여 제 1 장치로 상기 주문 정보의 적어도 일부를 제공하는 단계(상기 제 1 장치는 상기 주문 정보에 대응하는 실제 액션이 이루어지는 대상 장치임) 및 상기 제 1 장치에서 상기 주문 정보에 대응하는 실제 액션이 이루어지도록 허여하는 단계를 더 포함하며, 상기 제 1 장치는 주유 장치일 수 있다.
상기한 목적을 달성하기 위한 본 발명의 다른 양태에 따른, 결제 정보 유실 방지를 위한 서버 장치는, 결제와 관련된 결제 요청 전문을 획득하고, 상기 결제 요청 전문을 제 3 서버 - 상기 제 3 서버는 결제와 관련된 서버 또는 상기 결제와 관련된 서버와 무선 또는 유선으로 연결된 매개 장치를 포함함 - 로 요청하여 상기 제 3 서버로부터 결제 완료 응답을 수신하는 프로세서 및 상기 프로세서의 동작과 관련된 명령어를 저장하는 메모리를 포함하되, 상기 프로세서는, 상기 결제 요청 전문의 유실 방지를 위해, 타임아웃 룰(timeout rule)을 적용함에 의해, 상기 결제 완료 응답이 없음에 대응하여 상기 결제 요청 전문을 위한 신규 쓰레드(thread)를 생성하면서 상기 메모리에 적어도 일 영역에 상기 결제 요청 전문이 저장된 상태로 상기 결제 요청 전문의 전송을 반복 시도할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 또 다른 양태에 따른, 결제 정보 유실 방지를 위한 시스템은, 결제와 관련된 결제 요청 전문을 제 2 서버로부터 획득하여, 상기 결제 요청 전문을 제 3 서버 - 상기 제 3 서버는 결제와 관련된 서버 또는 상기 결제와 관련된 서버와 무선 또는 유선으로 연결된 매개 장치를 포함함 - 로 요청하고 상기 제 3 서버로부터 결제 완료 응답을 수신하는 프록시 서버 및 상기 프록시 서버로 결제 요청 전문을 전송하는 제 2 서버를 포함하되, 상기 프록시 서버는, 상기 결제 요청 전문의 유실 방지를 위해, 타임아웃 룰(timeout rule)을 적용함에 의해, 상기 결제 완료 응답이 없음에 대응하여 상기 결제 요청 전문을 위한 신규 쓰레드(thread)를 생성하면서 메모리에 적어도 일 영역에 상기 결제 요청 전문이 저장된 상태로 상기 결제 요청 전문의 전송을 반복 시도할 수 있다.
본 발명의 결제 정보 유실 방지 방법에 따르면, 결제 처리 중에 통신 등의 장애로 네트워크가 끊어지더라도 결제 정보를 안전하게 보유할 수 있어, 고객 및 서비스 업체에 결제에 따른 피해를 방지하는 효과가 있다.
도 1a는 본 발명의 일 실시예에 따른 결제 정보 유실 방지 방법이 적용되는 시스템의 일부를 나타낸 개념도,
도 1b는 본 발명의 일 실시예에 따른 결제 정보 유실 방지 방법이 적용되는 시스템의 다른 일부를 나타낸 개념도,
도 2는 프록시 서버(proxy server)가 결제 정보를 외부 서버 측으로 전송하는 상황을 설명하기 위한 개념도,
도 3은 도 2의 상황에서 프록시 서버가 타임아웃 룰을 적용하여 결제 정보 유실을 방지하는 과정을 구체적으로 나타낸 상세흐름도,
도 4는 주유 완료 전문을 나타낸 도면,
도 5는 결제 요청 전문을 나타낸 도면,
도 6은 본 발명의 일 실시예에 따른 프록시 서버 장치의 구성을 나타낸 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 명세서에서, 결제 정보 유실 방법이 주유소에서의 서비스를 기준으로 설명되어 있다고 하더라도, 다른 서비스(예를 들어, 인터넷 쇼핑몰, 드라이브 쓰루(DT: Drive Through) 등의 주문형 결제 서비스)에도 적용될 수 있음은 본 발명의 기술분야의 통상의 기술자에게는 자명한 것일 것이다.
본 명세서에 있어서, 예약 주유 서비스는 사용자가 주유를 하기 전에, 주유소와 주유량을 특정하여 예약 주문을 한 뒤, 사용자가 실제 주유소 매장 방문시 예약 주문과 관련된 정보(예를 들어, 주유소 내의 특정 주유기 번호)를 입력하면 주문된 내용에 따라 주유가 실행되는 서비스를 의미한다. 이때, 신용카드를 꺼내서 주유소 직원에게 제시하는 등의 별도의 결제를 위한 액션 없이 주유가 진행된다. 결제는 예약 주유 서비스에 미리 저장된 신용카드 정보를 기반으로 자동 처리가 되도록 한다. 해당 서비스는 애플리케이션(application)을 기반으로 사용자 단말과 통신함에 의해 수행된다.
도 1a는 본 발명의 일 실시예에 따른 결제 정보 유실 방지 방법이 적용되는 시스템의 일부를 나타낸 개념도이다. 도 1a에 도시된 바와 같이, 본 발명의 일 실시예에 따른 결제 정보 유실 방지 시스템은 사용자 단말(110), 예약 주유 서비스 제공 서버 클러스터(110), 프록시 서버(120: proxy server), 주유소 장비(130), 주유 장치(140-1~140-3) 및 정유사 서버(150)를 포함할 수 있다. 이때, 주유소 현장에는 프록시 서버(120), 주유소 장비(130) 및 주유 장치(140-1~140-3)가 배치될 수 있다.
도 1a를 참조하면, 사용자 단말(110)이 예약 주문을 해놓고 예약 주문했던 주유소에 방문하여, 예약 주유 서버스와 관련된 애플리케이션을 실행하면, 애플리케이션은 예약 주문했던 내용과 주유소 내의 주유 기기를 선택 입력하라는 사용자 인터페이스 화면이 표시된다. 사용자가 주유 장치(140-1)를 하나 특정하여 입력하면 예약 주유 서비스 제공 서버 클러스터(110)가 이와 관련된 결제 및 주유 실행을 위한 절차를 처리한다.
예약 주유 서비스 제공 서버 클러스터(110)는 예약 주유 서비스 제공 서버(112) 및 애플리케이션 서버(114)를 포함한다. 예약 주유 서비스 제공 서버(112)는 다수의 사용자들을 상대로 예약 주유 서비스를 제공하는 서버로, 해당 서비스에 가입되어 있는 개인 회원들의 개인 정보, 결제 정보, 관련 할인 정보(쿠폰, 포인트, 그밖의 회원 혜택 관련 정보) 뿐만 이니라, 주유소 회원사들의 매장 정보, 회사 정보, 결제 라인 정보 등을 데이터베이스에 저장하고 있다. 애플리케이션 서버(114)는 예약 주유 서비스와 관련된 애플리케이션을 유지, 보수 및 관리하는 서버이다.
사용자 단말(110)에 주유장치(140-1)의 번호(주유장치에는 스티커가 붙어 있어 대응하는 번호가 표시되어 있음)를 입력하면, 애플리케이션 서버(114)는 이를 수신하여 서버 통신을 통해 예약 주유 서비스 제공 서버(112)의 아크 서버(Ark server)로 제공한다. 예약 주유 서비스 제공 서버(112)의 아크 서버는 외부 인터페이스를 통해 주문 정보를 프록시 서버(120)로 전달한다. 이때, 주문 정보에는 주유소 매장 코드, 주유장치 노즐 번호, 상품정보(유종, 단가, 주유 리터 등) 및 결제 금액 정보 등이 포함될 수 있다. 주문 정보는 예약 주문 내용과 관련된, 결제 요청 전문 내용을 포함할 수 있다.
프록시 서버(120)는 주유소 현장에 배치된 서버이다. 이는 주유소에 배치된 컴퓨팅 장치에 데몬 툴(daemon tool)이 에뮬레이팅된(emulated) 형태로 존재할 수 있다. 해당 서버는 예약 주유 서비스 제공 서버(112)와 연동한다. 이는 예약 주유소 서비스 제공자가 회원 주유사에 설치하는 서버 또는 프로그램일 수 있다.
프록시 서버(120)는 내부 통신을 위한 프록시 M 모듈과 외부 통신을 위한 베이스 프록시 모듈(base proxy module)을 포함할 수 있다. 프록시 M 모듈은 상기 외부 통신을 위한 베이스 프록시 모듈과 내부적으로 통신하여 정보를 송수신한다. 주문 정보가 프록시 서버(120)의 프록시 M 모듈에 전달되면, 프록시 M 모듈은 이를 베이스 프록시 모듈로 제공하고, 베이스 프록시 모듈은 이를 주유소 장비(130) 내의 허브 장치(134)를 매개로 정유사 서버(150)로 전달한다.
주유소 장비(130)는 POS 장치(132)와 허브 장치(134)를 포함한다. POS 장치(132)는 Point-Of-Sale 단말 장치로, 상품의 판매 정보를 입력하면 이를 처리하는 결제 관련 서버들로 전송하도록 되어 있는 단말 장치이다. 즉, 매장 전용 단말 장치이다.
허브 장치(134)는 주유소 내부 및/또는 외부로의 통신을 위한 허브 장치로 공인망(public network)을 사용한다. 허브 장치(134)는 프록시 서버(120)와 정유사 서버(150)를 연결하는 역할을 수행한다. 다만, 허브 장치(134)가 공인망을 사용하기에 불시에 네트워크 장애가 발생하는 일이 가끔 일어나곤 한다. 결제 정보는 매우 중요한 정보이기에, 가끔씩 발생하는 장애에도 그 피해가 클 수 있다. 따라서, 사후에 네트워크 장애로 인해 발생된 결제 절차 상의 에러(error)를 복구하기 위해, 프록시 서버(120)는 결제와 관련된 정보를 유실되지 않게 보관할 필요가 있다.
결제 전문을 포함하는 주문 정보의 승인 과정에서, 프록시 서버(120)로부터 허브 장치(134)로 주문 정보가 전달되면, 허브 장치(134)는 이를 정유사 서버(150)로 제공하고, 정유사 서버(134)는 이에 대한 승인 처리를 수행한다. 도 2와 관련된 설명 부분에도 언급되지만, 주문 정보도 결제 요청 전문을 포함하는 중요한 정보이기에 타임아웃 룰에 따른 데이터 유실 방지 알고리즘이 적용된다. 즉, 프록시 서버(120)는 주문 정보를 메모리의 일 영역에 저장하고 나서, 허브 장치(134)로 전송하지만, 허브 장치(134)로부터 그에 대응하는 승인 정보를 수신하지 못하면, 타임아웃 룰에 입각하여 새로운 쓰레드를 생성하고, 이에 따라 메모리의 다른 영역으로 상기 주문 정보의 내용을 변경 저장하면서 해당 정보가 유실되지 않도록 제어한다.
결제 전문에 대한 정보 승인 절차가 완료되면, 정유사 서버(150)는 주문 확인 정보를 허브 장치(134)로 제공하고, 허브 장치(134)는 이를 프록시 서버(120)로 전달한다. 여기서, 정유사 서버(150)와 외부 결제 승인 절차에 대한 상세는 도 1b에 대한 설명에서 자세히 다루도록 한다.
프록시 서버(120)는 주문 확인 정보를 프록시 M 모듈의 내부 통신을 통해 주유 장치(140-1~140-3)(주유 장치는 사용자 단말의 번호 입력시 입력된 번호의 주유장치에 대응되는 것이 바람직함)의 디스플레이 장비(DP)에 표시되도록 한다. 이때, 허브 장치(134)가 직접 (또는 프록시 서버(120)의 제어에 의해) 주유 장치(140-1~140-3)의 노즐로 정유소 서버(150)와의 통신 결과(프리셋 승인 결과)를 전송하여 노즐에서 주유를 위한 프리셋 세팅이 이루어지도록 할 수도 있다. 즉, 예약 주문에 따른 주유가 실행될 준비가 되도록 한다.
한편, 주유 장치(140-1~140-3)는 디스플레이 장비 및/또는 스티커를 가지고 있어, 자신의 식별 정보 및 제어 정보를 표시할 수 있다. 주유 장치(140-1~140-3)는 (i) 허브 장치(134)와 직접, 및/또는 (ii) 허브 장치(134)를 경유하여 프록시 서버(120)와, 노즐 상태, 장치 제어 신호, 및 예약 주문 관련 프리셋 세팅 신호 등을 실시간으로 주고받을 수 있다.
프리셋 세팅에 따라 주유 실행 준비가 되면, 주유소 직원 또는 셀프 주유의 경우 사용자가 직접, 주유소의 디스플레이 장치 또는 다른 기설정된 통신장비의 표시를 보고, 주유를 개시한다. 그리고는, 주유가 완료되면, 주유 완료에 따른 결제가 이루어지도록 처리한다. 주유 완료 후의 결제 처리는 도 1b를 통해 보다 상세히 설명한다.
도 1b는 본 발명의 일 실시예에 따른 결제 정보 유실 방지 방법이 적용되는 시스템의 다른 일부를 나타낸 개념도이다.
도 1b를 참조하면, 정유사 서버(150)는 휘발유, 경유를 제조하고 판매하는 회사의 주유 관리 서버일 수 있다. 정유사 서버(150)는 주유소 회원과 주유 고객 회원을 관리한다. 정유사 서버(150)는 주유와 관련된 결제, 쿠폰, 포인트 등에 대한 정보를 취급하며, 허브 장치(134)를 통해 프록시 서버(130)와 통신하고, VAN 서버(160) 및 예약 주유 서비스 제공 서버(112)와도 직접 통신할 수 있다. 정유사 서버(150)와 예약 주유 서비스 제공 서버(112)는 전용선을 연결되어 주기적으로 더미전문을 송수신한다. 이를 통해 결제 전문을 예약 주유 서비스 제공 서버(112)로부터 직접 수신할 수도 있다. 프록시 서버(120)를 통한 수신과 예약 주유 서비스 제공 서버(112)를 통한 수신을 포함하는 이중 수신도 가능하다. 이는 결제 정보를 보다 정확하게 맞춰보기 위함이다. 서버(110)와 정유사 서버(150) 간의 주기적인 정보 송수신을 통해 둘 간의 연결상태 정상 여부도 주기적으로 모니터링할 수 있다. 이는 기설정된 정책 기반으로 수행된다.
앞서 도 1a의 실시예 중 프록시 서버(120)로부터 전달되는 주문 정보의 승인 과정에서, 정유사 서버(150)는 허브 장치(134)를 통해 프록시 서버(120)로부터 주문 정보를 수신한다. 앞서 설명한 바와 같이, 상기 주문 정보에는 결제 요청 전문이 포함되어 있을 수 있다.
정유사 서버(150)가 결제 요청 전문이 포함된 주문 정보를 수신하면, VAN 서버(160)로 해당 결제 전문 내용을 전송하고, 이에 대한 승인을 받을 수 있다.
VAN 서버(160)는 카트 가맹점과 카드사를 연계해주는 회사의 결제 관리 서버이다. VAN 서버(160)는 제휴하고 있는 카드사의 서버와 통신하여 주문 정보와 연관된 신용카드의 결제를 승인받을 수 있다. 그리고는, 승인 정보를 다시 정유사 서버(150)로 제공함으로써 예약 주문에 대한 승인이 이루어질 수 있다. 이후 주유 완료까지의 과정은 다시 도 1a의 실시예를 참고하면 된다.
그리고, 주유 완료 후의 결제 절차를 살펴보면, 다음과 같은 처리 과정으로 진행된다. 주유 장치(140-1~140-3)에서 주유 액션의 완료를 확인하면, 주유 완료에 따른 기본 정보를 프록시 서버(120)로 제공한다. 여기에는, 예약 주문 식별 정보, 주유 장치(140-1~140-3)의 식별 정보, 주유 금액 정보 중 적어도 하나가 포함될 수 있다.
프록시 서버(120)는 해당 정보를 허브 장치(134)를 거쳐 정유사 서버(150)로 제공하고, 정유사 서버(150)는 이를 주유 완료 전문 형태로 생성하여 VAN 서버(160)로 제공한다. 그리고는, 주유 완료 전문에 대한 승인을 받는다. 주유 완료 전문에 포함되는 내용은 도 4를 통해 보다 상세히 설명한다.
정유사 서버(150)가 주유 완료 전문에 대한 승인을 받고 나면, 이를 프록시 서버(150)로 제공하고 프록시 서버(150)는 이를 기반으로 주유 완료에 따른 결제 요청 전문을 예약 주유 서비스 제공 서버(112)와 연동하여 처리한다. 결제 요청 전문의 처리 과정은 도 2를 통해 보다 상세히 설명한다.
도 2는 프록시 서버(proxy server)가 결제 정보를 외부 서버 측으로 전송하는 상황을 설명하기 위한 개념도이다.
도 2를 참조하면, 정유사 서버(150)로부터 쥬유 완료 전문의 승인을 받고 나면, 프록시 서버(120)는 이를 허브 장치(134)를 통해 수신한다. 프록시 서버(120)는 주유 완료 전문을 기반으로 결제 요청 전문의 작성을 예약 주유 서비스 제공 서버(112)로 요청한다. 예약 주유 서비스 제공 서버(112)는 요청에 대응하여, 주유 완료 전문을 기반으로 단말기 코드, 쿠폰 및 보너스 카드 할인 사용 여부 등의 예약 주유 서비스와 관련된 부가 정보를 추가하여 결제 요청 전문을 생성한 후, 이를 다시 프록시 서버(120)로 제공한다.
프록시 서버(120)는 예약 주유 서비스 제공 서버(112)로부터 수신되는 결제 요청 전문을 기반으로, 단일 또는 멀티 프로세서 시스템에서, 쓰레드(thread)를 생성하여 휘발성 메모리의 일 영역에 저장한다. 상기 휘발성 메모리는 프로세서의 프로세스(process) 메모리 공간일 수 있다. 이는 캐시 메모리(cache memory)일 수 있다. 그리고는, 프록시 서버(120)는 생성된 쓰레드를 이용하여 결제 요청 전문을 허브 장치(134)를 거쳐 정유사 서버(150)로 제공한다. 그리고, 결제 완료 응답을 기다린다. 프록시 서버(120)가 결제 완료 응답을 수신하면, 예약 주유부터 주유 완료까지의 결제 과정이 완료된다.
다만, 앞서 설명한 바와 같이, 결제 요청 전문 전송 과정에서 네트워크 장애 등으로 인해 통신이 두절된다면, 결제 정보의 유실 방지를 위한 알고리즘이 요구될 수 있다. 이를 위해, 결제 요청 전문의 유실 방지를 위한 타임아웃 룰 기반의 알고리즘이 적용될 수 있다. 이는 도 3을 통해 보다 상세히 설명한다.
도 3은 도 2의 상황에서 프록시 서버가 타임아웃 룰을 적용하여 결제 정보 유실을 방지하는 과정을 구체적으로 나타낸 상세흐름도이다.
도 3을 참조하면, 프록시 서버가 정유사 서버로부터의 주유 완료 전문의 승인 이후 예약 주유 서비스 제공 서버로부터 결제 요청 전문을 수신하면, 수신된 결제 요청 전문을 허브 장치를 매개로 다시 정유사 서버로 전송한다(S310). 이는 결제 요청 전문의 승인을 요청하는 것을 목적으로 한다. 이때, 네트워크 상의 문제가 없으면, 수초 내로 이에 대한 승인 완료 응답이 올 것이다. 이때, 타임아웃 룰(Timeout Rule)을 적용하기 위해, 결제 요청 전문의 전송과 함께 시간을 리셋한다.
만약, 리셋된 시간을 기준으로 기설정된 시간 동안 결제 응답이 수신되지 않는다면(S320), 프록시 서버는 해당 시간동안 대기하거나 또는 결제 요청 전문을 재전송 하는 등의 동작을 취할 수 있다. 예를 들어, 타임아웃 기준 시간이 30초라면, 30초 동안 1번만 전문을 전송할 수도 있지만, 2번 내지 5번 반복하여 결제 요청 전문을 정유사 서버로 전송할 수도 있다. 이는 사용자 설정을 통해 임의로 결정할 수 있는 부분이다. 최초 결제 전문 요청을 전송하고 나서, 결제 완료 응답을 수신하거나 타임아웃 룰에 적용될 때까지 시간이 지체되었다면, 단계(S330)로 넘어간다.
타임아웃 룰은, 결제 요청 전문을 전송했음에도 기설정된 시간 동안 결제 완료 응답을 받지 못할 경우, 해당 쓰레드를 통한 결제 요청 전문의 처리 시간이 만기되었음을 정의하는 룰이다. 다만, 이로써 결제 절차가 끝나는 것이 아니라, 결제 요청 전문 정보의 유실 방지를 위해, 다른 신규 쓰레드를 생성하여 결제 요청 전문의 전송을 이어나가는 것을 전제로 한다. 즉, 이는 신규 쓰레드 생성에 따른 재전송 알고리즘을 포함한다. 타임아웃 룰에 따르면, 일정 횟수 및/또는 일정 기간 동안 결제 요청 전문을 전송했음에도 응답을 받지 못했다고 하여, 해당 정보를 삭제하고 무시하는 것이 아니라, 다른 쓰레드를 새롭게 생성함으로써, 계속하여 결제 요청 전문의 전송을 시도하고, 이를 통해 정유사 서버로부터 응답이 올 때까지 데이터의 유실을 방지하는 것이다.
일 예에서, 상기 기설정된 시간은 30초일 수 있다. 다만, 반드시 이에 한정되는 것은 아니고, 5초, 10초, 15초, 20초, 45초, 1분, 2분 등의 다른 시간 값으로 설정될 수도 있다. 또한, 기설정된 시간 동안 결제 요청 전문을 전송하는 횟수도 미리 설정되어 있을 수 있다. 해당 시간 동안의 전송 횟수는 1회, 2회 또는 3회로 설정될 수 있다. 예를 들어, 30초 동안 3회 결제 요청 전문을 전송했음에도, 최초 전송 후로 30초 동안 응답이 없으면, 타임아웃 룰이 적용되어 신규 쓰레드를 만들어 다시 결제 요청 전문의 전송 절차를 이어나가도록 제어한다. 다른 예에서, 상기 기설정된 횟수는, 5회 또는 5회 내지 10회일 수 있다.
다시 도 3의 단계(S330)으로 돌아가서, 단계(S330)에서 타임아웃 룰에 적용되는 경우가 아니라면, 이는 결제 응답을 수신한 것으로 볼 수 있으므로, 모든 결제 과정을 완료한다.
만약, 단계(S330)에서, 타임아웃 룰에 해당한다면, 프록시 서버는 새로운 쓰레드를 생성하여(S340), 기존에 저장된 메모리 영역의 정보를 다른 메모리 영역으로 이전하고(S350), 기존 쓰레드 및/또는 관련 메모리 영역을 파괴한 채(S360), 다시 결제 요청 전문의 전송을 개시한다(S310).
이때로부터 다시 타임아웃 룰이 리셋되어 적용된다. 일 예에서, 상기 메모리는 휘발성 메모리일 수 있기 때문에, 타임아웃 룰의 기준 시간은 휘발성 메모리의 기본적인 저장 시간에 대응되는 시간으로 설정되는 것이 바람직하다.
본 발명의 실시예에 따르면, 타임아웃 룰이 반드시 주유 완료에 따른 결제 요청 전문의 경우에만 적용되어야 하는 것은 아니다. 다른 예에서, 예약 주문 확인을 위한 주문 정보의 승인 과정에서도 적용될 수 있다. 상기 주문 정보에도 예약 주문과 관련된 결제 전문 정보가 포함되어 있기에, 해당 정보의 전송 및 승인 과정에도, 위와 동일 또는 유사한 방식으로, 타임아웃 룰이 적용될 수 있다.
추가적으로, 주유 장치에서의 주유 완료 후, 프록시 서버가 이와 관련된 결제 정보를 수신하여 정유사 서버로 제공한 후, 주유 완료 전문의 승인 및 그에 대한 정보를 수신함에 있어서도 타임아웃 룰이 적용될 수 있다. 예를 들어, 프록시 서버의 주유 완료 정보 전송 후, 정유사 서버로부터의 승인이 일정 기간 및/또는 일정 횟수 동안 없을 때, 타임아웃 룰을 적용하여 해당 주유 완료 정보가 유실되지 않도록 할 수 있다.
도 4는 주유 완료 전문을 나타낸 도면이다.
도 4를 참조하면, 주유 완료 전문은 전표 번호, 노즐번호, 상품 정보, 결제금액 및 매장코드 정보를 포함한다. 전표 번호는 신용카드 전표 번호일 수 있다. 이는 승인번호일 수 있다. 노즐번호는 실제 주유가 일어난 주유기의 식별번호를 나타낸다. 상품 정보는 주유 유종(일반 휘발유, 경유, 고급 휘발유 등), 주유 단가(리터 당 단가) 및 주유량(몇 리터인지)과 같은 주유 액션과 관련된 정보를 포함한다. 결제금액은 주유 완료에 따라 사용자가 실제 결제할 최종 금액을 나타내며, 매장 코드는 회원 주유소의 식별 코드를 포함한다. 상기 정보들 중에서 적어도 둘 이상은 포함하는 것이 바람직하다. 즉, 결제 금액과 관련된 정보와 매장코드, 노즐번호와 같은 주유로 인한 매출이 발생된 주체를 식별할 수 있는 정보가 포함되는 것이 바람직하다. 주유 완료 전문은 반드시 위 5가지 정보만 포함되는 것이 아니고, 다른 정보가 포함되어도 무방하다.
도 5는 결제 요청 전문을 나타낸 도면이다.
도 5를 참조하면, 결제 요청 전문은 주유 완료 전문에 포함된 정보들에 추가로 단말기 코드, 할인 사용 여부와 관련된 정보 및 거래일련번호 정보를 더 포함한다. 단말기 코드 정보는 사용자 단말과 관련된 식별 코드를 의미할 수 있다. 할인 사용 여부 관련 정보는 예약 주유 서비스 개인 회원이 쿠폰 및 보너스 카드 할인을 사용했는지 여부 및 사용 액수에 대한 정보를 포함한다. 거래일련번호는 예약 주유 서비스를 통해 발생되는 거래들에 순차적으로 부여되는 인덱스 번호(식별 번호)를 포함한다.
일 예에서, 도 4와 도 5의 상기 주유 완료 전문 및 결제 요청 전문은 주유소 현장 구간에서 생성되어 전송되는 전문 정보들이다.
한편, 주유소 현장 구간을 떠나 서버간 통신 구간으로 들어오면, 결제 요청 전문의 내용을 받아 아래 내용을 추가하여 실제 결제가 진행될 수 있다. 이는 정유사 서버 및/또는 예약 주유 서비스 제공 서버에서 수행된다. 추가되는 정보는 암호화된 신용카드 정보, 보너스 카드 번호 및 쿠폰 번호 정보 중 적어도 하나를 포함한다. 암호화된 신용카드 정보는 빌키(bill key) 및/또는 OTP(one-time password) 값을 포함할 수 있다. 상기한 다수의 정보들로 상황에 맞게 쿠폰 결제 또는 보너스 할인 및 신용 결제를 진행한다.
도 6은 본 발명의 일 실시예에 따른 프록시 서버 장치의 구성을 나타낸 블록도이다. 도 6에 도시된 바와 같이, 서버 장치는, 통신부(610), 프로세서(620), 메모리(630) 및 입출력 모듈(640)을 포함할 수 있다.
도 6을 참조하면, 통신부(610)는 유선 및/또는 무선 네트워크를 통해 외부 장치와 통신을 수행하는 구성요소이다. 통신부(610)는 안테나 및/또는 통신 프로세서를 포함할 수 있다.
프로세서(620)는 통신부(610)를 통해 획득된 정보를 기반으로 결제 관련 처리를 위한 절차를 제어하는 구성요소이다. 프로세서(620)는 결제와 관련된 결제 요청 전문을 정유사 서버로 전송하고 그에 대한 승인을 요청하며, 이때, 일정 시간 동안 결제 완료 응답이 없음에 대응하여 타임아웃 룰을 적용한다. 프로세서(620)는 결제 요청 전문 수신하면 그에 대응하는 쓰레드를 생성하고 메모리(630)의 일 영역에 해당 정보를 저장한다. 그리고, 생성된 쓰레드를 이용하여 결제 요청 전문을 전송한다. 전송된 결제 요청 전문에 대한 응답이 임계시간동안 없으면, 타임아웃 룰을 적용하고, 이에 따라 신규 쓰레드를 생성하여 메모리(630)의 다른 영역으로 관련 정보를 이동시키고, 기생성된 쓰레드 및 메모리 영역을 파괴하는 등의 절차를 수행한다. 프로세서(620)는 메모리(630)와 신호선을 통해 연결되어 있으며, 메모리(630)에 저장된 프로그램을 실행한다.
메모리(630)는 프로세서(620)에서 수행해야 할 프로그램들과 연관된 명령어들을 저장하고 있으며, 프로세서(620)에서 처리되는 데이터를 저장하고 있는 저장장치이다.
입출력 모듈(640)은 키보드, 마우스와 같은 정보 입력 수단 및 모니터, TV, 터치스크린과 같은 정보 출력 수단을 포함한다. 입출력 모듈(640)은 타임아웃 룰의 적용과 관련된 각종 설정값들(기준 시간, 기준 횟수 등)을 변경하고 관련된 내용을 표시하는데 사용된다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (12)

  1. 제 1 서버에서의 결제 정보 유실 방지 방법에 있어서,
    결제와 관련된 결제 요청 전문을 획득하는 단계; 및
    상기 결제 요청 전문을 제 3 서버 - 상기 제 3 서버는 결제와 관련된 서버 또는 상기 결제와 관련된 서버와 무선 또는 유선으로 연결된 매개 장치를 포함함 - 로 요청하여 상기 제 3 서버로부터 결제 완료 응답을 수신하는 단계를 포함하되,
    상기 결제 완료 응답을 수신하는 단계는, 상기 결제 요청 전문의 유실 방지를 위해, 타임아웃 룰(timeout rule)을 적용함에 의해, 상기 결제 완료 응답이 없음에 대응하여 상기 결제 요청 전문을 위한 신규 쓰레드(thread)를 생성하면서 메모리에 적어도 일 영역에 상기 결제 요청 전문이 저장된 상태로 상기 결제 요청 전문의 전송을 반복 시도하는 단계를 포함하되,
    상기 결제 완료 응답을 수신하는 단계는, 제 1 스레드를 생성함에 의해 메모리의 제 1 영역에 상기 결제 요청 전문을 저장하고 제 3 서버로 결제 요청 전문을 전송하는 단계를 포함하고,
    상기 결제 요청 전문의 전송시 타임아웃 룰이 적용되면, 제 2 쓰레드를 생성하면서 상기 메모리의 제 2 영역에 상기 결제 요청 전문을 저장하고,
    상기 타임아웃 룰은 상기 결제 요청 전문을 적어도 1회 전송한 이후 기준 시간동안 상기 결제 완료 응답이 수신되지 않음에 대응하여 적용되며,
    상기 제 2 쓰레드를 생성하면서 상기 타임아웃 룰이 리셋(reset)되어 적용되며,
    상기 타임아웃 룰의 적용에 응답하여, 상기 제 2 쓰레드의 생성과 상기 메모리의 제 2 영역으로 기저장된 결제 요청 전문 정보를 이동함과 동시에, 상기 제 1 쓰레드 및 상기 메모리의 제 1 영역의 상기 기저장된 결제 요청 전문 정보를 삭제하는, 제 1 서버에서의 결제 정보 유실 방지 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 결제 요청 전문은 예약 주문과 관련된 제 1 결제 요청 전문 및 상기 예약 주문에 대응하여 발생된 실제 액션의 완료에 의해 생성되는 제 2 결제 요청 전문 중 적어도 하나를 포함하는, 제 1 서버에서의 결제 정보 유실 방지 방법.
  6. 제 5 항에 있어서,
    제 2 서버로부터 클라이언트로부터의 주문 정보를 수신하는 단계, 상기 주문 정보는 주문 정보에 따른 제 1 결제 요청 전문을 포함함; 및
    상기 제 3 서버로 상기 주문 정보에 대한 승인을 요청하는 단계를 더 포함하되,
    상기 주문 정보의 유실을 방지하기 위해, 상기 주문 정보에 대해 타임아웃 룰이 적용되는, 제 1 서버에서의 결제 정보 유실 방지 방법.
  7. 제 6 항에 있어서,
    상기 주문 정보에 대한 승인에 응답하여, 액션 완료 정보를 획득하는 단계, 상기 액션 완료 정보는 상기 주문 정보에 대응하는 실제 액션의 완료에 의해 생성되는 정보임;
    상기 액션 완료 정보에 대응하는 액션 완료 전문을 제 3 서버로부터 획득하는 단계;
    상기 액션 완료 전문을 기반으로 제 2 결제 요청 전문을 상기 제 2 서버로 요청하여 획득하는 단계; 및
    상기 제 2 결제 요청 전문의 승인을 상기 제 3 서버로 요청하는 단계를 더 포함하되,
    상기 제 2 결제 요청 전문의 승인시 타임아웃 룰이 적용되는, 제 1 서버에서의 결제 정보 유실 방지 방법.
  8. 제 7 항에 있어서,
    상기 주문 정보는 주유와 관련된 예약 주문 정보를 포함하며,
    상기 액션 완료 정보는 예약 주문에 따른 실제 주유 액션의 완료에 의해 생성된 주유 완료 정보를 포함하는, 제 1 서버에서의 결제 정보 유실 방지 방법.
  9. 제 7 항에 있어서,
    상기 제 2 결제 요청 전문은 전표번호, 상기 주문 정보에 대응하는 실제 액션이 이루어지는 제 1 장치의 식별 정보, 상기 주문 정보에 대응하는 상품 번호, 결제 금액 및 매장 코드, 단말기 코드, 거래 일련 번호 및 할인 혜택에 관한 정보 중 적어도 둘을 포함하는, 제 1 서버에서의 결제 정보 유실 방지 방법.
  10. 제 6 항에 있어서,
    상기 주문 정보에 대한 승인에 응답하여 제 1 장치로 상기 주문 정보의 적어도 일부를 제공하는 단계, 상기 제 1 장치는 상기 주문 정보에 대응하는 실제 액션이 이루어지는 대상 장치임; 및
    상기 제 1 장치에서 상기 주문 정보에 대응하는 실제 액션이 이루어지도록 허여하는 단계를 더 포함하며,
    상기 제 1 장치는 주유 장치인, 제 1 서버에서의 결제 정보 유실 방지 방법.
  11. 결제 정보 유실 방지를 위한 서버 장치에 있어서,
    결제와 관련된 결제 요청 전문을 획득하고, 상기 결제 요청 전문을 제 3 서버 - 상기 제 3 서버는 결제와 관련된 서버 또는 상기 결제와 관련된 서버와 무선 또는 유선으로 연결된 매개 장치를 포함함 - 로 요청하여 상기 제 3 서버로부터 결제 완료 응답을 수신하는 프로세서; 및
    상기 프로세서의 동작과 관련된 명령어를 저장하는 메모리를 포함하되,
    상기 프로세서는, 상기 결제 요청 전문의 유실 방지를 위해, 타임아웃 룰(timeout rule)을 적용함에 의해, 상기 결제 완료 응답이 없음에 대응하여 상기 결제 요청 전문을 위한 신규 쓰레드(thread)를 생성하면서 상기 메모리에 적어도 일 영역에 상기 결제 요청 전문이 저장된 상태로 상기 결제 요청 전문의 전송을 반복 시도하되,
    상기 프로세서는, 제 1 스레드를 생성함에 의해 메모리의 제 1 영역에 상기 결제 요청 전문을 저장하고 제 3 서버로 결제 요청 전문을 전송하고,
    상기 결제 요청 전문의 전송시 타임아웃 룰이 적용되면, 제 2 쓰레드를 생성하면서 상기 메모리의 제 2 영역에 상기 결제 요청 전문을 저장하고,
    상기 타임아웃 룰은 상기 결제 요청 전문을 적어도 1회 전송한 이후 기준 시간동안 상기 결제 완료 응답이 수신되지 않음에 대응하여 적용되며,
    상기 제 2 쓰레드를 생성하면서 상기 타임아웃 룰이 리셋(reset)되어 적용되며,
    상기 타임아웃 룰의 적용에 응답하여, 상기 제 2 쓰레드의 생성과 상기 메모리의 제 2 영역으로 기저장된 결제 요청 전문 정보를 이동함과 동시에, 상기 제 1 쓰레드 및 상기 메모리의 제 1 영역의 상기 기저장된 결제 요청 전문 정보를 삭제하는, 결제 정보 유실 방지를 위한 서버 장치.
  12. 결제 정보 유실 방지를 위한 시스템에 있어서,
    결제와 관련된 결제 요청 전문을 제 2 서버로부터 획득하여, 상기 결제 요청 전문을 제 3 서버 - 상기 제 3 서버는 결제와 관련된 서버 또는 상기 결제와 관련된 서버와 무선 또는 유선으로 연결된 매개 장치를 포함함 - 로 요청하고 상기 제 3 서버로부터 결제 완료 응답을 수신하는 프록시 서버; 및
    상기 프록시 서버로 결제 요청 전문을 전송하는 제 2 서버를 포함하되,
    상기 프록시 서버는, 상기 결제 요청 전문의 유실 방지를 위해, 타임아웃 룰(timeout rule)을 적용함에 의해, 상기 결제 완료 응답이 없음에 대응하여 상기 결제 요청 전문을 위한 신규 쓰레드(thread)를 생성하면서 메모리에 적어도 일 영역에 상기 결제 요청 전문이 저장된 상태로 상기 결제 요청 전문의 전송을 반복 시도하되,
    상기 프록시 서버는, 제 1 스레드를 생성함에 의해 메모리의 제 1 영역에 상기 결제 요청 전문을 저장하고 제 3 서버로 결제 요청 전문을 전송하고,
    상기 결제 요청 전문의 전송시 타임아웃 룰이 적용되면, 제 2 쓰레드를 생성하면서 상기 메모리의 제 2 영역에 상기 결제 요청 전문을 저장하고,
    상기 타임아웃 룰은 상기 결제 요청 전문을 적어도 1회 전송한 이후 기준 시간동안 상기 결제 완료 응답이 수신되지 않음에 대응하여 적용되며,
    상기 제 2 쓰레드를 생성하면서 상기 타임아웃 룰이 리셋(reset)되어 적용되며,
    상기 타임아웃 룰의 적용에 응답하여, 상기 제 2 쓰레드의 생성과 상기 메모리의 제 2 영역으로 기저장된 결제 요청 전문 정보를 이동함과 동시에, 상기 제 1 쓰레드 및 상기 메모리의 제 1 영역의 상기 기저장된 결제 요청 전문 정보를 삭제하는, 결제 정보 유실 방지를 위한 시스템.
KR1020200112472A 2020-09-03 2020-09-03 결제 정보 유실 방지 방법 및 장치 KR102414428B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200112472A KR102414428B1 (ko) 2020-09-03 2020-09-03 결제 정보 유실 방지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200112472A KR102414428B1 (ko) 2020-09-03 2020-09-03 결제 정보 유실 방지 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220030762A KR20220030762A (ko) 2022-03-11
KR102414428B1 true KR102414428B1 (ko) 2022-06-30

Family

ID=80815016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200112472A KR102414428B1 (ko) 2020-09-03 2020-09-03 결제 정보 유실 방지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102414428B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230153713A (ko) * 2022-04-29 2023-11-07 쿠팡 주식회사 결제 서비스 제공 방법 및 그 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237789A (ja) * 2008-03-26 2009-10-15 Mizuho Information & Research Institute Inc データ転送システム、データ転送方法及びデータ転送プログラム
KR101201183B1 (ko) * 2004-06-30 2012-11-13 마이크로소프트 코포레이션 프리시 메시징 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100605117B1 (ko) * 2004-07-15 2006-07-31 (주)엔텔스 Wcdma 패킷 과금 데이터 처리 방법 및 시스템
KR101165250B1 (ko) * 2010-02-04 2012-07-16 한국정보통신주식회사 신용 결제 시스템에서 통신 장애를 알리는 방법 및 장치와 그 시스템
KR20170054992A (ko) * 2015-11-10 2017-05-18 에스케이네트웍스 주식회사 선결제 주유 예약 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101201183B1 (ko) * 2004-06-30 2012-11-13 마이크로소프트 코포레이션 프리시 메시징 방법
JP2009237789A (ja) * 2008-03-26 2009-10-15 Mizuho Information & Research Institute Inc データ転送システム、データ転送方法及びデータ転送プログラム

Also Published As

Publication number Publication date
KR20220030762A (ko) 2022-03-11

Similar Documents

Publication Publication Date Title
US7810723B2 (en) System and method to purchase applications by a point of sale terminal
US7849020B2 (en) Method and apparatus for network transactions
CN108701307A (zh) 用于验证令牌请求者的方法和系统
US20080027874A1 (en) System and method for facilitating secure transactions over communication networks
US20200049351A1 (en) Systems and methods for establishing message routing paths through a computer network
CN103503010A (zh) 支付能力结合至计算机的安全元件
JP2004512583A (ja) 取引検証
US20130339231A1 (en) Prepaid wallet for merchants
US20220417575A1 (en) Platform for appliance based resource catalog
US20200265458A1 (en) Device agnostic single verification digital payment processing system for accepting payment from a user device at a brick and mortar point of sale terminal
US20220222631A1 (en) Extensible interface for synchronous and asynchronous payment
KR102414428B1 (ko) 결제 정보 유실 방지 방법 및 장치
AU2020292204A1 (en) System and method for tracking earned rewards for online transaction
JP7156889B2 (ja) 決済処理方法
KR20140106012A (ko) 모바일 쇼핑에서의 대리 결제 시스템 및 방법
KR101701450B1 (ko) 전자상거래를 위한 결제 서비스 제공 방법 및 그를 이용하는 서버 장치
US9785959B2 (en) Transaction connection mediator method and apparatus
JP2008152338A (ja) 携帯情報端末を利用したクレジットカード決済方法及びシステム
CN104395922A (zh) 用于对手机钱包提供优惠价的系统、方法和计算机程序产品
CN111105224A (zh) 支付反馈信息的处理方法、装置、电子设备和存储介质
US20090049109A1 (en) Distribution Fabric
CN111105304B (zh) 数据处理方法及装置、存储介质及电子终端
KR20000037038A (ko) 인터넷을 통한 온라인 소프트웨어 판매를 위한 온라인다운로드 시스템 및 재다운로드보안인증시스템
AU2021101032A4 (en) Method of facilitating negotiation of sales of goods between users in an online environment
KR102044674B1 (ko) 쿠폰의 발행 및 처리를 수행하는 방법 및 서버

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right