Information processing system, information processing method, and program
The information processing system addresses the environmental and cost issues of paper coupons by using an offline terminal to capture and authenticate digital coupons, ensuring efficient and cost-effective discount application.
Patent Information
- Application Number
- JP2023203509
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-01
- Publication Date
- 2025-06-12
AI Technical Summary
Issuing paper coupons incurs costs for printing, requires installation of an apparatus, and has environmental burdens associated with logging and transportation of forest resources.
An information processing system that acquires a coupon based on code information included in a captured image displayed on an offline terminal, which includes a coupon for discounting a product or service signed with a first certificate. The system determines the correctness of the certificate and the genuineness of the coupon using a second certificate and public/secret key pairs, then applies the discount during the payment process.
This solution allows for digital coupon authentication without the need for a network connection, making it cost-effective and environmentally friendly, and can be introduced even by individuals or small-scale stores.
Smart Images

Figure 2025088803000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing system, an information processing method, and a program.
Background Art
[0002] There is a service that issues tickets to waive parking fees for a predetermined time or discount the predetermined fees at a parking lot related to a store when a customer purchases goods worth a predetermined amount or more at the store. Patent Document 1 discloses an apparatus for issuing paper coupon tickets.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Issuing paper coupons incurs costs for printing, requires installation of an apparatus for issuing paper coupons, and has problems such as environmental burdens associated with logging and transportation of forest resources.
Means for Solving the Problems
[0005] According to one aspect of the present invention, an information processing system is provided. This information processing system acquires a coupon based on code information included in a captured image. The captured image includes code information displayed on an offline terminal. The code information includes a coupon for discounting the price of a predetermined product or service signed with a first certificate assigned to the offline terminal and the first certificate. When it is determined that the first certificate is a correct certificate based on a second certificate used for signing the first certificate, and it is determined that the coupon is genuine based on the public key included in the first certificate and the secret key that forms a pair with the public key, when processing the payment of the price of a predetermined product or service by the user who captured the code information, a process of discounting the price by the discount amount indicated by the coupon is executed.
Brief Description of the Drawings
[0006]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Embodiments for Carrying Out the Invention
[0007] Hereinafter, embodiments of the present invention will be described with reference to the drawings. Various characteristic matters shown in the following embodiments can be combined with each other.
[0008] As used herein, the term "unit" may include, for example, hardware resources implemented by a circuit in a broad sense and information processing of software that can be specifically realized by these hardware resources. Also, in Embodiment 1, various types of information are handled. These types of information are represented by the high and low of signal values as a set of binary bits composed of 0 or 1, and communication and operations can be executed on a circuit in a broad sense.
[0009] Also, a circuit in a broad sense is a circuit realized by appropriately combining at least a circuit, circuitry, a processor, a memory, etc. That is, it includes an application specific integrated circuit (ASIC), programmable logic devices (for example, a simple programmable logic device (SPLD), a complex programmable logic device (CPLD), and a field programmable gate array (FPGA)), etc.
[0010] <Embodiment 1> 1. System Configuration Diagram FIG. 1 is a diagram showing an example of the system configuration of an information processing system 1000. As shown in FIG. 1, the information processing system 1000 includes, as a system configuration, a server device 100, an offline terminal 120, a terminal device 130, and a cash register 140. The server device 100, the terminal device 130, and the cash register 140 are communicably connected via a network 150.
[0011] The offline terminal 120 is a terminal operated by a store clerk or the like, and displays a two-dimensional code including information such as an electronic coupon (hereinafter simply referred to as a coupon) that discounts the parking fee (usage fee) of a parking lot based on the operation of a store clerk or the like. The parking fee of the parking lot is an example of the fee for a predetermined product or service. In Embodiment 1, a coupon that discounts the parking fee of the parking lot will be described as an example unless otherwise specified, but this does not limit Embodiment 1. Other examples of the fee for a predetermined product or service may be the fee for food in the food service industry or the accommodation fee of an accommodation facility. These are examples, and any product or service fee can be discounted as long as it can be discounted. The two-dimensional code is an example of code information. The offline terminal 120 is a double of electronic paper, has buttons, and when a button is selected, it is energized and displays a two-dimensional code. For example, when an operator such as a store clerk selects the button once, the offline terminal 120 displays a coupon with a discount of 100 yen, and when the operator selects the button twice, it displays a coupon with a discount of 200 yen. As another example, the offline terminal 120 may have buttons for each discount amount and display a discount coupon corresponding to the selected button.
[0012] The terminal device 130 captures an image of the two-dimensional code displayed on the offline terminal 120 based on a user's operation. The user of the terminal device 130 is a user who uses a store or the like. The terminal device 130 stores a captured image obtained by capturing the two-dimensional code based on a user's operation.
[0013] The payment machine 140 is a payment machine installed at the exit of the parking lot. It captures an image of the captured image displayed on the terminal device 130 and transmits the captured image or the read information read from the captured image to the server device 100. Then, the payment machine 140 executes a payment process for the parking fee based on the discount amount transmitted from the server device 100 and the parking time of the corresponding vehicle parked in the parking lot.
[0014] The server device 100 executes the processes related to Embodiment 1. For example, when the server device 100 determines that a coupon is valid, it performs processes such as executing a process of discounting the parking fee by the amount of the discount indicated by the coupon during the payment process of the parking fee.
[0015] In FIG. 1, a smartphone is shown as an example of the terminal device 130. However, this does not limit the specification. The terminal device 130 is not limited to a smartphone and may be a tablet computer or the like. That is, the terminal device 130 may be any device as long as it can be carried by a user who drives a vehicle and can be connected to the Internet.
[0016] Here, the information processing system described in the claims may be configured by a plurality of devices or may be configured by a single device. When the information processing system described in the claims is configured by a single device, an example of the device is the server device 100. When the information processing system described in the claims is configured by a plurality of devices, examples of the plurality of devices include a cloud system configured by a plurality of server devices that provide the functions of the server device 100, or the server device 100 and the payment terminal 140, etc.
[0017] 2. Hardware Configuration (1) Hardware Configuration of Server Device 100 FIG. 2 is a diagram showing an example of the hardware configuration of the server device 100. As shown in FIG. 2, the server device 100 includes, as a hardware configuration, a control unit 210, a storage unit 220, and a communication unit 230.
[0018] The control unit 210 is a CPU (Central Processing Unit) or the like, and controls the entire server device 100. The storage unit 220 is any one of an HDD (Hard Disk Drive), a ROM (Read Only Memory), a RAM (Random Access Memory), an SSD (Solid Sate Drive), or any combination thereof, and stores programs, data, etc. that the control unit 210 uses when executing processing based on the programs. The storage unit 220 is an example of a storage medium. In the specification, although it is described that the data used when the control unit 210 executes processing based on a program is stored in the storage unit 220, it may be stored in the storage unit of another device that can communicate with the server device 100. That is, the data may be stored in the storage unit of any device as long as the control unit 210 can refer to it. By the control unit 210 executing processing based on the program stored in the storage unit 220, the functions of the server device 100 and the processing of the server device 100 in the sequence diagram shown in FIG. 5 described later are realized. The communication unit 230 connects the server device 100 to the network 150 and manages communication with other devices.
[0019] (2) Hardware Configuration of Terminal Device 130 FIG. 3 is a diagram showing an example of the hardware configuration of the terminal device 130. As shown in FIG. 3, the terminal device 130 includes, as a hardware configuration, a control unit 310, a storage unit 320, an imaging unit 330, an input / output unit 340, and a communication unit 350.
[0020] The control unit 310 is a CPU or the like, and controls the entire terminal device 130. The storage unit 320 is one of a ROM, a RAM, an SSD, or the like, or any combination thereof, and stores programs, data, etc. that are used when the control unit 310 executes processing based on the programs. The storage unit 320 is an example of a storage medium. In the specification, although it is described that the data used when the control unit 310 executes processing based on the programs is stored in the storage unit 320, it may be stored in the storage unit of another device that can communicate with the terminal device 130. That is, the data may be stored in the storage unit of any device as long as the control unit 310 can refer to it. When the control unit 310 executes processing based on the programs stored in the storage unit 320, the functions of the terminal device 130 and the processing of the terminal device 130 in the sequence diagram shown in FIG. 4 described later are realized.
[0021] The imaging unit 330 is a camera or the like, and images a subject. For example, the imaging unit 330 images the two-dimensional code displayed on the offline terminal 120.
[0022] The input / output unit 340 is a touch panel display or the like, and receives the operation information of the user and transmits it to the control unit 310, or displays information based on the control of the control unit 310. The communication unit 350 connects the terminal device 130 to the network 150 and controls communication with other devices.
[0023] The calculator 140 also has at least a control unit and a storage unit as a hardware configuration. The functions of the calculator 140 are realized by the control unit of the calculator 140 executing processing based on the programs stored in the storage unit of the calculator 140.
[0024] 3. Information Processing Hereinafter, the information processing of Embodiment 1 will be described.
[0025] (Overview of Processing) The control unit 210 acquires a coupon based on the two-dimensional code included in the captured image. Here, the captured image includes the two-dimensional code displayed on the offline terminal 120. The two-dimensional code includes a coupon for discounting the parking fee and the first certificate signed with the first certificate assigned to the offline terminal 120. As an example of the first certificate, there is a terminal certificate A-b shown in FIG. 6 described later. When the control unit 210 determines that the first certificate is a correct certificate based on the second certificate used for signing the first certificate, and determines that the coupon is genuine based on the public key included in the first certificate and the secret key that is a pair of the public key, the control unit 210 executes a process of discounting the parking fee by the user who captured the two-dimensional code by the discount amount indicated by the coupon. As an example of the second certificate, there is an intermediate certificate A shown in FIG. 6 described later. Here, the server device 100 manages in association a root certificate (root certificate 600 shown in FIG. 6 described later) that is the topmost certificate in the hierarchical structure and intermediate certificates (intermediate certificate A610, intermediate certificate B620, intermediate certificate C630 shown in FIG. 6 described later) that are one level lower than the root certificate. Further, as shown in FIG. 6 described later, since the terminal certificate generated by signing the intermediate certificate is attached with "A" which is identification information as shown in terminal certificate A-a640 and terminal certificate A-b650, the control unit 210 can know that it is generated by signing the intermediate certificate A610.
[0026] With such a configuration, it is possible to authenticate a digital coupon using the offline terminal 120 that is not connected to the network. Since the offline terminal 120 used in the store does not need to be connected to the network, this mechanism can be introduced even by individuals or small-scale stores. Further, since the offline terminal 120 does not need to be connected to the Internet, the information processing system 1000 can be introduced at low cost.
[0027] (Details of the process) FIG. 4 is a sequence diagram (part 1) showing an example of information processing in the information processing system 1000. In sequence SQ401, the offline terminal 120 generates a two-dimensional code including a discount amount based on the number of buttons pressed by a store clerk or the like in the store, or based on the pressed button, and displays it on the display. Note that the two-dimensional code further includes a certificate installed in the offline terminal 120 (for example, the terminal certificate A-b shown in FIG. 6 described later). As described above, the offline terminal 120 is used in a store or the like. According to the usage amount of the user in the store, the store clerk operates the offline terminal 120 to specify a discount amount based on the rules. The rules are, for example, to discount the parking fee by a predetermined amount (for example, 100 yen) every time the user uses a predetermined amount (for example, 1000 yen) in the store.
[0028] In sequence SQ402, the control unit 310 of the terminal device 130 captures an image of the two-dimensional code displayed on the display of the offline terminal 120 based on the user's operation.
[0029] In sequence SQ403, the control unit 310 stores the captured image of the two-dimensional code in the storage unit 320 or the like. When the user of the terminal device 130 leaves the parking lot, in order to show the two-dimensional code to the cashier 140, the user performs an operation to display the two-dimensional code on the input / output unit 340. In sequence SQ404, the control unit 310 displays the two-dimensional code stored in the storage unit 320 or the like on the input / output unit 340 based on the user operation. The captured image includes the two-dimensional code displayed on the offline terminal 120. The two-dimensional code includes a coupon for discounting the parking lot fee signed with the first certificate assigned to the offline terminal 120.
[0030] In sequence SQ405, the cash register 140 has a camera and captures the two-dimensional code displayed on the input / output unit 340 of the terminal device 130. Then, the cash register 140 reads, as acquisition information, a coupon, a certificate installed in the offline terminal 120 (for example, the terminal certificate A-b shown in FIG. 6 described later), etc. included in the two-dimensional code from the captured image of the two-dimensional code.
[0031] FIG. 5 is a sequence diagram (part 2) showing an example of information processing in the information processing system 1000. In FIG. 5, the subsequent information processing of the processing in FIG. 4 is described. Following the processing of sequence SQ405, in sequence SQ406, the cash register 140 transmits the read information to the server device 100. The control unit 210 of the server device 100 receives the read information from the cash register 140. As described above, the read information includes a coupon, a certificate installed in the offline terminal 120 (for example, the terminal certificate A-b shown in FIG. 6 described later), etc.
[0032] Here, FIG. 6 is a diagram showing an example of the hierarchical structure of certificates. The control unit 210 has a root certificate 600. The root certificate 600 is the topmost certificate in the hierarchical structure. The control unit 210 issues a plurality of intermediate certificates electronically signed with the root certificate 600 based on a request. In the example of FIG. 6, the intermediate certificates are an intermediate certificate A610, an intermediate certificate B620, an intermediate certificate C630, etc. The control unit 210 associates and holds and manages the root certificate 600 and the intermediate certificates (intermediate certificate A610, intermediate certificate B620, intermediate certificate C630) in the storage unit 220, etc.
[0033] The control unit 210 issues a terminal certificate electronically signed with an intermediate signature certificate based on a request. Taking the intermediate certificate A610 as an example, the control unit 210 issues and causes to be downloaded a terminal certificate (such as the terminal certificate A-b650) electronically signed with the intermediate certificate A610 based on a request. The control unit 210 does not hold and manage the terminal certificate in the server device 100.
[0034] FIG. 7 is a diagram for explaining an outline of processing in an information processing system. As shown in S701, the issued terminal certificate A-b650, which is electronically signed with the intermediate certificate A610, is recorded on a portable recording medium such as a USB flash drive, etc., and installed in the offline terminal 120. Note that the terminal certificate A-b650 may be installed in the offline terminal 120 by default before shipment of the offline terminal 120. In S702, the offline terminal 120 issues a coupon in response to an operation by a store clerk or the like, for example, a 100-yen coupon when a button is pressed once, a 200-yen coupon when the button is pressed twice, etc. Then, the offline terminal 120 generates and displays a two-dimensional code including the terminal certificate A-b650 and the coupon. In S703, the terminal device 130 that has imaged the two-dimensional code, or the cash register 140 that has further read the two-dimensional code, presents the terminal certificate A-b650 and the coupon to the server device 100. In S704, the server device 100 identifies the intermediate certificate A610 of the signature source based on the terminal certificate A-b650, and determines whether the terminal certificate A-b650 is correct based on the intermediate certificate A610. When the server device 100 determines that the terminal certificate A-b650 is correct, the server device 100 determines whether the coupon is genuine based on the public key included in the terminal certificate A-b650 and the secret key that is a pair of the public key.
[0035] Return to the description of FIG. 5. In sequence SQ407, the control unit 210 acquires a certificate (for example, the terminal certificate A-b shown in FIG. 6) included in the read information, identifies the certificate of the signature source of this certificate (for example, the intermediate certificate A610 shown in FIG. 6) from the acquired certificate, and determines whether the terminal certificate A-b650 is correct based on the intermediate certificate A610.
[0036] When it is determined that the terminal certificate A-b650 is correct based on the intermediate certificate A610, in sequence SQ408, the control unit 210 determines the authenticity of the coupon. If, based on the intermediate certificate A610, the control unit 210 determines that the terminal certificate A-b650 is incorrect, it will reply to the requester's calculator 140 to that effect and end the process. More specifically regarding the authenticity determination of the coupon, the control unit 210 determines whether the coupon is genuine or fake based on the public key included in the terminal certificate A-b650 and the private key that forms a pair with the public key. The processes of sequence SQ407 and sequence SQ408 determine whether the first certificate is correct based on the second certificate used for signing the first certificate. If it is determined that the first certificate is a correct certificate, it is an example of a process for determining whether the coupon is genuine or not based on the public key included in the first certificate and the private key that forms a pair with the public key.
[0037] If it is determined that the coupon is genuine, in sequence SQ409, the control unit 210 transmits to the calculator 140 that the coupon is genuine and the discount amount indicated by the coupon. If the determination result is false, the control unit 210 transmits to the calculator 140 information indicating that the coupon is false. Hereinafter, the description will be made assuming that the coupon is genuine. The process of sequence SQ409 is an example of a process of discounting the parking lot fee by the discount amount indicated by the coupon when the user who has imaged the two-dimensional code makes a payment for the parking lot fee, when it is determined that the first certificate is a correct certificate based on the second certificate used for signing the first certificate, and it is determined that the coupon is genuine based on the public key included in the first certificate and the private key that forms a pair with the public key.
[0038] In sequence SQ410, the calculator 140 executes a process of discounting the parking lot fee by the user of the coupon by the discount amount indicated by the coupon.
[0039] In sequence SQ411, the control unit 210 executes a process of billing the discount amount indicated by the coupon to the store of the offline terminal 120. For example, the control unit 210 may execute a process of automatically debiting the discount amount indicated by the coupon from the registered account of the store of the offline terminal 120, or may execute a credit settlement for the discount amount indicated by the coupon based on the credit card information of the registered store of the offline terminal 120. The process of sequence SQ411 is an example of a process of billing the discount amount indicated by the coupon to the store of the offline terminal 120 when it is determined that the first certificate is a correct certificate based on the second certificate used for signing the first certificate, and when it is determined that the coupon is genuine based on the public key included in the first certificate and the secret key that forms a pair with the public key. Here, when the store of the offline terminal 120 has a parking lot, the control unit 210 may skip the process of sequence SQ411 based on information about the parking lot where the settlement machine 140 is installed and stored in the storage unit 220 and the like.
[0040] According to the process of Embodiment 1, digital coupon authentication can be performed using the offline terminal 120 that is not connected to the network. Since the offline terminal 120 used in the store does not need to be connected to the network, this mechanism can be introduced even in individuals or small-scale stores. In addition, since the offline terminal 120 does not need to be connected to the Internet, the information processing system 1000 can be introduced at low cost.
[0041] (Modification Example 1) A modification example of Embodiment 1 will be described. In Modification Example 1, the parts different from Embodiment 1 will be described. The parts omitted in Modification Example 1 are the same as those in Embodiment 1. Modification Example 1 is included in Embodiment 1 and is not a different embodiment from Embodiment 1. In the case of a form in which parking fees are paid over the Internet, the two-dimensional code may include, for example, the URL (Uniform Resource Locator) of a web page provided by the server device 100 for paying the parking fees. The user of the terminal device 130 reads the two-dimensional code displayed on the offline terminal 120, accesses the above-mentioned URL, uploads the captured image to a predetermined location indicated by the URL or the like, or uploads the information obtained from the captured image (the above-mentioned read information or the like). The server device 100 executes settlement processing such as sequence SQ410 for the user's vehicle specified on the web based on the captured image or the information obtained from the captured image, and billing processing as shown in sequence SQ411.
[0042] Such processing can also achieve the above-described effects.
[0043] <Appendix> The invention may be provided in each of the following aspects.
[0044] (1) An information processing system that acquires a coupon based on code information included in a captured image, the captured image includes the code information displayed on an offline terminal, the code information includes a coupon for discounting the price of a predetermined product or service signed with a first certificate assigned to the offline terminal and the first certificate, the first certificate is determined to be a correct certificate based on a second certificate used for signing the first certificate, and when it is determined that the coupon is genuine based on the public key included in the first certificate and the secret key that is a pair of the public key, executes a process of discounting the price by the amount of discount indicated by the coupon when processing the payment of the price of the predetermined product or service by the user who captured the code information.
[0045] (2) In the information processing system according to (1) above, determine whether the first certificate is correct based on a second certificate used for signing the first certificate, and if it is determined that the first certificate is a correct certificate, determine whether the coupon is genuine based on the public key included in the first certificate and the secret key that is a pair with the public key. An information processing system.
[0046] (3) In the information processing system according to (1) or (2) above, if it is determined that the first certificate is a correct certificate based on a second certificate used for signing the first certificate, and it is determined that the coupon is genuine based on the public key included in the first certificate and the secret key that is a pair with the public key, execute a process of billing the discount amount indicated by the coupon to the store of the offline terminal. An information processing system.
[0047] (4) In the information processing system according to any one of (1) to (3) above, the coupon is a coupon for discounting the parking fee. An information processing system.
[0048] (5) An information processing method executed by an information processing system, which reads a coupon based on code information included in a captured image, the captured image includes the code information displayed on an offline terminal, the code information includes a coupon for discounting the price of a predetermined product or service signed with a first certificate assigned to the offline terminal, determines that the first certificate is a correct certificate based on a second certificate used for signing the first certificate, and determines that the coupon is genuine based on the public key included in the first certificate and the secret key that is a pair with the public key. When performing the payment process for the price of the predetermined product or service by the user who captured the code information, execute a process of discounting the price by the discount amount indicated by the coupon.
[0049] (6) A program for causing a computer to function as the information processing system according to any one of (1) to (4) above. Of course, this is not all-inclusive.
[0050] For example, part of the processing of the above-described server device 100 may be executed by another device.
[0051] Finally, although various embodiments according to the present invention have been described, these are presented as examples and are not intended to limit the scope of the invention. The novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the gist of the invention. The embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the equivalent scope thereof.
Explanation of Reference Numerals
[0052] 100: Server device 120: Offline terminal 130: Terminal device 140: Cash register 150: Network 210: Control unit 220: Storage unit 230: Communication unit 310: Control unit 320: Storage unit 330: Imaging unit 340: Input / output unit 350: Communication unit 1000: Information processing system
Claims
1. An information processing system, acquires a coupon based on code information included in a captured image, the captured image includes the code information displayed on an offline terminal, the code information includes a coupon for discounting the price of a predetermined product or service signed with a first certificate assigned to the offline terminal and the first certificate, when it is determined that the first certificate is a correct certificate based on a second certificate used for signing the first certificate, and it is determined that the coupon is genuine based on the public key included in the first certificate and the secret key paired with the public key, when performing payment processing for the price of the predetermined product or service by the user who captured the code information, execute a process of discounting the price by the discount amount indicated by the coupon. An information processing system.
2. In the information processing system according to Claim 1, determine whether the first certificate is correct based on a second certificate used for signing the first certificate, and when it is determined that the first certificate is a correct certificate, determine whether the coupon is genuine based on the public key included in the first certificate and the secret key paired with the public key. An information processing system.
3. In the information processing system according to Claim 1, when it is determined that the first certificate is a correct certificate based on a second certificate used for signing the first certificate, and it is determined that the coupon is genuine based on the public key included in the first certificate and the secret key paired with the public key, execute a process of billing the discount amount indicated by the coupon to the store of the offline terminal. An information processing system.
4. In the information processing system according to Claim 1, the coupon is a coupon for discounting the parking fee. An information processing system.
5. An information processing method executed by an information processing system, reads a coupon based on code information included in a captured image, the captured image includes the code information displayed on an offline terminal, the code information includes a coupon for discounting the price of a predetermined product or service signed with a first certificate assigned to the offline terminal. When it is determined that the first certificate is a valid certificate based on the second certificate used for signing the first certificate, and it is determined that the coupon is genuine based on the public key included in the first certificate and the private key paired with the public key, when processing the payment of the fee for the predetermined product or service by the user who imaged the code information, a process of discounting the fee by the discount amount indicated by the coupon is executed. Information processing method.
6. A program, for causing a computer to function as the information processing system according to any one of claims 1 to 4.
Citation Information
Patent Citations
Ticket machine
JP2003288614A