WO2020255621A1 - 情報処理方法、プログラム、端末、サーバ - Google Patents

情報処理方法、プログラム、端末、サーバ Download PDF

Info

Publication number
WO2020255621A1
WO2020255621A1 PCT/JP2020/020258 JP2020020258W WO2020255621A1 WO 2020255621 A1 WO2020255621 A1 WO 2020255621A1 JP 2020020258 W JP2020020258 W JP 2020020258W WO 2020255621 A1 WO2020255621 A1 WO 2020255621A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
terminal
information
expiration date
server
Prior art date
Application number
PCT/JP2020/020258
Other languages
English (en)
French (fr)
Inventor
亮介 濱窄
洋輔 真崎
Original Assignee
LINE Pay株式会社
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 LINE Pay株式会社 filed Critical LINE Pay株式会社
Priority to KR1020217038492A priority Critical patent/KR20220020803A/ko
Priority to CN202080036197.8A priority patent/CN113826133A/zh
Publication of WO2020255621A1 publication Critical patent/WO2020255621A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/206Point-of-sale [POS] network systems comprising security or operator identification provisions, e.g. password entry
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • 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/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • 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/42Confirmation, e.g. check or permission by the legal debtor of payment
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/01Details for indicating
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/12Cash registers electronically operated

Definitions

  • This disclosure relates to information processing methods, programs, terminals, and servers.
  • Patent Document 1 discloses a technique for settling the purchase price of a product.
  • payment by electronic money may not be possible depending on the communication environment and communication conditions of the terminal, and may not be easy to use.
  • the first code information associated with the first expiration date by the server is transmitted from the server to the communication unit of the terminal.
  • the settlement is executed by the server based on the time based on the processing related to the settlement and the first expiration date.
  • the program executed by the computer of the terminal that executes the processing related to the payment based on the code information transfers the first code information associated with the first expiration date by the server from the server to the terminal.
  • the settlement includes receiving via the communication unit, storing the received first code information in the storage unit of the terminal, and executing the processing related to the settlement based on the first code information. It is executed by the server based on the time based on the processing related to the settlement and the first expiration date.
  • the terminal that executes the processing related to the payment based on the code information has received the first code information associated with the first expiration date by the server with the communication unit that receives the first code information from the server. It is provided with a control unit that controls the storage of the first code information in the storage unit of the terminal, and the control unit executes the processing related to the settlement based on the first code information, and the settlement is the time based on the processing related to the settlement.
  • the terminal that executes the processing related to the payment based on the code information includes a processor that reads the program stored in the memory and executes the processing based on the program, and the processor is the first by the server.
  • the settlement is executed by the server based on the time based on the processing related to the settlement and the first expiration date.
  • the information processing method of the server that manages the payment based on the code information associates the first code information with the first expiration date and stores the first code information in the storage unit of the server by the control unit of the server. Based on the storage, the transmission of the first code information to the terminal that performs the payment processing via the communication unit of the server, the first code information, and the processing related to the payment performed based on the first code information. Settlement processing is performed based on the reception of time information via the communication unit, the first expiration date associated with the received first code information, and the time based on the received payment processing. Including what is done by the control unit.
  • the program executed by the computer of the server that manages the payment based on the code information associates the first code information with the first expiration date and stores it in the storage unit of the server. That, the first code information is transmitted to the terminal that performs the payment processing via the communication unit of the server, and the first code information and the time based on the payment processing performed based on the first code information. To process payment based on receiving information via the communication unit, the first expiration date associated with the received first code information, and the time based on the processing related to the received payment. And include.
  • the server that manages the payment based on the code information is a storage unit that stores the first code information in association with the first expiration date, and a terminal that performs processing related to the payment.
  • a communication unit that transmits code information and receives first code information and time information based on processing related to payment performed based on the first code information, and a first code association associated with the received first code information. 1 It is provided with a control unit that processes payment based on an expiration date and a time based on the processing related to the received payment.
  • the server that manages the payment based on the code information includes a processor that reads the program stored in the memory and executes the processing based on the program, and the processor is the first code information.
  • the processor is the first code information. For the process of storing in memory in association with the first expiration date and the process of sending the first code information to the terminal that performs the process of payment, the first code information and the process of payment performed based on the first code information.
  • the process of receiving the information of the based time, the process of the first expiration date associated with the received first code information, and the process of the settlement based on the time based on the process related to the received settlement are executed.
  • the figure which shows an example of the user registration data which concerns on 1st Example The figure which shows an example of the store registration data which concerns on 1st Example.
  • the figure which shows an example of the settlement management database which concerns on 1st Example The figure which shows an example of the code management database which concerns on 1st Example.
  • the figure which shows an example of the function realized by the control part of the terminal which concerns on 1st Example The figure which shows an example of the information stored in the storage part of the terminal which concerns on 1st Example.
  • the figure which shows an example of the settlement data which concerns on 1st Example The figure which shows an example of the display screen of the terminal which concerns on 1st Example.
  • the figure which shows an example of the display screen of the terminal which concerns on 1st Example The figure which shows an example of the display screen of the terminal which concerns on 1st Example.
  • the flowchart which shows an example of the flow of the process executed by various apparatus which concerns on 1st Example.
  • the figure which shows an example of the display screen of the terminal which concerns on 1st modification The figure which shows an example of the display screen of the terminal which concerns on 1st modification.
  • the figure which shows an example of the display screen of the terminal which concerns on 1st modification The figure which shows an example of the display screen of the terminal which concerns on 1st modification.
  • FIG. 1 is a diagram showing an example of the configuration of the communication system 1 according to the embodiment of the present disclosure.
  • the server 10 the terminal 20 (terminal 20A, terminal 20B, terminal 20C, ...) And the store POS system 40 are connected via the network 30. ..
  • the server 10 provides a service for transmitting and receiving content including a message and the like between the terminals 20 to the terminal 20 owned by the user via the network 30. Further, the server 10 provides a service (hereinafter, referred to as "payment service") that realizes electronic payment (not limited, but an example of payment) by communicating with the terminal 20.
  • the number of terminals 20 connected to the network 30 is not limited.
  • the network 30 plays a role of connecting one or more terminals 20, one or more servers 10, and one or more store POS systems 40. That is, the network 30 means a communication network that provides a connection route so that data can be transmitted and received after the above-mentioned various devices are connected.
  • One or more parts of the network 30 may or may not be a wired network or a wireless network.
  • the network 30 is not limited, but as an example, an ad hoc network (ad hoc network), an intranet, an extra net, a virtual private network (VPN), a local area network (LAN), and a wireless network.
  • ad hoc network ad hoc network
  • VPN virtual private network
  • LAN local area network
  • the network 30 may include one or more networks 30.
  • the terminal 20 (terminal 20A, terminal 20B, terminal 20C, ...) (Not limited, but an example of a terminal and an information processing device) is any information processing terminal capable of realizing the functions described in each embodiment. It may be a terminal.
  • the terminal 20 is not limited, but by example, a smartphone, a mobile phone (feature phone), a computer (not limited, by example, a desktop, a laptop, a tablet, etc.), a media computer platform (not limited, by example, a cable, a satellite set) Top boxes, digital video recorders), handheld computer devices (not limited, but examples, PDAs (personal digital assistants), email clients, etc.), wearable terminals (glasses devices, clock devices, etc.), or other types of computers , Or includes a communication platform. Further, the terminal 20 may be expressed as an information processing terminal.
  • the terminal 20 Since the configurations of the terminal 20A, the terminal 20B, and the terminal 20C are basically the same, the terminal 20 will be described in the following description. Further, if necessary, the terminal used by the user X is expressed as the terminal 20X, and the user information in the predetermined service associated with the user X or the terminal 20X is expressed as the user information X.
  • the user information is user information associated with an account used by the user in a predetermined service. User information is not limited, but as an example, input by the user or given by a predetermined service, the user's name, the user's icon image, the user's age, the user's gender, the user's address, and the user's taste. It includes information associated with the user, such as preference, user identifier, and may or may not be any one or combination of these.
  • the server 10 (not limited to an example of a server, an information processing device, and an information management device) has a function of providing a predetermined service to the terminal 20.
  • the server 10 may be any device as long as it is an information processing device that can realize the functions described in each embodiment.
  • the server 10 is not limited, but by example, a server device, a computer (not limited, by example, a desktop, a laptop, a tablet, etc.), a media computer platform (not limited, by example, a cable, a satellite set top box, a digital video recorder). ), Handheld computer devices (for example, but not limited to PDAs, email clients, etc.), or other types of computers, or communication platforms.
  • the server 10 may be expressed as an information processing device. When it is not necessary to distinguish between the server 10 and the terminal 20, the server 10 and the terminal 20 may or may not be expressed as information processing devices, respectively.
  • the server 10 will be described as having a function of providing a payment service by a payment application.
  • the store POS system 40 is a POS system that is introduced and used in a store that is affiliated with a business operator that operates the server 10.
  • the store POS system 40 includes, but is not limited to, a store code reader device 50, a code cash register 60, and a store server 70.
  • FIG. 1 shows an example of the HW configuration of the terminal 20.
  • the terminal 20 includes a control unit 21 (CPU: central processing unit), a storage unit 28, a communication I / F 22 (interface), an input / output unit 23, a display unit 24, a microphone 25, a speaker 26, and a camera 27. It includes a clock unit 29A and a position calculation information detection unit 29B.
  • Each component of the HW of the terminal 20 is connected to each other via bus B as an example, but not a limitation. It is not essential that the HW configuration of the terminal 20 includes all the components.
  • the terminal 20 may or may not be configured to remove individual components, such as the microphone 25, camera 27, or a plurality of components.
  • the communication I / F 22 transmits and receives various data via the network 30. Communication may be performed by wire or wirelessly, and any communication protocol may be used as long as mutual communication can be performed.
  • the communication I / F 22 has a function of executing communication with various devices such as the server 10 via the network 30.
  • the communication I / F 22 transmits various data to various devices such as the server 10 according to an instruction from the control unit 21. Further, the communication I / F 22 receives various data transmitted from various devices such as the server 10 and transmits the various data to the control unit 21. Further, the communication I / F 22 may be simply expressed as a communication unit. Further, when the communication I / F 22 is composed of a physically structured circuit, it may be expressed as a communication circuit.
  • the input / output unit 23 includes a device for inputting various operations to the terminal 20 and a device for outputting the processing result processed by the terminal 20.
  • the input / output unit 23 may or may not be integrated with the input unit and the output unit, or may be separated into the input unit and the output unit.
  • the input unit is realized by any or a combination of all types of devices capable of receiving input from the user and transmitting information related to the input to the control unit 21.
  • the input unit includes, but is not limited to, hardware keys such as a touch panel, a touch display, and a keyboard, a pointing device such as a mouse, a camera (operation input via a moving image), and a microphone (operation input by voice).
  • the output unit is realized by any or a combination of all kinds of devices capable of outputting the processing result processed by the control unit 21.
  • the output unit is not limited and includes, as an example, a touch panel, a touch display, a speaker (audio output), a lens (not limited, as an example, 3D (three dimensions) output, hologram output), a printer, and the like.
  • the display unit 24 is realized by any or a combination of all kinds of devices that can display according to the display data written in the frame buffer.
  • the display unit 24 is not limited but is an example of a touch panel, a touch display, a monitor (not limited but an example, a liquid crystal display or OELD (organic electroluminescence display)), a head mounted display (HDM: Head Mounted Display), projection mapping, a hologram. , Includes a device capable of displaying images, text information, etc. in the air (which may or may not be vacuum). It should be noted that these display units 24 may or may not be able to display display data in 3D.
  • the input / output unit 23 is a touch panel
  • the input / output unit 23 and the display unit 24 may be arranged so as to face each other with substantially the same size and shape.
  • the clock unit 29A is a built-in clock of the terminal 20 and outputs time information (timekeeping information).
  • the clock unit 29A is configured to include, for example, a clock using a crystal oscillator, and the like, without limitation.
  • the clock unit 29A can be expressed as a time measuring unit or a time information detecting unit as an example without limitation.
  • the clock unit 29A may or may not have a clock to which the NITZ (Network Identity and Time Zone) standard or the like is applied.
  • NITZ Network Identity and Time Zone
  • the position calculation information detection unit 29B has a function of detecting (measuring) information necessary for the control unit 21 to calculate (measure) the position of its own terminal 20 (hereinafter, referred to as “position calculation information”). It is a department.
  • the position calculation information detection unit 29B can be expressed as a position calculation sensor unit as an example without limitation.
  • the position calculation information detection unit 29B is not limited, but as an example, a satellite positioning sensor (satellite positioning) which is a sensor or a unit for calculating the position of the terminal 20 using a satellite positioning system such as GPS (Global Positioning System). A unit), a sensor for calculating the position of the terminal 20 using an inertial navigation system, an inertial measurement sensor (inertial measurement unit (IMU)), and the like.
  • satellite positioning sensor satellite positioning
  • GPS Global Positioning System
  • IMU inertial measurement unit
  • the satellite positioning unit is not limited to, for example, an RF receiving circuit that converts an RF (Radio Frequency) signal including a positioning satellite signal transmitted from a positioning satellite received by an antenna (not shown) into a digital signal. Correlation calculation processing is performed on the digital signal output from the RF reception circuit to capture the positioning satellite signal, and information such as satellite orbit data and time data extracted from the positioning satellite signal is used as position calculation information. It has a baseband processing circuit to output.
  • RF Radio Frequency
  • the inertial measurement unit has an inertial sensor that is a sensor that detects information necessary for calculating the position of the terminal 20 by inertial navigation calculation.
  • the inertial sensor includes, for example, a three-axis acceleration sensor and a three-axis gyro sensor, and the acceleration detected by the acceleration sensor and the angular velocity detected by the gyro sensor are used as position calculation information. Output.
  • the control unit 21 has a physically structured circuit for executing a function realized by a code or an instruction contained in the program, and is not limited, but as an example, a data processing device built in hardware. Is realized by. Therefore, the control unit 21 may or may not be expressed as a control circuit.
  • the control unit 21 is not limited, but as an example, a central processing unit (CPU), a microprocessor (microprocessor), a processor core (processor core), a multiprocessor (multiprocessor), an ASIC (application-specific integrated circuit), and an FPGA (field programmable). gate array) is included.
  • CPU central processing unit
  • microprocessor microprocessor
  • processor core processor core
  • multiprocessor multiprocessor
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • the storage unit 28 has a function of storing various programs and various data required for the terminal 20 to operate.
  • the storage unit 28 includes various storage media such as HDD (hard disk drive), SSD (solid state drive), flash memory, RAM (random access memory), and ROM (read only memory) as examples without limitation. Further, the storage unit 28 may or may not be expressed as a memory.
  • the terminal 20 stores the program P in the storage unit 28, and by executing this program P, the control unit 21 executes the processing as each unit included in the control unit 21. That is, the program P stored in the storage unit 28 causes the terminal 20 to realize each function executed by the control unit 21. Further, this program P may or may not be expressed as a program module.
  • the microphone 25 is used for inputting voice data.
  • the speaker 26 is used for outputting audio data.
  • the camera 27 is used for acquiring moving image data.
  • FIG. 1 shows an example of the HW configuration of the server 10.
  • the server 10 includes a control unit 11 (CPU), a storage unit 15, a communication I / F 14 (interface), an input / output unit 12, a display 13, and a clock unit 19.
  • Each component of the HW of the server 10 is connected to each other via the bus B as an example, but not a limitation.
  • the HW of the server 10 does not necessarily include all the components as the configuration of the HW of the server 10.
  • the HW of the server 10 may or may not be configured to remove the display 13.
  • the control unit 11 has a physically structured circuit for executing a function realized by a code or an instruction contained in the program, and is not limited, but as an example, a data processing device built in hardware. Is realized by.
  • the control unit 11 is typically a central processing unit (CPU), and may or may not be a microprocessor, a processor core, a multiprocessor, an ASIC, or an FPGA. In the present disclosure, the control unit 11 is not limited to these.
  • the storage unit 15 has a function of storing various programs and various data required for the server 10 to operate.
  • the storage unit 15 is realized by various storage media such as HDD, SSD, and flash memory. However, in the present disclosure, the storage unit 15 is not limited to these. Further, the storage unit 15 may or may not be expressed as a memory.
  • the communication I / F 14 transmits and receives various data via the network 30. Communication may be performed by wire or wirelessly, and any communication protocol may be used as long as mutual communication can be performed.
  • the communication I / F 14 has a function of executing communication with various devices such as a terminal 20 via the network 30.
  • the communication I / F 14 transmits various data to various devices such as a terminal 20 according to an instruction from the control unit 11. Further, the communication I / F 14 receives various data transmitted from various devices such as the terminal 20 and transmits the various data to the control unit 11. Further, the communication I / F 14 may be simply expressed as a communication unit. Further, when the communication I / F 14 is composed of a physically structured circuit, it may be expressed as a communication circuit.
  • the input / output unit 12 is realized by a device that inputs various operations to the server 10.
  • the input / output unit 12 is realized by any or a combination of all kinds of devices capable of receiving an input from a user and transmitting information related to the input to the control unit 11.
  • the input / output unit 12 is typically realized by a hardware key typified by a keyboard or the like, or a pointing device such as a mouse.
  • the input / output unit 12 is not limited to the input / output unit 12, and may or may not include a touch panel, a camera (operation input via a moving image), and a microphone (operation input by voice) as an example. However, in the present disclosure, the input / output unit 12 is not limited to these.
  • the display 13 is typically realized by a monitor (not limited, but as an example, a liquid crystal display or an OELD (organic electroluminescence display)).
  • the display 13 may or may not be a head-mounted display (HDMI) or the like. It should be noted that these displays 13 may or may not be capable of displaying display data in 3D. In the present disclosure, the display 13 is not limited to these.
  • the clock unit 19 is a built-in clock of the server 10 and outputs time information (timekeeping information).
  • the clock unit 19 is configured to include an RTC (Real Time Clock) as a hardware clock, a system clock, or the like as an example, not limited to the clock unit 19.
  • the clock unit 19 is not limited, but may be expressed as a time measuring unit or a time information detecting unit as an example.
  • FIG. 2 shows an example of the system configuration of the store POS system 40.
  • the store POS system 40 is a POS system that is introduced and used in a store that is affiliated with a business operator that operates the server 10, and is not limited to the store code reader device 50, the code cash register 60, and the store. Includes server 70.
  • the store code reader device 50 is connected to the code cash register 60 and the store server 70 by POS communication I / F 57 (not limited to, for example, wired communication I / F or wireless communication I / F in the store), and the code cash register 60 is connected.
  • POS communication I / F 57 not limited to, for example, wired communication I / F or wireless communication I / F in the store
  • the code cash register 60 is connected.
  • the terminal display code image displayed on the display unit 24 of the terminal 20 is read.
  • the payment request information is transmitted to the server 10 by the communication I / F 54, and after the payment is made on the server 10, information on the payment result (for example, a store described later).
  • the payment completion notification is received from the server 10 by the communication I / F54.
  • the store code reader device 50 is not limited, but as an example, the control unit 51, the input / output unit 52, the display unit 53, the communication I / F 54, the storage unit 55, the sound output unit 56, and the POS communication I / It has an F57, a code reader 58, and a clock unit 59.
  • the code reader 58 is a code reader for reading a two-dimensional code.
  • the code reader 58 is a two-dimensional code (for example, a QR code (registered trademark)) displayed on the display unit 24 of the terminal 20 and presented by the user of the terminal 20. ))
  • a two-dimensional code reader for example, a QR code reader
  • the code cash register 60 is not limited, but as an example, is connected to the store code reader device 50 and the store server 70 by POS communication I / F 57, and is based on the store payment completion notification received by the store code reader device 50 from the server 10. , Issue a receipt printed with information such as the total amount of the sold products and the balance of electronic money of the user of the terminal 20. Further, as an example, not limited to this, a display provided integrally with the code cash register 60 or separately from the code cash register 60 and having a display surface facing the customer side may be configured.
  • the code cash register 60 is a cash register configured to support a payment application, and can be said to be a stationary terminal compatible with the payment application.
  • the store server 70 is not limited, but as an example, for store information about its own store, information about products sold at its own store, information about services provided at its own store, sales of products at its own store, and provision of services. Manage various information such as information on the accompanying sales.
  • the store server 70 is configured to be able to communicate with the store code reader device 50 and the code register 60 by POS communication I / F 57, and is also configured to be able to communicate with an external device such as the server 10 via the network 30.
  • the store server 70 does not necessarily have to be configured to be able to communicate directly with the store code reader device 50, and may be configured to be able to communicate with the store code reader device 50 via the code register 60.
  • the store payment completion notification received by the store code reader device 50 from the server 10 may be sent to the code cash register 60, and then sent from the code cash register 60 to the store server 70.
  • the server 10 stores the program P in the storage unit 15, and by executing the program P, the control unit 11 executes the processing as each unit included in the control unit 11. That is, the program P stored in the storage unit 15 causes the server 10 to realize each function executed by the control unit 11.
  • This program P may or may not be expressed as a program module. The same applies to other devices.
  • the control unit 21 of the terminal 20 and / or the control unit 11 of the server 10 is formed not only in a CPU having a control circuit but also in an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)) or the like. Each process may or may not be realized by a logic circuit (hardware) or a dedicated circuit. Further, these circuits may be realized by one or a plurality of integrated circuits, and the plurality of processes shown in each embodiment may or may not be realized by one integrated circuit. Further, the LSI may be referred to as a VLSI, a super LSI, an ultra LSI, or the like depending on the degree of integration. Therefore, the control unit 21 may or may not be expressed as a control circuit. The same applies to other devices.
  • IC Integrated Circuit
  • LSI Large Scale Integration
  • the program P (for example, a software program, a computer program, or a program module) of each embodiment of the present disclosure may be provided in a state of being stored in a computer-readable storage medium. It does not have to be done.
  • the storage medium can store the program P in a “non-temporary tangible medium”.
  • the program P may or may not be for realizing a part of the functions of each embodiment of the present disclosure. Further, it may or may not be a so-called difference file (difference program) that can realize the functions of each embodiment of the present disclosure in combination with the program P already recorded on the storage medium.
  • the storage medium is one or more semiconductor-based or other integrated circuits (ICs) (such as, but not limited to, field programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hardware.
  • the storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate.
  • the storage medium is not limited to these examples, and any device or medium may be used as long as the program P can be stored. Further, the storage medium may or may not be expressed as a memory.
  • the server 10 and / or the terminal 20 can read the program P stored in the storage medium and execute the read program P to realize the functions of the plurality of functional units shown in each embodiment. The same applies to other devices.
  • the program P of the present disclosure may or may not be provided to the server 10 and / or the terminal 20 via an arbitrary transmission medium (communication network, broadcast wave, etc.) capable of transmitting the program. ..
  • the server 10 and / or the terminal 20 realizes the functions of the plurality of functional units shown in each embodiment by executing the program P downloaded via the Internet or the like, as an example without limitation. The same applies to other devices.
  • each embodiment of the present disclosure can also be realized in the form of a data signal in which the program P is embodied by electronic transmission.
  • At least part of the processing in the server 10 and / or the terminal 20 may or may not be realized by cloud computing composed of one or more computers.
  • At least a part of the processing in the terminal 20 may or may not be performed by the server 10.
  • At least a part of the processing of each functional unit of the control unit 21 of the terminal 20 may or may not be performed by the server 10.
  • At least a part of the processing in the server 10 may or may not be performed by the terminal 20.
  • at least a part of the processing of each functional unit of the control unit 11 of the server 10 may or may not be performed by the terminal 20.
  • the configuration of the determination in the embodiment of the present disclosure is not essential, and a predetermined process is operated when the determination condition is satisfied, or a predetermined process is performed when the determination condition is not satisfied. It may or may not be.
  • the program disclosed in this disclosure is not limited to using script languages such as ActionScript and JavaScript (registered trademark), compiler languages such as Objective-C and Java (registered trademark), and markup languages such as HTML5. Will be implemented.
  • script languages such as ActionScript and JavaScript (registered trademark)
  • compiler languages such as Objective-C and Java (registered trademark)
  • markup languages such as HTML5. Will be implemented.
  • the expression "by communication I / F" is used as appropriate. This indicates that the device transmits and receives various information and data via the communication I / F (via the communication unit) based on the control of the control unit (processor or the like), for example, without limitation. ..
  • the term “deadline” is described as indicating a certain period of time.
  • the term “period” may be used instead of the term “deadline”.
  • the term “deadline” may be used to mean the time or date and time (fixed time or fixed date and time) at which the period ends.
  • the examples described below are not limited to examples, and are examples in which the user of the terminal 20 makes a payment using a payment application stored and executed in the terminal 20. Specifically, we propose a method that enables appropriate settlement even when offline.
  • the payment service business operator may or may not be expressed as a business operator that provides a payment application or a business operator of the server 10.
  • the server 10 is operated and managed by the payment service provider. Further, in the following, the name of the payment application will be illustrated and described as "Payment App" as appropriate.
  • the payment application may be provided by the server 10 as a single application having no so-called messaging service (MS: Messaging Service) function, or may be provided by the server 10 as a complex application having the MS function. May be provided by.
  • the messaging service may or may not include an instant messaging service (IMS: Instant Messaging Service) that enables transmission and reception of contents such as simple messages between terminals 20.
  • IMS Instant Messaging Service
  • the payment application may be provided by the server 10 as a single application having no so-called social networking service (SNS) function, or as a complex application having an SNS function. It may be provided by the server 10.
  • SNS social networking service
  • MS including IMS
  • MS and SNS may or may not be distinguished.
  • stores affiliated with payment service providers are referred to as “member stores (member stores)", and are shown as “member store S1", “member store S2”, ..., In FIG. ..
  • electronic money is electronic money that is distinguished from physical money, and means electronic money owned by the terminal 20 or the user of the terminal 20 managed in the payment application, and is “payment”. "" Means electronic payment using this electronic money.
  • electronic money may be expressed as “electronic money” or “digital currency (digital currency)", or may not be so. Further, as “electronic money (electronic money)” or “digital currency (digital currency)”, legal tender or virtual currency may be used.
  • cryptocurrency cryptocurrency
  • the virtual currency may include physical money such as a coupon.
  • online means that the terminal 20 can communicate with the server 10
  • online state means this online state.
  • online payment means that payment is performed by the server 10 in the online state.
  • communication between the terminal 20 and the server 10 is not limited, and as an example, a frequency band different from wireless LAN communication, which is realized via a base station or the like installed by a communication company (communication carrier), is used. It will be realized by the first communication method used.
  • the first communication method includes, but is not limited to, packet communication (so-called mobile data communication in the terminal 20) as an example.
  • a second communication method different from the first communication method may or may not be used.
  • the second communication method includes, but is not limited to, a wireless LAN (for example, WiFi (registered trademark)) as an example.
  • the terminal 20 and the server 10 can communicate with each other by at least one of the first communication method and the second communication method. You may.
  • FIG. 3-1 is a flowchart showing an example of the flow of processing executed by each device in this case. From the left side, an example of a process executed by the control unit 21 of the terminal 20, a process executed by the control unit 51 of the store code reader device 50, and a process executed by the control unit 11 of the server 10 is shown.
  • control unit 21 transmits the code generation request information for requesting the generation of the terminal display code to the server 10 (via the communication I / F22) by the communication I / F22 (A110).
  • code information means information stored in a code image by encoding or the like or information stored in a code image (hereinafter, "original” in the sense of original information. It will be described as a concept including “information”) and a "code image” in which the original information is stored. That is, the "code information” includes the “original information” and the “code image”.
  • the "original information” may or may not be expressed as "encoding information", "stored information", or the like.
  • code has substantially the same meaning as "code information”.
  • code information may or may not be used to mean “original information”.
  • code may or may not be used to mean “code image”.
  • An example is a "payment number" which is a random number.
  • the payment number is information associated with the terminal 20 or the user of the terminal 20, and can be said to be information used for payment by the server 10.
  • terminal display code the payment code generated by the server 10 based on the code generation request information
  • code image of this terminal display code will be referred to as a “terminal display code image”.
  • the payment number and the terminal display code image are examples of "first information" for making a payment using the code image, and are transmitted from the server 10.
  • the information for requesting the server 10 to generate the above-mentioned terminal display code image is used as the code generation request information. That is, in this process, as an example, not limited, the terminal 20 requests the server 10 to generate the terminal display code image, and the A110 requests the server to generate the code generation request information for requesting the generation of the terminal display code image. Send to 10.
  • terminal display code will be described as a code used for payment in the payment type "terminal code display”.
  • the terminal display code image displayed on the terminal 20 is displayed on the store by using the payment application stored in the terminal 20. Present it to the clerk at the code register 60. Then, the settlement is realized by having the store code reader device 50 or the like read the code image for terminal display. Since the terminal display code is a code (code image) presented by the user of the terminal 20 to a clerk of a store or the like, it can also be expressed as a "presentation code” or a "user presentation code”.
  • the code generation request information transmitted by the A110 is not limited, but may include identification information for identifying the terminal 20 or the user of the terminal 20 as an example.
  • terminal identification information for identifying own terminal 20 for example, terminal ID
  • user identification information for identifying a user of own terminal 20 for example, user ID
  • account information for a payment application for example, application ID. Etc. are included in this.
  • the control unit 11 When the code generation request information is received from the terminal 20 by the communication I / F 14 (C110), the control unit 11 performs the terminal display code generation process (C120).
  • a random number with a predetermined number of digits is used by using a method (algorithm) for generating a random number with a predetermined number of digits (for example, about 10 to 12 digits). Is generated as a payment number. Then, as an example, not a limitation, a terminal display code image including at least a payment number as original information is generated. More specifically, at least the payment number is encoded (encoded) and graphicized (imaged) to generate a terminal display code image represented by a two-dimensional code (for example, QR code) image. Further, the identification information of the terminal 20 or the user of the terminal 20 included in the received code generation request information is associated with the generated payment number and stored in the storage unit 15.
  • a method for generating a random number with a predetermined number of digits (for example, about 10 to 12 digits). Is generated as a payment number.
  • a terminal display code image including at least a payment number as original information is generated. More specifically, at least the payment number
  • the control unit 11 transmits the generated terminal display code (terminal display code image in this example) to the terminal 20 by communication I / F14 (C130).
  • the terminal 20 receives the terminal display code (terminal display code image in this example) from the server 10 by the communication I / F 22 (A130).
  • the control unit 21 causes the display unit 24 to display the received terminal display code image as an example, not a limitation.
  • control unit 51 displays the terminal display code displayed on the display unit 24 of the terminal 20. Control is performed so that the code reader 58 reads the image (B150).
  • control unit 51 accesses the server 10 by the communication I / F 54 using the application interface (API) or the like associated with the payment application provided (distributed) by the payment service provider, and at least reads the server 10.
  • the payment number obtained by decoding from the terminal display code image, the identification information for identifying the store or the store code reader device 50 (hereinafter referred to as "store identification information"), and the amount to be settled (hereinafter, referred to as "store identification information").
  • the settlement request information including the "scheduled settlement amount" is transmitted to the server 10 by the communication I / F 54 (B160).
  • the control unit 11 When the payment request information is received from the store code reader device 50 by the communication I / F 14 (C160), the control unit 11 performs the payment processing (C170). Specifically, it is determined whether or not the payment number included in the received payment request information is stored in the storage unit 15 in association with the identification information of the terminal 20 or the user of the terminal 20. Then, if it is stored, it is determined that "payment is possible", and the balance of electronic money of the terminal 20 or the user of the terminal 20 identified from the identification information stored in association with the payment number (application of the payment application). Settlement is performed by subtracting the planned settlement amount from the balance of electronic money associated with the ID (hereinafter, simply referred to as "balance").
  • the control unit 11 transmits a payment completion notification for the store (hereinafter referred to as "store payment completion notification") to the store code reader device 50 by communication I / F14 (C180).
  • the store payment completion notification includes, as an example, not limited to, the fact that the payment has been completed (successful), the date and time of the payment (settlement date and time), and the payment information for the store such as the payment amount (settlement amount). ..
  • the control unit 11 transmits a payment completion notification for the terminal (hereinafter, referred to as "settlement completion notification for the terminal") to the terminal 20 by communication I / F14 (C190).
  • the payment completion notification for terminals is not limited, but as an example, the fact that the payment has been completed (successful), the date and time of payment (settlement date and time), the store identification information of the store that settled (payment store identification information), and the amount of payment (payment store identification information) Includes payment information for terminals such as payment amount). Then, the control unit 11 ends the process.
  • the server 10 makes the payment due to insufficient balance or the like. You may not be able to do it.
  • a notification to the effect that the payment could not be made (for example, a payment error notification, a payment NG notification) may be transmitted to the store code reader device 50 and the terminal 20. The same applies to other processes.
  • the control unit 21 updates the balance stored in the terminal 20 as the payment application data based on the received terminal payment completion notification. To do. Further, the control unit 21 causes the display unit 24 to display the payment result (A190). Then, the control unit 21 ends the process.
  • FIG. 3-2 is a diagram showing an example of a top screen displayed by the payment application executed by the terminal 20.
  • This top screen is a display screen displayed when the payment application is started, and "Payment APP", which is the name of the payment application, is displayed at the upper part of the screen.
  • the balance here, "3000 yen”
  • a charge button for charging (adding) electronic money is displayed next to it.
  • a plurality of function icons corresponding to various functions of the payment application are displayed.
  • the icon indicated as "code” is not a limitation but, as an example, a "code icon” for displaying the code display screen on the display unit 24.
  • this code icon is touch-operated by the user of the terminal 20, the code generation request information is transmitted from the terminal 20 to the server 10 as an example, and the server 10 generates a terminal display code. Then, the generated terminal display code is transmitted from the server 10 to the terminal 20, and the code display screen shown in FIG. 3-3 is displayed on the display unit 24 of the terminal 20.
  • FIG. 3-3 is a diagram showing an example of a code display screen.
  • the characters "code” are displayed at the top of the screen, and below that, the payment method, the points owned by the user, and whether or not to use those points for payment are set. A point tab for doing this is displayed.
  • a one-dimensional terminal display code image represented by a barcode and a two-dimensional terminal display code image QC0 represented by a QR code are displayed in different areas of the display screen. Further, below the barcode, a 12-digit payment number is displayed as an example.
  • the terminal display code displayed on the code display screen has a deadline for displaying the code (hereinafter referred to as "code display deadline").
  • the code display deadline is not limited, but is, for example, the period during which the terminal display code is displayed on the terminal 20.
  • the code display deadline is not limited, but can be, for example, "the period from the date and time when the terminal display code is displayed (display started) on the terminal to the elapse of the code display time".
  • the code display time can be changed as appropriate, but it is not limited and can be set to "5 minutes" as an example.
  • the remaining time of the code display deadline is displayed in a countdown format together with the update mark and the update character.
  • the remaining time is displayed based on the information measured by the clock unit 29A of the terminal 20.
  • the code display screen is closed and the terminal display code is hidden.
  • the user of the terminal 20 presents the code display screen of FIG. 3-3 to the store clerk at the code cash register 60 within the code display deadline, and has the store code reader device 50 read the terminal display code image for payment. I do.
  • the store code reader device 50 accesses the server 10 by the communication I / F 54 using the API or the like described above, and transmits the information necessary for payment to the server 10. As a result, the server 10 performs the payment process.
  • the communication volume of the terminal 20 for a certain period is a certain amount. It is assumed that it will be difficult to make a payment as a result of communication failure (or communication difficulty) between the terminal 20 and the server 10 when communication restrictions or communication speed restrictions are applied due to exceeding the limit. Will be done. Therefore, in the following, a method for realizing settlement even in such a case will be illustrated.
  • Offline Payment means that the terminal 20 cannot communicate with the server 10
  • offline state means this offline state.
  • offline payment means that payment is performed by the server 10 in the offline state.
  • the store code reader device 50 can communicate with the server 10.
  • FIG. 3-4 is a flowchart showing an example of the flow of processing executed by each device in this case. The way of reading the figure is the same as the above-mentioned flowchart.
  • the flowchart of FIG. 3-4 is a rewrite of the flowchart of FIG. 3-1 to offline specifications.
  • the flowchart of FIG. 3-1 is not limited, but as an example, the processing step in the online state (for example, A240), the processing step in the offline state (for example, A250, B250, B280), and the case of returning from the offline state to the online state. (For example, A290, C290) are different.
  • control unit 21 stocks the received terminal display code (terminal display code image in this example) in the storage unit 28 (A240).
  • stock means that the received terminal display code is stored in the storage unit 28 so that it can be used later.
  • stock may be simply expressed as “memory”.
  • stocking the terminal display code may be expressed as "storing the terminal display code in the terminal display code stock data”.
  • the terminal display code (terminal display code image in this example) acquired from the server 10 in the online state is stocked (stored) in the storage unit 28 of the terminal 20. .. Then, when payment is required in the offline state, the stock terminal display code is used so that payment can be performed without having to communicate with the server 10.
  • the terminal 20 detects that the terminal 20 has been in the offline state by any of the following methods, as an example but not a limitation.
  • connection confirmation request is transmitted from the server 10 to the terminal 20 at a periodic timing or a specific timing, and the terminal 20 identifies the connection confirmation request.
  • a connection response including information (for example, application ID) is transmitted to the server 10.
  • the control unit 21 of the terminal 20 determines that the user is in the offline state when the connection confirmation request is no longer received from the server 10.
  • connection notification including identification information (for example, application ID) is transmitted from the terminal 20 to the server 10 at a periodic timing or a specific timing, and the server 10 sends the connection notification.
  • the connection confirmation is transmitted to the terminal 20.
  • the connection notification cannot be transmitted from the terminal 20 to the server 10. Therefore, as an example, not limited to this, when the control unit 21 of the terminal 20 detects the occurrence of a connection notification transmission error, it determines that the terminal 20 is in the offline state.
  • the terminal 20 acquires information on the communication status of its own terminal 20 by using a library or an application for acquiring the network connection status, and determines whether or not the terminal 20 is in the offline state. You may or may not do so.
  • the control unit 51 In the offline state, when the terminal display code image stocked in A240 is displayed on the display unit 24 (A250) and presented to the store clerk or the like by the user, the control unit 51 is displayed on the display unit 24 of the terminal 20. Control is performed so that the code reader 58 reads the displayed terminal display code image (B250). Then, the control unit 51 shifts the processing to B160.
  • the store clerk or the like After B160, when the store payment completion notification is received from the server 10 by the communication I / F54 (B280), the store clerk or the like indicates that the offline payment has been completed (successful) based on the received store payment completion notification. Orally notify the user of the terminal 20.
  • the control unit 11 transmits a terminal payment completion notification to the terminal 20 (C290).
  • the terminal 20 cannot receive the payment completion notification for the terminal.
  • the terminal 20 returns to the online state, the terminal 20 receives the payment completion notification for the terminal transmitted from the server 10. Then, when the terminal payment completion notification is received from the server 10 by the communication I / F 22, the control unit 21 causes the display unit 24 to display the payment result based on the received terminal payment completion notification (A290).
  • the process described above is an example of a process for performing offline payment.
  • the terminal display code generated by the server 10 is stocked in the terminal 20 in the online state. Then, when the user goes offline, the payment is made using the stocked terminal display code.
  • the terminal display code generated by the server 10 is stocked in the terminal 20 as described above.
  • the user of the terminal 20 may leave the stocked terminal display code unused for a long time.
  • the time for associating (associating) the terminal 20 or the user of the terminal 20 with the terminal display code becomes long.
  • the terminal display code stocked in the terminal 20 is stolen by a hacker or the like, or the code image of the terminal display code stocked in the terminal 20 is displayed on the terminal 20. At that time, there is a risk that the code image may be taken by a camera or the like of another user's terminal 20 and illegally used for payment.
  • FIG. 4-1 is a diagram showing an example of a function realized by the control unit 11 of the server 10 in this embodiment.
  • terminal code display a case where the user of the terminal 20 uses the payment application stored in the terminal 20 to make a payment by the above-mentioned payment type "terminal code display" is illustrated as an example without limitation.
  • the server 10 has a payment management processing unit 111 as a function realized by the control unit 11.
  • the payment management processing unit 111 manages various information and data related to the payment application executed on the terminal 20 according to the payment management processing program 151 stored in the storage unit 15, and electronic money of the terminal 20 or the user of the terminal 20. It has a function to execute the payment management process for managing the payment by.
  • the payment management processing unit 111 is not limited, but as an example, includes a terminal display code generation processing unit 1111 that generates a terminal display code by a terminal display code generation processing, a payment processing unit 1113 that executes payment by payment processing, and the like.
  • a code expiration date management processing unit 1115 that sets and manages a code expiration date is included as a functional unit.
  • the terminal display code generation processing unit 1111 generates a terminal display code image represented by a two-dimensional code, not as a limitation but as an example.
  • a two-dimensional code is a display-type code that has information in the horizontal and vertical directions, and is a matrix-type code in which small squares are arranged vertically and horizontally (hereinafter referred to as "matrix code”) and a primary code.
  • matrix code a matrix-type code in which small squares are arranged vertically and horizontally
  • primary code There is a stack type code (hereinafter referred to as "stack code”) in which a plurality of original codes (bar codes as an example, not limited) are stacked one above the other.
  • QR code registered trademark
  • a terminal display code which is an example of a widely used matrix code
  • codes such as SP code, veric code, maxi code, CP code, and chameleon code may or may not be used as the matrix code other than the QR code. Further, various stack codes may or may not be used instead of the matrix code.
  • the terminal display code generation processing unit 1111 generates a one-dimensional code (bar code as an example, not a limitation) in addition to a two-dimensional code (a QR code as an example, not a limitation) as a terminal display code. You may or may not do so. This is because some stores do not support reading of two-dimensional codes, but may support reading of one-dimensional codes.
  • the payment processing unit 1113 has a function of performing payment processing based on the information transmitted from the store POS system 40 and the information transmitted from the terminal 20 as an example, not limited to.
  • FIG. 4-2 is a diagram showing an example of information stored in the storage unit 15 of the server 10 in this embodiment.
  • the storage unit 15 stores, as an example, not a limitation, a payment management processing program 151 that is read by the control unit 11 and executed as a payment management processing as a program.
  • the storage unit 15 stores user registration data 153, store registration data 155, payment management database 157, and code management database 159 as data, not by limitation.
  • the user registration data 153 is the registration data of the terminal 20 using the payment service and the user of the terminal 20, and an example of the data structure is shown in FIG. 4-3.
  • the user registration data 153 stores, as an example, not limited to, a user name, a terminal telephone number, a terminal email address, an application ID, an authentication password, and other registration information in association with each other.
  • the user name is the name of the user of the terminal 20 who uses the payment service, and the name registered when the user of the terminal 20 uses the payment service is stored.
  • the terminal telephone number is the telephone number of the terminal 20 of the user with this user name, and the telephone number of the terminal 20 registered when the user of the terminal 20 uses the payment application is stored.
  • the terminal e-mail address is the e-mail address of the terminal 20 of the user with this user name, and the e-mail address of the terminal 20 registered when the user of the terminal 20 uses the payment application is stored.
  • the terminal telephone number and the terminal e-mail address are examples of identification information (hereinafter, referred to as "terminal identification information") for identifying the terminal 20.
  • the application ID is an account (account information) of the payment application, and is an ID that can identify the terminal 20 or the user of the terminal 20.
  • This application ID is not limited, but as an example, a unique ID is set and stored by the server 10.
  • the authentication password is an authentication password that requires the user to input when performing an authentication process for payment (hereinafter, simply referred to as "authentication process") on the terminal 20 of the user with this user name.
  • authentication process an authentication process for payment
  • the authentication process for payment does not necessarily have to be performed, and it is possible not to perform it. In this case, it is not necessary to store the authentication password in the user registration data 153.
  • Other registration information is other registration information of the user with this user name, and is not limited to this, and includes, as an example, a user icon image which is image data of an icon used by the user in a payment application, a user profile, and the like. ..
  • the store registration data 155 is the registration data of the store that is affiliated with the business operator (the business operator of the server 10) that provides the payment application.
  • the type of business, the store name, the store location information, the store POS system information, and the store ID are stored in association with each other as store information.
  • the type of business of the store is stored in the type of business.
  • This industry is not limited and includes various industries such as “convenience store”, “supermarket”, “pharmacy”, “bar”, “department store”, "restaurant”, “bookstore”, “watch shop”. Is done.
  • the store name of the store included (belonging to) in that industry is stored in the store name.
  • the location information of the location of the store with this store name (hereinafter referred to as "store location information") is stored.
  • This store location information may represent the location of the store in two-dimensional or three-dimensional position coordinates, or may represent the location of the store in latitude and longitude (latitude, longitude, and in some cases altitude). ..
  • the store POS system information stores information about the store POS system 40 used in this store.
  • the store POS system information includes, but is not limited to, information necessary for the server 10 to communicate with the store code reader device 50 and the store server 70.
  • the software package for the payment application provided (distributed) from the server 10 is acquired in advance as an example, and the store code reader device 50 or the store is not limited.
  • This software package can be stored in the server 70 and called from a program for payment processing at a store for use.
  • An application programming interface (API) is an example, and the store code reader device 50 starts, for example, an API to transmit information to the server 10 and receive information from the server 10.
  • the server 10 receives information such as the store industry, the store name, the store location information, and the store POS system information from the store server 70 of the store and stores the information in the store registration data 155, for example, without limitation. You can keep it.
  • the store ID is an ID that functions as identification information for identifying the store with this store name.
  • This store ID is not limited, but as an example, a unique ID is set and stored for each store by the server 10.
  • the store ID is an example of store identification information.
  • the payment management database 157 is a database that accumulates and stores data for managing information related to the payment of the user of each terminal 20, and a configuration example of the payment management database 157A, which is an example thereof, is shown in FIG. 4-5.
  • the payment management database 157A stores payment management data generated for each terminal 20 or for each user of the terminal 20.
  • Each payment management data stores, as an example, not a limitation, an application ID, a balance, points, a daily upper limit set amount, an auto charge setting, and payment history data.
  • the application ID stored in the user registration data 153 is stored in the application ID.
  • the balance associated with this application ID is stored in the balance.
  • each point has a value equivalent to 1 yen and can be exchanged for a gift certificate, a product, or the like, or can be cashed in a payment application and used for payment.
  • the daily upper limit amount of the amount that can be used for payment by the terminal 20 that owns this application ID or the user of the terminal 20 is stored.
  • the auto charge setting is a setting for whether or not to automatically replenish (auto charge) electronic money when the balance is low (for example, "500 yen") or "0 yen”. If the auto charge is set by the user, "ON” is stored, and in other cases, "OFF” is stored.
  • the auto charge is not limited, but as an example, it can be performed from a bank account or the like registered by the user of the terminal 20.
  • the payment history data is data related to the payment history of the user of this application ID, and is not limited, but as an example, for this application ID, the payment date and time, which is the date and time when the payment was made by the server 10, and the ID of the store where the payment was made.
  • the store ID, the settlement store name that is the name of the store with the store ID, and the settlement amount that is the settlement amount are associated and stored in chronological order.
  • the payment history information may be transmitted to the terminal 20 and stored in the terminal 20, so that the server 10 does not store the payment history data.
  • the code management database 159 is a database for managing a code (a terminal display code in this embodiment), and an example of its data structure is shown in FIG. 4-6.
  • the code management database 159 stores, for example, code management data generated for each application ID of the payment application, without limitation.
  • the application ID is stored in each code management data, and the code generation date and time, the code No., the payment number, and the code expiration date are stored in chronological order as an example, not limited.
  • the date and time when the terminal display code is generated is stored based on the information measured by the clock unit 19.
  • a number for identifying the code is stored in the code No. For example, serial numbers are set and stored in chronological order.
  • the payment number the payment number issued when the terminal display code is generated is stored.
  • the code expiration date is the expiration date for validating the payment using the terminal display code, and is the expiration date managed on the server 10 side for each generated terminal display code.
  • the date and time when the server 10 generates the terminal display code is defined as the "code generation date and time”
  • the valid time of the code set by the server 10 is defined as the "code valid time”.
  • "the period from the code generation date and time until the code expiration time elapses" is set and stored as the code expiration date by the code expiration date management processing unit 1115.
  • the code expiration date is the expiration date set by the server 10, and can be said to be the expiration date at which payment can be made using the terminal display code.
  • the code valid time can be set and changed as appropriate, but the time is not limited, and as an example, a time such as "6 hours", “12 hours”, “18 hours”, or "24 hours” can be set.
  • a time such as "6 hours", "12 hours”, “18 hours”, or "24 hours” can be set.
  • the code valid time may be about 24 hours at the longest.
  • the terminal display code data stored in the code management data is not limited, but as an example, it is possible to delete the terminal display code data from the code management data after performing payment processing using the terminal display code. Further, as an example, not limited to, even when the code expiration date associated with the terminal display code has expired, it can be deleted from the code management data.
  • the data of the terminal display code that has become unavailable is not deleted from the code management data, but is not limited, but as an example, the terminal display code is associated with the terminal display code data.
  • the flag "Available / Unavailable" to indicate the availability of. Then, for the terminal display code that has become unavailable, the flag may or may not be set to "unavailable".
  • the code generation date and time may not be stored in the code management data.
  • the terminal identification information such as the terminal telephone number stored in the user registration data 153 may or may not be stored in the code management data. May be good.
  • FIG. 4-7 is a diagram showing an example of functions realized by the control unit 21 of the terminal 20 in this embodiment.
  • the terminal 20 has a payment application processing unit 211 as a function realized by the control unit 21.
  • the payment application processing unit 211 has a function of executing payment application processing for performing processing related to payment based on the payment application software 281 stored in the storage unit 28.
  • the payment application processing unit 211 includes, as an example, not limited to, a code display processing unit 2113 that executes code display processing as a functional unit.
  • the processing related to payment is not limited, but as an example, a process of acquiring a terminal display code from the server 10 (a process of requesting the server 10 to generate a terminal display code, or a process of generating a terminal display code). (Including the process of receiving the code from the server 10), the process of stocking the terminal display code acquired from the server 10, the process of displaying the stocked terminal display code image (code display process), and the terminal payment completion notification. It is a concept that includes some related processing for making a payment, such as a processing acquired from the server 10, and more specifically, a general processing executed by the terminal 20 as a related processing for making a payment.
  • FIG. 4-8 is a diagram showing an example of information stored in the storage unit 28 of the terminal 20 in this embodiment.
  • the storage unit 28 stores the payment application software 281 as application software acquired by downloading from the server 10 in advance, for example, without limitation.
  • the payment application software 281 includes, but is not limited to, the payment application program 282 and the payment application data 283 as examples.
  • the payment application data 283 stores various data used in the payment application software.
  • the payment application data 283 stores, as an example, not limited to, terminal display code stock data 2831, payment data 2832, and store data 2833.
  • the terminal display code stock data 2831 is data in which the terminal display code acquired from the server 10 in the online state is stocked, and is a data configuration example of the first terminal display code stock data 2831A which is an example of the data. Is shown in FIG. 4-9.
  • the code reception date and time, the code No., the code data, and the code expiration date are stored in association with each other as an example without limitation.
  • the code reception date and time is not limited, but as an example, the date and time when the terminal 20 receives the terminal display code from the server 10 is stored.
  • the code No. the code No. received from the server 10 by the terminal 20 together with the terminal display code is stored.
  • the code data is not limited, but as an example, the data of the code image of the terminal display code received by the terminal 20 from the server 10 is stored.
  • the code expiration date is not limited, but as an example, the code expiration date set in association with the terminal display code received from the server 10 by the terminal 20 together with the terminal display code is stored.
  • the data of the terminal display code stored in the first terminal display code stock data 2831A is not limited, but as an example, payment processing is performed by the server 10 using the terminal display code, and the terminal from the server 10 After receiving the payment completion notification for terminal (when offline payment is performed, after returning to the online state and receiving the payment completion notification for terminal from the server 10), the code stock data for terminal display 2831A is deleted. Can be done. Further, as an example, not limited to, even when the code expiration date associated with the terminal display code has expired, it can be deleted from the first terminal display code stock data 2831A.
  • the data of the terminal display code that has become unavailable is not deleted from the first terminal display code stock data 2831A, but is associated with the terminal display code data as an example, not as a limitation. Then, a flag "available / unusable" indicating whether or not the terminal display code can be used is set. Then, for the terminal display code that has become unavailable, the flag may or may not be set to "unavailable".
  • the code reception date and time and the code expiration date may not be stored in the first terminal display code stock data 2831A.
  • the code expiration date associated with the terminal display code is transmitted from the server 10 to the terminal 20, but unlike this, the code expiration date associated with the terminal display code is different. It is also possible to prevent transmission from the server 10 to the terminal 20.
  • the code stock data 2831A for displaying the first terminal does not store the code expiration date, and instead of limiting it, the code reception date and time, the code No., and the code data are stored in association with each other. be able to. This will be described later in a modified example.
  • code reception date and time as an example, not limited to the date and time when the terminal display code received from the server 10 is stored in the first terminal display code stock data 2831A (hereinafter, It may or may not be stored (referred to as "code storage date and time").
  • the code data does not necessarily have to store the data of the code image of the terminal display code, and instead of or in addition to this, the terminal display code
  • the original information may or may not be stored.
  • the payment data 2832 is the payment data stored in the terminal 20, and the configuration of the payment data 2832A, which is an example thereof, is shown in FIG. 4-10.
  • the payment data 2832A stores, as an example, not a limitation, an application ID, points, a balance, a daily upper limit set amount, an auto charge setting, and payment history data.
  • the control unit 21 is not limited, but as an example, the payment date and time, which is the date and time when the server 10 settled, and the store settled by the server 10.
  • the store ID which is the ID of the server
  • the settlement store name which is the name of the store with the store ID
  • the settlement amount which is the amount settled by the server 10
  • the store data 2833 is not limited to, but as an example, various store information stored in the store registration data 155A of the server 10 is stored.
  • the store data 2833 is not limited, but as an example, the latest store information can be delivered from the server 10 to the terminal 20 and updated at the timing of updating the payment application software 281.
  • the storage unit 28 stores terminal data 289 as an example, not a limitation.
  • the terminal data 289 is data related to the terminal 20, and is not limited to the terminal data 289, and includes terminal identification information such as a terminal telephone number and a terminal email address, various setting information on the terminal 20 side, and the like.
  • FIG. 4-11 is a diagram showing an example of a top screen of a payment application displayed on the display unit 24 of the terminal 20 in this embodiment.
  • the configuration of this top screen is the same as in FIG. 3-2, and here, a state in which the "code icon" is touched by the user of the terminal 20 is shown.
  • FIG. 4-12 is a diagram showing an example of a code display screen displayed on the display unit 24 of the terminal 20 in this embodiment.
  • This code display screen is not limited, but as an example, it is displayed by touching the "code icon" as shown in FIG. 4-11 in the offline state.
  • the terminal display code stored in the storage unit 28 of the terminal 20 is read, and as the code image, a one-dimensional first terminal display code image represented by a bar code and The two-dimensional first terminal display code image QC1 represented by the QR code is displayed in different areas in the display screen. Further, below the one-dimensional first terminal display code image, a payment number represented by 12 digits is displayed.
  • the user of the terminal 20 When making an offline payment, the user of the terminal 20 presents the above code display screen to the store clerk at the code cash register 60 and has the store code reader device 50 read the code image for terminal display to make the payment.
  • the store code reader device 50 is not limited, but as an example, information acquired by decoding from the read terminal display code image (payment number in this example) and information on the time when the terminal display code image is read.
  • the payment request information including the above is transmitted to the server 10 to cause the server 10 to make a payment. Details will be described later.
  • FIG. 4-13 is a diagram showing an example of a payment result screen displayed on the display unit 24 based on the terminal payment completion notification received from the server 10 after returning from the offline state to the online state.
  • details can be confirmed from "Payment history” along with the words "Payment completed” in the center of the screen of the code display screen shown in Fig. 4-12.
  • Message and a "confirmation icon" for confirming the payment history are displayed in a pop-up format.
  • the user of the terminal 20 can display the code display screen by touching, for example, the code icon without being aware of whether the terminal 20 is in the online state or the offline state. Convenience can be improved.
  • FIG. 4-14 is a flowchart showing an example of the flow of processing executed by each device in this embodiment. From the left side, the first payment application process, which is an example of the payment application process executed by the control unit 21 of the terminal 20, and the first store, which is an example of the store payment process executed by the control unit 51 of the store code reader device 50.
  • the first settlement management process which is an example of the settlement process and the settlement management process executed by the control unit 11 of the server 10, is shown respectively.
  • the flowchart of FIG. 4-14 is a partial rewrite of the flowchart of FIG. 3-4.
  • the steps of A330 to A350, B350, B360, C320, C330, C370, etc. are different from the flowchart of FIG. 3-4.
  • the terminal 20 or the identification information for identifying the user of the terminal 20 will be described as the application ID described above.
  • the control unit 11 of the server 10 performs a terminal display code generation process (C320). Specifically, as an example, not limited, a random number with a predetermined number of digits is used by using a method (algorithm) for generating a random number with a predetermined number of digits (for example, about 10 to 12 digits). Is generated as a payment number. Then, as an example, not a limitation, a terminal display code image including at least a payment number as original information is generated. More specifically, at least the payment number is encoded (encoded) and graphicized (imaged) to generate a terminal display code image represented by a two-dimensional code (for example, QR code) image.
  • a two-dimensional code for example, QR code
  • the code management data of the application ID included in the received code generation request information includes the code generation date and time based on the timekeeping information of the clock unit 19, the set code No., and the generated settlement.
  • the number is associated with the code expiration date set for the generated terminal display code and stored.
  • control unit 11 sets the code No., the generated terminal display code (code image in this example), and the code expiration date set for the terminal display code, as an example, not limited to the communication I / F14. Is transmitted to the terminal 20 (C330).
  • the control unit 21 of the terminal 20 receives the received terminal display code.
  • the terminal display code image is stocked (A340).
  • the code data of the received terminal display code and the received code expiration date are associated with the code reception date and time as an example, not limited to the first terminal display code stock data 2831A.
  • the code display processing unit 2113 performs the code display processing (A350). Specifically, as an example, not limited, the code data of the terminal display code stored in the first terminal display code stock data 2831A is read out, and the code display screen including the terminal display code image is displayed on the display unit. Display on 24.
  • the control unit 51 displays the terminal display code image displayed on the display unit 24 of the terminal 20. Is controlled to be read by the code reader 58 (B350).
  • control unit 51 accesses the server 10 by the communication I / F 54 using the above-mentioned application interface (API) or the like, and at least the payment number obtained by decoding from the read terminal display code image and the store identification.
  • the payment request information including the information, the estimated payment amount, and the time when the terminal display code image is read (hereinafter referred to as "code reading time") is transmitted to the server 10 by the communication I / F 54 (B360). ..
  • the control unit 11 When the payment request information is received from the store code reader device 50 by the communication I / F 14 (C160), the control unit 11 performs the payment processing (C370).
  • the code management database 159 it is determined whether or not the payment number included in the received payment request information is stored in the code management database 159 in association with the application ID. Then, when it is determined that it is stored, the code reading time included in the received payment request information is within the code expiration date stored in association with the payment number in the code management data of the application ID. Determine if it exists. Then, when this condition is satisfied, it is determined that "settlement is possible", and the scheduled settlement amount is subtracted from the balance stored in the settlement management data of the application ID in the settlement management database 157A to settle the settlement.
  • the terminal display code stocked in the terminal 20 can be used not only for offline payment but also for online payment. That is, it is not essential for the terminal 20 to determine (detect) whether or not it is in the offline state, and payment is made using the terminal display code stocked in the terminal 20 regardless of the online state / offline state. It is possible to do so.
  • the terminal 20 requests the server 10 to generate the terminal display code image, and the terminal display code image generated by the server 10 is transmitted to the terminal 20. Not limited to this.
  • the terminal 20 may request the server 10 to generate the original information (payment number in this example), and the original information generated by the server 10 may be transmitted to the terminal 20. You don't have to do that.
  • the control unit 21 transmits code generation request information for requesting the server 10 to generate the original information. Then, based on this code generation request information, in C120, the control unit 11 generates the original information, and in C130, the generated original information is transmitted to the terminal 20.
  • control unit 21 When the original information is received from the server 10 in the A130, the control unit 21 generates a terminal display code image based on the received original information. Then, the control unit 21 causes the display unit 24 to display the generated terminal display code image.
  • the control unit 21 stores the received original information in the terminal display code stock data 2831 in A240. Then, the control unit 21 reads the stocked original information from the terminal display code stock data 2831, and generates a terminal display code image based on the read original information. Then, in A250, the control unit 21 causes the display unit 24 to display the generated terminal display code image.
  • the control unit 21 receives the received original information and the code expiration date on the first A340. It is stored in the terminal display code stock data 2831A. Then, when the user of the terminal 20 performs an operation to display the code in the offline state, the control unit 21 reads the stocked original information from the first terminal display code stock data 2831 and reads the original information. Generates a terminal display code image based on. Then, in the A350, the control unit 21 causes the display unit 24 to display the code display screen including the generated terminal display code image.
  • the terminal 20 requests the server 10 to generate the terminal display code image, and the terminal display code image generated by the server 10 is transmitted to the terminal 20, but on the terminal 20 side, Instead of stocking the terminal display code image received from the server 10, the original information acquired by decoding from the terminal display code image received from the server 10 may or may not be stocked. Good.
  • the terminal receives the code information associated with the expiration date by the server from the server, and stores the received code information in the storage unit. Then, offline payment can be realized by executing the processing related to payment based on the stored code information.
  • the terminal 20 has a terminal display code image and a payment number (not limited) associated with the code expiration date (not limited, but an example of the first expiration date) by the server 10.
  • An example of the first code information is received from the server 10 via the communication I / F22.
  • the terminal 20 stores the received terminal display code image and payment number in the storage unit 28 by the control unit 21.
  • the terminal 20 controls a code display process (not limited, but an example of a process related to payment) for displaying the terminal display code image on the display unit 24 based on the stored terminal display code image and payment number. It is executed by the part 21.
  • the payment includes the code reading time (not limited, but an example of the time based on the payment processing) in which the terminal display code image displayed in the code display process is read by the store code reader device 50, and the code expiration date.
  • the configuration executed by the server 10 is shown based on. As an example of the effect obtained by such a configuration, even if the communication environment or communication condition of the terminal is bad or unstable, the server is based on the time based on the payment processing and the first expiration date. Can be used to ensure proper payment. Further, for example, since payment can be prevented only within the first expiration date associated with the first code information, the code information stored in the terminal may be stolen by a hacker or the like, or the terminal may be used. When a code image corresponding to the stored code information is displayed on the terminal, the code image can be taken by a camera or the like of another user's terminal to prevent it from being illegally used for payment. ..
  • the terminal 20 includes a processor that reads the payment application program 282 (not limited, but an example of the program) stored in the memory and executes the payment application processing based on the payment application program 282.
  • the processor sets the terminal display code image and the payment number (not limited, but an example of the first code information) associated with the code expiration date (not limited, but an example of the first expiration date) by the server 10 to the server 10. Processing to receive from, processing to store the received terminal display code image and payment number in memory, and code display processing based on the stored terminal display code image and payment number (not limited, but related to payment) (Example of processing) and is executed.
  • the payment includes the code reading time (not limited, but an example of the time based on the payment processing) in which the terminal display code image displayed in the code display process is read by the store code reader device 50, and the code expiration date.
  • the configuration executed by the server 10 is shown based on. Even with such a configuration, the same effect as described above can be obtained.
  • the terminal 20 receives the terminal display code and the code expiration date (not limited, but an example of information regarding the first expiration date) from the server 10 by the communication I / F 22. Then, the control unit 21 associates the received code expiration date with the terminal display code and stores it in the terminal display code stock data 2831. As an example of the effect obtained by such a configuration, it becomes possible for the terminal side to grasp the first expiration date associated with the first code information by the server.
  • the server 10 uses a terminal display code image, a payment number (an example of the first code information, not the limitation) and a code expiration date (an example of the first expiration date, not the limitation). And store in code management data in association with.
  • the server 10 transmits a terminal display code image and a payment number to the terminal 20 that performs the code display process by communication I / F14, and the payment number and the terminal display code image displayed by the code display process are stored in the store.
  • the code reading time read by the code reader device 50 (not limited, but an example of the time based on the processing related to payment) is received by the communication I / F14.
  • the server 10 shows a configuration in which the control unit 11 performs the payment process based on the code expiration date associated with the received payment number and the received code reading time.
  • the server executes the first code information associated with the received first code information and the terminal even when the communication status or communication environment of the terminal is poor. It is possible to make an appropriate settlement based on the time based on the processing related to the settlement.
  • the server 10 includes a processor that reads the payment management processing program 151 (not limited, but an example of the program) stored in the memory and executes the payment management processing based on the payment management processing program 151. ..
  • the processor stores the code image for terminal display and the payment number (an example of the first code information, not the limitation) and the code expiration date (an example of the first expiration date, not the limitation) in the code management data in association with each other.
  • the terminal display code image and the payment number are transmitted to the terminal 20 that performs the processing and the code display processing, and the payment number and the terminal display code image displayed by the code display processing are displayed by the store code reader device 50.
  • the process of receiving the read code reading time (not limited, but an example of the time based on the processing related to payment), the code expiration date associated with the received payment number, and the received code reading time It shows the configuration to execute the settlement processing based on. Even with such a configuration, the same effect as described above can be obtained.
  • the period from the display of the code to the elapse of the code display time is defined as the "code display deadline”, but the present invention is not limited to this.
  • the time or date and time at which the period from the display of the code to the elapse of the code display time ends may be defined as the "code display deadline”.
  • the period from the code generation date and time to the elapse of the code validity time is defined as the "code expiration date”, but the present invention is not limited to this.
  • the time or date and time at which the period from the display of the code to the elapse of the code display time ends may be defined as the "code expiration date”.
  • the code generation date and time is not set as the date and time when the code expiration date starts, but is not limited, but as an example, the date and time when the server 10 transmits the terminal display code to the terminal 20 (hereinafter, referred to as "code transmission date and time". ) May or may not be the date and time when the code expiration date starts. That is, the "period from the date and time when the code is transmitted until the valid time of the code elapses" may or may not be set as the code expiration date. In this case, the server 10 may store the code expiration date in the code management data after transmitting the terminal display code to the terminal 20.
  • the server 10 transmits a terminal display code (an example of code information, not a limitation) and a code expiration date (an example of information about the expiration date, not a limitation), which is transmitted to the terminal 20. I decided to receive it at, but it is not limited to this.
  • the code valid time is stored in advance in the payment application data 283 of the terminal 20.
  • the code generation date and time (an example of information regarding the expiration date, not the limitation) may be transmitted from the server 10, and the terminal 20 may receive the code generation date and time from the server 10. You may or may not have to do so.
  • the terminal 20 can specify the code expiration date based on the received code generation date and time and the code validity time stored in the payment application data 283.
  • the code transmission date and time can be set to the date and time when the code expiration date starts, but the same applies in this case as well. That is, the date and time when the code expiration date starts is transmitted from the server 10 to the terminal 20 as information regarding the expiration date. Then, the terminal 20 can specify the code expiration date based on the code expiration time and the date and time when the received code expiration date starts.
  • the date and time when the code expiration date ends is transmitted from the server 10 to the terminal 20 as information regarding the expiration date. Then, the terminal 20 can specify the code expiration date based on the code expiration time and the date and time when the received code expiration date ends.
  • the code expiration date associated with the terminal display code is transmitted from the server 10 to the terminal 20, but the present invention is not limited to this.
  • the code expiration date associated with the terminal display code is prevented from being transmitted from the server 10 to the terminal 20, and the terminal 20 side knows the code expiration date set by the server 10. You may not have it.
  • the terminal display code stock data 2831 (first terminal display code stock data 2831A and second terminal display code stock data 2831B) does not store the code expiration date, and is not limited, but as an example. It is possible to store the code reception date and time, the code No., and the code data in association with each other.
  • the terminal 20 may or may not set a temporary code expiration date (hereinafter referred to as "temporary code expiration date").
  • temporary code expiration date a temporary code expiration date
  • “the period from the date and time when the code was received (or the date and time when the code was stored) until the time when the code was valid” may be set as the temporary code expiration date, or so. It does not have to be.
  • the terminal 20 may or may not execute the process described in each embodiment or each modification by using the set temporary code expiration date.
  • the terminal display code stock data 2831 of the storage unit 28 of the terminal 20 may store one code acquired from the server 10 in the online state, but a plurality (two or more) acquired from the server 10 in the online state. You may memorize the code of.
  • FIG. 4-15 is a diagram showing an example of the second terminal display code stock data 2831B in this case.
  • the second terminal display code stock data 2831B stores data of a plurality of terminal display codes. Specifically, as an example, not limited, the code reception date and time, the code No., the code data, and the code expiration date are associated and stored in a time series.
  • control unit 21 of the terminal 20 is not limited to the code display process, but as an example, the oldest terminal display code among the terminal display codes stored in the second terminal display code stock data 2831B.
  • the code data of the above can be read out, and the code display screen including the terminal display code image can be displayed on the display unit 24.
  • the "code information" in the present disclosure is a payment number and a terminal display code image including the payment number, but the present invention is not limited to this.
  • a token which is a kind of authentication information and a terminal display code image including the token can be used as "code information" in the present disclosure.
  • the token issued by using the method (algorithm) to generate a random token is included in the terminal display code image as an example rather than limitation. It may or may not be.
  • the identification information for identifying the terminal 20 or the user of the terminal 20 is associated with the issued token and stored in the code management data of the code management database 159 of the storage unit 15. You can do it.
  • the “token” is not limited, but as an example, is a kind of authentication information for the server 10 to authenticate that the terminal 20 or the user of the terminal 20 is a user of the legitimate terminal 20 or the legitimate terminal 20. is there.
  • the "authentication information” is information issued by a certificate authority, and the above token functions as authentication information issued by the server 10 as a certificate authority to authenticate the terminal 20 or the user of the terminal 20.
  • the token can also be expressed as, for example, a "random token”, an "access token”, a “payment token”, or the like. Since the tokens are randomly issued as described above, they become different tokens each time the terminal display code is generated. Therefore, the token functions as a so-called one-time password.
  • the server 10 is an example of access information for the store code reader device 50 that reads the terminal display code image to access the website or web page provided by the server 10.
  • Information such as a URL (Uniform Resource Locator) for accessing a payment page, which is a type of web page to be provided, may or may not be included.
  • URL Uniform Resource Locator
  • the code display expiration date information and the code expiration date information may or may not be displayed in an area different from the area where the terminal display code image is displayed. ..
  • the code display deadline information is not limited, but includes information such as "code display deadline”, “remaining time of code display deadline”, “time and date and time when the code display deadline ends", and "code display time”. included.
  • the information on the code display deadline may be said to be information on the code display deadline.
  • the information on the code expiration date is not limited, but as an example, "code expiration date”, “remaining time of the code expiration date”, “time and date and time when the code expiration date ends”, “code expiration time”, etc. Contains information.
  • the information on the code expiration date may be said to be information on the code expiration date.
  • FIG. 4-16 is a diagram showing an example of a code display screen in this modified example.
  • the remaining time of the code display deadline is displayed under the two-dimensional first terminal display code image QC1.
  • the remaining time of the code display deadline is not limited, but is displayed / updated based on the timing at which the code display screen is displayed (the timing at which the display is started) and the time measured by the clock unit 29A.
  • the remaining time of the code display deadline is displayed in the same manner as in FIG. 3-3 so that the user can easily understand it, but unlike this, the code is displayed in a manner different from that in FIG. 3-3.
  • the remaining time of the display deadline may or may not be displayed.
  • FIG. 4-17 is a diagram showing an example of a code display screen in this modified example.
  • the first terminal display code image associated with the first terminal display code image is associated with the hourglass mark (image) on the two-dimensional first terminal display code image QC1.
  • the remaining time of the code expiration date of is displayed.
  • the remaining time of the first code expiration date is not limited, but as an example, among the terminal display codes stored in the terminal display code stock data 2831, the code valid associated with this terminal display code is valid. It is displayed / updated based on the deadline and the clock time of the clock unit 29A.
  • FIG. 4-18 is a diagram showing an example of a code display screen in this modified example.
  • This code display screen is a code display screen that combines the code display screen of FIG. 4-16 and the code display screen of FIG. 4-17.
  • the remaining time of the first code expiration date and the remaining time of the first code display deadline are displayed above and below the first terminal display code image QC1, respectively. There is.
  • FIG. 4-19 is a diagram showing an example of a code display screen in this modified example.
  • This code display screen is almost the same as in FIG. 4-18, but the display of the code expiration date information is different.
  • information on the code expiration date as an example, not limited, as a display indicating that the first terminal display code is valid from the time when the code expiration date starts until the code expiration time elapses. , "Valid for 12 hours from 9:00 on 06/10/2019" is displayed.
  • the code display screens of FIGS. 4-16 to 4-19 can be a code display screen displayed in the offline state or a code display screen displayed in the online state.
  • the provisional code expiration date information described above may or may not be displayed as an example instead of being limited.
  • the terminal 20 displays information such as the code expiration date and the remaining time of the code expiration date (an example of information on the first expiration date, not the limitation) in the area in the code display screen (not the limitation, but the terminal).
  • An example of the display area) shows the configuration to be displayed. As an example of the effect obtained by such a configuration, the information of the first expiration date can be notified to the user of the terminal.
  • the terminal 20 has information such as the code expiration date and the remaining time of the code expiration date (not limited, but an example of information on the first expiration date) and the terminal display code stocked on the terminal 20. It shows a configuration in which an image and a payment number (an example of a first code information, not a limitation) are displayed in an area (an example of a terminal display area, not a limitation) in the code display screen. As an example of the effect obtained by such a configuration, the information of the first expiration date and the first code information can be notified to the user of the terminal, and the convenience of the user can be improved.
  • the terminal 20 when the terminal 20 is in the offline state, information such as the code expiration date and the remaining time of the code expiration date (not limited, but an example of the information of the first expiration date) is displayed in the area (an example of the information of the first expiration date) in the code display screen. It is not limited, and the configuration to be displayed in the display area of the terminal) is shown. As an example of the effect obtained by such a configuration, the information of the first expiration date can be displayed in the display area of the terminal based on the communication state of the terminal. For example, even if the communication environment or communication condition of the terminal is bad or unstable, the information of the first expiration date can be displayed in the display area of the terminal, so that the convenience of the user can be improved. it can.
  • the terminal 20 has the terminal display code image and the payment number (not limited, but an example of the first code information) stocked in the terminal 20, and the code display deadline and the remaining time of the code display deadline.
  • Information such as (not limited, but an example of the expiration date in which the first code information can be used, which is different from the first expiration date) is displayed in the area in the code display screen.
  • FIG. 4-20 is a diagram showing an example of a top screen of a payment application displayed on the display unit 24 of the terminal 20 in this modified example. On this top screen, in addition to the above-mentioned "code icon”, a “code (offline) icon” indicated as “code (offline)” is displayed.
  • code icon is an icon for displaying the code display screen in the online state
  • code (offline) icon is an icon for displaying the code display screen in the offline state
  • FIG. 4-21 is a diagram showing an example of a code display screen displayed on the display unit 24 of the terminal 20 in this modification.
  • This code display screen is displayed by touching the code (offline) icon on the above top screen.
  • "code (offline)" is displayed at the upper part of the screen, and the same information as the code display screen of FIG. 4-10 is displayed below the code display screen.
  • the stock terminal display code is displayed on the code display screen according to the user operation. Then, offline payment can be performed using this terminal display code.
  • the terminals 20 process the A340 and A350 at the timing when the terminal 20 receives the terminal display code and the code expiration date from the server 10, and display the terminal display code. It may or may not be displayed on the 24th.
  • the display can be switched to the code display screen of the terminal display code.
  • the code reading date and time including the date information may or may not be the "time based on the processing related to payment".
  • code display time the time (hereinafter, referred to as “code display time”) and the date and time (hereinafter, referred to as “code display date and time”) when the terminal display code stocked in the terminal 20 is displayed on the terminal 20 are “related to payment”. It may or may not be "time based on processing”.
  • the server 10 communicates with the terminal 20, and it is possible to recognize that the terminal display code is displayed on the terminal 20, so that the server 10 uses the code based on the time information of the clock unit 19.
  • the display time and code display date and time can be specified.
  • the server 10 since the server 10 cannot communicate with the terminal 20, the server 10 does not know whether or not the terminal display code is displayed on the terminal 20, and cannot specify the code display time or the code display date and time. .. Therefore, the following processing is performed as an example, not as a limitation.
  • FIG. 4-22 is a flowchart showing an example of the flow of processing executed by each device in this modified example. From the left side, the second payment application processing which is an example of the payment application processing executed by the control unit 21 of the terminal 20, and the second store which is an example of the store payment processing executed by the control unit 51 of the store code reader device 50. The settlement process and the second settlement management process, which is an example of the settlement management process executed by the control unit 11 of the server 10, are shown respectively.
  • the flowchart of FIG. 4-22 is a partial rewrite of the flowchart of FIG. 3-4.
  • the processing steps in the offline state for example, A450, B450, B460, C470
  • the offline state for example, A450, B450, B460, C470
  • the terminal 20 or the identification information for identifying the user of the terminal 20 will be described as the application ID described above.
  • the payment code processed (including processing such as processing / generation and display) on the terminal 20 side based on the terminal display code stocked in A240 is referred to as an "extended terminal display code”.
  • the code image of the extended terminal display code is referred to as an "extended terminal display code image”.
  • the extended terminal display code is a code used for payment with the payment type "terminal code display” like the terminal display code, but it is a code that can be used not only for online payment but also for offline payment. ..
  • the extended terminal display code can be used not only for offline payments but also for online payments. That is, it is not essential for the terminal 20 to determine (detect) whether or not it is in the offline state, and it is possible to make a payment using the extended terminal display code regardless of the online state / offline state. It is possible.
  • a code image for extended terminal display is generated as an example, not a limitation. Specifically, the payment number acquired by decoding from the terminal display code image stocked in the terminal display code stock data 2831 or the payment number stocked in the terminal display code stock data 2831 and the control.
  • the time stamp information generated by the unit 21 is encoded (encoded) and graphicized (imaged) to generate a code image for displaying an extended terminal.
  • the time stamp information is information indicating the date and time, date, time, etc. when a specific event (specific event) occurred, and information and data (here, extended terminal display) associated with the time stamp information.
  • the code functions as an electronic time certificate to prove that it surely existed at a certain time.
  • the display of the extended terminal display code image is displayed on the display unit 24 of the terminal 20
  • the control unit 21 of the terminal 20 displays the extended terminal display code image (display).
  • the code display time and time stamp information are examples of "time information" and are generated based on the information measured by the clock unit 29A of the terminal 20.
  • time stamp information including the "code display date and time” including the date information in addition to the time may or may not be generated.
  • the information obtained by encrypting the payment number and the time stamp information may or may not be encoded.
  • the code display time or the code display date and time itself may or may not be encoded.
  • a code display screen including a code image for displaying an extended terminal is displayed on the display unit 24.
  • the two-dimensional extended terminal display code image is displayed as an example, not a limitation. can do.
  • the one-dimensional extended terminal is not limited to the two-dimensional extended terminal display code image as an example.
  • the display code image can be displayed.
  • the payment number may or may not be displayed in the vicinity of the one-dimensional extended terminal display code image.
  • control unit 51 displays the extended terminal display on the display unit 24 of the terminal 20. Control is performed so that the code reader 58 reads the code image (B450).
  • the control unit 51 accesses the server 10 by the communication I / F 54. Then, the control unit 51 transmits at least the payment request information including the payment number and time stamp information acquired by decoding, the store identification information, and the scheduled payment amount to the server 10 by the communication I / F 54 (B460). ).
  • the control unit 11 When the payment request information is received from the store code reader device 50 by the communication I / F 14 (C160), the control unit 11 performs the payment processing (C470).
  • the code management database 159 it is determined whether or not the payment number included in the received payment request information is stored in the code management database 159 in association with the application ID. Then, when it is determined that the data is stored, the code display time specified from the time stamp information included in the received payment request information is stored in association with the payment number in the code management data of the application ID. Determine if the code is within the expiration date. Then, when this condition is satisfied, it is determined that "settlement is possible", and the scheduled settlement amount is subtracted from the balance stored in the settlement management data of the application ID in the settlement management database 157A to settle the settlement.
  • the time stamp of the clock unit 19 of the server 10 and the time stamp information included in the received payment request information are not limited, but as an example.
  • the time difference from the code display time specified from the above may be compared with the code display time to determine whether or not it is within the code display deadline.
  • the server 10 is made to make a payment based on the code expiration date.
  • the user of the terminal 20 it is not always possible for the user of the terminal 20 to perform a procedure for causing the server 10 to make a payment within the code expiration date.
  • the code expiration date has passed, it is necessary to acquire the terminal display code again from the server 10, but this work may be troublesome depending on the user.
  • FIG. 5-1 is a diagram showing an example of information stored in the storage unit 28 of the terminal 20 in this embodiment.
  • the payment application program 282 includes, as an example, not limited to, a terminal-side code update processing program 2821 executed as a terminal-side code update processing as a subroutine program.
  • FIG. 5-2 is a flowchart showing an example of the flow of processing executed by each device in this embodiment.
  • the terminal side code update process executed by the control unit 21 of the terminal 20 is shown on the left side
  • the server side code update process executed by the control unit 11 of the server 10 is shown on the right side.
  • These processes are not limited, but as an example, are processes executed as sub-processes of the payment application process of the terminal 20 described above and the payment management process of the server 10 described above (for example, executed in the background). is there.
  • the control unit 21 performs code update condition determination processing (D110). Specifically, as an example, not limited, the terminal in which the time measured by the clock unit 29A of the terminal 20 (hereinafter referred to as "terminal timekeeping time") is stored in the terminal display code stock data 2831. It is determined whether or not the time is before the set time from the time (date and time) when the code expiration date associated with the display code ends.
  • the set time can be set based on the code valid time as an example, not limited. For example, if the code valid time is "12 hours”, half of this "6 hours” is set as the set time, and if the code valid time is "24 hours", this half of "12 hours” is set as the set time. It can be set as. Since the terminal display code is updated, it is desirable to allow some time.
  • the code reception time (code date and time) and the code storage time (code storage) are not limited, but as an example. It may or may not be determined whether or not the set time has elapsed from the date and time). That is, the time (reference time) used as the reference for determining the code update condition may be the time when the code expiration date ends, or may be the code reception time or the code storage time.
  • this terminal display code is targeted and the code associated with this terminal display code is applied.
  • the determination of D110 may be made based on the expiration date.
  • the second terminal display code stock data 2831B since a plurality of terminal display codes are stored, each of these plurality of terminal display codes is targeted, and each terminal display code is used.
  • the determination of D110 may be made based on the associated code expiration date.
  • control unit 21 determines that the code update condition is satisfied.
  • the control unit 21 determines whether or not it is online (D130). Then, if it is determined that the user is online (D130: YES), the control unit 21 is not limited to the code update request information including the application ID and the code No. of the terminal display code for requesting the update. Is transmitted to the server 10 by the communication I / F22 (D160).
  • code update request information is information for requesting (may be called an application) to update (may be called reacquisition) of the terminal display code stocked in the terminal 20. Yes, it can be said to be a request for updating code information. Further, the "code update request information” can be said to be information for requesting the transmission of the updated terminal display code (new terminal display code).
  • the control unit 11 of the server 10 determines whether or not the code update request information has been received from the terminal 20 (E110). Then, if it is determined that the signal has been received (E110: YES), the terminal display code update process is performed (E120).
  • the code management data of the application ID included in the received code update request information in the code management database 159 of the storage unit 15 is referred to. Then, it is determined whether or not the code number included in the received code update request information exists in the code management data, and if it is determined that the code number exists, the same process as the terminal display code generation process described above is performed. And generate a terminal display code for updating. Then, the code generation date and time, the payment number, and the code expiration date stored in the code management data in association with the code No. are updated.
  • the terminal display code updated in this way is hereinafter referred to as an "updated terminal display code".
  • control unit 21 transmits the update terminal display code and the code expiration date to the terminal 20 by communication I / F14 (E170).
  • control unit 11 determines whether or not to end the process (E190), and if it determines that the process is to be continued (E190: NO), returns the process to E110. If it is determined that the process is terminated (E190: YES), the server-side code update process is terminated.
  • the control unit 11 shifts the process to the E190.
  • the control unit 21 When the update terminal display code and the code expiration date are received from the server 10 by the communication I / F 22 (D170), the control unit 21 is stored in the terminal display code stock data 2831 in association with the corresponding code No. The code reception date and time, the code data, and the code expiration date are updated (D180). By performing this update process, the terminal display code (old terminal display code) to be updated becomes unusable (unusable).
  • the received update terminal display code and the code expiration date are stored in the terminal display code stock data 2831 as separate data (new data), and the terminal display targeted for update.
  • the terminal display code (old terminal display code) to be updated may not be available by performing a process such as setting a flag of "unavailable" for the code, or it is not possible to do so. You may.
  • control unit 21 determines whether or not to end the process (D190), and if it determines that the process is to be continued (D190: NO), returns the process to D110. If it is determined that the process is finished (D190: YES), the terminal code update process is finished.
  • control unit 11 shifts the process to D190.
  • the terminal 20 has information indicating that the terminal display code has been updated (for example, a message indicating that the terminal display code has been updated, or a terminal.
  • An image indicating that the display code has been updated) may be displayed on the display unit 24 by push notification, or may be displayed on the payment application screen of the display unit 24 when the payment application is being executed. ..
  • the terminal 20 has a code expiration date (not a limitation, but an example of the first expiration date) associated with the terminal display code (an example of the first code information, not the limitation) stocked in the terminal 20 in advance.
  • a code expiration date (not a limitation, but an example of the first expiration date) associated with the terminal display code (an example of the first code information, not the limitation) stocked in the terminal 20 in advance.
  • an update terminal display code (not limited, but an example of second code information) different from this terminal display code is received from the server 10 by the communication I / F 22.
  • the update terminal display code shows a configuration in which a code expiration date (not a limitation, but an example of a second expiration date) different from the code expiration date associated with the terminal display code is associated with the server 10.
  • the server since the server receives the second code information associated with the second expiration date different from the first expiration date by the server based on the information regarding the first expiration date. For example, it is possible to acquire the second code information from the server before the first expiration date has passed, and it is possible to improve the convenience of the user.
  • the terminal 20 receives the terminal display code and the code expiration date (not limited, but an example of information regarding the first expiration date) from the server 10 by the communication I / F 22. Then, the control unit 21 associates the received code expiration date with the terminal display code and stores it in the terminal display code stock data 2831. As an example of the effect obtained by such a configuration, it becomes possible for the terminal side to grasp the first expiration date associated with the first code information by the server.
  • the terminal 20 transmits the code update request information (not limited, but the transmission of the second code information) based on the code expiration date associated with the terminal display code stocked in the terminal 20 in advance.
  • An example of the information to be requested is transmitted to the server 10 by the communication I / F22.
  • the server can be requested to transmit the second code information at an appropriate timing based on the information regarding the first expiration date.
  • the update terminal display code (not limited, but an example of the second code information) is a terminal display code stocked in the terminal 20 in advance (not limited, but an example of the first code information). Shows a configuration in which the code associated with is received from the server 10 via the communication I / F 22 before the expiration date (not limited, but an example of the first expiration date) has elapsed. As an example of the effect obtained by such a configuration, the second code information can be received from the server before the first expiration date has elapsed.
  • the terminal 20 uses the received update terminal display code and the code expiration date based on the reception of the update terminal display code, and the terminal display code to be updated.
  • the process of updating the code expiration date (an example of the process of disabling the use of the first code information, not the limitation) and the process of setting the "unavailable" flag for the terminal display code to be updated. (Not limited, but an example of processing for disabling the use of the first code information) is shown by the control unit 21.
  • the control unit 21 As an example of the effect obtained by such a configuration, since the use of the first code information is disabled based on the reception of the second code information, the old first code information previously stored in the storage unit is used for payment. It can be prevented from being used.
  • the success or failure of the code update condition is determined based on the code expiration date of the terminal display code stocked in the terminal 20 in advance, but the present invention is not limited to this.
  • the code update conditions can be changed as appropriate.
  • FIG. 5-3 is a diagram showing an example of information stored in the storage unit 28 of the terminal 20 in this modified example.
  • the payment application data 283 includes user schedule data 2834 and code update condition data 2835 as examples without limitation.
  • the user schedule data 2834 is data in which information on the schedule of the user of the terminal 20 (hereinafter, referred to as "user schedule information") is stored.
  • the user schedule information is set and updated according to the operation of the user of the terminal 20.
  • the code update condition data 2835 is data for which code update conditions are set, and an example of the data structure is shown in FIG. 5-4.
  • the condition type, the condition No., and the code update condition are set in association with each other as an example without limitation.
  • condition type "CK1" is a category of "time”, and is not limited, and includes code update conditions of condition Nos. "CK1-1" to "CK1-3" as an example.
  • the terminal timekeeping time is the time before the first set time from the time when the code expiration date ends. This is the same condition as the code update condition determined in the second embodiment. However, the first set time does not necessarily have to be half the code valid time, and the setting can be changed as appropriate.
  • the terminal timekeeping time has become the set time (set time zone)" is defined. This indicates that it is determined that the code update condition is satisfied when the terminal timekeeping time becomes the set time or when the terminal timekeeping time becomes the time included in the set time zone.
  • the set time and set time zone can be changed as appropriate. For example, a time such as “midnight” or “early morning 6:00” can be set as a set time, or a time zone such as midnight can be set as a set time zone.
  • the second set time has elapsed since the code was last updated is defined. This indicates that it is determined that the code update condition is satisfied when the second set time has elapsed since the terminal display code stocked in the terminal 20 was last updated.
  • the second set time can be changed as appropriate, but it is necessary to set a time shorter than the code valid time.
  • condition type "CK2" is a category of "user”, and is not limited, and includes code update conditions of condition Nos. "CK2-1" to "CK2-2" as an example.
  • code update request operation an operation requesting the update of the terminal display code
  • the user of the terminal 20 makes a purchase and makes a payment at a store located in a place where the communication status becomes unstable at a regular timing (for example, what day of the week, what day of each month) (sale day). Etc.), or if you regularly go to the underground bar to drink alcohol and make a payment, it is highly likely that the user of the terminal 20 will use the same store to make the payment even at the next timing. it is conceivable that.
  • the terminal 20 estimates the timing (time, date and time) at which the next payment will be made based on the history of the user's schedule information (for example, the history of the user schedule information included in the user schedule data 2834). .. Then, a timing before that timing (for example, a timing before departure, a timing at the time of departure, a timing before arriving at the destination) is set as an update recommended timing, and the terminal display is performed at that timing. You can try to update the code.
  • the user's payment information (for example, payment data 2832 is included).
  • the timing at which payment will be made next may be estimated based on the payment history data). This condition can also be said to be a condition of the type of "schedule", "payment", and "history”.
  • condition type "CK3" is a category of "position”, and is not limited, and includes code update conditions of condition Nos. "CK3-1" to "CK3-2" as an example. These conditions can also be said to be conditions of the type of "terminal position", "user position", and "location”.
  • the position near the store where the calculation terminal position is set is defined. This is when the position of the terminal 20 calculated based on the position calculation information detected by the position calculation information detection unit 29B (hereinafter, referred to as “calculation terminal position”) is a position near the set store. , Indicates that it is determined that the code update condition is satisfied.
  • the calculated terminal position is the calculated position of the terminal 20, but if the user carries the terminal 20, the calculated position of the terminal 20 is the same as the position of the user of the terminal 20. That is, on the premise that the user carries the terminal 20, the position of the terminal 20 and the position of the user of the terminal 20 can be said to be substantially synonymous.
  • the setting store is not limited, but can be set in advance on the terminal 20 side or the server 10 side as an example.
  • a store located in a place where the communication environment is poor, such as underground can be set as a setting store on the terminal 20 side or set on the server 10 side according to the operation of the user of the terminal 20.
  • the terminal display code can be updated when the terminal position approaches the set store.
  • an event may be held in which a store that can handle payment by a payment application opens. Since many people visit the event venue where such an event is held and use the terminal 20 in the venue, the communication situation may deteriorate. In addition, if the event is held underground, it may not be possible to communicate.
  • a predetermined range for example, within a radius of 1 km
  • the terminal display code can be updated at the timing when the terminal position falls within the predetermined range (the timing when the user of the terminal 20 approaches the event venue).
  • condition type "CK4" is a category of "emergency", and the code update condition of the condition No. "CK4-1" is included as an example without limitation. This condition can also be said to be a condition of the type of "situation in the world”.
  • “Disaster information / disaster prevention information reception” is defined as a code update condition for condition No. "CK4-1". This indicates that when the terminal 20 receives disaster information / disaster prevention information such as earthquake disaster information, meteorological disaster information, flood information, and sediment disaster information, it is determined that the code update condition is satisfied.
  • disaster information / disaster prevention information such as earthquake disaster information, meteorological disaster information, flood information, and sediment disaster information
  • the terminal 20 When a disaster occurs, it is assumed that the communication infrastructure will not function and the terminal 20 will be offline. Therefore, when the terminal 20 receives the disaster information / disaster prevention information, the terminal display code is updated.
  • control unit 21 of the terminal 20 determines whether or not the code update condition is satisfied based on the code update condition data 2835 in the terminal side code update process D110 of FIG. 5-2. Then, as an example, not a limitation, when at least one code update condition is satisfied, it is determined that the code update condition is satisfied.
  • the priority is set in association with each code update condition. Then, when at least one of the code update conditions set in association with a priority higher than a predetermined priority (threshold priority) is satisfied, the code update condition is satisfied. It may or may not be determined.
  • code update conditions defined in the code update condition data 2835 which code update condition is applied may be set in advance on the terminal 20 side or the server 10 side. In this case, if at least one of the code update conditions set to be applied is satisfied, it may be determined that the code update condition is satisfied, or it is not necessary to do so. May be good.
  • the terminal 20 is a code for displaying an updated terminal (not limited, but an example of a third expiration date) associated with a new code expiration date (not limited, but an example of a third expiration date) transmitted from the server 10 based on the set time.
  • the configuration is shown in which the third code information) is received by the communication I / F22 without limitation.
  • the terminal may receive the third code information related to the third expiration date by the server, which is transmitted from the server based on the set time, by the communication unit. it can.
  • the terminal 20 is transmitted from the server 10 based on the information of the user of the terminal 20 (for example, user schedule information, payment history of the user, the position of the terminal 20 (user of the terminal 20), etc.).
  • the server 10 receives the update terminal display code (an example of the fourth code information, not the limitation) associated with the new code expiration date (an example of the fourth expiration date, not the limitation) by the communication I / F22.
  • the configuration is shown.
  • the communication unit can receive the fourth code information related to the fourth expiration date by the server, which is transmitted from the server based on the information of the user of the terminal. ..
  • the terminal 20 is for displaying an updated terminal, which is transmitted from the server 10 based on the disaster information and is associated with a new code expiration date (not limited, but an example of the fifth expiration date) by the server 10.
  • the configuration in which the code (not limited, but an example of the fifth code information) is received by the communication I / F 22 is shown.
  • the terminal transmits the fifth code information related to the fifth expiration date by the server, which is transmitted from the server based on the information about the disaster acquired by the server, by the communication unit. Can be received.
  • the terminal 20 requests the server 10 to update the terminal display code, but the present invention is not limited to this. Instead of requesting the update of the terminal display code, the terminal 20 may request the server 10 to extend the code expiration date associated with the stock terminal display code.
  • FIG. 5-5 is a flowchart showing an example of the flow of processing executed by each device in this modified example.
  • the terminal side code expiration date extension process executed by the control unit 21 of the terminal 20 is shown on the left side
  • the server side code expiration date extension process executed by the control unit 11 of the server 10 is shown on the right side.
  • These processes are not limited, but are, as an example, processes executed in the background in each of the above-mentioned payment application process of the terminal 20 and the above-mentioned payment management process of the server 10.
  • control unit 21 performs the code expiration date extension condition determination process (D210).
  • the code expiration date extension condition is not limited, but can be the same as the code update condition shown in FIG. 5-4 as an example.
  • this terminal display code is targeted and the code associated with this terminal display code is applied.
  • the determination of D210 may be performed based on the expiration date.
  • the second terminal display code stock data 2831B since a plurality of terminal display codes are stored, each of these plurality of terminal display codes is targeted, and each terminal display code is used.
  • the determination of D210 may be made based on the associated code expiration date.
  • the control unit 21 determines whether or not it is online (D230). Then, if it is determined that the user is online (D230: YES), the control unit 21 performs an authentication process (D240).
  • the authentication screen is displayed on the display unit 24, and the user is asked to enter the authentication password. Then, it is determined whether or not the entered authentication password matches the authentication password registered / stored in the payment application data 283 in advance. If they match, the authentication result is set to "OK", and if they do not match, the authentication result is set to "NG".
  • the control unit 21 includes, as an example, not a limitation, the application ID and the code No. of the terminal display code requesting the extension of the code expiration date.
  • the code expiration date extension request information is transmitted to the server 10 by the communication I / F22 (D260).
  • code expiration date extension request information is information for requesting (applying) for extension of the code expiration date associated with the terminal display code stocked in the terminal 20, and is a request for extension of the code expiration date. It can be said that. Further, the "code expiration date extension request information” can be said to be information for requesting the transmission of the extended code expiration date.
  • the control unit 11 of the server 10 determines whether or not the code expiration date extension request information has been received from the terminal 20 (E210). Then, if it is determined that the signal has been received (E210: YES), the code expiration date extension process is performed (E220).
  • the code management data of the application ID included in the received code expiration date extension request information in the code management database 159 of the storage unit 15 is referred to. Then, it is determined whether or not the code number included in the received code expiration date extension request information is stored in the code management data, and if it is determined that the code number is stored, it is stored in association with the code number. Extend and renew the code expiration date.
  • the code expiration date extended in this way is hereinafter referred to as an "extension cord expiration date".
  • control unit 21 transmits the extension code expiration date to the terminal 20 by the communication I / F 14 (E270).
  • control unit 11 determines whether or not to end the process (E290), and if it determines that the process is to be continued (E290: NO), returns the process to E210. If it is determined that the process is terminated (E290: YES), the server-side code expiration date extension process is terminated.
  • the control unit 21 receives the code expiration date stored in the terminal display code stock data 2831 in association with the corresponding code No. Renew with the extension code expiration date (D280).
  • control unit 21 determines whether or not to end the processing (D290), and if it is determined to continue the processing (D290: NO), returns the processing to D210. If it is determined that the process is to be completed (D290: YES), the terminal code expiration date extension process is terminated.
  • the terminal 20 displays information indicating that the code expiration date has been extended (for example, a message indicating that the code expiration date has been extended, or a code.
  • An image indicating that the expiration date has been extended may be displayed on the display unit 24 by push notification, or may be displayed on the payment application screen of the display unit 24 when the payment application is being executed.
  • the authentication process does not necessarily have to be performed, and the authentication process may be omitted.
  • This modification shows a configuration in which the terminal 20 transmits code expiration date extension request information (not limited, but an example of information requesting the server to extend the first expiration date) to the server 10 by communication I / F22. ing. As an example of the effect obtained by such a configuration, the server can be requested to extend the first expiration date.
  • code expiration date extension request information not limited, but an example of information requesting the server to extend the first expiration date
  • the terminal 20 acquires the extension code expiration date from the server 10 based on the execution of the authentication process (not limited, but an example of the process related to the authentication of the user of the terminal) (not limited, but not limited).
  • An example of processing related to the extension of the first expiration date) is performed by the control unit 21.
  • the first expiration date is extended by performing the process related to the extension of the first expiration date by the control unit of the terminal based on the execution of the process related to the authentication of the user of the terminal. At that time, security can be enhanced.
  • the terminal 20 receives the extension code expiration date transmitted from the server 10 by the communication I / F22. Then, the configuration is shown in which the information indicating that the code expiration date has been extended is displayed in the display area of the terminal 20. As an example of the effect obtained by such a configuration, it is possible to notify the user of the terminal that the first expiration date has been extended, so that the convenience of the user can be improved.
  • the server 10 does not update the terminal display code and sends it to the terminal 20 in response to the request from the terminal 20, but the server 10 sends the terminal display code without a request from the terminal 20. It may or may not be updated and transmitted to the terminal 20.
  • the server 10 transmitting information or data to the terminal 20 without a request from the terminal 20 is referred to as "push transmission”.
  • the server 10 performs the terminal display code update process at a periodic timing or a specific timing, not as a limitation but as an example.
  • the server 10 determines the success or failure of the code update condition at any time based on the same conditions as the code update condition described above, and when it is determined that the code update condition is satisfied, the terminal display code update process is performed. .. Then, the server 10 push-transmits the update terminal display code and the code expiration date to the terminal 20.
  • the server 10 does not extend the code expiration date in response to the request from the terminal 20, but the server 10 extends the code expiration date without a request from the terminal 20. It may or may not be transmitted to the terminal 20.
  • the server 10 performs the code expiration date extension process at a periodic timing or a specific timing as an example, not a limitation.
  • the server 10 determines the success or failure of the code expiration date extension condition at any time based on the same conditions as the code expiration date extension condition described above, and determines that the code expiration date extension condition is satisfied, the code is valid. Perform deadline extension processing. Then, the server 10 push-transmits the extension code expiration date to the terminal 20.
  • new code generation request information for requesting generation of a new terminal display code is transmitted from the terminal 20 to the server 10.
  • the server 10 Based on receiving the new code generation request information from the terminal 20, the server 10 performs the same processing as the terminal display code generation process described above to generate a new terminal display code, and sets the code generation date and time. It is stored in the code management data together with information such as the number and code expiration date. Then, the server 10 can also transmit the generated new terminal display code and information on the code expiration date to the terminal 20.
  • the third embodiment is an example relating to a method for setting a code expiration date (how to set the code expiration date).
  • the contents described in the third embodiment can be applied to any of the other embodiments and the other modifications. Further, the same components as those already described are designated by the same reference numerals, and the description thereof will be omitted again.
  • FIG. 6-1 is a diagram showing an example of information stored in the storage unit 15 of the server 10 in this embodiment.
  • the storage unit 15 stores, as an example, not limited to, the account-specific management database 152, the holding event data 154, and the code expiration date setting data 156.
  • the account-specific management database 152 is management data for each account of the payment application, and an example of the data structure is shown in FIG. 6-2.
  • Account management data is stored in the account management database 152 for each account.
  • the management data for each account is not limited, but as an example, application ID, credit score, terminal position history data, user schedule data, payment history data, and offline tendency data are stored.
  • the application ID stored in the user registration data 153 is stored in the application ID.
  • the credit score represents the social credit of the user of the terminal 20 by a numerical value, a rank, or the like.
  • the credit score is not limited, but is calculated based on the payment record, age, working style, annual income, etc. of the user of the terminal 20, and is updated as needed.
  • the credit score is quantified by the score method of "0 points" to "100 points", the credit score "100 points” is the highest social credit of the user, and the credit score "0 points” is the user. Can be shown to have the lowest social credibility.
  • the terminal position history data stores the history of the terminal position (hereinafter referred to as "terminal position").
  • terminal position the terminal position calculated by the terminal 20 by performing the position calculation process
  • the terminal position calculated by the terminal 20 by performing the position calculation process is a terminal at each timing when the terminal position is calculated or at a regular timing. It is possible to transmit from 20 to the server 10 and store this calculated terminal position as the terminal position in the terminal position history data at any time.
  • the user schedule data is data in which the user schedule information of the terminal 20 of this application ID is stored. This user schedule data can be updated at any time in synchronization with the user schedule data 2834 (see FIG. 5-3) stored in the storage unit 28 of the terminal 20.
  • the payment history data is the payment history data included in the payment management data of this application ID among the payment management data stored in the payment management database 157.
  • the offline tendency data is data obtained by analyzing the tendency of the terminal 20 of this application ID to be in the offline state.
  • the server 10 can store the period during which communication with the terminal 20 has been disabled in the past as a history in the offline tendency data.
  • the event data 154 is data related to an event in which payment can be made using a terminal display code, and is not limited to information such as the date and time of the event, the place where the event is held, and the stores that open stores at the event. It will be remembered. This information is acquired in advance from the event host organization or the like by the server 10 and stored in the event data 154.
  • the code expiration date setting data 156 is data used for setting the code expiration date.
  • the code expiration date setting data 156 is not limited, but as an example, the credit score, position (terminal position, user position), user schedule, payment history, offline, which are specified from the data included in the above account-specific management data. The tendency and the like are used as judgment items, and a method for setting the code valid time is defined based on these judgment items.
  • the code expiration date is determined by the code generation date and time and the code expiration time, so setting the code expiration time is substantially synonymous with setting the code expiration date.
  • the code valid time is set to “reference code valid time x 1.2"
  • the code valid time is set to "reference code”. It can be defined that the valid time is set to "valid time x 1.0" and the code valid time is set to "reference code valid time x 0.8" if the credit score is "less than 60 points”.
  • the “reference code valid time” is not limited, but is, as an example, a valid time set as a default by the server 10. As an example, not a limitation, the code valid time such as "6 hours”, “12 hours”, “18 hours”, “24 hours” described in the first embodiment can be set as the reference code valid time. it can.
  • the code expiration date setting data 156 defines, as an example, not a limitation, conditions for setting the code expiration time based on the terminal position. For example, on the server 10 side, a place with high safety (a pinpoint position, a certain area, etc.) and a place with low safety are set. "Safety” here means that there is less risk in increasing the code validity time.
  • the highly secure location is not limited, but as an example, a location where the terminal 20 is unlikely to be stolen by another person (a location where the user is unlikely to misplace the terminal 20), for example, the home of the user of the terminal 20.
  • the location and the area around it can be considered.
  • the location of low security is not limited, but as an example, a location where the terminal 20 is unlikely to be stolen by another person (a location where the user is unlikely to misplace the terminal 20), for example, the location of a restaurant such as a tavern. And the area around it can be considered.
  • the code valid time is set to "reference code valid time x 1.2"
  • the code valid time is set to "reference”. It can be defined that the code valid time x 0.8 ".
  • the user schedule code expiration date setting data 156 defines, as an example, not a limitation, conditions for setting the code expiration time based on the user schedule. For example, if the user is scheduled to go to a specific event within a predetermined time or a predetermined number of days, there is a high possibility that payment will be made using the terminal display code.
  • a time longer than the reference code valid time is set as the code valid time. And so on.
  • the code expiration date setting data 156 is not limited, but as an example, conditions for setting the code validity time based on the payment history of the user of the terminal 20 are defined. If it can be seen from the payment history that the user of the terminal 20 tends to make a payment using the same store at a regular timing (for example, what day of the week, what day of the month), the terminal 20 is also at the next timing. Users are more likely to make payments using the same store.
  • the code valid time may be set longer than the reference code valid time. Just do it.
  • the code valid time based on the frequency and number of payments made by the user of the terminal 20. Specifically, based on the payment history data associated with the application ID, the frequency (hereinafter referred to as “payment frequency”) and the number of payments (hereinafter referred to as “payment frequency”) in a unit period are referred to. .) Is calculated. Then, it can be set to set a longer time as the code valid time as the payment frequency increases or the payment frequency increases.
  • the offline tendency code expiration date setting data 156 defines, as an example, not a limitation, conditions for setting the code expiration time based on the offline tendency. If the terminal 20 is frequently offline, it may not be possible to make a payment in an emergency unless the code valid time is set long.
  • offline frequency the frequency (hereinafter, referred to as “offline frequency”) and the number of times (hereinafter, referred to as “offline number of times") that the terminal 20 is in the offline state in a unit period are calculated, not as a limitation. Then, the higher the offline frequency or the higher the offline frequency, the longer the code valid time can be set.
  • the above determination items are merely examples, and the settings can be changed as appropriate.
  • the user is made to select one code valid time from a plurality of code valid time candidates. Then, the selected code valid time is transmitted from the terminal 20 to the server 10, and the server 10 sets the code valid time received from the terminal 20 in association with the application ID of the terminal 20. You may or may not have to do so.
  • control unit 11 of the server 10 is not limited, but as an example, a terminal display code generation process (C320 in FIG. 4-14), a terminal display code update process (E120 in FIG. 5-2), and a code.
  • a terminal display code generation process C320 in FIG. 4-14
  • a terminal display code update process E120 in FIG. 5-2
  • a code Before performing the expiration date extension process (E220 in FIG. 5-5), the code expiration date setting process is performed.
  • the control unit 11 refers to the code expiration date setting data 156 as an example, not the limitation, and determines at least one of the above-mentioned plurality of determination items as an example, not the limitation.
  • the code expiration date may be set based on the item, or the code expiration date may be set according to the combination thereof. For example, a user with a high credit score, an offline frequency, and a high number of offline times may or may not have a longer expiration date than a user with the same credit score.
  • the third embodiment shows a configuration in which the code expiration date is set by the server 10 based on the information of the user of the terminal 20.
  • the terminal can make the server make a payment based on the first expiration date appropriately set based on the information of the user of the terminal.
  • the information of the user of the terminal 20 shows a configuration including the credit score of the user.
  • the terminal can cause the server to make a payment based on a first expiration date appropriately set based on the credit score of the user of the terminal.
  • the user information of the terminal 20 shows a configuration including the user position information or the terminal position information.
  • the terminal makes a payment to the server based on the information on the position of the user of the terminal or the first expiration date appropriately set based on the information on the position of the terminal. Can be made.
  • the user information of the terminal 20 shows a configuration including the user schedule information.
  • the terminal can make the server make a payment based on the first expiration date appropriately set based on the information of the schedule of the user of the terminal.
  • the user information of the terminal 20 is an example of payment history and payment frequency (or number of payments) (not limited, but payment information based on the user's code information) based on the user's terminal display code. ) Is shown.
  • the terminal may cause the server to make a payment based on a first expiration date appropriately set based on the payment information based on the code information of the terminal user. it can.
  • the third embodiment shows a configuration in which the code expiration date is set based on the event information (not limited, but an example of information about the event) acquired by the server 10.
  • the terminal can make the server make a payment based on the first expiration date appropriately set based on the information about the event acquired by the server.
  • the fourth embodiment is an example relating to a countermeasure when the code expiration date elapses earlier than the code display expiration date.
  • the terminal display code displayed on the code display screen may not be usable.
  • FIG. 7-1 is a diagram showing an example of the flow of the first code display processing, which is an example of the code display processing executed by the code display processing unit 2113 of the terminal 20 in this embodiment.
  • the code display processing unit 2113 determines the terminal display code to be displayed among the terminal display codes stored in the terminal display code stock data 2831 (F110).
  • the terminal display code stored in the first terminal display code stock data 2831A is displayed. Determine the terminal display code to be used.
  • the terminal display stored in the second terminal display code stock data 2831 (see FIG. 4-15).
  • the oldest terminal display code (terminal display code with the closest code expiration date) is determined as the terminal display code to be displayed as an example, not limited to the code.
  • the code display processing unit 2113 determines the remaining time of the code expiration date based on the code expiration date stored in association with the terminal display code determined by F110 and the clock time of the clock unit 29A. It is determined whether or not the display time is shorter than the display time (F120).
  • the code display processing unit 2113 deletes the terminal display code determined in F110 from the terminal display code stock data 2831. (F130). Then, the code display processing unit 2113 is not limited, but as an example, after displaying an error screen including a message indicating that the terminal display code cannot be displayed on the display unit 24 (F140), the first code End the display process.
  • the code display processing unit 2113 is the first including the code image of the terminal display code determined in F110.
  • the code display screen is displayed on the display unit 24 (F150).
  • the information regarding the code expiration date and the information regarding the code display expiration date may or may not be displayed on the first code display screen. Then, the code display processing unit 2113 ends the first code display processing.
  • the terminal display code can be deleted so that the terminal display code is not displayed on the display unit 24.
  • the terminal display code is deleted so that the terminal display code is not displayed on the display unit 24, but this is limited to this. Not done.
  • a buffer for securing time for the code display time is provided in the storage unit 28 of the terminal 20. For example, if the code display time is set to "5 minutes", a buffer for securing the time for "5 minutes" is provided.
  • the control unit 21 of the terminal 20 processes "the remaining time of the actual code display deadline + the code display time" as the remaining time of the code display deadline. I do. Therefore, although the remaining time of the actual code expiration date is shorter than the code display time, the control unit 21 determines that the remaining time of the code expiration date is equal to or longer than the code display time, and thus sets it as a display target.
  • the code display screen including the terminal display code is displayed on the display unit 24.
  • FIG. 7-2 is a diagram showing an example of the flow of the second code display processing, which is another example of the code display processing executed by the code display processing unit 2113 of the terminal 20 in this embodiment.
  • the same steps as those described above are designated by the same reference numerals, and the description thereof will be omitted again.
  • the code display processing unit 2113 After F110, if it is determined that the remaining time of the code expiration date is shorter than the code display time (F120: YES), the code display processing unit 2113 performs the code display expiration date change process (F230). Specifically, as an example, not limited, the same time as the remaining time of the code expiration date is set as the code display time. That is, the code display period is shortened so that the code expiration date and the code display period are the same.
  • the code display processing unit 2113 causes the display unit 24 to display a second code display screen including the code image of the terminal display code determined in F110 (F240).
  • the information regarding the code expiration date and the information regarding the changed code display expiration date may or may not be displayed on the second code display screen. Then, the code display processing unit 2113 ends the second code display processing.
  • the code display period is shortened so that the code expiration date and the code display period are the same, and then the code display screen is displayed on the display unit 24. To display.
  • FIG. 7-3 is a diagram showing an example of a flow of a third code display process, which is another example of the code display process executed by the code display processing unit 2113 of the terminal 20 in this embodiment.
  • the same steps as those described above are designated by the same reference numerals, and the description thereof will be omitted again.
  • the code display processing unit 2113 is not limited to the terminal display code stored in the second terminal display code stock data 2831B, but as an example, the oldest terminal display code (the code expiration date is the longest).
  • the terminal display code that is close to the terminal is determined as the terminal display code to be displayed (F310).
  • the code display processing unit 2113 After that, if it is determined that the remaining time of the code expiration date is shorter than the code display time (F120: YES), the code display processing unit 2113 performs the terminal display code change process (F330). Specifically, as an example, not limited, among the terminal display codes stored in the second terminal display code stock data 2831B, as an example, not limited, the remaining time of the code expiration date is equal to or longer than the code display time. The oldest terminal display code (terminal display code with the closest code expiration date), which is the terminal display code, is changed to the terminal display code to be displayed.
  • the code display processing unit 2113 causes the display unit 24 to display a third code display screen including the code image of the terminal display code changed in F330 (F340).
  • the information regarding the code expiration date and the information regarding the code display expiration date may or may not be displayed on the third code display screen. Then, the code display processing unit 2113 ends the third code display process.
  • the terminal display code whose remaining time of the code expiration date is longer than the code display time is changed to the display target, and then the code display screen is displayed. It is displayed on the display unit 24.
  • the code is changed to the terminal display code to be displayed before the code display screen is displayed, but the present invention is not limited to this. Specifically, after the code display processing unit 2113 displays on the code display screen including the terminal display code to be displayed, it is determined whether or not the remaining time of the code expiration date is shorter than the code display time. Then, when this condition is satisfied, the terminal display code change process is performed to change the terminal display code being displayed to the terminal display code whose remaining time of the code expiration date is equal to or longer than the code display time. It can also be reflected on the code display screen being displayed. That is, the terminal display code may or may not be changed during the display of the code display screen.
  • the control unit 21 determines that the time (date and time) at which the code expiration date ends is the code display expiration date. Extend the code expiration date so that it is the same as the end time (date and time).
  • the terminal 20 can communicate with the server 10 in the online state, the terminal 20 communicates with the server 10 by the same process as the terminal-side code expiration date extension process (see FIG. 5-5) described above, and the display target is displayed.
  • the code expiration date associated with the terminal display code can be extended to the server 10.
  • the terminal 20 cannot communicate with the server 10 in the offline state. Therefore, in the offline state, the above process is a process of extending the code expiration date on the terminal 20 side.
  • the code display screen to be displayed on the display unit 24 of the terminal 20 may include a code image for terminal display.
  • information on the code expiration date can be displayed.
  • FIG. 4-16 it is possible to display the code display expiration date information on the code display screen but not the code expiration date information.
  • the code display period is shortened so that the code expiration date and the code display period are the same, and then the code expiration date information is displayed on the code display screen. It is possible to display the information of the code display deadline without displaying it. That is, by integrating the code expiration date into the code display expiration date, it is possible to display the code display expiration date information without displaying the code expiration date information. In this case, the code expiration date is substantially the same as the code display expiration date.
  • the terminal 20 transmits code generation request information requesting the generation of a plurality of (two or more) terminal display codes to the server 10 by communication I / F22.
  • the server 10 Upon receiving the code generation request information, the server 10 performs a terminal display code generation process.
  • the control unit 11 of the server 10 uses a plurality of terminal display codes having different start times (or start dates and times) and end times (or end dates and times) of the code expiration date. Generate. Then, the data of the generated plurality of terminal display codes is stored in the code management database 159.
  • FIG. 8 is an example of the code management database 159 stored in the storage unit 15 of the server 10 in this embodiment.
  • This code management database 159 is the same as the code management database 159 shown in FIG. 4-6, but the terminal display code data stored in each code management data together with the application ID is partially different.
  • the code management data includes the application ID and, as an example, not limited to, two terminal display codes as one set.
  • the code generation date and time are the same, but the start date and time of the code expiration date is Two different sets (four in total) of terminal display codes are stored.
  • the two terminal display codes with code numbers "Cn1" and “Cn2” have a code expiration date of "June 10, 2019 9:00:00 to June 10, 2019 14 hours 59 minutes.” It is a code that sets “59 seconds”. That is, these two terminal display codes are codes in which the start time of the code expiration date is "9:00", which is the code generation time, and the code validity time is "6 hours”.
  • the two terminal display codes of code Nos. "Cn3" and “Cn4" have a code expiration date of "June 10, 2019 15:00:00 to June 10, 2019 20:00. It is a code of "59 minutes 59 seconds”. That is, these two terminal display codes are codes in which the start time of the code expiration date is set to "15:00” 6 hours after the code generation time, and the code valid time is set to "6 hours”.
  • the two terminal display codes of the codes “Cn1" and “Cn2” and the two terminal display codes of the codes “Cn3” and “Cn4" are codes.
  • the expiration time is the same, but the start time of the code expiration date is different, and as a result, the code expiration date is different.
  • the server 10 generates a plurality of terminal display codes as described above based on the code generation request information received from the terminal 20. Then, as an example, not a limitation, the generated plurality of terminal display codes are transmitted to the terminal 20 together with the respective code numbers and the respective code expiration dates.
  • the terminal 20 receives a plurality of terminal display codes transmitted from the server 10 together with their respective code numbers and their respective code expiration dates. Then, the received information is stored in the terminal display code stock data 2831 of the storage unit 28.
  • the terminal 20 has a first code expiration date set by the server 10 based on the code generation request information (not limited, but an example of information related to the request for transmission of code information) transmitted from the terminal 20.
  • the second terminal display in which the associated first terminal display code image or first payment number (not limited, but an example of sixth code information) and the second code expiration date are associated by the server 10.
  • the code image and the second payment number (not limited, but an example of the seventh code information) are received by the communication I / F22.
  • the start time of the first code expiration date is different from the start time of the second code expiration date
  • the end time of the first code expiration date is different from the end time of the second code expiration date. ing.
  • the terminal receives and stores a plurality of code information having different start times and end times of the expiration date to enhance security and is stored in the storage unit of the terminal. It is possible to reduce the risk that the terminal display code is stolen by another person.
  • the server 10 generates a plurality of terminal display codes having different start time (or start date and time) and end time (or end date and time) of the code expiration date in the terminal display code generation process. It was sent to the terminal 20, but it is not limited to this.
  • the server 10 generates a plurality of terminal display codes in which the start time (or start date and time) of the code expiration date is different but the end time (end date and time) of the code expiration date is the same. It may or may not be transmitted to 20.
  • the terminal display code may be generated by changing the code validity time so that the end time (end date and time) of the code expiration date is the same.
  • the server 10 generates a plurality of terminal display codes in which the end time (or end date and time) of the code expiration date is different but the start time (start date and time) of the code expiration date is the same. It may or may not be transmitted to the terminal 20.
  • the number of terminal display codes with the same code expiration date (the number of terminal display codes in one set (one set)) and the number of terminal display codes with different code expiration dates (the number of sets, the number of sets).
  • the number of sets) and the like may be set in any way.
  • Communication system 10 Server 20 Terminal 30 Network 40 Store POS system 50 Store code reader device 60 Code cash register 70 Store server

Landscapes

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

Abstract

コード情報に基づく決済に関する処理を実行する端末の情報処理方法は、サーバによって第1有効期限が関連付けられた第1コード情報を、サーバから端末の通信部を介して受信することと、受信された第1コード情報を、端末の制御部によって端末の記憶部に記憶することと、第1コード情報に基づいて、決済に関する処理を制御部によって実行することとを含み、決済は、決済に関する処理に基づく時刻と、第1有効期限とに基づいてサーバによって実行される。

Description

情報処理方法、プログラム、端末、サーバ
 本開示は、情報処理方法、プログラム、端末、サーバに関する。
 昨今、スマートフォン等の端末で実行可能なアプリケーションによって、端末、または端末のユーザの電子貨幣(電子マネー)の管理や、電子貨幣による決済等を実現するサービスが普及しつつある。例えば特許文献1には、商品の購買金額の決済を行う技術が開示されている。しかしながら、電子貨幣による決済は、例えば、端末の通信環境や通信状況によっては行うことができない場合もあるなど、使い勝手が悪い場合があった。
特開2002-176671号公報
 本発明の第1の態様によると、コード情報に基づく決済に関する処理を実行する端末の情報処理方法は、サーバによって第1有効期限が関連付けられた第1コード情報を、サーバから端末の通信部を介して受信することと、受信された第1コード情報を、端末の制御部によって端末の記憶部に記憶することと、第1コード情報に基づいて、決済に関する処理を制御部によって実行することとを含み、決済は、決済に関する処理に基づく時刻と、第1有効期限とに基づいてサーバによって実行される。
 本発明の第2の態様によると、コード情報に基づく決済に関する処理を実行する端末のコンピュータによって実行されるプログラムは、サーバによって第1有効期限が関連付けられた第1コード情報を、サーバから端末の通信部を介して受信することと、受信された第1コード情報を端末の記憶部に記憶することと、第1コード情報に基づいて、決済に関する処理を実行することとを含み、決済は、決済に関する処理に基づく時刻と、第1有効期限とに基づいてサーバによって実行される。
 本発明の第3の態様によると、コード情報に基づく決済に関する処理を実行する端末は、サーバによって第1有効期限が関連付けられた第1コード情報を、サーバから受信する通信部と、受信された第1コード情報を端末の記憶部に記憶する制御を行う制御部とを備え、制御部は、第1コード情報に基づいて、決済に関する処理を実行し、決済は、決済に関する処理に基づく時刻と、第1有効期限とに基づいてサーバによって実行される。
 本発明の第4の態様によると、コード情報に基づく決済に関する処理を実行する端末は、メモリに記憶されたプログラムを読み出し、プログラムに基づく処理を実行するプロセッサーを備え、プロセッサーは、サーバによって第1有効期限が関連付けられた第1コード情報を、サーバから端末の通信部を介して受信する処理と、受信された第1コード情報をメモリに記憶する処理と、第1コード情報に基づく決済に関する処理とを実行し、決済は、決済に関する処理に基づく時刻と、第1有効期限とに基づいてサーバによって実行される。
 本発明の第5の態様によると、コード情報に基づく決済を管理するサーバの情報処理方法は、第1コード情報と、第1有効期限とを関連付けて、サーバの制御部によってサーバの記憶部に記憶することと、決済に関する処理を行う端末に第1コード情報をサーバの通信部を介して送信することと、第1コード情報と、第1コード情報に基づいて行われた決済に関する処理に基づく時刻の情報とを通信部を介して受信することと、受信された第1コード情報に関連付けられた第1有効期限と、受信された決済に関する処理に基づく時刻とに基づいて、決済の処理を制御部によって行うこととを含む。
 本発明の第6の態様によると、コード情報に基づく決済を管理するサーバのコンピュータによって実行されるプログラムは、第1コード情報と、第1有効期限とを関連付けて、サーバの記憶部に記憶することと、決済に関する処理を行う端末に第1コード情報をサーバの通信部を介して送信することと、第1コード情報と、第1コード情報に基づいて行われた決済に関する処理に基づく時刻の情報とを通信部を介して受信することと、受信された第1コード情報に関連付けられた第1有効期限と、受信された決済に関する処理に基づく時刻とに基づいて、決済の処理を行うこととを含む。
 本発明の第7の態様によると、コード情報に基づく決済を管理するサーバは、第1コード情報と、第1有効期限とを関連付けて記憶する記憶部と、決済に関する処理を行う端末に第1コード情報を送信し、第1コード情報と、第1コード情報に基づいて行われた決済に関する処理に基づく時刻の情報とを受信する通信部と、受信された第1コード情報に関連付けられた第1有効期限と、受信された決済に関する処理に基づく時刻とに基づいて、決済の処理を行う制御部とを備える。
 本発明の第8の態様によると、コード情報に基づく決済を管理するサーバは、メモリに記憶されたプログラムを読み出し、プログラムに基づく処理を実行するプロセッサーを備え、プロセッサーは、第1コード情報と、第1有効期限とを関連付けてメモリに記憶する処理と、決済に関する処理を行う端末に第1コード情報を送信し、第1コード情報と、第1コード情報に基づいて行われた決済に関する処理に基づく時刻の情報とを受信する処理と、受信された第1コード情報に関連付けられた第1有効期限と、受信された決済に関する処理に基づく時刻とに基づく決済の処理とを実行する。
実施形態の一態様における通信システムの構成の一例を示す図。 実施形態の一態様における店舗POSシステムのシステム構成の一例を示す図。 実施形態の一態様における各種の装置が実行する処理の流れの一例を示すフローチャート。 実施形態の一態様における端末の表示画面の一例を示す図。 実施形態の一態様における端末の表示画面の一例を示す図。 実施形態の一態様における各種の装置が実行する処理の流れの一例を示すフローチャート。 第1実施例に係るサーバの制御部により実現される機能の一例を示す図。 第1実施例に係るサーバの記憶部に記憶される情報の一例を示す図。 第1実施例に係るユーザ登録データの一例を示す図。 第1実施例に係る店舗登録データの一例を示す図。 第1実施例に係る決済管理データベースの一例を示す図。 第1実施例に係るコード管理データベースの一例を示す図。 第1実施例に係る端末の制御部により実現される機能の一例を示す図。 第1実施例に係る端末の記憶部に記憶される情報の一例を示す図。 第1実施例に係る第1の端末表示用コードストックデータの一例を示す図。 第1実施例に係る決済用データの一例を示す図。 第1実施例に係る端末の表示画面の一例を示す図。 第1実施例に係る端末の表示画面の一例を示す図。 第1実施例に係る端末の表示画面の一例を示す図。 第1実施例に係る各種の装置が実行する処理の流れの一例を示すフローチャート。 第1変形例に係る第2の端末表示用コードストックデータの一例を示す図。 第1変形例に係る端末の表示画面の一例を示す図。 第1変形例に係る端末の表示画面の一例を示す図。 第1変形例に係る端末の表示画面の一例を示す図。 第1変形例に係る端末の表示画面の一例を示す図。 第1変形例に係る端末の表示画面の一例を示す図。 第1変形例に係る端末の表示画面の一例を示す図。 第1実施例に係る各種の装置が実行する処理の流れの一例を示すフローチャート。 第2実施例に係る端末の記憶部に記憶される情報の一例を示す図。 第2実施例に係る各種の装置が実行する処理の流れの一例を示すフローチャート。 第2変形例に係る端末の記憶部に記憶される情報の一例を示す図。 第2変形例に係るコード更新条件データの一例を示す図。 第2変形例に係る各種の装置が実行する処理の流れの一例を示すフローチャート。 第3実施例に係るサーバの記憶部に記憶される情報の一例を示す図。 第3実施例に係るアカウント別管理データベースの一例を示す図。 第4実施例に係る第1のコード表示処理の一例を示すフローチャート。 第4実施例に係る第2のコード表示処理の一例を示すフローチャート。 第4実施例に係る第3のコード表示処理の一例を示すフローチャート。 第5実施例に係るコード管理データベースの一例を示す図。
<法的事項の遵守>
 本明細書に記載の開示は、通信の秘密など、本開示の実施に必要な実施国の法的事項遵守を前提とすることに留意されたい。
 本開示に係る情報処理方法等を実施するための実施形態について、図面を参照して説明する。
[システム構成]
 図1は、本開示の一実施形態に係る通信システム1の構成の一例を示す図である。
 図1に開示されるように、通信システム1では、ネットワーク30を介してサーバ10と、端末20(端末20A,端末20B,端末20C,・・・)と、店舗POSシステム40とが接続される。
 サーバ10は、ネットワーク30を介してユーザが所有する端末20に、端末20間でのメッセージ等を含むコンテンツの送受信を実現するサービスを提供する。また、サーバ10は、端末20と通信を行って電子決済(限定ではなく、決済の一例)を実現するサービス(以下、「決済サービス」と称する。)を提供する。なお、ネットワーク30に接続される端末20の数は限定されない。
 ネットワーク30は、1以上の端末20と、1以上のサーバ10と、1以上の店舗POSシステム40とを接続する役割を担う。すなわち、ネットワーク30は、上記の各種の装置が接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。
 ネットワーク30のうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよいし、そうでなくてもよい。ネットワーク30は、限定ではなく例として、アドホック・ネットワーク(ad hoc network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(virtual private network:VPN)、ローカル・エリア・ネットワーク(local area network:LAN)、ワイヤレスLAN(wireless LAN:WLAN)、広域ネットワーク(wide area network:WAN)、ワイヤレスWAN(wireless WAN:WWAN)、大都市圏ネットワーク(metropolitan area network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDN(integrated service digital networks)、無線LAN、LTE(long term evolution)、CDMA(code division multiple access)、ブルートゥース(Bluetooth(登録商標))、衛星通信など、または、これらの2つ以上の組合せを含むことができる。ネットワーク30は、1つまたは複数のネットワーク30を含むことができる。
 端末20(端末20A,端末20B,端末20C,・・・)(限定ではなく、端末、情報処理装置の一例)は、各実施形態において記載する機能を実現できる情報処理端末であればどのような端末であってもよい。端末20は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(限定ではなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定ではなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定ではなく例として、PDA・(personal digital assistant)、電子メールクライアントなど)、ウェアラブル端末(メガネ型デバイス、時計型デバイスなど)、または他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、端末20は情報処理端末と表現されてもよい。
 端末20A、端末20Bおよび端末20Cの構成は基本的には同一であるため、以下の説明においては、端末20について説明する。また、必要に応じて、ユーザXが利用する端末を端末20Xと表現し、ユーザXまたは端末20Xに対応付けられた、所定のサービスにおけるユーザ情報をユーザ情報Xと表現する。なお、ユーザ情報とは、所定のサービスにおいてユーザが利用するアカウントに対応付けられたユーザの情報である。ユーザ情報は、限定ではなく例として、ユーザにより入力される、または、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子などのユーザに対応付けられた情報を含み、これらのいずれか一つまたは、組み合わせであってもよいし、そうでなくてもよい。
 サーバ10(限定ではなく、サーバ、情報処理装置、情報管理装置の一例)は、端末20に対して、所定のサービスを提供する機能を備える。サーバ10は、各実施形態において記載する機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ10は、限定ではなく例として、サーバ装置、コンピュータ(限定ではなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定ではなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定ではなく例として、PDA、電子メールクライアントなど)、あるいは他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、サーバ10は情報処理装置と表現されてもよい。サーバ10と端末20とを区別する必要がない場合は、サーバ10と端末20とは、それぞれ情報処理装置と表現されてもよいし、されなくてもよい。
 以下説明する実施形態では、サーバ10は、決済アプリケーションによる決済サービスを提供する機能を有していることとして説明する。
 店舗POSシステム40は、サーバ10を運用する事業者と提携している店舗に導入されて使用されるPOSシステムである。
 この店舗POSシステム40には、限定ではなく例として、店舗コードリーダ装置50と、コードレジ60と、店舗サーバ70とが含まれる。
[各装置のハードウェア(HW)構成]
 通信システム1に含まれる各装置のHW構成について説明する。
(1)端末のHW構成
 図1には、端末20のHW構成の一例を示している。
 端末20は、制御部21(CPU:central processing unit(中央処理装置))、記憶部28、通信I/F22(インタフェース)、入出力部23、表示部24、マイク25、スピーカ26、カメラ27、時計部29A、位置算出用情報検出部29Bを備える。端末20のHWの各構成要素は、限定ではなく例として、バスBを介して相互に接続される。なお、端末20のHW構成として、すべての構成要素を含むことは必須ではない。限定ではなく例として、端末20は、マイク25、カメラ27等、個々の構成要素、または複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。
 通信I/F22は、ネットワーク30を介して各種データの送受信を行う。通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F22は、ネットワーク30を介して、サーバ10等の各種装置との通信を実行する機能を有する。通信I/F22は、各種データを制御部21からの指示に従って、サーバ10等の各種装置に送信する。また、通信I/F22は、サーバ10等の各種装置から送信された各種データを受信し、制御部21に伝達する。また、通信I/F22を単に通信部と表現する場合もある。また、通信I/F22が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。
 入出力部23は、端末20に対する各種操作を入力する装置、および、端末20で処理された処理結果を出力する装置を含む。入出力部23は、入力部と出力部が一体化していてもよいし、入力部と出力部に分離していてもよいし、そうでなくてもよい。
 入力部は、ユーザからの入力を受け付けて、入力に係る情報を制御部21に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力部は、限定ではなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含む。
 出力部は、制御部21で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力部は、限定ではなく例として、 タッチパネル、タッチディスプレイ、スピーカ(音声出力)、レンズ(限定ではなく例として3D(three dimensions)出力や、ホログラム出力)、プリンターなどを含む。
 表示部24は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。表示部24は、限定ではなく例として、タッチパネル、タッチディスプレイ、モニタ(限定ではなく例として、液晶ディスプレイやOELD(organic electroluminescence display))、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中など(真空であってもよいし、そうでなくてもよい)に画像やテキスト情報等を表示可能な装置を含む。なお、これらの表示部24は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。
 入出力部23がタッチパネルの場合、入出力部23と表示部24とは、略同一の大きさおよび形状で対向して配置されていてもよい。
 時計部29Aは、端末20の内蔵時計であり、時刻情報(計時情報)を出力する。時計部29Aは、限定ではなく例として、水晶発振器を利用したクロック等を有して構成される。時計部29Aは、限定ではなく例として、計時部や時刻情報検出部と表現することもできる。
 なお、時計部29Aは、NITZ(Network Identity and Time Zone)規格等を適用したクロックを有していてもよいし、有していなくてもよい。
 位置算出用情報検出部29Bは、制御部21が自己の端末20の位置を算出(測定)するために必要な情報(以下、「位置算出用情報」と称する。)を検出(計測)する機能部である。位置算出用情報検出部29Bは、限定ではなく例として、位置算出用センサ部と表現することもできる。
 位置算出用情報検出部29Bは、限定ではなく例として、GPS(Global Positioning System)等の衛星測位システムを利用して端末20の位置を算出するためのセンサやユニットである衛星測位センサ(衛星測位ユニット)や、慣性航法システムを利用して端末20の位置を算出するためのセンサやユニットである慣性計測センサ(慣性計測ユニット(IMU(Inertial Measurement Unit)))等を含む。
 衛星測位ユニットは、限定ではなく例として、不図示のアンテナで受信される測位用衛星から発信されている測位用衛星信号を含むRF(Radio Frequency)信号をデジタル信号に変換するRF受信回路や、RF受信回路から出力されるデジタル信号に対して相関演算処理等を行って測位用衛星信号を捕捉し、測位用衛星信号から取り出した衛星軌道データや時刻データ等の情報を、位置算出用情報として出力するベースバンド処理回路等を有する。
 慣性計測ユニットは、慣性航法演算によって端末20の位置を算出するために必要な情報を検出するセンサである慣性センサを有する。慣性センサには、限定ではなく例として、3軸の加速度センサや3軸のジャイロセンサが含まれ、加速度センサによって検出された加速度と、ジャイロセンサによって検出された角速度とを、位置算出用情報として出力する。
 制御部21は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定ではなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。
 制御部21は、限定ではなく例として、中央処理装置(CPU)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(application-specific integrated circuit)、FPGA(field programmable gate array)を含む。
 記憶部28は、端末20が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部28は、限定ではなく例として、HDD(hard disk drive)、SSD(solid state drive)、フラッシュメモリ、RAM(random access memory)、ROM(read only memory)など各種の記憶媒体を含む。また、記憶部28は、メモリ(memory)と表現されてもよいし、されなくてもよい。
 端末20は、プログラムPを記憶部28に記憶し、このプログラムPを実行することで、制御部21が、制御部21に含まれる各部としての処理を実行する。つまり、記憶部28に記憶されるプログラムPは、端末20に、制御部21が実行する各機能を実現させる。また、このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。
 マイク25は、音声データの入力に利用される。スピーカ26は、音声データの出力に利用される。カメラ27は、動画像データの取得に利用される。
(2)サーバのHW構成
 図1には、サーバ10のHW構成の一例を示している。
 サーバ10は、制御部11(CPU)、記憶部15、通信I/F14(インタフェース)、入出力部12、ディスプレイ13、時計部19を備える。サーバ10のHWの各構成要素は、限定ではなく例として、バスBを介して相互に接続される。なお、サーバ10のHWは、サーバ10のHWの構成として、全ての構成要素を含むことは必須ではない。限定ではなく例として、サーバ10のHWは、ディスプレイ13を取り外すような構成であってもよいし、そうでなくてもよい。
 制御部11は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定ではなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。
 制御部11は、代表的には中央処理装置(CPU)、であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGAであってもよいし、そうでなくてもよい。本開示において、制御部11は、これらに限定されない。
 記憶部15は、サーバ10が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部15は、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。ただし、本開示において、記憶部15は、これらに限定されない。また、記憶部15は、メモリ(memory)と表現されてもよいし、されなくてもよい。
 通信I/F14は、ネットワーク30を介して各種データの送受信を行う。通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F14は、ネットワーク30を介して、端末20等の各種装置との通信を実行する機能を有する。通信I/F14は、各種データを制御部11からの指示に従って、端末20等の各種装置に送信する。また、通信I/F14は、端末20等の各種装置から送信された各種データを受信し、制御部11に伝達する。また、通信I/F14を単に通信部と表現する場合もある。また、通信I/F14が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。
 入出力部12は、サーバ10に対する各種操作を入力する装置により実現される。入出力部12は、ユーザからの入力を受け付けて、入力に係る情報を制御部11に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入出力部12は、代表的にはキーボード等に代表されるハードウェアキーや、マウス等のポインティングデバイスで実現される。なお、入出力部12、限定ではなく例として、タッチパネルやカメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含んでいてもよいし、そうでなくてもよい。ただし、本開示において、入出力部12は、これらに限定されない。
 ディスプレイ13は、代表的にはモニタ(限定ではなく例として、液晶ディスプレイやOELD(organic electroluminescence display))で実現される。なお、ディスプレイ13は、ヘッドマウントディスプレイ(HDM)などであってもよいし、そうでなくてもよい。なお、これらのディスプレイ13は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。本開示において、ディスプレイ13は、これらに限定されない。
 時計部19は、サーバ10の内蔵時計であり、時刻情報(計時情報)を出力する。時計部19は、限定ではなく例として、ハードウェアクロックとしてのRTC(Real Time Clock)やシステムクロック等を有して構成される。時計部19は、限定ではなく例として、計時部や時刻情報検出部と表現することもできる。
(3)店舗POSのシステム構成
 図2には、店舗POSシステム40のシステム構成の一例を示している。
 店舗POSシステム40は、サーバ10を運用する事業者と提携している店舗に導入されて使用されるPOSシステムであり、限定ではなく例として、店舗コードリーダ装置50と、コードレジ60と、店舗サーバ70とを含む。
 店舗コードリーダ装置50は、POS通信I/F57(限定ではなく例として、店舗内の有線通信I/Fや無線通信I/F)によってコードレジ60や店舗サーバ70と通信接続され、コードレジ60での会計の際に、端末20の表示部24に表示される端末表示用コード画像を読み取る。そして、端末表示用コード画像を読み取ったことに基づいて、決済要求情報を通信I/F54によってサーバ10に送信し、サーバ10で決済が行われた後、決済結果に関する情報(例えば、後述する店舗用決済完了通知)を通信I/F54によってサーバ10から受信する。
 店舗コードリーダ装置50は、限定ではなく例として、制御部51と、入出力部52と、表示部53と、通信I/F54と、記憶部55と、音出力部56と、POS通信I/F57と、コードリーダ58、時計部59とを有する。
 コードリーダ58は、二次元コードを読み取るためのコードリーダであり、本明細書では、端末20の表示部24に表示され、端末20のユーザによって提示される二次元コード(例えばQRコード(登録商標))としての端末表示用コードを読み取るための二次元コードリーダ(例えばQRコードリーダ)を含む。
 コードレジ60は、限定ではなく例として、POS通信I/F57によって店舗コードリーダ装置50や店舗サーバ70と通信接続され、店舗コードリーダ装置50がサーバ10から受信した店舗用決済完了通知に基づいて、販売した商品の総額や、端末20のユーザの電子貨幣の残高等の情報を印字したレシートを発行する。また、限定ではなく例として、コードレジ60と一体として、またはコードレジ60と別体として設けられ、客側に表示面が向けられたディスプレイを構成するようにしてもよい。コードレジ60は、決済アプリケーションに対応可能に構成されたレジであり、決済アプリケーション対応の据置端末と言うこともできる。
 店舗サーバ70は、限定ではなく例として、自店舗に関する店舗情報や、自店舗で販売される商品に関する情報や自店舗で提供されるサービスに関する情報、自店舗での商品の販売やサービスの提供に伴う売上げに関する情報等の各種の情報を管理する。店舗サーバ70は、POS通信I/F57によって店舗コードリーダ装置50やコードレジ60と通信可能に構成されているとともに、ネットワーク30を介してサーバ10等の外部装置と通信可能に構成されている。
 なお、店舗サーバ70は、必ずしも店舗コードリーダ装置50と直接的に通信可能に構成されている必要はなく、コードレジ60を介して店舗コードリーダ装置50と通信可能に構成されていてもよい。例えば、店舗コードリーダ装置50がサーバ10から受信した店舗用決済完了通知はコードレジ60に送られ、その後、コードレジ60から店舗サーバ70に送られるようにするなどすることもできる。
(4)その他
 サーバ10は、プログラムPを記憶部15に記憶し、このプログラムPを実行することで、制御部11が、制御部11に含まれる各部としての処理を実行する。つまり、記憶部15に記憶されるプログラムPは、サーバ10に、制御部11が実行する各機能を実現させる。このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。
 他の装置についても同様である。
 本開示の各実施形態においては、端末20および/またはサーバ10のCPUがプログラムPを実行することにより、実現するものとして説明する。
 他の装置についても同様である。
 なお、端末20の制御部21、および/または、サーバ10の制御部11は、制御回路を有するCPUだけでなく、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各処理を実現してもよいし、そうでなくてもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよいし、そうでなくてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。
 他の装置についても同様である。
 また、本開示の各実施形態のプログラムP(限定ではなく例として、ソフトウェアプログラム、コンピュータプログラム、またはプログラムモジュール)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよいし、されなくてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムPを記憶可能である。また、プログラムPは、本開示の各実施形態の機能の一部を実現するためのものであってもよいし、そうでなくてもよい。さらに、本開示の各実施形態の機能を記憶媒体にすでに記録されているプログラムPとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよいし、そうでなくてもよい。
 記憶媒体は、1つまたは複数の半導体ベースの、または他の集積回路(IC)(限定ではなく例として、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カード、またはドライブ、任意の他の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムPを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。また、記憶媒体をメモリ(memory)と表現されてもよいし、されなくてもよい。
 サーバ10および/または端末20は、記憶媒体に記憶されたプログラムPを読み出し、読み出したプログラムPを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。
 他の装置についても同様である。
 また、本開示のプログラムPは、プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ10および/または端末20に提供されてもよいし、されなくてもよい。サーバ10および/または端末20は、限定ではなく例として、インターネット等を介してダウンロードしたプログラムPを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
 他の装置についても同様である。
 また、本開示の各実施形態は、プログラムPが電子的な伝送によって具現化されたデータ信号の形態でも実現され得る。
 サーバ10および/または端末20における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよいし、そうでなくてもよい。
 端末20における処理の少なくとも一部を、サーバ10により行う構成としてもよいし、そうでなくてもよい。この場合、端末20の制御部21の各機能部の処理のうち少なくとも一部の処理を、サーバ10で行う構成としてもよいし、そうでなくてもよい。
 サーバ10における処理の少なくとも一部を、端末20により行う構成としてもよいし、そうでなくてもよい。この場合、サーバ10の制御部11の各機能部の処理のうち少なくとも一部の処理を、端末20で行う構成としてもよいし、そうでなくてもよい。
 明示的な言及のない限り、本開示の実施形態における判定の構成は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしてもよいし、そうでなくてもよい。
 なお、本開示のプログラムは、限定ではなく例として、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのコンパイラ言語、HTML5などのマークアップ言語などを用いて実装される。
 また、本明細書では、適宜「通信I/Fによって」という表現を使用する。これは、装置が、限定ではなく例として、制御部(プロセッサー等)の制御に基づいて、通信I/Fを介して(通信部を介して)、各種の情報やデータを送受信することを示す。
 また、本明細書では、「期限」の用語は、一定の期間を示すものとして説明する。ただし、「期限」の用語に代えて、「期間」の用語を用いるようにしてもよい。
 また、「期限」の用語を、期間が終了する時刻や日時(一定の時刻や一定の日時)の意味で用いるようにしてもよい。
<第1実施例>
 近年、ネットワークサービスに関連するアプリケーション(アプリケーションソフトウェア)として、電子貨幣による電子決済用のアプリケーション(決済アプリケーション)、電子貨幣の送金用のアプリケーション(送金アプリケーション)といったアプリケーションや、これらのアプリケーションの一部の機能または全部の機能を集約した決済アプリケーションが普及しつつあり、端末20のユーザが、これらのアプリケーションを用いて、電子貨幣に関する各種のサービスを受けることが可能になってきている。
 以下説明する実施例は、限定ではなく例として、端末20のユーザが、端末20に記憶されて実行される決済アプリケーションを利用して、決済を行う実施例である。具体的には、オフラインにおいても決済を適切に行うことができる手法を提案する。
 以下では、決済アプリケーションによる決済サービスを提供する事業者のことを「決済サービスの事業者」と称する。なお、決済サービスの事業者は、決済アプリケーションを提供する事業者や、サーバ10の事業者と表現してもよいし、しなくてもよい。
 また、以下では、決済サービスの事業者によって、サーバ10が運用・管理されることとして説明する。また、以下では、決済アプリケーションの名称を、適宜「Payment App」と称して図示・説明する。
 また、決済アプリケーションは、いわゆるメッセージングサービス(MS:Messaging Service)の機能を有さない単体のアプリケーションとしてサーバ10によって提供されるようにしてもよいし、MSの機能を有する複合的なアプリケーションとしてサーバ10によって提供されるようにしてもよい。また、メッセージングサービスには、端末20間での簡単なメッセージ等のコンテンツの送受信を可能とするインスタントメッセージングサービス(IMS:Instant Messaging Service)を含めてもよいし、含めなくてもよい。
 また、決済アプリケーションは、いわゆるソーシャルネットワーキングサービス(SNS:Social Networking Service)の機能を有さない単体のアプリケーションとしてサーバ10によって提供されるようにしてもよいし、SNSの機能を有する複合的なアプリケーションとしてサーバ10によって提供されるようにしてもよい。
 なお、MS(IMSを含む。)は、SNSの1つの形態(一形態)と考えることもできる。このため、MSとSNSとは区別してもよいし、区別しなくてもよい。
 また、決済サービスの事業者と提携している店舗を「加盟店(加盟店舗)」と称し、図1では「加盟店S1」、「加盟店S2」、・・・、のように示している。
 また、「電子貨幣」とは、物理的貨幣と区別される電子的な貨幣であって、決済アプリケーションにおいて管理される端末20または端末20のユーザが所有する電子的な貨幣を意味し、「決済」とは、この電子貨幣を利用した電子決済を意味する。
 なお、電子貨幣は、「電子マネー」や「デジタル通貨(デジタル貨幣)」と表現してもよいし、そのようにしなくてもよい。
 また、「電子貨幣(電子マネー)」や「デジタル通貨(デジタル貨幣)」として、法定通貨を用いてもよいし、仮想通貨を用いてもよい。
 また、「電子貨幣(電子マネー)」や「デジタル通貨(デジタル貨幣)」には、暗号通貨(暗号資産)を含めてもよい。
 また、仮想通貨には、クーポンなどの物的貨幣を含めてもよい。
<決済方法>
(1)オンライン決済
 まず、一態様として、オンライン決済の手法についてフローチャートを参照して説明する。
 以下では、「オンライン」とは、端末20がサーバ10と通信可能であることを示し、「オンライン状態」とは、このオンラインの状態を示すものとする。また、「オンライン決済」とは、オンライン状態でサーバ10によって決済が行われることを示すものとする。
 なお、以下では、端末20とサーバ10との通信は、限定ではなく例として、通信会社(通信キャリア)が設置する基地局等を介在して実現される、無線LAN通信とは異なる周波数帯を用いた第1通信方式によって実現されることとする。第1通信方式には、限定ではなく例として、パケット通信(いわゆる端末20におけるモバイルデータ通信)が含まれる。
 また、通信方式として、第1通信方式とは異なる第2通信方式を用いてもよいし、そのようにしなくてもよい。第2通信方式には、限定ではなく例として、無線LAN(例えばWiFi(登録商標))が含まれる。
 また、第1通信方式と第2通信方式とのうちの少なくともいずれか一方の通信方式により端末20とサーバ10とが通信可能であることを「オンライン状態」と定義してもよいし、しなくてもよい。
 図3-1は、この場合における各装置が実行する処理の流れの一例を示すフローチャートである。左側から順に、端末20の制御部21が実行する処理、店舗コードリーダ装置50の制御部51が実行する処理、サーバ10の制御部11が実行する処理の一例をそれぞれ示している。
 各処理における各ステップをアルファベットの大文字と数字の組み合わせで示し、本明細書では「ステップ」の用語は省略する。
 また、以下説明するフローチャートは、あくまでも本実施例における処理を例示するものであり、以下説明するフローチャートにおいて、一部のステップを実行しなくてもよいし、追加のステップを挿入してもよい。
 これらは、本明細書における他のフローチャートについても同様である。
 まず、制御部21は、端末表示用コードの生成を依頼するためのコード生成依頼情報を、通信I/F22によって(通信I/F22を介して)サーバ10に送信する(A110)。
 以下では、限定ではなく例として、「コード情報」とは、符号化(エンコード)等によってコード画像に格納される情報やコード画像に格納されている情報(以下、元の情報という意味で「元情報」と称する。)と、元情報が格納された「コード画像」とを含む概念として説明する。つまり、「コード情報」には、「元情報」と「コード画像」とが含まれる。
 「元情報」は、「エンコード情報」や「格納情報」等のように表現してもよいし、そのように表現しなくてもよい。
 また、以下では、限定ではなく例として、「コード」といった場合、「コード情報」と実質的に同じ意味合いであるものとする。
 ただし、これらの定義はあくまでも一例に過ぎず、これらに限定されるものではない。
 例えば、「コード情報」の用語を「元情報」の意味で用いるようにしてもよいし、そのようにしなくてもよい。
 また、例えば、「コード」の用語を「コード画像」の意味で用いるようにしてもよいし、そのようにしなくてもよい。
 本実施例では、上記の元情報の一例として、サーバ10によってコード生成依頼情報の送信元の端末20毎、または端末20のユーザ毎にユニークに生成される番号であって、所定の桁数のランダムな番号である「決済用番号」を例示する。決済用番号は、端末20、または端末20のユーザと関連付けられた情報であって、サーバ10による決済に用いられる情報とも言える。
 以下では、コード生成依頼情報に基づきサーバ10によって生成される決済用のコードを「端末表示用コード」と称し、この端末表示用コードのコード画像を「端末表示用コード画像」と称する。
 詳細は後述するが、端末表示用コード画像には、上記の決済用番号が格納される。
 決済用番号や端末表示用コード画像は、コード画像による決済を行うための「第1情報」の一例であり、サーバ10から送信される。
 以下では、上記の端末表示用コード画像の生成をサーバ10に依頼する情報をコード生成依頼情報とする場合を例示する。つまり、本処理では、限定ではなく例として、端末表示用コード画像の生成を端末20からサーバ10に依頼することとし、A110では、端末表示用コード画像の生成を依頼するコード生成依頼情報をサーバ10に送信する。
 また、本明細書において、「端末表示用コード」とは、決済種別「端末コード表示」での決済に使用されるコードとして説明する。
 決済種別「端末コード表示」では、端末20のユーザが店舗等で支払いを行う際に、端末20に記憶されている決済アプリケーションを用いて、端末20で表示される端末表示用コード画像を店舗のコードレジ60で店員に提示する。そして、この端末表示用コード画像を店舗コードリーダ装置50等で読み取ってもらうことで決済を実現する。
 端末表示用コードは、端末20のユーザによって店舗等の店員に提示されるコード(コード画像)であるため、「提示用コード」や「ユーザ提示用コード」と表現することもできる。
 A110で送信するコード生成依頼情報には、限定ではなく例として、端末20、または端末20のユーザを識別するための識別情報を含めることができる。例えば、自己の端末20を識別するための端末識別情報(例えば端末ID)、自己の端末20のユーザを識別するためのユーザ識別情報(例えばユーザID)、決済アプリケーションのアカウント情報(例えばアプリケーションID)等の情報がこれに含まれる。
 通信I/F14によって端末20からコード生成依頼情報を受信すると(C110)、制御部11は、端末表示用コード生成処理を行う(C120)。
 具体的には、限定ではなく例として、所定の桁数(例えば10桁~12桁程度の桁数)のランダムな数字を発生させる手法(アルゴリズム)を用いて、所定の桁数のランダムな数字を決済用番号として発生させる。そして、限定ではなく例として、少なくとも決済用番号を元情報として含む端末表示用コード画像を生成する。より具体的には、少なくとも決済用番号をエンコード(符号化)し、図形化(画像化)して、二次元コード(例えばQRコード)の画像で表される端末表示用コード画像を生成する。また、受信したコード生成依頼情報に含まれる端末20または端末20のユーザの識別情報と、発生させた決済用番号とを関連付けて記憶部15に記憶させる。
 次いで、制御部11は、生成された端末表示用コード(この例では端末表示用コード画像)を、通信I/F14によって端末20に送信する(C130)。端末20は、通信I/F22によってサーバ10から端末表示用コード(この例では端末表示用コード画像)を受信する(A130)。この場合、制御部21は、限定ではなく例として、受信された端末表示用コード画像を表示部24に表示させる。
 その後、表示部24に表示された端末表示用コード画像が、端末20のユーザによって店舗の店員等に提示されると、制御部51は、端末20の表示部24に表示された端末表示用コード画像をコードリーダ58に読み取らせる制御を行う(B150)。
 その後、制御部51は、決済サービスの事業者によって提供(配布)される、決済アプリケーションと関連付けられたアプリケーションインターフェイス(API)等を用いて通信I/F54によってサーバ10にアクセスし、少なくとも、読み取った端末表示用コード画像からデコードによって取得した決済用番号と、店舗または店舗コードリーダ装置50を識別するための識別情報(以下、「店舗識別情報」と称する。)と、決済予定の金額(以下、「決済予定金額」と称する。)とを含む決済要求情報を、通信I/F54によってサーバ10に送信する(B160)。
 通信I/F14によって店舗コードリーダ装置50から決済要求情報を受信すると(C160)、制御部11は、決済処理を行う(C170)。具体的には、受信した決済要求情報に含まれる決済用番号が、端末20または端末20のユーザの識別情報と関連付けて記憶部15に記憶されているか否かを判定する。そして、記憶されている場合は「決済可能」と判定し、その決済用番号と関連付けて記憶されている識別情報から識別される端末20または端末20のユーザの電子貨幣の残高(決済アプリケーションのアプリケーションIDに関連付けられた電子貨幣の残高)(以下、単に「残高」と称する。)から決済予定金額を減算して決済する。
 その後、制御部11は、店舗用の決済完了通知(以下、「店舗用決済完了通知」と称する。)を、通信I/F14によって店舗コードリーダ装置50に送信する(C180)。店舗用決済完了通知には、限定ではなく例として、決済が完了(成功)した旨と、決済した日時(決済日時)と、決済した金額(決済金額)等の店舗用決済情報とが含まれる。
 また、制御部11は、端末用の決済完了通知(以下、「端末用決済完了通知」と称する。)を、通信I/F14によって端末20に送信する(C190)。端末用決済完了通知には、限定ではなく例として、決済が完了(成功)した旨と、決済した日時(決済日時)、決済した店舗の店舗識別情報(決済店舗識別情報)、決済した金額(決済金額)等の端末用決済情報とが含まれる。そして、制御部11は、処理を終了する。
 なお、ここでは、サーバ10による決済が成功した場合に、店舗用決済完了通知と端末用決済完了通知とがサーバ10から送信されることとするが、残高の不足等により、サーバ10が決済を行うことができない場合がある。この場合は、決済を行うことができなかった旨の通知(例えば決済エラー通知、決済NG通知)を、店舗コードリーダ装置50と端末20とに送信するようにすればよい。
 他の処理においても同様である。
 通信I/F54によってサーバ10から店舗用決済完了通知を受信すると(B180)、制御部51は、処理を終了する。
 また、通信I/F22によって端末用決済完了通知をサーバ10から受信すると、制御部21は、受信された端末用決済完了通知に基づき、決済アプリケーションのデータとして端末20で記憶している残高を更新する。また、制御部21は、決済結果を表示部24に表示させる(A190)。そして、制御部21は、処理を終了する。
 図3-2は、端末20で実行される決済アプリケーションで表示されるトップ画面の一例を示す図である。
 このトップ画面は、決済アプリケーションを起動した際に表示される表示画面であり、画面上部に、決済アプリケーションの名称である「Payment APP」が表示されている。その下の枠内には、残高(ここでは「3000円」)が表示されており、その横には、電子貨幣をチャージ(追加)するためのチャージボタンが表示されている。また、その下には、決済アプリケーションの各種の機能に対応する複数の機能アイコンが表示されている。
 これらの機能アイコンのうち、「コード」と示されたアイコンは、限定ではなく例として、表示部24にコード表示画面を表示させるための「コードアイコン」である。このコードアイコンが端末20のユーザによりタッチ操作されると、限定ではなく例として、端末20からサーバ10にコード生成依頼情報が送信され、サーバ10によって端末表示用コードが生成される。そして、生成された端末表示用コードがサーバ10から端末20に送信されて、図3-3に示すコード表示画面が端末20の表示部24に表示される。
 図3-3は、コード表示画面の一例を示す図である。
 このコード表示画面には、画面上部に「コード」の文字が表示され、その下に、決済方法と、ユーザが所有しているポイントと、そのポイントを利用して決済を行うか否かを設定するためのポイントタブとが表示されている。
 また、その下には、サーバ10から取得した端末表示用コードのコード画像として、バーコードで表される一次元端末表示用コード画像と、QRコードで表される二次元端末表示用コード画像QC0とが、表示画面内の異なる領域にそれぞれ表示されている。また、バーコードの下には、一例として、12桁の決済用番号が表示されている。
 また、この例では、コード表示画面に表示される端末表示用コードには、そのコードを表示する期限(以下、「コード表示期限」と称する。)がある。
 コード表示期限は、限定ではなく例として、端末20で端末表示用コードが表示される期間である。コード表示期限は、限定ではなく例として、「端末で端末表示用コードが表示された(表示が開始された)日時からコード表示時間が経過するまでの期間」とすることができる。コード表示時間は、適宜設定変更可能であるが、限定ではなく例として「5分」とすることができる。
 そして、二次元端末表示用コード画像QC0の下には、更新のマークおよび更新の文字とともに、コード表示期限の残り時間がカウントダウン形式で表示されている。この残り時間は、端末20の時計部29Aによって計時される情報に基づき表示される。
 残り時間が「0」になると、コード表示画面は閉じられ、端末表示用コードは非表示とされる。その後に端末20のユーザが決済を行いたい場合は、サーバ10から端末表示用コードを再取得することが必要となる。
 端末20のユーザは、コード表示期限内に、図3-3のコード表示画面をコードレジ60で店舗の店員に提示し、店舗コードリーダ装置50で端末表示用コード画像を読み取ってもらうことで決済を行う。この場合、店舗コードリーダ装置50は、前述したAPI等を用いて通信I/F54によってサーバ10にアクセスして、決済に必要な情報をサーバ10に送信する。これにより、サーバ10によって決済処理が行われる。
 ここまで、オンライン決済を実現するための処理を例示したが、上記の処理を適用するためには、端末20とサーバ10とが通信可能な状態(オンライン状態)であることが必要となる。勿論、店舗コードリーダ装置50とサーバ10とが通信可能な状態であることも必要である。
 しかしながら、地下などの電波状況が悪い場所で決済を行う場合や、イベント会場などの回線が混雑している状況で決済を行う場合、端末20の一定期間(例えばひと月)における通信量が一定量を超えるなどして通信制限や通信の速度制限かかけられている場合等において、端末20とサーバ10とが通信不能(または通信困難)となった結果、決済を行うのが困難になる場合が想定される。そこで、以下では、このような場合であっても決済を実現するための手法を例示する。
(2)オフライン決済
 本開示の手法の一態様としてのオフライン決済の手法について、フローチャートを参照して説明する。
 以下では、「オフライン」とは、端末20がサーバ10と通信することができないことをを示し、「オフライン状態」とは、このオフラインの状態を示すものとする。また、「オフライン決済」とは、オフライン状態においてサーバ10によって決済が行われることを示すものとする。また、前提として、店舗コードリーダ装置50はサーバ10と通信することができるものとする。
 図3-4は、この場合における各装置が実行する処理の流れの一例を示すフローチャートである。図の見方は、前述したフローチャートと同様である。
 図3-4のフローチャートは、図3-1のフローチャートをオフライン仕様に書き換えたものである。図3-1のフローチャートとは、限定ではなく例として、オンライン状態での処理ステップ(例えばA240)、オフライン状態での処理ステップ(例えばA250、B250、B280)、オフライン状態からオンライン状態に復帰した場合の処理ステップ(例えばA290、C290)が異なる。
 A130の後、制御部21は、受信された端末表示用コード(この例では端末表示用コード画像)を記憶部28にストックする(A240)。
 ここで、「ストック」とは、受信された端末表示用コードを後で利用可能とするために、記憶部28に記憶させることを意味する。
 なお、本明細書では、「ストック」のことを、単に「記憶」と表現することもある。また、端末表示用コードをストックすることを、「端末表示用コードを端末表示用コードストックデータに記憶させる」と表現することもある。
 この処理では、オフライン決済を可能とするために、オンライン状態においてサーバ10から取得した端末表示用コード(この例では端末表示用コード画像)を端末20の記憶部28にストック(記憶)させておく。そして、オフライン状態での決済が必要となった場合に、ストックされた端末表示用コードを用いて、サーバ10と通信する必要なく決済ができるようにする。
 具体的に説明する。A240の後、オフライン状態になったとする。
 ここで、端末20は、限定ではなく例として、以下のいずれかの手法によってオフライン状態となったことを検出する。
(A)端末20での決済アプリケーションの実行中、定期的なタイミングや特定のタイミングで、サーバ10から接続確認要求が端末20に送信され、端末20からは、その接続確認要求に対して、識別情報(例えばアプリケーションID)を含む接続応答がサーバ10に送信されるようにする。この場合、端末20の制御部21は、サーバ10から接続確認要求を受信しなくなった場合に、オフライン状態になったと判定する。
(B)端末20での決済アプリケーションの実行中、定期的なタイミングや特定のタイミングで、端末20から識別情報(例えばアプリケーションID)を含む接続通知がサーバ10に送信され、サーバ10からは、その接続通知に対して、接続確認が端末20に送信されるようにする。オフライン状態では、端末20からサーバ10に接続通知を送信することができない。このため、限定ではなく例として、端末20の制御部21は、接続通知の送信エラーの発生を検知した場合に、オフライン状態となったと判定する。
 なお、端末20が、限定ではなく例として、ネットワークの接続状況を取得するライブラリやアプリケーション等を用いて、自己の端末20の通信状況に関する情報を取得して、オフライン状態となったか否かを判定するようにしてもよいし、そのようにしなくてもよい。
 オフライン状態において、A240でストックされた端末表示用コード画像が表示部24に表示されて(A250)、ユーザによって店舗の店員等に提示されると、制御部51は、端末20の表示部24に表示された端末表示用コード画像を、コードリーダ58に読み取らせる制御を行う(B250)。そして、制御部51は、B160へと処理を移す。
 B160の後、通信I/F54によってサーバ10から店舗用決済完了通知を受信すると(B280)、受信された店舗用決済完了通知に基づき、店舗の店員等はオフライン決済が完了(成功)したことを端末20のユーザに口頭で通知する。
 C180の後、制御部11は、端末用決済完了通知を端末20に送信する(C290)。しかし、オフライン状態では、端末20は端末用決済完了通知を受信できない。端末20がオンライン状態に復帰すると、サーバ10から送信された端末用決済完了通知が端末20で受信される。そして、通信I/F22によって端末用決済完了通知をサーバ10から受信すると、制御部21は、受信された端末用決済完了通知に基づき、決済結果を表示部24に表示させる(A290)。
 以上説明した処理が、オフライン決済を行うための処理の一例である。
 オフライン決済では、上記のように、オンライン状態において、サーバ10によって生成された端末表示用コードを端末20でストックしておく。そして、オフライン状態となった場合に、ストックしておいた端末表示用コードを用いて決済を行う。
 ここで、オフライン決済では、上記のように、サーバ10によって生成された端末表示用コードを端末20でストックしておく。この場合、端末20のユーザが、ストックされている端末表示用コードを長い間使用せずにとっておくような場合があり得る。このような場合、端末20、または端末20のユーザと、端末表示用コードとが関連付けられる(紐づけられる)時間が長くなってしまう。
 このようなことに起因して、例えば、端末20でストックされている端末表示用コードがハッカー等によって盗まれたり、端末20でストックされている端末表示用コードのコード画像が端末20で表示された際に、そのコード画像が他のユーザの端末20のカメラ等によって撮影されるなどして、不正に決済に利用されるなどの危険性がある。
<機能構成>
(1)サーバの機能構成
 図4-1は、本実施例におけるサーバ10の制御部11により実現される機能の一例を示す図である。
 以下では、端末20のユーザが、端末20に記憶されている決済アプリケーションを用いて、限定ではなく例として、前述した決済種別「端末コード表示」による決済を行う場合を例示する。
 サーバ10は、制御部11により実現される機能として、決済管理処理部111を有する。
 決済管理処理部111は、記憶部15に記憶されている決済管理処理プログラム151に従って、端末20で実行される決済アプリケーションに関する各種の情報やデータの管理や、端末20または端末20のユーザの電子貨幣による決済を管理するための決済管理処理を実行する機能を有している。
 決済管理処理部111は、限定ではなく例として、端末表示用コード生成処理によって端末表示用コードを生成する端末表示用コード生成処理部1111と、決済処理によって決済を実行する決済処理部1113と、コード有効期限を設定して管理するコード有効期限管理処理部1115とを機能部として含む。
 端末表示用コード生成処理部1111は、限定ではなく例として、二次元コードで表される端末表示用コード画像を生成する。二次元コードとは、水平方向と垂直方向とに情報を持つ表示方式のコードであり、小さな正方形を上下左右に配列させたマトリックス式のコード(以下、「マトリックスコード」と称す。)や、一次元コード(限定ではなく例としてバーコード)を上下に複数重ねたスタック式のコード(以下、「スタックコード」と称す。)等がある。
 本実施例では、説明の簡明化のため、広く用いられているマトリックスコードの一例であるQRコード(登録商標)を、端末表示用コードの一例として説明する。
 なお、本実施例とは異なり、QRコード以外のマトリックスコードとして、SPコードやベリコード、マキシコード、CPコード、カメレオンコード等のコードを用いてもよいし、用いなくてもよい。また、マトリックスコードではなく、各種のスタックコードを用いてもよいし、用いなくてもよい。
 また、端末表示用コード生成処理部1111が、端末表示用コードとして、二次元コード(限定ではなく例として、QRコード)に加えて、一次元コード(限定ではなく例として、バーコード)を生成するようにしてもよいし、そのようにしなくてもよい。これは、店舗によっては、二次元コードの読み取りには対応していないが、一次元コードの読み取りには対応可能な場合があるためである。
 決済処理部1113は、限定ではなく例として、店舗POSシステム40から送信される情報や、端末20から送信される情報に基づいて、決済処理を行う機能を有している。
 図4-2は、本実施例におけるサーバ10の記憶部15に記憶される情報の一例を示す図である。
 記憶部15には、限定ではなく例として、プログラムとして、制御部11により読み出され、決済管理処理として実行される決済管理処理プログラム151が記憶される。
 また、記憶部15には、限定ではなく例として、データとして、ユーザ登録データ153と、店舗登録データ155と、決済管理データベース157と、コード管理データベース159とが記憶される。
 ユーザ登録データ153は、決済サービスを利用する端末20および端末20のユーザの登録データであり、そのデータ構成の一例を図4-3に示す。
 ユーザ登録データ153には、限定ではなく例として、ユーザ名と、端末電話番号と、端末メールアドレスと、アプリケーションIDと、認証パスワードと、その他登録情報とが関連付けて記憶される。
 ユーザ名は、決済サービスを利用する端末20のユーザの名称であり、端末20のユーザが決済サービスを利用する際に登録する名称が記憶される。
 端末電話番号は、このユーザ名のユーザの端末20の電話番号であり、端末20のユーザが決済アプリケーションを利用する際に登録する端末20の電話番号が記憶される。
 端末メールアドレスは、このユーザ名のユーザの端末20のメールアドレスであり、端末20のユーザが決済アプリケーションを利用する際に登録する端末20のメールアドレスが記憶される。
 端末電話番号や端末メールアドレスは、端末20を識別するための識別情報(以下、「端末識別情報」と称す。)の一例である。
 アプリケーションIDは、決済アプリケーションのアカウント(アカウント情報)であって、端末20、または端末20のユーザを識別可能とするIDである。このアプリケーションIDは、限定ではなく例として、サーバ10によって固有のIDが設定されて記憶される。
 認証パスワードは、このユーザ名のユーザの端末20において、決済用の認証処理(以下、単に「認証処理」と称す。)を行う際にユーザに入力を要求する認証用のパスワードであり、ユーザによって設定されたパスワードが記憶される。
 なお、決済用の認証処理は、必ずしも行わなければならないわけではなく、行わないようにすることも可能である。この場合は、認証パスワードをユーザ登録データ153に記憶させておく必要はない。
 その他登録情報は、このユーザ名のユーザのその他の登録情報であり、限定ではなく例として、決済アプリケーションにおいてユーザが使用するアイコンの画像データであるユーザアイコン画像やユーザのプロフィール等がこれに含まれる。
 店舗登録データ155は、決済アプリケーションを提供する事業者(サーバ10の事業者)と提携している店舗の登録データである。この店舗登録データ155の一例である店舗登録データ155Aのデータ構成例を、図4-4に示す。
 店舗登録データ155Aには、限定ではなく例として、業種と、店舗名と、店舗位置情報と、店舗POSシステム情報と、店舗IDとが店舗情報として関連付けて記憶される。
 業種には、店舗の業種が記憶される。この業種には、限定ではなく例として、「コンビニエンスストア」、「スーパーマーケット」、「薬局」、「居酒屋」、「百貨店」、「レストラン」、「本屋」、「時計店」といった各種の業種が含まれる。
 店舗名には、各業種それぞれについて、その業種に含まれる(属する)店舗の店舗名が記憶される。
 店舗位置情報には、この店舗名の店舗の所在地の位置情報(以下、「店舗位置情報」と称す。)が記憶される。この店舗位置情報は、店舗の所在地を2次元または3次元の位置座標で表したものとしてもよいし、店舗の所在地を経緯度(緯度、経度、場合によっては高度)で表したものとしてもよい。
 店舗POSシステム情報には、この店舗で使用される店舗POSシステム40に関する情報が記憶される。この店舗POSシステム情報には、限定ではなく例として、サーバ10が、店舗コードリーダ装置50や店舗サーバ70と通信を行うために必要な情報が含まれる。
 店舗POSシステム40は、サーバ10と連携して処理を行うため、限定ではなく例として、サーバ10から提供(配布)される決済アプリケーション用のソフトウェアパッケージをあらかじめ取得して店舗コードリーダ装置50や店舗サーバ70に記憶させておき、このソフトウェアパッケージを、店舗での決済処理用のプログラムから呼び出して使用するようにすることができる。アプリケーションプログラミングインターフェース(API)が一例であり、店舗コードリーダ装置50は、例えばAPIを起動して、サーバ10への情報の送信と、サーバ10からの情報の受信とを実現する。
 また、サーバ10は、限定ではなく例として、店舗の業種、店舗名、店舗位置情報、店舗POSシステム情報等の情報を、その店舗の店舗サーバ70から受信して、店舗登録データ155に記憶させておくようにすることができる。
 店舗IDは、この店舗名の店舗を識別するための識別情報として機能するIDである。この店舗IDは、限定ではなく例として、サーバ10によって店舗ごとに固有のIDが設定されて記憶される。
 店舗IDは、店舗識別情報の一例である。
 決済管理データベース157は、各端末20のユーザの決済に関する情報を管理するためのデータを蓄積的に記憶したデータベースであり、その一例である決済管理データベース157Aの構成例を図4-5に示す。
 決済管理データベース157Aには、端末20毎、または端末20のユーザ毎に生成される決済管理データが記憶される。
 各決済管理データには、限定ではなく例として、アプリケーションIDと、残高と、ポイントと、1日上限設定金額と、オートチャージ設定と、決済履歴データとが記憶される。
 アプリケーションIDには、ユーザ登録データ153に記憶されているアプリケーションIDが記憶される。
 残高には、このアプリケーションIDに関連付けられている残高が記憶される。
 ポイントには、決済アプリケーションと関連付けられた各種のサービスや、決済アプリケーションの事業者と提携している加盟店舗で貯めることのできるポイントが記憶される。ポイントは、限定ではなく例として、1ポイントあたり1円相当の価値を有し、ギフト券や商品等に交換することができる他、決済アプリケーションにおいて現金化して決済に利用することもできる。
 1日上限設定金額には、このアプリケーションIDを所有する端末20、または端末20のユーザが決済に使用可能な金額の1日あたりの上限金額が記憶される。
 オートチャージ設定は、残高が残り少ない金額(例えば「500円」)や「0円」となった場合に、電子貨幣を自動的に補充(オートチャージ)するか否かの設定であり、端末20のユーザによってオートチャージの設定がなされた場合は「ON」が記憶され、それ以外の場合は「OFF」が記憶される。オートチャージは、限定ではなく例として、端末20のユーザが登録している銀行口座等から行われるようにすることができる。
 決済履歴データは、このアプリケーションIDのユーザの決済の履歴に関するデータであり、限定ではなく例として、このアプリケーションIDについて、サーバ10によって決済が行われた日時である決済日時と、決済した店舗のIDである店舗IDと、その店舗IDの店舗の名称である決済店舗名と、決済した金額である決済金額とが関連付けて時系列に記憶される。
 なお、上記の決済管理データには、必ずしも上記の全ての情報を記憶させるようにする必要はない。限定ではなく例として、ポイント、1日上限設定金額、オートチャージ設定のうちの一部または全部は、決済管理データに記憶させないようにしてもよい。
 また、決済を行う度に、決済履歴の情報を端末20に送信して端末20に記憶させるようにして、サーバ10には決済履歴データを記憶させないようにしてもよい。
 コード管理データベース159は、コード(本実施例では端末表示用コード)を管理するためのデータベースであり、そのデータ構成の一例を図4-6に示す。
 コード管理データベース159には、限定ではなく例として、決済アプリケーションのアプリケーションIDごとに生成されるコード管理データが記憶される。
 各コード管理データには、アプリケーションIDが記憶されるとともに、限定ではなく例として、コード生成日時と、コードNoと、決済用番号と、コード有効期限とが関連付けて時系列に記憶される。
 コード生成日時には、時計部19によって計時される情報に基づいて、その端末表示用コードを生成した日時が記憶される。
 コードNoには、そのコードを識別するための番号が記憶される。例えば、古い順に通し番号が設定されて記憶される。
 決済用番号には、その端末表示用コードを生成する際に発行した決済用番号が記憶される。
 コード有効期限は、その端末表示用コードを使用した決済を有効とする期限であり、生成した端末表示用コード毎にサーバ10側で管理される期限である。
 例えば、サーバ10が端末表示用コードを生成した日時を「コード生成日時」とし、サーバ10によって設定されるコードの有効時間を「コード有効時間」とする。この場合、限定ではなく例として、「コード生成日時からコード有効時間が経過するまでの期間」が、コード有効期限管理処理部1115によってコード有効期限として設定されて記憶される。
 コード有効期限は、サーバ10によって設定される期限であって、その端末表示用コードを使用して決済を行うことのできる期限とも言える。
 ここで、コード有効時間は適宜設定変更可能であるが、限定ではなく例として、「6時間」、「12時間」、「18時間」、「24時間」といった時間を設定することができる。
 但し、あまりに長い時間をコード有効時間として設定すると、端末20、または端末20のユーザと、端末表示用コードとが関連付けられる(紐づけられる)時間が長くなってしまい、前述したような問題が生じ得る。このため、コード有効時間は、長くても24時間程度にしてもよい。
 コード管理データに記憶される端末表示用コードのデータは、限定ではなく例として、その端末表示用コードを利用して決済処理を行った後、コード管理データから削除するようにすることができる。
 また、限定ではなく例として、その端末表示用コードに関連付けられているコード有効期限が経過した場合にも、コード管理データから削除するようにすることができる。
 なお、上記のように、利用不可となった端末表示用コードのデータをコード管理データから削除するのではなく、限定ではなく例として、端末表示用コードのデータと関連付けて、その端末表示用コードの利用可否を示すフラグ「利用可能/利用不可」を設定する。そして、利用不可となった端末表示用コードについては、フラグを「利用不可」に設定するようにしてもよいし、そのようにしなくてもよい。
 また、上記のうち、例えばコード生成日時は、コード管理データに記憶させないようにしてもよい。
 また、アプリケーションIDに代えて、または、これに加えて、ユーザ登録データ153に記憶されている端末電話番号等の端末識別情報を、コード管理データに記憶させるようにしてもよいし、しなくてもよい。
(2)端末の機能構成
 図4-7は、本実施例において端末20の制御部21により実現される機能の一例を示す図である。
 端末20は、制御部21により実現される機能として、決済アプリケーション処理部211を有する。
 決済アプリケーション処理部211は、記憶部28に記憶されている決済アプリケーションソフトウェア281に基づいて、決済に関する処理を行うための決済アプリケーション処理を実行する機能を有している。
 決済アプリケーション処理部211は、限定ではなく例として、コード表示処理を実行するコード表示処理部2113を機能部として含む。
 本実施例において、決済に関する処理とは、限定ではなく例として、端末表示用コードをサーバ10から取得する処理(端末表示用コードの生成をサーバ10に依頼する処理や、生成された端末表示用コードをサーバ10から受信する処理を含む。)、サーバ10から取得した端末表示用コードをストックする処理、ストックした端末表示用コード画像を表示する処理(コード表示処理)、端末用決済完了通知をサーバ10から取得する処理などの、決済を行う上で何らかの関連のある処理、より具体的には、決済を行う上で関連のある処理として端末20で実行される処理全般を含む概念である。
 図4-8は、本実施例における端末20の記憶部28に記憶される情報の一例を示す図である。
 記憶部28には、限定ではなく例として、サーバ10からあらかじめダウンロードするなどして取得されるアプリケーションソフトウェアとして、決済アプリケーションソフトウェア281が記憶される。
 決済アプリケーションソフトウェア281には、限定ではなく例として、決済アプリケーションプログラム282と、決済アプリケーションデータ283とが含まれる。
 決済アプリケーションデータ283には、決済アプリケーションソフトウェアで用いられる各種のデータが記憶される。この決済アプリケーションデータ283には、限定ではなく例として、端末表示用コードストックデータ2831と、決済用データ2832と、店舗データ2833とが記憶される。
 端末表示用コードストックデータ2831には、オンライン状態においてサーバ10から取得した端末表示用コードがストックされたデータであり、そのデータの一例である第1の端末表示用コードストックデータ2831Aのデータ構成例を図4-9に示す。
 端末表示用コードストックデータ2831には、限定ではなく例として、コード受信日時と、コードNoと、コードデータと、コード有効期限とが関連付けて記憶される。
 コード受信日時には、限定ではなく例として、端末20がその端末表示用コードをサーバ10から受信した日時が記憶される。
 コードNoには、端末20がその端末表示用コードとともにサーバ10から受信したコードNoが記憶される。
 コードデータには、限定ではなく例として、端末20がサーバ10から受信した端末表示用コードのコード画像のデータが記憶される。
 コード有効期限には、限定ではなく例として、端末20が端末表示用コードとともにサーバ10から受信した、その端末表示用コードに関連付けて設定されているコード有効期限が記憶される。
 第1の端末表示用コードストックデータ2831Aに記憶される端末表示用コードのデータは、限定ではなく例として、その端末表示用コードを利用してサーバ10によって決済処理が行われ、サーバ10から端末用決済完了通知を受信した後(オフライン決済を行った場合は、オンライン状態に復帰してサーバ10から端末用決済完了通知を受信した後)、第1の端末表示用コードストックデータ2831Aから削除するようにすることができる。
 また、限定ではなく例として、その端末表示用コードに関連付けられているコード有効期限が経過した場合にも、第1の端末表示用コードストックデータ2831Aから削除するようにすることができる。
 なお、上記のように、利用不可となった端末表示用コードのデータを第1の端末表示用コードストックデータ2831Aから削除するのではなく、限定ではなく例として、端末表示用コードのデータと関連付けて、その端末表示用コードの利用可否を示すフラグ「利用可能/利用不可」を設定する。そして、利用不可となった端末表示用コードについては、フラグを「利用不可」に設定するようにしてもよいし、そのようにしなくてもよい。
 また、上記のうち、例えばコード受信日時やコード有効期限は、第1の端末表示用コードストックデータ2831Aに記憶させないようにしてもよい。
 また、本実施例では、端末表示用コードに関連付けられたコード有効期限がサーバ10から端末20に送信されることとするが、これとは異なり、端末表示用コードに関連付けられたコード有効期限がサーバ10から端末20に送信されないようにすることもできる。
 この場合、第1の端末表示用コードストックデータ2831Aには、コード有効期限を記憶させず、限定ではなく例として、コード受信日時と、コードNoと、コードデータとを関連付けて記憶させるようにすることができる。これについては、変形例でも後述する。
 また、コード受信日時に代えて、または、これに加えて、限定ではなく例として、サーバ10から受信した端末表示用コードを第1の端末表示用コードストックデータ2831Aに記憶させた日時(以下、「コード記憶日時」と称する。)を記憶させるようにしてもよいし、そのようにしなくてもよい。
 また、詳細は後述するが、コードデータには、必ずしも端末表示用コードのコード画像のデータを記憶させなければならないわけではなく、これに代えて、または、これに加えて、端末表示用コードの元情報(本実施例では決済用番号)を記憶させるようにしてもよいし、そのようにしなくてもよい。
 決済用データ2832は、端末20で記憶される決済用のデータであり、その一例である決済用データ2832Aの構成を図4-10に示す。
 決済用データ2832Aには、限定ではなく例として、アプリケーションIDと、ポイントと、残高と、1日上限設定金額と、オートチャージ設定と、決済履歴データとが記憶される。
 制御部21は、オンライン状態に復帰した後にサーバ10から受信した端末用決済完了通知に基づき、限定ではなく例として、サーバ10によって決済された日時である決済日時と、サーバ10によって決済された店舗のIDである店舗IDと、その店舗IDの店舗の名称である決済店舗名と、サーバ10によって決済された金額である決済金額とを関連付けて決済履歴データに時系列に記憶させる。
 店舗データ2833には、限定でなく例として、サーバ10の店舗登録データ155Aに記憶されている各種の店舗情報が記憶される。
 店舗データ2833は、限定ではなく例として、決済アプリケーションソフトウェア281のアップデートのタイミングで、サーバ10から最新の店舗情報が端末20に配信されて更新されるようにすることができる。
 また、記憶部28には、限定ではなく例として、端末データ289が記憶される。
 端末データ289は、この端末20に関するデータであり、限定ではなく例として、端末電話番号や端末メールアドレス等の端末識別情報や、端末20側での各種の設定情報等がこれに含まれる。
<表示画面例>
 図4-11は、本実施例において端末20の表示部24に表示される決済アプリケーションのトップ画面の一例を示す図である。
 このトップ画面の構成は、図3-2と同様であり、ここでは、端末20のユーザによって「コードアイコン」がタッチされた状態が示されている。
 図4-12は、本実施例において端末20の表示部24に表示されるコード表示画面の一例を示す図である。このコード表示画面は、限定ではなく例として、オフライン状態において、図4-11のように「コードアイコン」がタッチされることで表示される。
 このコード表示画面では、端末20の記憶部28にストックされている端末表示用コードを読み出され、そのコード画像として、バーコードで表される一次元の第1の端末表示用コード画像と、QRコードで表される二次元の第1の端末表示用コード画像QC1とが、表示画面内の異なる領域にそれぞれ表示されている。また、一次元の第1の端末表示用コード画像の下には、12桁で表される決済用番号が表示されている。
 オフライン決済を行う場合、端末20のユーザは、上記のコード表示画面をコードレジ60で店舗の店員に提示し、端末表示用コード画像を店舗コードリーダ装置50で読み取ってもらうことで決済を行う。この場合、店舗コードリーダ装置50は、限定ではなく例として、読み取った端末表示用コード画像からデコードによって取得した情報(この例では決済用番号)や、端末表示用コード画像を読み取った時刻の情報を含む決済要求情報をサーバ10に送信して、サーバ10に決済を行わせる。詳細は後述する。
 図4-13は、オフライン状態からオンライン状態に復帰した後、サーバ10から受信した端末用決済完了通知に基づいて表示部24に表示される決済結果画面の一例を示す図である。
 この決済結果画面では、図4-12のコード表示画面の画面中央部に「決済完了」の文字とともに「「決済履歴」から詳細が確認できます。」というメッセージと、決済履歴を確認するための「確認アイコン」とがポップアップ形式で表示されている。
 上記の表示画面例では、端末20のユーザが、オンライン状態/オフライン状態のいずれであるかを意識することなく、例えばコードアイコンをタッチすることでコード表示画面を表示させることができるため、ユーザの利便性を向上させることができる。
<処理>
 図4-14は、本実施例における各装置が実行する処理の流れの一例を示すフローチャートである。左側から順に、端末20の制御部21が実行する決済アプリケーション処理の一例である第1の決済アプリケーション処理、店舗コードリーダ装置50の制御部51が実行する店舗決済処理の一例である第1の店舗決済処理、サーバ10の制御部11が実行する決済管理処理の一例である第1の決済管理処理をそれぞれ示している。
 図4-14のフローチャートは、図3-4のフローチャートを一部書き換えたものである。図3-4のフローチャートとは、限定ではなく例として、A330~A350、B350、B360、C320、C330、C370等のステップが異なる。
 この処理では、一例として、端末20、または端末20のユーザを識別するための識別情報を、前述したアプリケーションIDとして説明する。
 C110の後、サーバ10の制御部11は、端末表示用コード生成処理を行う(C320)。具体的には、限定ではなく例として、所定の桁数(例えば10桁~12桁程度の桁数)のランダムな数字を発生させる手法(アルゴリズム)を用いて、所定の桁数のランダムな数字を決済用番号として発生させる。そして、限定ではなく例として、少なくとも決済用番号を元情報として含む端末表示用コード画像を生成する。より具体的には、少なくとも決済用番号をエンコード(符号化)し、図形化(画像化)して、二次元コード(例えばQRコード)の画像で表される端末表示用コード画像を生成する。
 そして、コード管理データベース159のうち、受信されたコード生成依頼情報に含まれるアプリケーションIDのコード管理データに、時計部19の計時情報に基づくコード生成日時と、設定したコードNoと、発生させた決済用番号と、生成した端末表示用コードについて設定したコード有効期限とを関連付けて記憶させる。
 次いで、制御部11は、限定ではなく例として、コードNoとともに、生成した端末表示用コード(この例ではコード画像)と、その端末表示用コードについて設定したコード有効期限とを、通信I/F14によって端末20に送信する(C330)。
 通信I/F22によってサーバ10から端末表示用コード(この例では端末表示用コード画像)と、コード有効期限とを受信すると(A330)、端末20の制御部21は、受信された端末表示用コード(この例では端末表示用コード画像)をストックする(A340)。具体的には、受信された端末表示用コードのコードデータと、受信されたコード有効期限とを、限定ではなく例として、コード受信日時と関連付けて、第1の端末表示用コードストックデータ2831Aに記憶させる。
 オフライン状態において、限定ではなく例として、端末20のユーザによってコード表示操作がなされると、コード表示処理部2113が、コード表示処理を行う(A350)。具体的には、限定ではなく例として、第1の端末表示用コードストックデータ2831Aに記憶されている端末表示用コードのコードデータを読み出して、端末表示用コード画像を含むコード表示画面を表示部24に表示させる。
 その後、表示部24に表示された端末表示用コード画像が端末20のユーザによって店舗の店員等に提示されると、制御部51は、端末20の表示部24に表示された端末表示用コード画像を、コードリーダ58に読み取らせる制御を行う(B350)。
 その後、制御部51は、前述したアプリケーションインターフェイス(API)等を用いて通信I/F54によってサーバ10にアクセスし、少なくとも、読み取った端末表示用コード画像からデコードによって取得した決済用番号と、店舗識別情報と、決済予定金額と、端末表示用コード画像を読み取った時刻(以下、「コード読み取り時刻」と称する。)とを含む決済要求情報を、通信I/F54によってサーバ10に送信する(B360)。
 店舗コードリーダ装置50から通信I/F14によって決済要求情報を受信すると(C160)、制御部11は、決済処理を行う(C370)。
 具体的には、受信された決済要求情報に含まれる決済用番号が、アプリケーションIDと関連付けてコード管理データベース159に記憶されているか否かを判定する。そして、記憶されていると判定した場合、受信された決済要求情報に含まれるコード読み取り時刻が、そのアプリケーションIDのコード管理データにおける、その決済用番号と関連付けて記憶されているコード有効期限内であるか否かを判定する。そして、この条件を満たす場合は「決済可能」と判定し、決済管理データベース157Aのうち、そのアプリケーションIDの決済管理データに記憶されている残高から決済予定金額を減算して決済する。
 なお、端末20でストックされる端末表示用コードは、オフライン決済のみならず、オンライン決済にも使用可能とすることができる。つまり、端末20側でオフライン状態であるか否かを判定(検出)することは必須ではなく、オンライン状態/オフライン状態を問わず、端末20でストックされる端末表示用コードを用いて決済を行うようにすることが可能である。
<コード>
 上記の処理では、端末20が、端末表示用コード画像の生成をサーバ10に依頼することとし、サーバ10によって生成された端末表示用コード画像が、端末20に送信される例を示したが、これに限定されない。例えば、端末20が、元情報(この例では決済用番号)の生成をサーバ10に依頼することとし、サーバ10によって生成された元情報が、端末20に送信されるようにしてもよいし、そのようにしなくてもよい。
 具体的には、図3-1の処理では、A110において、制御部21は、元情報の生成をサーバ10に依頼するコード生成依頼情報を送信する。そして、このコード生成依頼情報に基づき、C120において、制御部11は元情報を生成し、C130において、生成した元情報を端末20に送信する。
 A130において元情報をサーバ10から受信すると、制御部21は、受信された元情報に基づいて端末表示用コード画像を生成する。そして、制御部21は、生成した端末表示用コード画像を表示部24に表示させる。
 同様に、図3-4の処理では、A130において元情報をサーバ10から受信すると、A240において、制御部21は、受信された元情報を端末表示用コードストックデータ2831に記憶させる。そして、制御部21は、ストックされている元情報を端末表示用コードストックデータ2831から読み出し、読み出した元情報に基づいて端末表示用コード画像を生成する。そして、A250において、制御部21は、生成した端末表示用コード画像を表示部24に表示させる。
 同様に、図4-14の処理では、A330において元情報とコード有効期限とをサーバ10から受信すると、A340において、制御部21は、受信された元情報と、コード有効期限とを、第1の端末表示用コードストックデータ2831Aに記憶させる。そして、制御部21は、オフライン状態において、端末20のユーザによってコードを表示させる操作がなされた場合、ストックされている元情報を第1の端末表示用コードストックデータ2831から読み出し、読み出した元情報に基づいて、端末表示用コード画像を生成する。そして、A350において、制御部21は、生成した端末表示用コード画像を含むコード表示画面を表示部24に表示させる。
 また、上記とは異なり、端末20が、端末表示用コード画像の生成をサーバ10に依頼し、サーバ10によって生成された端末表示用コード画像が端末20に送信されるが、端末20側では、サーバ10から受信した端末表示用コード画像をストックするのではなく、サーバ10から受信した端末表示用コード画像からデコードによって取得した元情報をストックするようにしてもよいし、そのようにしなくてもよい。
<第1実施例の効果>
 第1実施例によれば、端末が、サーバによって有効期限が関連付けられたコード情報をサーバから受信し、受信されたコード情報を記憶部に記憶する。そして、記憶されたコード情報に基づいて決済に関する処理を実行することで、オフライン決済を実現することができる。
 具体的には、第1実施例は、端末20が、サーバ10によってコード有効期限(限定ではなく、第1有効期限の一例)が関連付けられた端末表示用コード画像や決済用番号(限定ではなく、第1コード情報の一例)を、サーバ10から通信I/F22を介して受信する。そして、端末20は、受信された端末表示用コード画像や決済用番号を、制御部21によって記憶部28に記憶する。
 また、端末20は、記憶された端末表示用コード画像や決済用番号に基づいて、端末表示用コード画像を表示部24に表示させるコード表示処理(限定ではなく、決済に関する処理の一例)を制御部21によって実行する。
 そして、決済は、コード表示処理で表示された端末表示用コード画像が店舗コードリーダ装置50によって読み取られたコード読み取り時刻(限定ではなく、決済に関する処理に基づく時刻の一例)と、コード有効期限とに基づいてサーバ10によって実行される構成を示している。
 このような構成により得られる効果の一例として、端末の通信環境や通信状況が悪い場合や不安定な場合であっても、決済に関する処理に基づく時刻と、第1有効期限とに基づいて、サーバによって決済が適切に行わせるようにすることができる。また、例えば、第1コード情報と関連付けられた第1有効期限内でなければ決済が行われないようにすることができるため、端末で記憶されたコード情報がハッカー等によって盗まれたり、端末で記憶されたコード情報に対応するコード画像が端末で表示された際に、そのコード画像が他のユーザの端末のカメラ等によって撮影されるなどして、不正に決済に利用されることを防止できる。
 また、第1実施例は、端末20が、メモリに記憶された決済アプリケーションプログラム282(限定ではなく、プログラムの一例)を読み出し、決済アプリケーションプログラム282に基づく決済アプリケーション処理を実行するプロセッサーを備える。
 プロセッサーは、サーバ10によってコード有効期限(限定ではなく、第1有効期限の一例)が関連付けられた端末表示用コード画像や決済用番号(限定ではなく、第1コード情報の一例)を、サーバ10から受信する処理と、受信された端末表示用コード画像や決済用番号をメモリに記憶する処理と、記憶された端末表示用コード画像や決済用番号に基づくコード表示処理(限定ではなく、決済に関する処理の一例)とを実行する。
 そして、決済は、コード表示処理で表示された端末表示用コード画像が店舗コードリーダ装置50によって読み取られたコード読み取り時刻(限定ではなく、決済に関する処理に基づく時刻の一例)と、コード有効期限とに基づいてサーバ10によって実行される構成を示している。
 このような構成によっても、上記と同様の効果を得ることができる。
 また、第1実施例は、端末20が、端末表示用コードと、そのコード有効期限(限定ではなく、第1有効期限に関する情報の一例)とを、サーバ10から通信I/F22によって受信する。そして、受信されたコード有効期限を、制御部21によって端末表示用コードに関連付けて端末表示用コードストックデータ2831に記憶させる構成を示している。
 このような構成により得られる効果の一例として、サーバによって第1コード情報に関連付けられた第1有効期限を、端末側で把握することが可能となる。
 また、第1実施例は、サーバ10が、端末表示用コード画像や決済用番号(限定ではなく、第1コード情報の一例)と、コード有効期限(限定ではなく、第1有効期限の一例)とを関連付けてコード管理データに記憶する。
 サーバ10は、コード表示処理を行う端末20に、端末表示用コード画像や決済用番号を通信I/F14によって送信し、決済用番号と、コード表示処理で表示された端末表示用コード画像が店舗コードリーダ装置50によって読み取られたコード読み取り時刻(限定ではなく、決済に関する処理に基づく時刻の一例)とを通信I/F14によって受信する。
 そして、サーバ10は、受信された決済用番号に関連付けられたコード有効期限と、受信されたコード読み取り時刻とに基づいて、決済処理を制御部11によって行う構成を示している。
 このような構成により得られる効果の一例として、サーバは、端末の通信状況や通信環境が悪い場合であっても、受信された第1コード情報に関連付けられた第1コード情報と、端末で実行された決済に関する処理に基づく時刻とに基づいて、適切に決済を行うことができる。
 また、第1実施例は、サーバ10が、メモリに記憶された決済管理処理プログラム151(限定ではなく、プログラムの一例)を読み出し、決済管理処理プログラム151に基づく決済管理処理を実行するプロセッサーを備える。
 プロセッサーは、端末表示用コード画像や決済用番号(限定ではなく、第1コード情報の一例)と、コード有効期限(限定ではなく、第1有効期限の一例)とを関連付けてコード管理データに記憶する処理と、コード表示処理を行う端末20に、端末表示用コード画像や決済用番号を送信し、決済用番号と、コード表示処理で表示された端末表示用コード画像が店舗コードリーダ装置50によって読み取られたコード読み取り時刻(限定ではなく、決済に関する処理に基づく時刻の一例)とを受信する処理と、受信された決済用番号に関連付けられたコード有効期限と、受信されたコード読み取り時刻とに基づく決済処理とを実行する構成を示している。
 このような構成によっても、上記と同様の効果を得ることができる。
<第1変形例(1)>
 第1実施例では、コードが表示されてからコード表示時間が経過するまでの期間を「コード表示期限」と定義したが、これに限定されない。
 限定ではなく例として、コードが表示されてからコード表示時間が経過するまでの期間が終了する時刻や日時を「コード表示期限」と定義してもよい。
 同様に、第1実施例では、コード生成日時からコード有効時間が経過するまでの期間を「コード有効期限」と定義したが、これに限定されない。
 限定ではなく例として、コードが表示されてからコード表示時間が経過するまでの期間が終了する時刻や日時を「コード有効期限」と定義してもよい。
 また、コード生成日時をコード有効期限が開始する日時とするのではなく、限定ではなく例として、サーバ10が端末表示用コードを端末20に送信した日時(以下、「コード送信日時」と称する。)をコード有効期限が開始する日時としてもよいし、そのようにしなくてもよい。つまり、「コード送信日時からコード有効時間が経過するまでの期間」をコード有効期限としてもよいし、そのようにしなくてもよい。この場合、サーバ10は、端末表示用コードを端末20に送信した後、コード有効期限をコード管理データに記憶させるようにすればよい。
<第1変形例(2)>
 第1実施例では、サーバ10から、端末表示用コード(限定ではなく、コード情報の一例)と、コード有効期限(限定ではなく、有効期限に関する情報の一例)とが送信され、これを端末20で受信することとしたが、これに限定されない。
 具体的には、限定ではなく例として、端末20の決済アプリケーションデータ283に、あらかじめコード有効時間を記憶させておく。そして、限定ではなく例として、コード生成日時(限定ではなく、有効期限に関する情報の一例)がサーバ10から送信されるようにし、端末20が、サーバ10からコード生成日時を受信するようにしてもよいし、そのようにしなくてもよい。この場合、端末20は、受信されたコード生成日時と、決済アプリケーションデータ283に記憶されているコード有効時間とに基づいて、コード有効期限を特定することができる。
 また、上記のように、コード送信日時をコード有効期限が開始する日時となるようにすることもできるが、この場合も同様である。つまり、コード有効期限が開始する日時が、有効期限に関する情報としてサーバ10から端末20に送信されるようにする。そして、端末20が、コード有効時間と、受信されたコード有効期限が開始する日時とに基づいて、コード有効期限を特定するようにすることもできる。
 また、この他にも、限定ではなく例として、コード有効期限が終了する日時が、有効期限に関する情報としてサーバ10から端末20に送信されるようにする。そして、端末20が、コード有効時間と、受信されたコード有効期限が終了する日時とに基づいて、コード有効期限を特定するようにすることもできる。
<第1変形例(3)>
 第1実施例では、端末表示用コードに関連付けられたコード有効期限がサーバ10から端末20に送信されることとしたが、これに限定されない。
 具体的には、限定ではなく例として、端末表示用コードに関連付けられたコード有効期限はサーバ10から端末20に送信されないようにし、端末20側では、サーバ10で設定されたコード有効期限が分からないようにしてもよい。この場合、端末表示用コードストックデータ2831(第1の端末表示用コードストックデータ2831Aや第2の端末表示用コードストックデータ2831B)には、コード有効期限を記憶させず、限定ではなく例として、コード受信日時と、コードNoと、コードデータとを関連付けて記憶させるようにすることができる。
 また、この場合、端末20側で、仮のコード有効期限(以下、「仮コード有効期限」と称する。)を設定するようにしてもよいし、そのようにしなくてもよい。具体的には、限定ではなく例として、「コード受信日時(またはコード記憶日時)からコード有効時間が経過するまでの期間」を仮コード有効期限として設定するようにしてもよいし、そのようにしなくてもよい。また、この場合、端末20が、設定した仮コード有効期限を用いて、各実施例や各変形例で説明する処理を実行するようにしてもよいし、そのようにしなくてもよい。
<第1変形例(4)>
 端末20の記憶部28の端末表示用コードストックデータ2831には、オンライン状態においてサーバ10から取得した1つのコードを記憶させることとしてもよいが、オンライン状態においてサーバ10から取得した複数(2以上)のコードを記憶させることとしてもよい。
 図4-15は、この場合における第2の端末表示用コードストックデータ2831Bの一例を示す図である。
 第2の端末表示用コードストックデータ2831Bには、複数の端末表示用コードのデータが記憶される。具体的には、限定ではなく例として、コード受信日時と、コードNoと、コードデータと、コード有効期限とが関連付けて、時系列に記憶される。
 この場合、端末20の制御部21は、コード表示処理において、限定ではなく例として、第2の端末表示用コードストックデータ2831Bに記憶されている端末表示用コードのうち、最も古い端末表示用コードのコードデータを読み出して、その端末表示用コード画像を含むコード表示画面を表示部24に表示させるようにすることができる。
 このようにすることで、複数のコードを端末20でストックしておくことができるため、オフライン決済を複数回行う必要が生じた場合であっても、すぐに決済を行わせることが可能となり、ユーザの利便性を向上させることができる。
<第1変形例(5)>
 第1実施例では、本開示における「コード情報」を、決済用番号や、決済用番号を含む端末表示用コード画像としたが、これに限定されない。例えば、認証情報の一種であるトークンや、トークンを含む端末表示用コード画像を、本開示における「コード情報」とすることもできる。
 この場合、決済用番号を端末表示用コード画像に含めるのではなく、限定ではなく例として、ランダムなトークンを発生させる手法(アルゴリズム)を用いて発行したトークンを端末表示用コード画像に含めるようにしてもよいし、そのようにしなくてもよい。この場合は、サーバ10側で、端末20、または端末20のユーザを識別するための識別情報と、発行したトークンとを関連付けて記憶部15のコード管理データベース159のコード管理データに記憶させておくようにすればよい。
 「トークン」は、限定ではなく例として、サーバ10が、端末20、または端末20のユーザが、正規の端末20、または正規の端末20のユーザであることを認証するための認証情報の一種である。「認証情報」は、認証局が発行する情報であり、上記のトークンは、サーバ10が認証局となって、端末20、または端末20のユーザを認証するために発行する認証情報として機能する。
 なお、トークンは、例えば、「ランダムトークン」、「アクセストークン」、「決済用トークン」などのように表現することもできる。トークンは、上記のようにランダムに発行されるため、端末表示用コードが生成される毎に異なるトークンとなる。このため、トークンは、いわばワンタイムパスワードとして機能する。
 また、決済用番号やトークンの他に、端末表示用コード画像を読み取った店舗コードリーダ装置50が、サーバ10が提供するウェブサイトやウェブページにアクセスするためのアクセス情報の一例として、サーバ10が提供するウェブページの一種である決済用ページにアクセスするためのURL(Uniform Resource Locator)等の情報を含めるようにしてもよいし、そのようにしなくてもよい。
<第1変形例(6)>
 コード表示画面において、端末表示用コード画像が表示される領域とは異なる領域に、コード表示期限の情報や、コード有効期限の情報を表示させるようにしてもよいし、そのようにしなくてもよい。
 コード表示期限の情報には、限定ではなく例として、「コード表示期限」、「コード表示期限の残り時間」、「コード表示期限が終了する時刻や日時」、「コード表示時間」等の情報が含まれる。
 なお、これらのコード表示期限の情報は、コード表示期限に関する情報と言ってもよい。
 また、コード有効期限の情報には、限定ではなく例として、「コード有効期限」、「コード有効期限の残り時間」、「コード有効期限が終了する時刻や日時」、「コード有効時間」等の情報が含まれる。
 なお、これらのコード有効期限の情報は、コード有効期限に関する情報と言ってもよい。
 図4-16は、本変形例におけるコード表示画面の一例を示す図である。
 このコード表示画面では、限定ではなく例として、二次元の第1の端末表示用コード画像QC1の下に、コード表示期限の残り時間が表示されている。
 コード表示期限の残り時間は、限定ではなく例として、コード表示画面が表示されたタイミング(表示が開始されたタイミング)を基準として、時計部29Aの計時時刻とに基づいて表示・更新される。
 なお、この表示例では、ユーザが分かり易いように、図3-3と同じ態様でコード表示期限の残り時間を表示しているが、これとは異なり、図3-3とは異なる態様でコード表示期限の残り時間を表示してもよいし、そのようにしなくてもよい。
 図4-17は、本変形例におけるコード表示画面の一例を示す図である。
 このコード表示画面では、限定ではなく例として、二次元の第1の端末表示用コード画像QC1の上に、砂時計のマーク(画像)とともに、第1の端末表示用コード画像に関連付けられた第1のコード有効期限の残り時間が表示されている。
 第1のコード有効期限の残り時間は、限定ではなく例として、端末表示用コードストックデータ2831に記憶されている端末表示用コードのうち、この端末表示用コードに関連付けて記憶されているコード有効期限と、時計部29Aの計時時刻とに基づいて表示・更新される。
 図4-18は、本変形例におけるコード表示画面の一例を示す図である。
 このコード表示画面は、図4-16のコード表示画面と、図4-17のコード表示画面とを組み合わせたコード表示画面である。
 具体的には、限定ではなく例として、第1の端末表示用コード画像QC1の上下に、それぞれ第1のコード有効期限の残り時間と、第1のコード表示期限の残り時間とが表示されている。
 図4-19は、本変形例におけるコード表示画面の一例を示す図である。
 このコード表示画面は、図4-18とほぼ同様であるが、コード有効期限の情報の表示が異なっている。
 具体的には、コード有効期限の情報として、第1の端末表示用コードが、コード有効期限が開始する時刻からコード有効時間が経過するまで有効であることを示す表示として、限定ではなく例として、「2019/06/10 9:00から12時間有効」の文字が表示されている。
 図4-16~図4-19のコード表示画面は、オフライン状態において表示されるコード表示画面とすることもできるし、オンライン状態において表示されるコード表示画面とすることもできる。
 なお、コード有効期限の情報を表示させるのに代えて、限定ではなく例として、前述した仮コード有効期限の情報を表示させるようにしてもよいし、そのようにしなくてもよい。
<第1変形例(6)の効果>
 本変形例は、端末20が、コード有効期限やコード有効期限の残り時間等の情報(限定ではなく、第1有効期限の情報の一例)をコード表示画面内の領域(限定ではなく、端末の表示領域の一例)に表示する構成を示している。
 このような構成により得られる効果の一例として、第1有効期限の情報を端末のユーザに報知することができる。
 また、本変形例は、端末20が、コード有効期限やコード有効期限の残り時間等の情報(限定ではなく、第1有効期限の情報の一例)と、端末20でストックされた端末表示用コード画像や決済用番号(限定ではなく、第1コード情報の一例)とをコード表示画面内の領域(限定ではなく、端末の表示領域の一例)に表示する構成を示している。
 このような構成により得られる効果の一例として、第1有効期限の情報と、第1コード情報とを端末のユーザに報知することができ、ユーザの利便性を向上させることができる。
 また、本変形例は、端末20が、オフライン状態において、コード有効期限やコード有効期限の残り時間等の情報(限定ではなく、第1有効期限の情報の一例)をコード表示画面内の領域(限定ではなく、端末の表示領域の一例)に表示する構成を示している。
 このような構成により得られる効果の一例として、第1有効期限の情報を、端末の通信の状態に基づいて、端末の表示領域に表示することができる。例えば、端末の通信環境や通信状況が悪い場合や不安定な場合であっても、第1有効期限の情報を端末の表示領域に表示することができるため、ユーザの利便性を向上させることができる。
 また、本変形例は、端末20が、端末20でストックされた端末表示用コード画像や決済用番号(限定ではなく、第1コード情報の一例)と、コード表示期限やコード表示期限の残り時間等の情報(限定ではなく、第1有効期限とは異なる、第1コード情報が利用できる期限の一例)とをコード表示画面内の領域に表示する構成を示している。
 このような構成により得られる効果の一例として、第1コード情報と、第1有効期限とは異なる、第1コード情報が利用できる期限とを端末のユーザに報知することができる。
<第1変形例(7)>
 第1実施例で説明した決済アプリケーションの表示画面は、あくまでも一例に過ぎず、適宜設計変更可能である。
 図4-20は、本変形例において端末20の表示部24に表示される決済アプリケーションのトップ画面の一例を示す図である。
 このトップ画面には、前述した「コードアイコン」とは別に、「コード(オフライン)」と示された「コード(オフライン)アイコン」が表示されている。
 本変形例において、「コードアイコン」は、オンライン状態においてコード表示画面を表示させるためのアイコンであり、「コード(オフライン)アイコン」は、オフライン状態においてコード表示画面を表示させるためのアイコンである。
 図4-21は、本変形例において端末20の表示部24に表示されるコード表示画面の一例を示す図である。このコード表示画面は、上記のトップ画面においてコード(オフライン)アイコンがタッチされることで表示される。
 このコード表示画面は、画面上部に「コード(オフライン)」と表示され、その下に、図4-10のコード表示画面と同様の情報が表示されている。
 この表示画面例では、端末20が、オフライン状態であることを検出した場合に、ユーザ操作に従って、ストックされている端末表示用コードをコード表示画面に表示させる。そして、この端末表示用コードを用いてオフライン決済を行わせることができる。
<第1変形例(8)>
 図3-4の処理のA130において、端末20がサーバ10から端末表示用コードを受信したタイミングで、A240およびA250の処理を行って、端末表示用コードを表示部24に表示させるようにしてもよいし、そのようにしなくてもよい。
 また、図4-14の処理のA330において、端末20がサーバ10から端末表示用コードと、コード有効期限とを受信したタイミングで、A340およびA350の処理を行って、端末表示用コードを表示部24に表示させるようにしてもよいし、そのようにしなくてもよい。
 この場合、限定ではなく例として、決済アプリケーションのトップ画面(例えば図3-2)においてコードアイコンがタッチされた場合、端末表示用コードのコード表示画面に表示が切り替わるようにすることができる。
<第1変形例(9)>
 第1実施例では、「決済に関する処理に基づく時刻」をコード読み取り時刻とする場合を例に挙げて説明したが、これに限定されない。
 まず、コード読み取り時刻ではなく、日付の情報も含めたコード読み取り日時を「決済に関する処理に基づく時刻」としてもよいし、そのようにしなくてもよい。
 また、端末20でストックされた端末表示用コードが端末20で表示された時刻(以下、「コード表示時刻」と称する。)や日時(以下、「コード表示日時」と称する。)を「決済に関する処理に基づく時刻」としてもよいし、そのようにしなくてもよい。
 ただし、オンライン状態ではサーバ10は端末20と通信しており、端末20で端末表示用コードが表示されたことを認識可能であるため、サーバ10は、時計部19の計時情報に基づいて、コード表示時刻やコード表示日時を特定することができる。
 しかしながら、オフライン状態では、サーバ10は端末20と通信できないため、サーバ10は、端末20で端末表示用コードが表示されたか否かが分からず、コード表示時刻やコード表示日時を特定することができない。
 そこで、限定ではなく例として、以下の処理を行うようにする。
 図4-22は、本変形例における各装置が実行する処理の流れの一例を示すフローチャートである。左側から順に、端末20の制御部21が実行する決済アプリケーション処理の一例である第2の決済アプリケーション処理、店舗コードリーダ装置50の制御部51が実行する店舗決済処理の一例である第2の店舗決済処理、サーバ10の制御部11が実行する決済管理処理の一例である第2の決済管理処理をそれぞれ示している。
 図4-22のフローチャートは、図3-4のフローチャートを一部書き換えたものである。図3-4のフローチャートとは、限定ではなく例として、オフライン状態での処理ステップ(例えば、A450、B450、B460、C470)が異なる。
 この処理では、一例として、端末20、または端末20のユーザを識別するための識別情報を、前述したアプリケーションIDとして説明する。
 A240の後、オフライン状態において、限定ではなく例として、端末20のユーザによってコード表示操作がなされると、制御部21が、拡張端末表示用コード生成処理を行うとともに、コード表示処理部2113が、コード表示処理を行う(A450)。
 ここで、A240でストックされた端末表示用コードに基づき端末20側で処理(加工・生成、表示等の処理を含む。)される決済用のコードを「拡張端末表示用コード」と称し、この拡張端末表示用コードのコード画像を「拡張端末表示用コード画像」と称する。
 拡張端末表示用コードは、端末表示用コードと同様に、決済種別「端末コード表示」での決済に使用されるコードであるが、オンライン決済に限らず、オフライン決済にも使用可能なコードである。
 なお、拡張端末表示用コードは、オフライン決済のみならず、オンライン決済にも使用可能とすることができる。つまり、端末20側でオフライン状態であるか否かを判定(検出)することは必須ではなく、オンライン状態/オフライン状態を問わず、拡張端末表示用コードを用いて決済を行うようにすることが可能である。
 拡張端末表示用コード生成処理では、限定ではなく例として、拡張端末表示用コード画像を生成する。具体的には、端末表示用コードストックデータ2831にストックされている端末表示用コード画像からデコードによって取得した決済用番号、または端末表示用コードストックデータ2831にストックされている決済用番号と、制御部21が生成したタイムスタンプ情報とをエンコード(符号化)し、図形化(画像化)して、拡張端末表示用コード画像を生成する。
 ここで、タイムスタンプ情報とは、特定の事象(特定のイベント)が発生した日時、日付、時刻などを示す情報であるとともに、そのタイムスタンプ情報に関連付けられた情報やデータ(ここでは拡張端末表示用コード)が、ある時刻に確実に存在していたことを証明するための電子的な時刻証明書として機能するものである。
 この例では、「拡張端末表示用コード画像が端末20の表示部24に表示されること」を特定の事象とし、端末20の制御部21は、拡張端末表示用コード画像が表示された(表示が開始された)時刻であるコード表示時刻を含むタイムスタンプ情報を生成する。コード表示時刻やタイムスタンプ情報は、「時刻情報」の一例であり、端末20の時計部29Aによって計時される情報に基づき生成される。
 なお、店舗によっては、二次元コードの読み取りには対応していないが、一次元コードの読み取りには対応可能な場合がある。そこで、二次元コード(限定ではなく例としてQRコード)に加えて、一次元コード(限定ではなく例としてバーコード)で表される拡張端末表示用コード画像を生成するようにしてもよいし、そのようにしなくてもよい。
 また、コード表示時刻に代えて、時刻に加えて日付の情報も含む「コード表示日時」を含むタイムスタンプ情報を生成するようにしてもよいし、そのようにしなくてもよい。
 また、第三者が元情報を解読することができないようにするために、決済用番号やタイムスタンプ情報を暗号化した情報をエンコードするようにしてもよいし、そのようにしなくてもよい。
 また、タイムスタンプ情報をエンコードするのではなく、コード表示時刻やコード表示日時そのものをエンコードするようにしてもよいし、そのようにしなくてもよい。
 コード表示処理では、限定ではなく例として、少なくとも、拡張端末表示用コード画像を含むコード表示画面を表示部24に表示させる。
 なお、上記のように、拡張端末表示用コード生成処理において二次元の拡張端末表示用コード画像を生成した場合は、限定ではなく例として、二次元の拡張端末表示用コード画像を表示させるようにすることができる。
 また、拡張端末表示用コード生成処理において、一次元の拡張端末表示用コード画像も生成した場合は、限定ではなく例として、二次元の拡張端末表示用コード画像の他に、一次元の拡張端末表示用コード画像を表示させるようにすることができる。この場合、一次元の拡張端末表示用コード画像の近傍に、決済用番号を併せて表示させてもよいし、そのようにしなくてもよい。
 その後、表示部24に表示された拡張端末表示用コード画像が端末20のユーザによって店舗の店員等に提示されると、制御部51は、端末20の表示部24に表示された拡張端末表示用コード画像を、コードリーダ58に読み取らせる制御を行う(B450)。
 制御部51は、通信I/F54によってサーバ10にアクセスする。そして、制御部51は、少なくとも、デコードによって取得した決済用番号およびタイムスタンプ情報と、店舗識別情報と、決済予定金額とを含む決済要求情報を、通信I/F54によってサーバ10に送信する(B460)。
 店舗コードリーダ装置50から通信I/F14によって決済要求情報を受信すると(C160)、制御部11は、決済処理を行う(C470)。
 具体的には、受信された決済要求情報に含まれる決済用番号が、アプリケーションIDと関連付けてコード管理データベース159に記憶されているか否かを判定する。そして、記憶されていると判定した場合、受信された決済要求情報に含まれるタイムスタンプ情報から特定されるコード表示時刻が、そのアプリケーションIDのコード管理データにおける、その決済用番号と関連付けて記憶されているコード有効期限内であるか否かを判定する。そして、この条件を満たす場合は「決済可能」と判定し、決済管理データベース157Aのうち、そのアプリケーションIDの決済管理データに記憶されている残高から決済予定金額を減算して決済する。
 なお、前述したコード表示期限内の決済であるか否かも判定するのであれば、限定ではなく例として、サーバ10の時計部19の計時時刻と、受信された決済要求情報に含まれるタイムスタンプ情報から特定されるコード表示時刻との差の時間をコード表示時間と比較して、コード表示期限内であるか否かも併せて判定するようにすればよい。
<第2実施例>
 第1実施例では、コード有効期限に基づいて、サーバ10に決済を行わせた。しかしながら、端末20のユーザが、必ずしもコード有効期限内にサーバ10に決済を行わせるための手続きを行うことができるとは限らない。
 また、コード有効期限が経過してしまった場合は、端末表示用コードをサーバ10から再度取得する必要があるが、ユーザによっては、この作業が面倒な場合がある。
 第2実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
 また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
 図5-1は、本実施例において端末20の記憶部28に記憶される情報の一例を示す図である。
 本実施例において、決済アプリケーションプログラム282は、限定ではなく例として、端末側コード更新処理として実行される端末側コード更新処理プログラム2821をサブルーチンプログラムとして含む。
<処理>
 図5-2は、本実施例における各装置が実行する処理の流れの一例を示すフローチャートである。左側に、端末20の制御部21が実行する端末側コード更新処理を示し、右側に、サーバ10の制御部11が実行するサーバ側コード更新処理を示す。これらの処理は、限定ではなく例として、前述した端末20の決済アプリケーション処理と、前述したサーバ10の決済管理処理とのそれぞれのサブ処理として実行される(例えばバックグラウンドで実行される)処理である。
 最初に、制御部21は、コード更新条件判定処理を行う(D110)。具体的には、限定ではなく例として、端末20の時計部29Aで計時されている時刻(以下、「端末計時時刻」と称する。)が、端末表示用コードストックデータ2831に記憶されている端末表示用コードに関連付けられたコード有効期限が終了する時刻(日時)から設定時間前の時刻となったか否かを判定する。
 設定時間は、限定ではなく例として、コード有効時間に基づいて設定することができる。
 例えば、コード有効時間が「12時間」であれば、この半分の「6時間」を設定時間として設定し、コード有効時間が「24時間」であれば、この半分の「12時間」を設定時間として設定するなどすることができる。端末表示用コードを更新するため、ある程度余裕を持たせた時間とすることが望ましい。
 なお、コード有効期限が終了する時刻から設定時間前の時刻となったか否かを判定するようにするのではなく、限定ではなく例として、コード受信時刻(コード日時)やコード記憶時刻(コード記憶日時)から設定時間が経過したか否かを判定するようにしてもよいし、そのようにしなくてもよい。
 つまり、コード更新条件の判定の基準とする時刻(基準時刻)は、コード有効期限が終了する時刻としてもよいし、コード受信時刻やコード記憶時刻としてもよい。
 なお、第1の端末表示用コードストックデータ2831Aを適用する場合は、1つの端末表示用コードが記憶されているため、この端末表示用コードを対象とし、この端末表示用コードに関連付けられたコード有効期限に基づいて、D110の判定を行えばよい。
 一方、第2の端末表示用コードストックデータ2831Bを適用する場合は、複数の端末表示用コードが記憶されているため、これら複数の端末表示用コードそれぞれを対象とし、それぞれの端末表示用コードに関連付けられたコード有効期限に基づいて、D110の判定を行えばよい。
 設定時間前の時刻となっている場合、制御部21は、コード更新条件が成立したと判定する。
 コード更新条件が成立したと判定したならば(D120:YES)、制御部21は、オンライン状態であるか否かを判定する(D130)。そして、オンライン状態であると判定したならば(D130:YES)、制御部21は、限定ではなく例として、アプリケーションIDと、更新を依頼する端末表示用コードのコードNoとを含むコード更新依頼情報を、通信I/F22によってサーバ10に送信する(D160)。
 ここで、「コード更新依頼情報」は、端末20でストックされている端末表示用コードの更新(再取得と言ってもよい。)を依頼(申請と言ってもよい。)するための情報であり、コード情報の更新に関するリクエストとも言える。
 また、「コード更新依頼情報」は、更新された端末表示用コード(新しい端末表示用コード)の送信を依頼する情報とも言える。
 サーバ10の制御部11は、端末20からコード更新依頼情報を受信したか否かを判定する(E110)。そして、受信したと判定したならば(E110:YES)、端末表示用コード更新処理を行う(E120)。
 具体的には、限定ではなく例として、記憶部15のコード管理データベース159のうち、受信されたコード更新依頼情報に含まれるアプリケーションIDのコード管理データを参照する。そして、そのコード管理データに、受信されたコード更新依頼情報に含まれるコードNoが存在するか否かを判定し、存在すると判定したならば、前述した端末表示用コード生成処理と同様の処理を行って、更新用の端末表示用コードを生成する。そして、そのコードNoと関連付けてコード管理データに記憶されているコード生成日時と、決済用番号と、コード有効期限とを更新する。このようにして更新された端末表示用コードを、以下、「更新端末表示用コード」と称する。
 次いで、制御部21は、更新端末表示用コードと、そのコード有効期限とを、通信I/F14によって端末20に送信する(E170)。
 その後、制御部11は、処理を終了するか否かを判定し(E190)、処理を継続すると判定したならば(E190:NO)、E110に処理を戻す。また、処理を終了すると判定したならば(E190:YES)、サーバ側コード更新処理を終了する。
 また、端末20からコード更新依頼情報を受信しなかった場合(E110:NO)、制御部11は、E190へと処理を移す。
 通信I/F22によってサーバ10から更新端末表示用コードと、そのコード有効期限とを受信すると(D170)、制御部21は、対応するコードNoと関連付けて端末表示用コードストックデータ2831に記憶されているコード受信日時と、コードデータと、コード有効期限とを更新する(D180)。この更新処理を行うことで、更新対象とした端末表示用コード(古い端末表示用コード)は利用不可(使用不可)となる。
 なお、D180において、受信された更新端末表示用コードと、そのコード有効期限とを、端末表示用コードストックデータ2831に別のデータ(新たなデータ)として記憶させるようにし、更新対象とした端末表示用コードには「利用不可」のフラグを設定する処理を行うなどして、更新対象とした端末表示用コード(古い端末表示用コード)が利用できなくなるようにしてもよいし、そのようにしなくてもよい。
 その後、制御部21は、処理を終了するか否かを判定し(D190)、処理を継続すると判定したならば(D190:NO)、D110に処理を戻す。また、処理を終了すると判定したならば(D190:YES)、端末側コード更新処理を終了する。
 また、コード更新条件が成立しないと判定された場合(D120:NO)、または、オンライン状態ではないと判定された場合(D130:NO)、制御部11は、D190へと処理を移す。
 なお、この処理において、端末表示用コードが更新された場合に、端末20が、端末表示用コードが更新されたことを示す情報(例えば、端末表示用コードが更新された旨のメッセージや、端末表示用コードが更新されたことを示す画像)を、プッシュ通知によって表示部24に表示したり、決済アプリケーションを実行中である場合は、表示部24の決済アプリケーション画面に表示させるようにしてもよい。
<第2実施例の効果>
 第2実施例は、端末20が、あらかじめ端末20でストックされた端末表示用コード(限定ではなく、第1コード情報の一例)に関連付けられたコード有効期限(限定ではなく、第1有効期限の一例)に基づき、この端末表示用コードとは異なる更新端末表示用コード(限定ではなく、第2コード情報の一例)を、サーバ10から通信I/F22によって受信する。そして、更新端末表示用コードは、端末表示用コードに関連付けられたコード有効期限とは異なるコード有効期限(限定ではなく、第2有効期限の一例)がサーバ10によって関連付けられる構成を示している。
 このような構成により得られる効果の一例として、第1有効期限に関する情報に基づいて、第1有効期限とは異なる第2有効期限がサーバによって関連付けられた第2コード情報をサーバから受信するため、例えば、第1有効期限が経過する前に第2コード情報をサーバから取得するといったことが可能となり、ユーザの利便性を向上させることができる。
 また、第2実施例は、端末20が、端末表示用コードとともに、そのコード有効期限(限定ではなく、第1有効期限に関する情報の一例)を、サーバ10から通信I/F22によって受信する。そして、受信されたコード有効期限を、制御部21によって端末表示用コードに関連付けて端末表示用コードストックデータ2831に記憶させる構成を示している。
 このような構成により得られる効果の一例として、サーバによって第1コード情報に関連付けられた第1有効期限を、端末側で把握することが可能となる。
 また、第2実施例は、端末20が、あらかじめ端末20でストックされた端末表示用コードに関連付けられたコード有効期限に基づいて、コード更新依頼情報(限定ではなく、第2コード情報の送信を依頼する情報の一例)をサーバ10に通信I/F22によって送信する構成を示している。
 このような構成により得られる効果の一例として、第1有効期限に関する情報に基づいて、適切なタイミングで、第2コード情報を送信するようにサーバに依頼することができる。
 また、第2実施例は、更新端末表示用コード(限定ではなく、第2コード情報の一例)は、あらかじめ端末20でストックされた端末表示用コード(限定ではなく、第1コード情報の一例)に関連付けられたコード有効期限(限定ではなく、第1有効期限の一例)が経過する前に、サーバ10から通信I/F22を介して受信される構成を示している。
 このような構成により得られる効果の一例として、第1有効期限が経過する前に、サーバから第2コード情報を受信することができる。
 また、第2実施例は、端末20は、更新端末表示用コードの受信に基づいて、受信された更新端末表示用コードと、そのコード有効期限とで、更新対象とした端末表示用コードと、そのコード有効期限とをそれぞれ更新する処理(限定ではなく、第1コード情報の利用を不可とする処理の一例)や、更新対象とした端末表示用コードに「利用不可」のフラグを設定する処理(限定ではなく、第1コード情報の利用を不可とする処理の一例)を制御部21によって行う構成を示している。
 このような構成により得られる効果の一例として、第2コード情報の受信に基づいて、第1コード情報の利用を不可とするため、あらかじめ記憶部に記憶されていた古い第1コード情報が決済に利用されないようにすることができる。
<第2変形例(1)>
 第2実施例では、あらかじめ端末20でストックされた端末表示用コードのコード有効期限に基づいてコード更新条件の成否を判定したが、これに限定されない。コード更新条件は、適宜設定変更可能である。
 図5-3は、本変形例において端末20の記憶部28に記憶される情報の一例を示す図である。
 本変形例において、決済アプリケーションデータ283には、限定ではなく例として、ユーザスケジュールデータ2834と、コード更新条件データ2835とが含まれる。
 ユーザスケジュールデータ2834は、端末20のユーザのスケジュールの情報(以下、「ユーザスケジュール情報」と称する。)が記憶されたデータである。ユーザスケジュール情報は、端末20のユーザの操作に従って、設定・更新される。
 コード更新条件データ2835は、コード更新条件が設定されたデータであり、そのデータ構成の一例を図5-4に示す。
 コード更新条件データ2835には、限定ではなく例として、条件種別と、条件Noと、コード更新条件とが関連付けて設定されている。
<条件種別「CK1」>
 条件種別「CK1」は、「時間」のカテゴリであり、限定ではなく例として、条件No「CK1-1」~「CK1-3」のコード更新条件が含まれる。
 条件No「CK1-1」のコード更新条件として、「端末計時時刻がコード有効期限が終了する時刻から第1設定時間前の時刻となった」が定められている。
 これは、第2実施例で判定したコード更新条件と同様の条件である。
 ただし、第1設定時間は、必ずしもコード有効時間の半分の時間とする必要はなく、適宜設定変更可能である。
 条件No「CK1-2」のコード更新条件として、「端末計時時刻が設定時刻(設定時間帯)となった」が定められている。
 これは、端末計時時刻が設定時刻となった場合、または端末計時時刻が設定時間帯に含まれる時刻となった場合に、コード更新条件が成立したと判定することを示している。
 設定時刻や設定時間帯は適宜設定変更可能である。例えば、「深夜0時」や「早朝6時」等の時刻を設定時刻として設定したり、深夜帯等の時間帯を設定時間帯として設定しておくことができる。
 条件No「CK1-3」のコード更新条件として、「コードを前回更新してから第2設定時間が経過」が定められている。
 これは、端末20でストックされている端末表示用コードを前回更新してから第2設定時間が経過した場合に、コード更新条件が成立したと判定することを示している。
 第2設定時間は適宜設定変更可能であるが、コード有効時間よりも短い時間を設定する必要がある。
<条件種別「CK2」>
 条件種別「CK2」は、「ユーザ」のカテゴリであり、限定ではなく例として、条件No「CK2-1」~「CK2-2」のコード更新条件が含まれる。
 条件No「CK2-1」のコード更新条件として、「ユーザによるコード更新要求操作あり」が定められている。これは、端末20のユーザによって端末表示用コードの更新を要求する操作(以下、「コード更新要求操作」と称する。)がなされた場合に、コード更新条件が成立したと判定することを示している。
 この条件は、「ユーザアクション」の種別の条件と言うこともできる。
 条件No「CK2-2」のコード更新条件として、「ユーザスケジュール情報(または決済情報)に基づく更新推奨タイミングとなった」が定められている。これは、ユーザスケジュールデータ2834に記憶されているユーザスケジュール情報に基づく更新推奨タイミングとなった場合に、コード更新条件が成立したと判定することを示している。
 例えば、端末20のユーザが定期的なタイミング(例えば、毎週何曜日、毎月何日)で、通信状況が不安定となる場所に位置する店舗で買い物を行って決済を行うような場合(特売日等)や、定期的に地下のバーに通ってお酒を飲んで決済を行うような場合は、その次のタイミングでも、端末20のユーザは同じ店舗を利用して決済を行う可能性が高いと考えられる。
 そこで、端末20は、ユーザのスケジュール情報の履歴(例えば、ユーザスケジュールデータ2834に含まれるユーザスケジュール情報の履歴)に基づいて、次に決済が行われるであろうタイミング(時刻や日時)を推定する。そして、そのタイミングよりも前のタイミング(例えば、出発前のタイミングや出発時のタイミング、目的地に到着する前のタイミング)を更新推奨タイミングとして設定しておくなどして、そのタイミングで端末表示用コードを更新するようにすることができる。
 なお、ユーザのスケジュール情報の履歴に基づいて、次に決済が行われるであろうタイミングを推定するのに代えて、またはこれに加えて、ユーザの決済情報(例えば、決済用データ2832に含まれる決済履歴データ)に基づいて、次に決済が行われるであろうタイミングを推定するようにしてもよい。
 この条件は、「スケジュール」や「決済」、「履歴」の種別の条件と言うこともできる。
<条件種別「CK3」>
 条件種別「CK3」は、「位置」のカテゴリであり、限定ではなく例として、条件No「CK3-1」~「CK3-2」のコード更新条件が含まれる。これらの条件は、「端末位置」や「ユーザ位置」、「場所」の種別の条件と言うこともできる。
 条件No「CK3-1」のコード更新条件として、「算出端末位置が設定店舗近傍の位置」が定められている。これは、位置算出用情報検出部29Bによって検出された位置算出用情報に基づいて算出された端末20の位置(以下、「算出端末位置」と称する。)が設定店舗近傍の位置である場合に、コード更新条件が成立したと判定することを示している。
 なお、算出端末位置は、算出された端末20の位置であるが、ユーザが端末20を携行していれば、算出された端末20の位置は、端末20のユーザの位置と同じである。つまり、ユーザが端末20を携行していることを前提とすれば、端末20の位置と、端末20のユーザの位置とは、実質的に同義と言える。
 設定店舗は、限定ではなく例として、端末20側、またはサーバ10側であらかじめ設定しておくことができる。例えば、地下などの通信環境が悪い場所に位置する店舗を、端末20のユーザの操作に従って端末20側で設定店舗として設定したり、サーバ10側で設定するようにすることができる。この場合、端末位置が設定店舗に近づいたタイミングで、端末表示用コードを更新させることができる。
 条件No「CK3-2」のコード更新条件として、「算出端末位置が設定範囲内の位置」が定められている。これは、算出端末位置が設定範囲内の位置である場合に、コード更新条件が成立したと判定することを示している。
 例えば、決済アプリケーションによる決済に対応可能な店舗が出店するイベントが開催される場合がある。このようなイベントが開催されるイベント会場には、多くの人が足を運び、会場内で端末20を利用するため、通信状況が悪くなる可能性がある。
 また、イベントが地下等で開催されるような場合には、通信を行うことができない可能性がある。
 そこで、あらかじめ、端末20側、またはサーバ10側で、限定ではなく例として、イベントが開催されるイベント会場を中心とする所定範囲(例えば半径1km以内)を設定範囲として設定しておく。この場合、端末位置が所定範囲に入ったタイミング(端末20のユーザがイベント会場に近づいたタイミング)で、端末表示用コードが更新されるようにすることができる。
<条件種別「CK4」>
 条件種別「CK4」は、「緊急」のカテゴリであり、限定ではなく例として、条件No「CK4-1」のコード更新条件が含まれる。この条件は、「世の中の状況」の種別の条件と言うこともできる。
 条件No「CK4-1」のコード更新条件として、「災害情報・防災情報受信」が定められている。これは、端末20が、地震災害情報、気象災害情報、水害情報、土砂災害情報等の災害情報・防災情報を受信した場合に、コード更新条件が成立したと判定することを示している。
 災害が発生すると、通信インフラが機能しなくなり、端末20がオフライン状態となることが想定される。そこで、端末20が災害情報・防災情報を受信した場合に、端末表示用コードを更新しておく。
 本実施例では、端末20の制御部21は、図5-2の端末側コード更新処理のD110において、コード更新条件データ2835に基づいて、コード更新条件が成立したか否かを判定する。そして、限定ではなく例として、少なくとも1つのコード更新条件が成立した場合に、コード更新条件が成立したと判定する。
 なお、コード更新条件データ2835において、それぞれのコード更新条件に関連付けて優先度を設定しておくようにする。そして、所定の優先度(閾値となる優先度)よりも高い優先度が関連付けて設定されているコード更新条件のうちの少なくとも1つのコード更新条件が成立した場合に、コード更新条件が成立したと判定するようにしてもよいし、そのようにしなくてもよい。
 また、コード更新条件データ2835に定められたコード更新条件のうち、いずれのコード更新条件を適用するかを、端末20側またはサーバ10側であらかじめ設定しておくようにしてもよい。この場合は、適用する設定が行われたコード更新条件のうちの少なくとも1つのコード更新条件が成立した場合に、コード更新条件が成立したと判定するようにしてもよいし、そのようにしなくてもよい。
<第2変形例(1)の効果>
 本変形例は、端末20が、設定時刻に基づきサーバ10から送信された、サーバ10によって新たなコード有効期限(限定ではなく、第3有効期限の一例)が関連付いた更新端末表示用コード(限定ではなく、第3コード情報の一例)を、通信I/F22によって受信する構成を示している。
 このような構成により得られる効果の一例として、端末は、設定された時刻に基づきサーバから送信された、サーバによって第3有効期限が関連付いた第3コード情報を、通信部によって受信することができる。
 また、本変形例は、端末20が、端末20のユーザの情報(例えば、ユーザスケジュール情報、ユーザの決済履歴、端末20(端末20のユーザ)の位置等)に基づきサーバ10から送信された、サーバ10によって新たなコード有効期限(限定ではなく、第4有効期限の一例)が関連付いた更新端末表示用コード(限定ではなく、第4コード情報の一例)を、通信I/F22によって受信する構成を示している。
 このような構成により得られる効果の一例として、端末のユーザの情報に基づいてサーバから送信された、サーバによって第4有効期限が関連付いた第4コード情報を、通信部によって受信することができる。
 また、本変形例は、端末20が、災害情報に基づきサーバ10から送信された、サーバ10によって新たなコード有効期限(限定ではなく、第5有効期限の一例)が関連付いた更新端末表示用コード(限定ではなく、第5コード情報の一例)を、通信I/F22によって受信する構成を示している。
 このような構成により得られる効果の一例として、端末は、サーバによって取得された災害に関する情報に基づきサーバから送信された、サーバによって第5有効期限が関連付いた第5コード情報を、通信部によって受信することができる。
<第2変形例(2)>
 第2実施例では、端末表示用コードの更新を端末20からサーバ10に依頼することとしたが、これに限定されない。端末表示用コードの更新を依頼するのではなく、ストックしている端末表示用コードに関連付けられたコード有効期限の延長を端末20からサーバ10に依頼するようにしてもよい。
 図5-5は、本変形例における各装置が実行する処理の流れの一例を示すフローチャートである。左側に、端末20の制御部21が実行する端末側コード有効期限延長処理を示し、右側に、サーバ10の制御部11が実行するサーバ側コード有効期限延長処理を示す。これらの処理は、限定ではなく例として、前述した端末20の決済アプリケーション処理と、前述したサーバ10の決済管理処理とのそれぞれにおいてバックグラウンドで実行される処理である。
 最初に、制御部21は、コード有効期限延長条件判定処理を行う(D210)。コード有効期限延長条件は、限定ではなく例として、図5-4に示したコード更新条件と同様の条件とすることができる。
 なお、第1の端末表示用コードストックデータ2831Aを適用する場合は、1つの端末表示用コードが記憶されているため、この端末表示用コードを対象とし、この端末表示用コードに関連付けられたコード有効期限に基づいて、D210の判定を行えばよい。
 一方、第2の端末表示用コードストックデータ2831Bを適用する場合は、複数の端末表示用コードが記憶されているため、これら複数の端末表示用コードそれぞれを対象とし、それぞれの端末表示用コードに関連付けられたコード有効期限に基づいて、D210の判定を行えばよい。
 コード有効期限延長条件が成立したと判定したならば(D220:YES)、制御部21は、オンライン状態であるか否かを判定する(D230)。そして、オンライン状態であると判定したならば(D230:YES)、制御部21は、認証処理を行う(D240)。
 具体的には、限定ではなく例として、認証画面を表示部24に表示させ、ユーザに認証パスワードを入力させる。そして、入力された認証パスワードが、あらかじめ決済アプリケーションデータ283に登録・記憶されている認証パスワードと一致するか否かを判定する。そして、一致する場合は、認証結果を「OK」とし、一致しない場合は、認証結果を「NG」とする。
 認証結果が「OK」であったならば(D250:YES)、制御部21は、限定ではなく例として、アプリケーションIDと、コード有効期限の延長を依頼する端末表示用コードのコードNoとを含むコード有効期限延長依頼情報を、通信I/F22によってサーバ10に送信する(D260)。
 ここで、「コード有効期限延長依頼情報」は、端末20でストックされている端末表示用コードに関連付けられたコード有効期限の延長を依頼(申請)する情報であり、コード有効期限の延長に関するリクエストとも言える。
 また、「コード有効期限延長依頼情報」は、延長されたコード有効期限の送信を依頼する情報とも言える。
 サーバ10の制御部11は、端末20からコード有効期限延長依頼情報を受信したか否かを判定する(E210)。そして、受信したと判定したならば(E210:YES)、コード有効期限延長処理を行う(E220)。
 具体的には、限定ではなく例として、記憶部15のコード管理データベース159のうち、受信されたコード有効期限延長依頼情報に含まれるアプリケーションIDのコード管理データを参照する。そして、そのコード管理データに、受信されたコード有効期限延長依頼情報に含まれるコードNoが記憶されているか否かを判定し、記憶されていると判定したならば、そのコードNoと関連付けて記憶されているコード有効期限を延長して更新する。このようにして延長されたコード有効期限を、以下、「延長コード有効期限」と称する。
 次いで、制御部21は、延長コード有効期限を、通信I/F14によって端末20に送信する(E270)。
 その後、制御部11は、処理を終了するか否かを判定し(E290)、処理を継続すると判定したならば(E290:NO)、E210に処理を戻す。また、処理を終了すると判定したならば(E290:YES)、サーバ側コード有効期限延長処理を終了する。
 また、端末20からコード有効期限延長依頼情報を受信しなかった場合(E210:NO)、制御部11は、E290へと処理を移す。
 通信I/F22によってサーバ10から延長コード有効期限を受信すると(D270)、制御部21は、対応するコードNoと関連付けて端末表示用コードストックデータ2831に記憶されているコード有効期限を、受信された延長コード有効期限で更新する(D280)。
 その後、制御部21は、処理を終了するか否かを判定し(D290)、処理を継続すると判定したならば(D290:NO)、D210に処理を戻す。また、処理を終了すると判定したならば(D290:YES)、端末側コード有効期限延長処理を終了する。
 また、コード有効期限延長条件が成立しないと判定された場合(D220:NO)、オンライン状態ではないと判定された場合(D230:NO)、または、認証結果が「NG」であると判定された場合(D250:NO)、制御部11は、D290へと処理を移す。
 なお、この処理において、延長コード有効期限をサーバ10から受信した場合に、端末20が、コード有効期限が延長されたことを示す情報(例えば、コード有効期限が延長された旨のメッセージや、コード有効期限が延長されたことを示す画像)を、プッシュ通知によって表示部24に表示したり、決済アプリケーションを実行中である場合は、表示部24の決済アプリケーション画面に表示させるようにしてもよい。
 また、この処理において、認証処理は必ずしも行う必要はなく、認証処理を省略するようにしてもよい。
<第2変形例(2)の効果>
 本変形例は、端末20が、コード有効期限延長依頼情報(限定ではなく、第1有効期限の延長をサーバに依頼する情報の一例)を、サーバ10に通信I/F22によって送信する構成を示している。
 このような構成により得られる効果の一例として、第1有効期限の延長をサーバに依頼することができる。
 また、本変形例は、端末20が、認証処理(限定ではなく、端末のユーザの認証に関する処理の一例)の実行に基づいて、延長コード有効期限をサーバ10から取得する処理(限定ではなく、第1有効期限の延長に関する処理の一例)を制御部21によって行う構成を示している。
 このような構成により得られる効果の一例として、端末のユーザの認証に関する処理の実行に基づいて、第1有効期限の延長に関する処理を端末の制御部によって行うことで、第1有効期限を延長するに際して、セキュリティを高めることができる。
 また、本変形例は、端末20が、サーバ10から送信された、延長コード有効期限を、通信I/F22によって受信する。そして、コード有効期限が延長されたことを示す情報を、端末20の表示領域に表示する構成を示している。
 このような構成により得られる効果の一例として、第1有効期限が延長されたことを端末のユーザに報知することができるため、ユーザの利便性を向上させることができる。
<第2変形例(3)>
 第2実施例において、端末20からのリクエストに応じてサーバ10が端末表示用コードを更新して端末20に送信するのではなく、端末20からのリクエストなしに、サーバ10が端末表示用コードを更新して端末20に送信するようにしてもよいし、そのようにしなくてもよい。
 本明細書では、端末20からのリクエストなしにサーバ10が情報やデータを端末20に送信すること(サーバ10が自発的に情報やデータを送信すること)を「プッシュ送信」と称する。
 この場合は、限定ではなく例として、サーバ10が、定期的なタイミングや特定のタイミングで、端末表示用コード更新処理を行う。
 または、サーバ10が、前述したコード更新条件と同様の条件に基づいて、随時、コード更新条件の成否を判定するようにし、コード更新条件が成立すると判定した場合、端末表示用コード更新処理を行う。
 そして、サーバ10は、更新端末表示用コードと、そのコード有効期限とを端末20にプッシュ送信する。
 また、第2変形例(2)において、端末20からのリクエストに応じてサーバ10がコード有効期限を延長するのではなく、端末20からのリクエストなしに、サーバ10がコード有効期限を延長して端末20に送信するようにしてもよいし、そのようにしなくてもよい。
 この場合は、限定ではなく例として、サーバ10が、定期的なタイミングや特定のタイミングで、コード有効期限延長処理を行う。
 または、サーバ10が、前述したコード有効期限延長条件と同様の条件に基づいて、随時、コード有効期限延長条件の成否を判定するようにし、コード有効期限延長条件が成立すると判定した場合、コード有効期限延長処理を行う。
 そして、サーバ10は、延長コード有効期限を端末20にプッシュ送信する。
<第2変形例(4)>
 第2実施例では、端末表示用コードを更新する処理を説明したが、これに限定されない。端末表示用コードを更新する処理ではなく、新たな端末表示用コードを生成する処理としてもよいし、そのようにしなくてもよい。
 具体的には、限定ではなく例として、新たな端末表示用コードの生成を依頼する新コード生成依頼情報を、端末20からサーバ10に送信する。サーバ10は、端末20から新コード生成依頼情報を受信したことに基づいて、前述した端末表示用コード生成処理と同様の処理を行って新たな端末表示用コードを生成し、コード生成日時、決済用番号、コード有効期限等の情報とともにコード管理データに記憶させる。そして、サーバ10は、生成した新たな端末表示用コードや、そのコード有効期限に関する情報を、端末20に送信するようにすることもできる。
<第3実施例>
 第3実施例は、コード有効期限の設定方法(コード有効期限をどのように設定するか)に関する実施例である。
 第3実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
 また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
 図6-1は、本実施例においてサーバ10の記憶部15に記憶される情報の一例を示す図である。
 本実施例において、記憶部15には、限定ではなく例として、アカウント別管理データベース152と、開催イベントデータ154と、コード有効期限設定用データ156とが記憶される。
 アカウント別管理データベース152は、決済アプリケーションのアカウント別の管理データであり、そのデータ構成の一例を図6-2に示す。
 アカウント別管理データベース152には、アカウント別に、アカウント管理データが記憶される。
 各アカウント別管理データには、限定ではなく例として、アプリケーションIDと、信用スコアと、端末位置履歴データと、ユーザスケジュールデータと、決済履歴データと、オフライン傾向データとが記憶される。
 アプリケーションIDには、ユーザ登録データ153に記憶されているアプリケーションIDが記憶される。
 信用スコアは、端末20のユーザの社会的な信用を数値やランク等で表したものである。
 信用スコアは、限定ではなく例として、端末20のユーザの支払い実績、年齢、勤務形態、年収等をもとに算出され、随時更新される。
 限定ではなく例として、信用スコアを「0点」~「100点」の点数方式で数値化し、信用スコア「100点」がユーザの社会的な信用が最も高く、信用スコア「0点」がユーザの社会的な信用が最も低いことを示すようにすることができる。
 端末位置履歴データは、端末の位置(以下、「端末位置」と称する。)の履歴が記憶される。限定ではなく例として、端末20が位置算出処理を行って算出した端末位置(以下、「算出端末位置」と称する。)が、端末位置が算出される毎のタイミングや、定期的なタイミングで端末20からサーバ10に送信され、この算出端末位置が端末位置として端末位置履歴データに随時記憶されるようにすることができる。
 なお、これとは異なり、前述したコード生成依頼情報やコード更新依頼情報、コード有効期限延長情報等を端末20からサーバ10に送信する際に、最新の端末位置を端末20からサーバ10に送信するようにしてもよいし、そのようにしなくてもよい。
 ユーザスケジュールデータは、このアプリケーションIDの端末20のユーザスケジュール情報が記憶されたデータである。このユーザスケジュールデータは、端末20の記憶部28に記憶されるユーザスケジュールデータ2834(図5-3参照)と同期して随時更新されるようにすることができる。
 決済履歴データは、決済管理データベース157に記憶されている決済管理データのうち、このアプリケーションIDの決済管理データに含まれる決済履歴データである。
 オフライン傾向データは、このアプリケーションIDの端末20がオフライン状態となる傾向を分析したデータである。限定ではなく例として、サーバ10は、過去に端末20と通信不可となった期間を、オフライン傾向データに履歴として記憶させておくようにすることができる。
 開催イベントデータ154は、端末表示用コードを利用した決済が行われ得るイベントに関するデータであり、限定ではなく例として、イベントの開催日時や、イベントの開催場所、イベントに出店する店舗等の情報が記憶される。これらの情報は、サーバ10によってイベントの主催団体等からあらかじめ取得されて、開催イベントデータ154に記憶される。
 コード有効期限設定用データ156は、コード有効期限を設定するために用いられるデータである。このコード有効期限設定用データ156には、限定ではなく例として、上記のアカウント別管理データに含まれるデータから特定される信用スコア、位置(端末位置、ユーザ位置)、ユーザスケジュール、決済履歴、オフライン傾向等を判定項目とし、これらの判定項目に基づきコード有効時間を設定するための方法が定められている。
 限定ではなく例として、コード生成日時とコード有効時間とによってコード有効期限が定まるため、コード有効時間を設定することは、コード有効期限を設定することと実質的に同義である。
(1)信用スコア
 信用スコアが高いほど、ユーザの社会的な信用は高いと言える。
 このため、限定ではなく例として、信用スコアが高いほど、コード有効時間としてより長い時間を設定することを定めておくことができる。例えば、信用スコアに対する閾値(段階的な閾値)に基づく複数の閾値条件を定めておき、信用スコアがいずれの閾値条件を満たすかによって、異なるコード有効時間を設定するようにすることができる。
 例えば、信用スコアが「80点以上」であればコード有効時間を「基準コード有効時間×1.2」とし、信用スコアが「60点以上80点未満」であればコード有効時間を「基準コード有効時間×1.0」とし、信用スコアが「60点未満」であればコード有効時間を「基準コード有効時間×0.8」とすることなどを定めておくことができる。
 「基準コード有効時間」とは、限定ではなく例として、サーバ10によってデフォルトとして設定される有効時間である。
 限定ではなく例として、第1実施例で説明した「6時間」、「12時間」、「18時間」、「24時間」等のコード有効時間を、基準コード有効時間として設定しておくことができる。
(2)端末位置(ユーザ位置)
 コード有効期限設定用データ156には、限定ではなく例として、端末位置に基づきコード有効時間を設定するための条件が定められている。
 例えば、サーバ10側で、安全性の高い場所(ピンポイントの位置や一定範囲の地域等)と、安全性の低い場所とを設定しておく。
 ここで言う「安全性」とは、コード有効時間を長くすることにリスクが生じにくいことを意味する。
 安全性の高い場所としては、限定ではなく例として、端末20が他人に盗まれる可能性が低い場所(ユーザが端末20を置き忘れる可能性が低い場所等)、例えば、端末20のユーザの自宅の位置やその付近の地域等が考えられる。
 安全性の低い場所としては、限定ではなく例として、端末20が他人に盗まれる可能性が低い場所(ユーザが端末20を置き忘れる可能性が低い場所等)、例えば、居酒屋等の飲食店の位置やその付近の地域等が考えられる。
 この場合、限定ではなく例として、端末位置が安全性の高い場所に含まれる場合は、端末位置が安全性の低い場所に含まれる場合よりも、コード有効時間としてより長い時間を設定することを定めておくようにすることができる。
 例えば、端末位置が安全性の高い場所に含まれる場合はコード有効時間を「基準コード有効時間×1.2」とし、端末位置が安全性の低い場所に含まれる場合はコード有効時間を「基準コード有効時間×0.8」とすることなどを定めておくことができる。
(3)ユーザスケジュール
 コード有効期限設定用データ156には、限定ではなく例として、ユーザスケジュールに基づきコード有効時間を設定するための条件が定められている。
 例えば、所定時間以内や所定日数以内にユーザが特定のイベントに行くことが予定されている場合、端末表示用コードを用いて決済が行われる可能性が高い。
 このため、限定ではなく例として、所定時間以内や所定日数以内に端末20のユーザが特定のイベントに行くことが予定されている場合、コード有効時間として基準コード有効時間よりも長い時間を設定するなどすればよい。
(4)決済履歴
 コード有効期限設定用データ156には、限定ではなく例として、端末20のユーザの決済履歴に基づきコード有効時間を設定するための条件が定められている。
 決済履歴から、端末20のユーザが定期的なタイミング(例えば、毎週何曜日、毎月何日)で同じ店舗を利用して決済を行う傾向があることが分かる場合、その次のタイミングでも、端末20のユーザは同じ店舗を利用して決済を行う可能性が高い。
 このため、限定ではなく例として、端末20のユーザが定期的なタイミングで同じ店舗を利用して決済を行う傾向がある場合、コード有効時間として基準コード有効時間よりも長い時間を設定するなどすればよい。
 また、端末20のユーザが決済を行う頻度や回数に基づいて、コード有効時間を設定するようにすることもできる。
 具体的には、そのアプリケーションIDに関連付けられた決済履歴データに基づいて、単位期間における決済が行われた頻度(以下、「決済頻度」と称する。)や回数(以下、「決済回数」と称する。)を算出する。そして、決済頻度が高いほど、または、決済回数が多いほど、コード有効時間としてより長い時間を設定するように定めておくことができる。
(5)オフライン傾向
 コード有効期限設定用データ156には、限定ではなく例として、オフライン傾向に基づきコード有効時間を設定するための条件が定められている。
 端末20が頻繁にオフライン状態となるのであれば、コード有効時間を長く設定しておおかなければ、いざという時に決済を行うことができなくなる可能性がある。
 そこで、限定ではなく例として、単位期間における端末20がオフライン状態となる頻度(以下、「オフライン頻度」と称する。)や回数(以下、「オフライン回数」と称する。)を算出する。そして、オフライン頻度が高いほど、または、オフライン回数が多いほど、コード有効時間としてより長い時間を設定するように定めておくことができる。
 なお、上記の判定項目は一例に過ぎず、適宜設定変更可能である。
 例えば、端末20側で、複数のコード有効時間の候補の中から、一のコード有効時間をユーザに選択させる。そして、選択されたコード有効時間を端末20からサーバ10に送信するようにして、サーバ10側で、端末20のアプリケーションIDと関連付けて、端末20から受信されたコード有効時間を設定するようにしてもよいし、そのようにしなくてもよい。
 本実施例では、サーバ10の制御部11は、限定ではなく例として、端末表示用コード生成処理(図4-14のC320)、端末表示用コード更新処理(図5-2のE120)、コード有効期限延長処理(図5-5のE220)を行う前に、コード有効期限設定処理を行う。
 コード有効期限設定処理では、制御部11は、限定ではなく例として、コード有効期限設定用データ156を参照し、限定ではなく例として、上記の複数の判定項目のうち、少なくともいずれか1つの判定項目に基づいて、コード有効期限を設定してもよいし、その組み合わせによって、コードの有効期限を設定してもよい。例えば、信用スコアが高く、オフライン頻度や、オフライン回数が多いユーザは、同じ信用スコアのユーザよりも、有効期限を長く設定してもよいし、しなくてもよい。
<第3実施例の効果>
 第3実施例は、コード有効期限は、端末20のユーザの情報に基づサーバ10によって設定される構成を示している。
 このような構成により得られる効果の一例として、端末は、端末のユーザの情報に基づいて適切に設定された第1有効期限に基づいて、サーバに決済を行わせることができる。
 また、第3実施例は、端末20のユーザの情報は、ユーザの信用スコアを含む構成を示している。
 このような構成により得られる効果の一例として、端末は、端末のユーザの信用スコアに基づいて適切に設定された第1有効期限に基づいて、サーバに決済を行わせることができる。
 また、第3実施例は、端末20のユーザの情報は、ユーザの位置の情報、または端末の位置の情報を含む構成を示している。
 このような構成により得られる効果の一例として、端末は、端末のユーザの位置の情報、または端末の位置の情報に基づいて適切に設定された第1有効期限に基づいて、サーバに決済を行わせることができる。
 また、第3実施例は、端末20のユーザの情報は、ユーザスケジュール情報を含む構成を示している。
 このような構成により得られる効果の一例として、端末は、端末のユーザのスケジュールの情報に基づいて適切に設定された第1有効期限に基づいて、サーバに決済を行わせることができる。
 また、第3実施例は、端末20のユーザの情報は、ユーザの端末表示用コードに基づく決済履歴や決済頻度(または決済回数)(限定ではなく、ユーザのコード情報に基づく決済の情報の一例)を含む構成を示している。
 このような構成により得られる効果の一例として、端末は、端末のユーザのコード情報に基づく決済の情報に基づいて適切に設定された第1有効期限に基づいて、サーバに決済を行わせることができる。
 また、第3実施例は、コード有効期限は、サーバ10によって取得された開催イベント情報(限定ではなく、イベントに関する情報の一例)に基づいて設定される構成を示している。
 このような構成により得られる効果の一例として、端末は、サーバによって取得されたイベントに関する情報に基づいて適切に設定された第1有効期限に基づいて、サーバに決済を行わせることができる。
<第4実施例>
 第4実施例は、コード表示期限よりもコード有効期限の方が先に経過する場合の対策に関する実施例である。この場合、コード表示期限よりもコード有効期限の方が先に経過するため、コード表示画面に表示される端末表示用コードが使用できない場合が生ずる。
 第4実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
 また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
 図7-1は、本実施例において端末20のコード表示処理部2113が実行するコード表示処理の一例である第1のコード表示処理の流れの一例を示す図である。
 最初に、コード表示処理部2113は、端末表示用コードストックデータ2831に記憶されている端末表示用コードのうち、表示対象とする端末表示用コードを決定する(F110)。
 オンライン状態においてサーバ10から取得した1つのコードを端末20でストックする場合は、第1の端末表示用コードストックデータ2831A(図4-9参照)に記憶されている端末表示用コードを、表示対象とする端末表示用コードに決定する。
 一方、オンライン状態においてサーバ10から取得した複数(2以上)のコードを端末20でストックする場合は、第2の端末表示用コードストックデータ2831(図4-15参照)に記憶されている端末表示用コードのうち、限定ではなく例として、最も古い端末表示用コード(コード有効期限が最も近い端末表示用コード)を、表示対象とする端末表示用コードに決定する。
 その後、コード表示処理部2113は、F110で決定した端末表示用コードに関連付けて記憶されているコード有効期限と、時計部29Aの計時時刻とに基づき、コード有効期限の残り時間が、前述したコード表示時間よりも短いか否かを判定する(F120)。
 コード有効期限の残り時間がコード表示時間よりも短いと判定したならば(F120:YES)、コード表示処理部2113は、F110で決定した端末表示用コードを端末表示用コードストックデータ2831から削除する(F130)。そして、コード表示処理部2113は、限定ではなく例として、端末表示用コードを表示させることができない旨のメッセージ等を含むエラー画面を表示部24に表示させた後(F140)、第1のコード表示処理を終了する。
 一方、コード有効期限の残り時間がコード表示時間よりも短いないと判定したならば(F120:NO)、コード表示処理部2113は、F110で決定した端末表示用コードのコード画像を含む第1のコード表示画面を表示部24に表示させる(F150)。この場合、前述したように、コード有効期限に関する情報や、コード表示期限に関する情報を、第1のコード表示画面に表示させるようにしてもよいし、表示させなくてもよい。そして、コード表示処理部2113は、第1のコード表示処理を終了する。
 この処理では、コード有効期限の残り時間がコード表示時間よりも短い場合は、端末表示用コードを削除し、その端末表示用コードが表示部24に表示されないようにすることができる。
 なお、この処理では、コード有効期限の残り時間がコード表示時間よりも短い場合は、端末表示用コードを削除し、その端末表示用コードが表示部24に表示されないようにしたが、これに限定されない。
 具体的には、一時的に情報を記憶する記憶領域として、限定ではなく例として、コード表示時間分の時間を確保するバッファを端末20の記憶部28に設ける。例えば、コード表示時間を「5分」とするのであれば、「5分」分の時間を確保するバッファを設ける。
 この場合、コード表示時間分の時間がバッファに確保されていることで、端末20の制御部21は、「実際のコード表示期限の残り時間+コード表示時間」をコード表示期限の残り時間として処理を行う。このため、実際のコード有効期限の残り時間はコード表示時間よりも短いにも関わらず、制御部21は、コード有効期限の残り時間はコード表示時間以上であると判定するため、表示対象とする端末表示用コードを含むコード表示画面が表示部24に表示されることになる。
 図7-2は、本実施例において端末20のコード表示処理部2113が実行するコード表示処理の別例である第2のコード表示処理の流れの一例を示す図である。
 なお、前述した処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
 この処理は、図7-1の処理のF130、F140のステップを、それぞれF230、F240のステップに変更したものである。
 F110の後、コード有効期限の残り時間がコード表示時間よりも短いと判定したならば(F120:YES)、コード表示処理部2113は、コード表示期限変更処理を行う(F230)。具体的には、限定ではなく例として、コード有効期限の残り時間と同じ時間をコード表示時間として設定する。つまり、コード有効期限とコード表示期限とが同じとなるように、コード表示期限を短縮する。
 その後、コード表示処理部2113は、F110で決定した端末表示用コードのコード画像を含む第2のコード表示画面を表示部24に表示させる(F240)。この場合、前述したように、コード有効期限に関する情報や、変更したコード表示期限に関する情報を、第2のコード表示画面に表示させるようにしてもよいし、表示させなくてもよい。そして、コード表示処理部2113は、第2のコード表示処理を終了する。
 この処理では、コード有効期限の残り時間がコード表示時間よりも短い場合は、コード有効期限とコード表示期限とが同じとなるようにコード表示期限を短縮した上で、コード表示画面を表示部24に表示する。
 図7-3は、本実施例において端末20のコード表示処理部2113が実行するコード表示処理の別例である第3のコード表示処理の流れの一例を示す図である。
 なお、前述した処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
 この処理は、図7-1の処理のF110、F130、F140のステップを、それぞれF310、F330、F340のステップに変更したものである。
 この処理では、オンライン状態においてサーバ10から取得した複数(2以上)のコードが端末20でストックされる、つまり、複数の端末表示用コードのデータが第2の端末表示用コードストックデータ2831Bに記憶されていることとして説明する。
 最初に、コード表示処理部2113は、第2の端末表示用コードストックデータ2831Bに記憶されている端末表示用コードのうち、限定ではなく例として、最も古い端末表示用コード(コード有効期限が最も近い端末表示用コード)を、表示対象とする端末表示用コードに決定する(F310)。
 その後、コード有効期限の残り時間がコード表示時間よりも短いと判定したならば(F120:YES)、コード表示処理部2113は、端末表示用コード変更処理を行う(F330)。具体的には、限定ではなく例として、第2の端末表示用コードストックデータ2831Bに記憶されている端末表示用コードのうち、限定ではなく例として、コード有効期限の残り時間がコード表示時間以上である端末表示用コードであって最も古い端末表示用コード(コード有効期限が最も近い端末表示用コード)を、表示対象とする端末表示用コードに変更する。
 その後、コード表示処理部2113は、F330で変更した端末表示用コードのコード画像を含む第3のコード表示画面を表示部24に表示させる(F340)。この場合、前述したように、コード有効期限に関する情報や、コード表示期限に関する情報を、第3のコード表示画面に表示させるようにしてもよいし、表示させなくてもよい。そして、コード表示処理部2113は、第3のコード表示処理を終了する。
 この処理では、コード有効期限の残り時間がコード表示時間よりも短い場合は、コード有効期限の残り時間がコード表示時間以上である端末表示用コードを表示対象に変更した上で、コード表示画面を表示部24に表示する。
 なお、この処理では、コード表示画面を表示させる前に、表示対象とする端末表示用コードに変更したが、これに限定されない。
 具体的には、コード表示処理部2113が、表示対象とする端末表示用コードを含むコード表示画面に表示した後、コード有効期限の残り時間がコード表示時間よりも短いか否かを判定する。そして、この条件を満たす場合は、端末表示用コード変更処理を行って、表示中の端末表示用コードを、コード有効期限の残り時間がコード表示時間以上である端末表示用コードに変更して、表示中のコード表示画面に反映させるようにすることもできる。つまり、コード表示画面の表示途中で、端末表示用コードを変更するようにしてもよいし、そのようにしなくてもよい。
 また、上記の各種の処理の他にも、限定ではなく例として、コード有効期限の残り時間がコード表示時間よりも短いと判定した場合、表示対象とする端末表示用コードに関連付けて設定されたコード有効期限を延長するようにすることもできる。
 具体的には、限定ではなく例として、コード有効期限の残り時間がコード表示時間よりも短いと判定した場合、制御部21は、コード有効期限が終了する時刻(日時)が、コード表示期限が終了する時刻(日時)と同じとなるように、コード有効期限を延長する。
 オンライン状態であれば端末20はサーバ10と通信することができるため、前述した端末側コード有効期限延長処理(図5-5参照)と同様の処理によってサーバ10と通信を行って、表示対象とする端末表示用コードに関連付けられたコード有効期限をサーバ10に延長させることができる。
 しかしながら、オフライン状態では端末20はサーバ10と通信することができない。このため、オフライン状態では、上記の処理は、あくまでも端末20側でコード有効期限を延長する処理となる。
 また、限定ではなく例として、例えば図4-17や図4-18、図4-19に示したように、端末20の表示部24に表示させるコード表示画面には、端末表示用コード画像や決済用番号の他に、コード有効期限の情報を表示させることができる。
 しかしながら、例えば図4-16に示したように、コード表示画面に、コード表示期限の情報は表示させるが、コード有効期限の情報は表示させないようにすることができる。
 この場合、前述したように、限定ではなく例として、コード有効期限とコード表示期限とが同じとなるようにコード表示期限を短縮した上で、コード表示画面に、コード有効期限の情報は表示させずに、コード表示期限の情報を表示させるようにすることができる。
 つまり、コード有効期限をコード表示期限に統合することとして、コード有効期限の情報は表示させずに、コード表示期限の情報を表示させるようにすることもできる。この場合、コード有効期限は、実質的にコード表示期限と同じになる。
<第4実施例の効果>
 第4実施例は、コード有効期限やコード有効期限の残り時間の情報がコード表示画面に表示される場合、これらの情報を、コード有効期限から設定された期限に変更して、コード表示画面に表示する構成を示している。
 このような構成により得られる効果の一例として、第1有効期限が端末の表示領域に表示される場合、第1有効期限から設定された期限に変更して表示領域に表示することで、例えば端末におけるコード情報の表示期限よりも前に第1有効期限が経過するようなケースにも対応可能となり、ユーザの利便性を向上させることができる。
<第5実施例>
 端末表示用コードに関連付けるコード有効期限としてサーバ10によって長い期間が設定された場合、セキュリティが低く、端末20でストックされた端末表示用コードが他人に盗まれるなどのリスクが高まる。
 本実施例では、端末20は、複数(2以上)の端末表示用コードの生成を依頼するコード生成依頼情報を、通信I/F22によってサーバ10に送信する。コード生成依頼情報を受信すると、サーバ10は、端末表示用コード生成処理を行う。
 本実施例では、端末表示用コード生成処理において、サーバ10の制御部11は、コード有効期限の開始時刻(または開始日時)と終了時刻(または終了日時)とが異なる複数の端末表示用コードを生成する。そして、生成した複数の端末表示用コードのデータを、コード管理データベース159に記憶させる。
 図8は、本実施例においてサーバ10の記憶部15に記憶されるコード管理データベース159の一例である。
 このコード管理データベース159は、図4-6に示したコード管理データベース159と同様であるが、各コード管理データにアプリケーションIDとともに記憶される端末表示用コードのデータが一部異なっている。
 具体的には、コード管理データには、アプリケーションIDとともに、限定ではなく例として、2個の端末表示用コードを1組とする、コード生成日時は同じであるが、コード有効期限の開始日時が異なる2組(計4個)の端末表示用コードが記憶されている。
 この表示例では、アプリケーションID「U0001」の端末20、または端末20のユーザについて、コード生成日時を「2019年6月10日9時00分」とする端末表示用コードのデータとして、コードNo「C-n1」~「C-n4」の4つのデータが記憶されている。
 コードNo「C-n1」、「C-n2」の2つの端末表示用コードは、コード有効期限を「2019年6月10日 9時00分00秒~2019年6月10日 14時間59分59秒」とするコードである。つまり、この2つの端末表示用コードは、コード有効期限の開始時刻をコード生成時刻である「9時00分」とし、コード有効時間を「6時間」とするコードである。
 一方、コードNo「C-n3」、「C-n4」の2つの端末表示用コードは、コード有効期限を「2019年6月10日 15時00分00秒~2019年6月10日 20時59分59秒」とするコードである。つまり、この2つの端末表示用コードは、コード有効期限の開始時刻をコード生成時刻から6時間経過後の「15時00分」とし、コード有効時間を「6時間」とするコードである。
 このように、コードNo「C-n1」、「C-n2」の2つの端末表示用コードと、コードNo「C-n3」、「C-n4」の2つの端末表示用コードとは、コード有効時間は同じであるが、コード有効期限の開始時刻が異なっており、結果的に、コード有効期限が異なっている。
 本実施例では、サーバ10は、端末20から受信されたコード生成依頼情報に基づき、上記のような複数の端末表示用コードを生成する。そして、限定ではなく例として、生成した複数の端末表示用コードを、それぞれのコードNoと、それぞれのコード有効期限とともに、端末20に送信する。
 端末20は、サーバ10から送信された複数の端末表示用コードを、それぞれのコードNoと、それぞれのコード有効期限とともに受信する。そして、受信された情報を、記憶部28の端末表示用コードストックデータ2831に記憶させる。
<第5実施例の効果>
 第5実施例は、端末20から送信されたコード生成依頼情報(限定ではなく、コード情報の送信の依頼に関する情報の一例)に基づいて、端末20が、サーバ10によって第1のコード有効期限が関連付けられた第1の端末表示用コード画像や第1の決済用番号(限定ではなく、第6コード情報の一例)と、サーバ10によって第2のコード有効期限が関連付けられた第2の端末表示用コード画像や第2の決済用番号(限定ではなく、第7コード情報の一例)とを通信I/F22によって受信する。そして、第1のコード有効期限の開始時刻は、第2のコード有効期限の開始時刻と異なり、第1のコード有効期限の終了時刻は、第2のコード有効期限の終了時刻と異なる構成を示している。
 このような構成により得られる効果の一例として、端末は、有効期限の開始時刻と終了時刻とが異なる複数のコード情報を受信して記憶することで、セキュリティを高め、端末の記憶部に記憶された端末表示用コードが他人に盗まれるなどのリスクを低減することができる。
<第5変形例>
 第5実施例では、サーバ10が、端末表示用コード生成処理において、コード有効期限の開始時刻(または開始日時)と終了時刻(または終了日時)とが異なる複数の端末表示用コードを生成して端末20に送信したが、これに限定されない。
 限定ではなく例として、サーバ10が、コード有効期限の開始時刻(または開始日時)は異なるが、コード有効期限の終了時刻(終了日時)は同じである複数の端末表示用コードを生成して端末20に送信するようにしてもよいし、そのようにしなくてもよい。この場合は、コード有効期限の終了時刻(終了日時)が同じとなるように、コード有効時間を変えて端末表示用コードを生成するようにすればよい。
 また、限定ではなく例として、サーバ10が、コード有効期限の終了時刻(または終了日時)は異なるが、コード有効期限の開始時刻(開始日時)は同じである複数の端末表示用コードを生成して端末20に送信するようにしてもよいし、そのようにしなくてもよい。
 また、コード有効期限を同じとする端末表示用コードの数(1組(1セット)とする端末表示用コードの数)や、コード有効期限を異ならせる端末表示用コードの数(組の数、セット数)等は、どのように設定してもよい。
 1  通信システム
 10 サーバ
 20 端末
 30 ネットワーク
 40 店舗POSシステム
 50 店舗コードリーダ装置
 60 コードレジ
 70 店舗サーバ

Claims (31)

  1.  コード情報に基づく決済に関する処理を実行する端末の情報処理方法であって、
     サーバによって第1有効期限が関連付けられた第1コード情報を、前記サーバから前記端末の通信部を介して受信することと、
     受信された前記第1コード情報を、前記端末の制御部によって前記端末の記憶部に記憶することと、
     前記第1コード情報に基づいて、前記決済に関する処理を前記制御部によって実行することとを含み、
     前記決済は、前記決済に関する処理に基づく時刻と、前記第1有効期限とに基づいて前記サーバによって実行される。
  2.  請求項1に記載の情報処理方法であって、
     前記第1有効期限に関する情報に基づいて、前記第1コード情報とは異なる第2コード情報を前記サーバから前記通信部を介して受信することを含み、
     前記第2コード情報は、前記第1有効期限とは異なる第2有効期限が前記サーバによって関連付けられる。
  3.  請求項2に記載の情報処理方法であって、
     前記第1有効期限に関する情報を、前記サーバから前記通信部を介して受信することと、
     前記第1有効期限を、前記制御部によって前記第1コード情報に関連付けて前記記憶部に記憶することとを含む。
  4.  請求項3に記載の情報処理方法であって、
     前記第1有効期限に関する情報に基づいて、前記第2コード情報の送信を依頼する情報を前記サーバに前記通信部を介して送信することを含む。
  5.  請求項2から請求項4のいずれか一項に記載の情報処理方法であって、
     前記第2コード情報は、前記第1有効期限が経過する前に、前記サーバから前記通信部を介して受信される。
  6.  請求項2から請求項5のいずれか一項に記載の情報処理方法であって、
     前記第2コード情報の受信に基づいて、前記第1コード情報の利用を不可とする処理を前記制御部によって行うことを含む。
  7.  請求項1に記載の情報処理方法であって、
     前記第1有効期限の延長に関する情報を前記サーバに前記通信部を介して送信することを含む。
  8.  請求項6に記載の情報処理方法であって、
     前記端末のユーザの認証に関する処理の実行に基づいて、前記第1有効期限の延長に関する処理を前記端末の制御部によって行うことを含む。
  9.  請求項6から請求項8のいずれか一項に記載の情報処理方法であって、
     前記サーバから送信された、延長された前記第1有効期限に関する情報を、前記通信部を介して受信することと、
     前記第1有効期限が延長されたことを示す情報を、前記端末の表示領域に表示することとを含む。
  10.  請求項1に記載の情報処理方法であって、
     設定された時刻に基づき前記サーバから送信された、前記サーバによって第3有効期限が関連付いた第3コード情報を、前記通信部を介して受信することを含む。
  11.  請求項1に記載の情報処理方法であって、
     前記端末のユーザの情報に基づいて前記サーバから送信された、前記サーバによって第4有効期限が関連付いた第4コード情報を、前記通信部を介して受信することを含む。
  12.  請求項1に記載の情報処理方法であって、
     災害に関する情報に基づき前記サーバから送信された、前記サーバによって第5有効期限が関連付いた第5コード情報を、前記通信部を介して受信することを含む。
  13.  請求項1から請求項12のいずれか一項に記載の情報処理方法であって、
     前記第1有効期限は、前記端末のユーザの情報に基づき前記サーバによって設定される。
  14.  請求項13に記載の情報処理方法であって、
     前記端末のユーザの情報は、前記ユーザの信用スコアを含む。
  15.  請求項13または請求項14に記載の情報処理方法であって、
     前記端末のユーザの情報は、前記ユーザの位置の情報、または前記端末の位置の情報を含む。
  16.  請求項13から請求項15のいずれか一項に記載の情報処理方法であって、
     前記端末のユーザの情報は、前記ユーザのスケジュールの情報を含む。
  17.  請求項13から請求項16のいずれか一項に記載の情報処理方法であって、
     前記端末のユーザの情報は、前記ユーザの前記コード情報に基づく決済の情報を含む。
  18.  請求項1から請求項17のいずれか一項に記載の情報処理方法であって、
     前記第1有効期限は、前記サーバによって取得されたイベントに関する情報に基づいて設定される。
  19.  請求項1に記載の情報処理方法であって、
     前記第1有効期限の情報を前記端末の表示領域に表示することを含む。
  20.  請求項18に記載の情報処理方法であって、
     前記第1有効期限の情報と、前記第1コード情報とを前記表示領域に表示することを含む。
  21.  請求項19または請求項20に記載の情報処理方法であって、
     前記第1有効期限の情報は、前記端末の通信の状態に基づいて、前記表示領域に表示される。
  22.  請求項20に記載の情報処理方法であって、
     前記第1コード情報と、前記第1有効期限とは異なる、前記第1コード情報が利用できる期限とを前記表示領域に表示することを含む。
  23.  請求項19または請求項20に記載の情報処理方法であって、
     前記第1有効期限が前記表示領域に表示される場合、前記第1有効期限から設定された期限に変更して前記表示領域に表示することを含む。
  24.  請求項1に記載の情報処理方法であって、
     前記端末から送信された前記コード情報の送信の依頼に関する情報に基づいて、前記サーバによって第6有効期限が関連付けられた第6コード情報と、前記サーバによって第7有効期限が関連付けられた第7コード情報とを前記通信部を介して受信することを含み、
     前記第6有効期限の開始時刻は、前記第7有効期限の開始時刻と異なり、
     前記第6有効期限の終了時刻は、前記第7有効期限の終了時刻と異なる。
  25.  コード情報に基づく決済に関する処理を実行する端末のコンピュータによって実行されるプログラムであって、
     サーバによって第1有効期限が関連付けられた第1コード情報を、前記サーバから前記端末の通信部を介して受信することと、
     受信された前記第1コード情報を前記端末の記憶部に記憶することと、
     前記第1コード情報に基づいて、前記決済に関する処理を実行することとを含み、
     前記決済は、前記決済に関する処理に基づく時刻と、前記第1有効期限とに基づいて前記サーバによって実行される。
  26.  コード情報に基づく決済に関する処理を実行する端末であって、
     サーバによって第1有効期限が関連付けられた第1コード情報を、前記サーバから受信する通信部と、
     受信された前記第1コード情報を前記端末の記憶部に記憶する制御を行う制御部とを備え、
     前記制御部は、前記第1コード情報に基づいて、前記決済に関する処理を実行し、
     前記決済は、前記決済に関する処理に基づく時刻と、前記第1有効期限とに基づいて前記サーバによって実行される。
  27.  コード情報に基づく決済に関する処理を実行する端末であって、
     メモリに記憶されたプログラムを読み出し、前記プログラムに基づく処理を実行するプロセッサーを備え、
     前記プロセッサーは、
     サーバによって第1有効期限が関連付けられた第1コード情報を、前記サーバから前記端末の通信部を介して受信する処理と、
     受信された前記第1コード情報を前記メモリに記憶する処理と、
     前記第1コード情報に基づく前記決済に関する処理とを実行し、
     前記決済は、前記決済に関する処理に基づく時刻と、前記第1有効期限とに基づいて前記サーバによって実行される。
  28.  コード情報に基づく決済を管理するサーバの情報処理方法であって、
     第1コード情報と、第1有効期限とを関連付けて、前記サーバの制御部によって前記サーバの記憶部に記憶することと、
     前記決済に関する処理を行う端末に前記第1コード情報を前記サーバの通信部を介して送信することと、
     前記第1コード情報と、前記第1コード情報に基づいて行われた前記決済に関する処理に基づく時刻の情報とを前記通信部を介して受信することと、
     受信された前記第1コード情報に関連付けられた前記第1有効期限と、受信された前記決済に関する処理に基づく時刻とに基づいて、前記決済の処理を前記制御部によって行うこととを含む。
  29.  コード情報に基づく決済を管理するサーバのコンピュータによって実行されるプログラムであって、
     第1コード情報と、第1有効期限とを関連付けて、前記サーバの記憶部に記憶することと、
     前記決済に関する処理を行う端末に前記第1コード情報を前記サーバの通信部を介して送信することと、
     前記第1コード情報と、前記第1コード情報に基づいて行われた前記決済に関する処理に基づく時刻の情報とを前記通信部を介して受信することと、
     受信された前記第1コード情報に関連付けられた前記第1有効期限と、受信された前記決済に関する処理に基づく時刻とに基づいて、前記決済の処理を行うこととを含む。
  30.  コード情報に基づく決済を管理するサーバであって、
     第1コード情報と、第1有効期限とを関連付けて記憶する記憶部と、
     前記決済に関する処理を行う端末に前記第1コード情報を送信し、前記第1コード情報と、前記第1コード情報に基づいて行われた前記決済に関する処理に基づく時刻の情報とを受信する通信部と、
     受信された前記第1コード情報に関連付けられた前記第1有効期限と、受信された前記決済に関する処理に基づく時刻とに基づいて、前記決済の処理を行う制御部とを備える。
  31.  コード情報に基づく決済を管理するサーバであって、
     メモリに記憶されたプログラムを読み出し、前記プログラムに基づく処理を実行するプロセッサーを備え、
     前記プロセッサーは、
     第1コード情報と、第1有効期限とを関連付けて前記メモリに記憶する処理と、
     前記決済に関する処理を行う端末に前記第1コード情報を送信し、前記第1コード情報と、前記第1コード情報に基づいて行われた前記決済に関する処理に基づく時刻の情報とを受信する処理と、
     受信された前記第1コード情報に関連付けられた前記第1有効期限と、受信された前記決済に関する処理に基づく時刻とに基づく前記決済の処理とを実行する。
PCT/JP2020/020258 2019-06-17 2020-05-22 情報処理方法、プログラム、端末、サーバ WO2020255621A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020217038492A KR20220020803A (ko) 2019-06-17 2020-05-22 정보 처리 방법, 프로그램, 단말, 서버
CN202080036197.8A CN113826133A (zh) 2019-06-17 2020-05-22 信息处理方法、程序、终端、服务器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019112044A JP2020204884A (ja) 2019-06-17 2019-06-17 情報処理方法、プログラム、端末、サーバ
JP2019-112044 2019-06-17

Publications (1)

Publication Number Publication Date
WO2020255621A1 true WO2020255621A1 (ja) 2020-12-24

Family

ID=73837036

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/020258 WO2020255621A1 (ja) 2019-06-17 2020-05-22 情報処理方法、プログラム、端末、サーバ

Country Status (4)

Country Link
JP (1) JP2020204884A (ja)
KR (1) KR20220020803A (ja)
CN (1) CN113826133A (ja)
WO (1) WO2020255621A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023059033A (ja) * 2021-10-14 2023-04-26 株式会社日立製作所 決済支援システム
JP7121183B1 (ja) * 2021-11-29 2022-08-17 PayPay株式会社 提供装置、提供方法及び提供プログラム
JP7403696B1 (ja) 2023-01-26 2023-12-22 PayPay株式会社 情報管理装置、アプリケーションプログラム、情報管理方法、およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0138620B2 (ja) * 1984-10-29 1989-08-15 Riken Seiki Kk
JP2004213363A (ja) * 2002-12-27 2004-07-29 Japan Research Institute Ltd 電子決済システム、電子決済方法およびその方法をコンピュータに実行させるプログラム
JP2008250884A (ja) * 2007-03-30 2008-10-16 Cyber Coin Kk 認証システム、認証システムに用いられるサーバ、移動体通信端末、プログラム
JP2008257751A (ja) * 2008-07-28 2008-10-23 Kinsuke Yamawaki 取引情報の信用を担保する取引方法
JP2017027441A (ja) * 2015-07-24 2017-02-02 凸版印刷株式会社 チケット発券システム
JP2018022451A (ja) * 2016-08-05 2018-02-08 株式会社東芝 端末装置、決済装置、および表示制御プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176671A (ja) 2000-09-28 2002-06-21 Takashi Fujimoto 移動体電話機
JP6438620B1 (ja) * 2018-07-19 2018-12-19 株式会社メルカリ プログラム、情報処理方法、情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0138620B2 (ja) * 1984-10-29 1989-08-15 Riken Seiki Kk
JP2004213363A (ja) * 2002-12-27 2004-07-29 Japan Research Institute Ltd 電子決済システム、電子決済方法およびその方法をコンピュータに実行させるプログラム
JP2008250884A (ja) * 2007-03-30 2008-10-16 Cyber Coin Kk 認証システム、認証システムに用いられるサーバ、移動体通信端末、プログラム
JP2008257751A (ja) * 2008-07-28 2008-10-23 Kinsuke Yamawaki 取引情報の信用を担保する取引方法
JP2017027441A (ja) * 2015-07-24 2017-02-02 凸版印刷株式会社 チケット発券システム
JP2018022451A (ja) * 2016-08-05 2018-02-08 株式会社東芝 端末装置、決済装置、および表示制御プログラム

Also Published As

Publication number Publication date
CN113826133A (zh) 2021-12-21
JP2020204884A (ja) 2020-12-24
KR20220020803A (ko) 2022-02-21

Similar Documents

Publication Publication Date Title
WO2020255621A1 (ja) 情報処理方法、プログラム、端末、サーバ
JP6815447B1 (ja) プログラム、情報処理方法、端末
US20140089195A1 (en) Person to person photo payments
CN112119415A (zh) 生成方法、程序以及信息处理装置
CN112204598A (zh) 认证方法、程序、终端
JP7493916B2 (ja) プログラム、情報処理方法、端末
US11521192B2 (en) Settlement system, user terminal and method executed thereby, settlement device and method executed thereby, and program
JP6138975B2 (ja) クーポン発行装置、クーポン発行システム、クーポン発行方法およびプログラム
JP7354162B2 (ja) プログラム、情報処理方法、端末
JP2020204883A (ja) 情報処理方法、プログラム、端末
JP7306770B2 (ja) プログラム、情報処理方法、端末
WO2021014786A1 (ja) 情報処理方法、プログラム、端末
US20140143104A1 (en) Receipt retrieval based on location
JP6765483B1 (ja) 情報処理方法、プログラム、端末
US20220108298A1 (en) Information processing method, program, and terminal
JP7064046B1 (ja) アプリケーションプログラム、サービス提供システム、および端末装置
JP2022173572A (ja) 方法及びプログラム
CN106030645B (zh) 登记系统和方法
US20200380484A1 (en) Crowdfunding credit card payments
WO2020255620A1 (ja) 情報処理方法、プログラム、端末
JP7306771B2 (ja) プログラム、情報処理方法、端末
JP7343258B2 (ja) プログラム、情報処理方法、情報処理装置
JP5869615B2 (ja) クーポン発行装置、クーポン発行システム、クーポン発行方法およびプログラム
JP7466477B2 (ja) プログラム、情報処理方法、端末、サーバ
JP7318131B2 (ja) サービス提供システム、サービス提供方法、及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20827262

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20827262

Country of ref document: EP

Kind code of ref document: A1