Information processing device and transaction processing system

The transaction processing system allows customers to check transaction results in real-time by integrating a mobile information terminal with an electronic receipt service, addressing the inability to receive receipts during mobile payments.

JP7801284B2Active Publication Date: 2026-01-16TOSHIBA TEC KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023145642
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-09-07
Publication Date
2026-01-16
Estimated Expiration
2040-02-06

AI Technical Summary

Technical Problem

Customers using mobile information terminals for transactions cannot receive receipts or check transaction results during the payment process.

Method used

A transaction processing system that includes a mobile information communication terminal, a transaction processing system, and an electronic receipt service, allowing customers to check transaction results via a user identifier stored in a storage means and transmitted to an information processing device for online payment processing.

Benefits of technology

Enables customers to receive electronic receipts and check transaction details in real-time during the payment process using their mobile devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007801284000001
    Figure 0007801284000001
  • Figure 0007801284000002
    Figure 0007801284000002
  • Figure 0007801284000003
    Figure 0007801284000003
Patent Text Reader

Abstract

To enable a customer to check transaction results while performing settlement processing in accordance with the customer's operation in a portable information terminal device.SOLUTION: A transaction processing system includes storage means, first transmission means, determination means, settlement means, and second transmission means. The storage means stores a user identifier for identifying a user of an electronic receipt service. The first transmission means transmits the user identifier stored in the storage means. The determination means determines the content of the transaction according to instructions by an operator of a portable information communication terminal. The settlement means settles payment of the transaction determined by the determination means. The second transmission means transmits transaction data representing the content determined by the determination means with respect to the transaction whose payment has been settled by the settlement means to a provision device for providing the electronic receipt service as association with the user identifier transmitted by the first transmission means.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] An embodiment of the present invention comprises: Information processing device and Regarding transaction processing systems. [Background technology]

[0002] A transaction processing system that registers transaction details in response to operations on a mobile information communication terminal carried by a customer is being considered, for example, as a smartphone POS system. In such a transaction processing system, if a payment method such as credit card payment or barcode payment is used, the payment process can be performed in response to the customer's operation of the mobile information terminal device. If payment can be completed in this manner, the customer can complete the transaction without operating any device other than the mobile information terminal device.

[0003] However, if the payment process is carried out in response to the customer's operation of the mobile information terminal device, the customer will not be able to receive a receipt and will not be able to check the transaction results later. In view of these circumstances, it has been desired that the customer be able to check the results of the transaction while the payment process is being carried out in response to the customer's operation of the mobile information terminal device. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2020-4304 Summary of the Invention [Problem to be solved by the invention]

[0005] The problem to be solved by the present invention is to provide a system that allows customers to check the results of a transaction while processing the payment in response to the customer's operation of a mobile information terminal device. Information processing device and A transaction processing system is provided. [Means for solving the problem]

[0006] The information processing apparatus according to the embodiment includes: The mobile information communication terminal and the transaction processing system are configured. Store a user identifier that identifies a user of the electronic receipt service 1st storage means And the first The user identifier stored in the storage means to the information processing device via a communication network. a first transmitting means for transmitting the signal; On mobile information communication devices Request data to request payment, including payment information, according to instructions , and to an information processing device via a communication network. and a means for transmitting the Information processing equipment The system includes a receiving means, a determining means, a processing means, and a second transmitting means. The receiving means receives request data. The determining means On mobile information communication devices The processing means determines the content of the transaction in accordance with the instruction from the operator. Using the included payment information and executes processing to request the payment server to make online payment for the transaction price determined by the determination means. The second transmission means transmits transaction data representing the details determined by the determination means for the transaction for which the price has been settled by the processing performed by the processing means to a providing device that provides an electronic receipt service, associating the transaction data with the user identifier transmitted by the first transmission means. [Brief explanation of the drawings]

[0007] [Figure 1] FIG. 1 is a block diagram showing a schematic configuration of a transaction processing system according to an embodiment. [Figure 2] FIG. 2 is a block diagram showing the main circuit configuration of the store server in FIG. [Figure 3] FIG. 2 is a block diagram showing the main circuit configuration of the virtual POS server in FIG. 1. [Figure 4] FIG. 2 is a block diagram showing the main circuit configuration of the mobile controller in FIG. 1. [Figure 5] 5 is a schematic diagram showing the main data structure of a data record included in the transaction management database shown in FIG. 4. [Figure 6] FIG. 5 is a schematic diagram showing the main data structure of a data record contained in the registration database shown in FIG. 4. [Figure 7]FIG. 2 is a block diagram showing the main circuit configuration of the communication server in FIG. [Figure 8] FIG. 2 is a block diagram showing the main circuit configuration of the user terminal in FIG. [Figure 9] 10 is a flowchart of a user interface process. [Figure 10] 10 is a flowchart of a user interface process. [Figure 11] 10 is a flowchart of a user interface process. [Figure 12] 10 is a flowchart of a user interface process. [Figure 13] 10 is a flowchart of an intermediation process. [Figure 14] 10 is a flowchart of an intermediation process. [Figure 15] 1 is a flowchart of a transaction process. [Figure 16] FIG. 10 is a diagram showing an example of a list screen. [Figure 17] FIG. 10 is a diagram showing an example of a registration screen. [Figure 18] FIG. 10 is a diagram showing an example of a list screen. [Figure 19] FIG. 10 is a diagram showing an example of an accounting screen. DETAILED DESCRIPTION OF THE INVENTION

[0008] An embodiment of a transaction processing system will be described below with reference to the drawings. The transaction processing system in this embodiment processes transactions of merchandise in a store that sells merchandise displayed in the store to customers who visit.

[0009] FIG. 1 is a block diagram showing a schematic configuration of a transaction processing system according to this embodiment. The transaction processing system is configured so that a plurality of store systems 100, a relay server 200, a user terminal 300, a payment server 400, and an electronic receipt server 500 can communicate with each other via a communication network 600.

[0010] FIG. 1 shows two store systems 100. These store systems 100 are installed in two different stores, Store A and Store B, which use the transaction processing system. There may be three or more stores that use the transaction processing system, with a store system 100 installed in each store. In the following, when it is necessary to distinguish between the store systems 100 installed in each store, the store system 100 installed in Store A will be referred to as store system 100A, and the store system 100 installed in Store B will be referred to as store system 100B. The business operator of store A may be the same as or different from the business operator of store B. When the transaction processing system is used in other stores, the business operator of those stores may be the same as or different from the business operator of store A or store B.

[0011] The relay server 200 relays data communication between the user terminal 300 and the store system 100. The relay server 200 provides a data communication relay function as a cloud service via the communication network 600, for example.

[0012] The user terminal 300 is a portable information communication terminal that functions as a user interface for customers who use the transaction processing system to shop at a store. The user terminal 300 has a function for wireless communication with the store system 100 and a function for wireless communication with the communication network 600. The user terminal 300 may be a communication terminal with a data communication function, such as a smartphone or tablet terminal. The user terminal 300 may be owned by the customer or may be loaned to the customer by the store.

[0013] The payment server 400 performs payment processing for making online payments in response to payment requests received via the communication network 600. The payment server 400 may support only one of several payment methods, such as credit card payment and electronic money payment, or may support multiple payment methods. For example, the payment server 400 may be an existing payment server operated by a payment agent that supports multiple payment services, including those using multiple payment methods.

[0014] The electronic receipt server 500 provides a receipt showing the transaction result as an image or a web page. For example, an existing electronic receipt server that provides an electronic receipt service can be used as the electronic receipt server 500. The electronic receipt server 500 is an example of a providing device that provides an electronic receipt service.

[0015] The communication network 600 may be, for example, the Internet, a virtual private network (VPN), a local area network (LAN), a public communication network, a mobile communication network, or the like, either alone or in appropriate combination. Typically, the communication network 600 is a mobile communication network and the Internet or a VPN.

[0016] The general configuration of each store system 100 is the same. That is, the store system 100 is configured so that the store server 1, virtual POS server 2, mobile controller 3, communication server 4, payment machine 5, and access point 6 can communicate via an in-store communication network 7. However, the store server 1, virtual POS server 2, mobile controller 3, communication server 4, payment machine 5, access point 6, and in-store communication network 7 only need to share the functions required to realize the operations described below, and do not need to be completely identical. In addition, some store systems 100 may be equipped with devices not shown in FIG. 1.

[0017] The store server 1 comprehensively manages multiple transactions that are the subject of processing in the transaction processing system. The store server 1 has, for example, the same functions as an existing POS server. The virtual POS server 2 is an information processing device that performs information processing (hereinafter referred to as transaction processing) for registering purchased items for each transaction and settling the price of the purchased items in response to an external request. The virtual POS server 2 is an example of a second information processing device. The virtual POS server 2 virtually realizes the functions of existing POS terminals. The information processing performed by the virtual POS server 2 is customized to accommodate differences in the management policies of each store. In other words, for example, the transaction processing performed by the store server 1 provided in the store system 100A may differ in part from the transaction processing performed by the store server 1 provided in the store system 100B.

[0018] The mobile controller 3 is an information processing device that executes information processing (hereinafter referred to as intermediation processing) for mediating between the virtual POS server 2 and the user terminal 300 so that the virtual POS server 2 performs the above-mentioned transaction processing while using the user terminal 300 as a user interface device. The mobile controller 3 is an example of a first information processing device. The communication server 4 performs communication processing for the store server 1, virtual POS server 2, mobile controller 3, and accounting machine 5 to exchange data with the relay server 200 and the like via the communication network 600.

[0019] The payment machine 5 calculates the price for each purchased item managed by the virtual POS server 2 and processes the payment for the item to be made by the customer. The payment methods that the payment machine 5 can use for the payment may include all or any of the well-known payment methods, such as cash payment, credit card payment, electronic money payment, points payment, and code payment (also known as mobile payment or smartphone payment). The payment machine 5 may be operated by either a store clerk or a customer. The payment machine 5 may be, for example, a self-service payment machine used in an existing semi-self-service POS system. The payment machine 5 may also have a function for processing information to register the item as a purchased item. In this case, the payment machine 5 may be, for example, a face-to-face POS terminal used in an existing POS system or a self-service POS terminal used in an existing self-service POS system.

[0020] The access point 6 performs communication processing to enable the user terminal 300 to access the in-store communication network 7 via wireless communication. The access point 6 may be, for example, a well-known communication device that performs wireless communication according to the IEEE802.11 standard. The access point 6 is installed within the store so that the user terminal 300 can communicate wirelessly from anywhere on the sales floor of the store. Depending on the size of the store, multiple access points 6 may be installed in one store system 100. The in-store communication network 7 may be the Internet, VPN, LAN, public communication network, mobile communication network, or the like, either alone or in appropriate combination, but typically the in-store communication network 7 is a LAN.

[0021] In a store where the store system 100 is installed, a two-dimensional code TC1 for check-in is posted near the entrance, and a two-dimensional code TC2 for check-out is posted near the exit. The two-dimensional code TC1 represents check-in data for check-in. The two-dimensional code TC2 represents check-out data for check-out. The check-in data and check-out data differ for each store. Therefore, when it is necessary to distinguish between the two-dimensional codes TC1 and TC2 for store A and the two-dimensional codes TC1 and TC2 for store B, the codes for store A are represented as two-dimensional codes TC1A and TC2A, and the codes for store B are represented as two-dimensional codes TC1B and TC2B.

[0022] The check-in data may represent, for example, the following information: (1) Operation version of the store system 100. For example, the check-in data represented by the two-dimensional code TC1A represents the operation version of the store system 100A. The check-in data represented by the two-dimensional code TC1B represents the operation version of the store system 100B. (2) A business code for identifying the business operator that operates the store where the store system 100 is installed. For example, the check-in data represented by the two-dimensional code TC1A represents the business code assigned to the business operator that operates store A. The check-in data represented by the two-dimensional code TC1B represents the business code assigned to the business operator that operates store B. (3) A store code for identifying the store in which the store system 100 is installed. For example, the check-in data represented by the two-dimensional code TC1A represents the store code assigned to store A. The check-in data represented by the two-dimensional code TC1B represents the store code assigned to store B. The store code may be capable of identifying all individual stores that use the transaction processing system, or may be capable of identifying each of multiple stores operated by the same business operator.

[0023] (4) The name of the business operator that operates the store where the store system 100 is installed. For example, the check-in data represented by the two-dimensional code TC1A represents the name of the business operator that operates store A. The check-in data represented by the two-dimensional code TC1B represents the name of the business operator that operates store B. (5) The name of the store where the store system 100 is installed. For example, the check-in data represented by the two-dimensional code TC1A represents the name of store A. The check-in data represented by the two-dimensional code TC1B represents the name of store B. (6) A flag for distinguishing between two-dimensional code TC1 and two-dimensional code TC2. This flag in the check-in data indicates that it is check-in data. For example, this state is "1." This flag is common to all two-dimensional codes TC1.

[0024] (7) IP address of the communication server 4. For example, the check-in data represented by the two-dimensional code TC1A represents the IP address of the communication server 4 included in the store system 100A. The check-in data represented by the two-dimensional code TC1B represents the IP address of the communication server 4 included in the store system 100B. (8) Domain name of the relay server 200. This domain name is common to all two-dimensional codes TC1. However, multiple relay servers 200 with different domain names may be used for each store. In this case, the check-in data represented by the two-dimensional code TC1 represents the domain name of the relay server 200 used in the corresponding store. (9) Address of the electronic receipt server 500. This address may be common to all two-dimensional codes TC1, or any one of multiple addresses may be represented for each two-dimensional code TC1.

[0025] (10) A flag indicating whether the user terminal 300 should use wireless communication with the access point 6 or wireless communication with the communication network 600 to exchange data with the store system 100. For example, in store A, if wireless communication with the access point 6 is used to exchange data between the store system 100A and the user terminal 300, the flag is set to, for example, "1." For example, in store B, if wireless communication with the communication network 600 is used to exchange data between the store system 100B and the user terminal 300, the flag is set to, for example, "0." (11) SSID (service set identifier) ​​for identifying the access point 6. For example, the check-in data represented by the two-dimensional code TC1A represents the SSID that identifies the access point 6 included in the store system 100A. The check-in data represented by the two-dimensional code TC1B represents the SSID of the access point 6 included in the store system 100B. (12) Password for accessing the access point 6. For example, the check-in data represented by the two-dimensional code TC1A represents the password set for the access point 6 included in the store system 100A. The check-in data represented by the two-dimensional code TC1B represents the password set for the access point 6 included in the store system 100B.

[0026] (13) Identification number of the security method used by the access point 6. For example, the identification number is assigned "1" for the WPA2-PSK method, "2" for the WPA-PSK method, and "3" for the WEP method. For example, if the access point 6 included in the store system 100A uses the WPA2-PSK method as its security method, the check-in data represented by the two-dimensional code TC1A will indicate "1" as the identification number. For example, if the access point 6 included in the store system 100B uses the WPA-PSK method as its security method, the check-in data represented by the two-dimensional code TC1B will indicate "2" as the identification number. (14) A flag for identifying whether to treat a failure in the user terminal 300's connection with the relay server 200 as an error or to continue operation without treating it as an error. For example, in store A, if the user terminal 300 is set to treat a failure in the user terminal 300's connection with the relay server 200 as an error, the check-in data represented by the two-dimensional code TC1A will indicate, for example, "1" as the flag. Also, in store B, if the user terminal 300 is set to continue operation even if it fails to connect to the relay server 200, the check-in data represented by the two-dimensional code TC1B will indicate, for example, "0" as the flag.

[0027] (15) Identification number of the transmission mode related to the status of the user terminal 300. The transmission modes include, for example, a first mode, a second mode, and a third mode. The identification numbers of the transmission modes are, for example, "1" for the first mode, "2" for the second mode, and "3" for the third mode. In the first mode, the status of the user terminal 300 is transmitted to the relay server 200. In the second mode, the status of the user terminal 300 is transmitted to the store system 100. In the second mode, the status of the user terminal 300 is not transmitted. For example, in store A, if the first mode is applied as the transmission mode, the check-in data represented by the two-dimensional code TC1A will have the identification number "1." Also, in store B, if the second mode is applied as the transmission mode, the check-in data represented by the two-dimensional code TC1B will have the identification number "2."

[0028] (16) Identification number of the transmission mode for the log file that accumulates the log data of the user terminal 300. The transmission modes include, for example, first mode, second mode, third mode, and fourth mode. The identification numbers for the transmission modes are, for example, "1" for first mode, "2" for second mode, "3" for third mode, and "4" for fourth mode. In first mode, the log file is transmitted only to the relay server 200. In second mode, the log file is transmitted only to the store system 100. In third mode, the log file is transmitted to both the store system 100 and the relay server 200. In fourth mode, the log file is not transmitted. For example, in store A, if the first mode is applied as the transmission mode, the check-in data represented by the two-dimensional code TC1A will have the identification number "1." In store B, if the second mode is applied as the transmission mode, the check-in data represented by the two-dimensional code TC1B will have the identification number "2."

[0029] (17) The host name or IP address used when transmitting the log file to the relay server 200 via the communication network 600 by FTP (file transfer protocol). (18) The user name used when transmitting the log file to the relay server 200 via the communication network 600 by FTP. (19) The password used when transmitting the log file to the relay server 200 via the communication network 600 by FTP. (20) The path name of the log file to be sent to the relay server 200 via the communication network 600 by FTP.

[0030] (21) A flag for identifying whether or not to delete the check digit of a UPC (universal product code), which is a type of product code. For example, if store A operates without deleting the check digit, the check-in data represented by the two-dimensional code TC1A will indicate, for example, a "1" as the flag. For example, if store B operates with the check digit deleted, the check-in data represented by the two-dimensional code TC1B will indicate, for example, a "0" as the flag. (22) The time until the camera screen automatically transitions on the user terminal 300. The check-in data represented by the two-dimensional code TC1A represents the time set in advance for store A. The check-in data represented by the two-dimensional code TC1B represents the time set in advance for store B. (23) Timeout period when the user terminal 300 communicates with the store system 100 via the access point 6. The check-in data represented by the two-dimensional code TC1A represents the time set in advance for store A. The check-in data represented by the two-dimensional code TC1B represents the time set in advance for store B.

[0031] (24) The number of retries allowed when communication between the user terminal 300 and the store system 100 via the access point 6 times out. The check-in data represented by the two-dimensional code TC1A represents the number of retries set in advance for store A. The check-in data represented by the two-dimensional code TC1B represents the time period set in advance for store B. (25) The timeout period when the user terminal 300 communicates with the store system 100 via the relay server 200. The check-in data represented by the two-dimensional code TC1A represents the time set in advance for store A. The check-in data represented by the two-dimensional code TC1B represents the time set in advance for store B. (26) The number of retries allowed when communication between the user terminal 300 and the store system 100 via the relay server 200 times out. The check-in data represented by the two-dimensional code TC1A represents the number of retries set in advance for store A. The check-in data represented by the two-dimensional code TC1B represents the time period set in advance for store B.

[0032] (27) Authentication data used in the authentication process to authenticate the declaration of confirmation completion for a transaction involving an item that requires confirmation by a store clerk. The check-in data represented by the two-dimensional code TC1A represents authentication data that has been preset for store A. The check-in data represented by the two-dimensional code TC1B represents authentication data that has been preset for store B. It is preferable that the authentication data be set differently for each store, but the same authentication data may be set for different stores. (28) Data for identifying the operating mode of the store system 100. For example, if store system 100A is set to normal mode, which operates the transaction processing system normally, the check-in data represented by two-dimensional code TC1A will indicate, for example, "1." If store system 100B is set to demo mode, which operates the transaction processing system demo-mode, the check-in data represented by two-dimensional code TC1B will indicate, for example, "2." (29) Data for identifying the mode of data transfer to the payment machine 5. For example, if the store system 100A is set to a mode in which the payment machine 5 requests data transfer from the mobile controller 3, the check-in data represented by the two-dimensional code TC1A will represent the relevant data, for example, "1." Also, if the store system 100B is set to a mode in which data is transferred from the mobile controller 3 to the payment machine 5 without a request from the payment machine 5, the check-in data represented by the two-dimensional code TC1B will represent the relevant data, for example, "2."

[0033] (30) A flag indicating whether or not payment is permitted using the code payment method via operation on the user terminal 300. For example, if code payment is permitted at store A, the check-in data represented by the two-dimensional code TC1A will indicate, for example, a "1" as the flag. For example, if code payment is not permitted at store B, the check-in data represented by the two-dimensional code TC1B will indicate, for example, a "0" as the flag. (31) A flag for identifying whether or not registration of age-restricted products, for which a purchaser age restriction is set, is permitted on the user terminal 300. For example, if store A permits registration of age-restricted products on the user terminal 300, the check-in data represented by the two-dimensional code TC1A will indicate, for example, "1" as the flag. Also, for example, if store B does not permit code payment, the check-in data represented by the two-dimensional code TC1B will indicate, for example, "0" as the flag. (32) Data for identifying the input mode of the point member's membership code. For example, if the store system 100A is set to a mode in which the membership code is manually entered, the check-in data represented by the two-dimensional code TC1A will indicate, for example, "1." Similarly, if the store system 100B is set to a mode in which the membership code is entered by reading a barcode, the check-in data represented by the two-dimensional code TC1B will indicate, for example, "2."

[0034] (33) A flag for identifying whether confirmation by a store clerk is required when entering a point member's membership code when the mode for manually entering the membership code is set. For example, if confirmation is required at store A, the check-in data represented by the two-dimensional code TC1A will indicate, for example, a "1" as the flag. Also, for example, if confirmation is not required at store B, the check-in data represented by the two-dimensional code TC1B will indicate, for example, a "0" as the flag. (34) A threshold for checking the remaining battery level of the user terminal 300 at check-in. The threshold is set for each store or business. For example, if the business operating store A sets the threshold at "20%," the check-in data represented by the two-dimensional code TC1A will indicate the threshold value as "20," for example. If store B sets the threshold value as "25%," for example, the check-in data represented by the two-dimensional code TC1B will indicate the threshold value as "25." The above are examples of information represented by check-in data. However, check-in data may not include all of the various types of information shown above. Also, check-in data may represent information other than the various types of information shown above.

[0035] FIG. 2 is a block diagram showing the main circuit configuration of the store server 1. The store server 1 includes a processor 11, a main memory 12, an auxiliary storage unit 13, a communication interface 14, and a transmission path 15. The processor 11, the main memory 12, the auxiliary storage unit 13, and the communication interface 14 are capable of communicating with each other via the transmission path 15. The processor 11, the main memory 12, and the auxiliary storage unit 13 are connected by the transmission path 15 to form a computer for controlling the store server 1.

[0036] The processor 11 corresponds to the central part of the computer. The processor 11 executes information processing to realize various functions of the store server 1 in accordance with information processing programs such as an operating system and application programs. The processor 11 is, for example, a CPU (central processing unit).

[0037] The main memory 12 corresponds to the main storage portion of the computer. The main memory 12 includes a nonvolatile memory area and a volatile memory area. The main memory 12 stores the information processing program in the nonvolatile memory area. The main memory 12 may store data required for the processor 11 to execute information processing in either the nonvolatile or volatile memory area. The main memory 12 uses the volatile memory area as a work area where data is rewritten by the processor 11 as appropriate. The nonvolatile memory area is, for example, ROM (read only memory). The volatile memory area is, for example, RAM (random access memory).

[0038] The auxiliary storage unit 13 corresponds to the auxiliary storage portion of the computer. As the auxiliary storage unit 13, a storage unit using a well-known storage device such as an EEPROM (electric erasable programmable read-only memory), an HDD (hard disc drive), or an SSD (solid state drive) can be used. The auxiliary storage unit 13 stores data used by the processor 11 when performing various processes, or data created by the processes in the processor 11. The auxiliary storage unit 13 may also store the information processing program.

[0039] The communication interface 14 performs data communication in accordance with a predetermined communication protocol with each unit connected to the in-store communication network 7. As the communication interface 14, for example, a well-known communication device for a LAN can be applied. The transmission path 15 includes an address bus, a data bus, and control signal lines, and transmits data and control signals exchanged between the connected components.

[0040] The auxiliary storage unit 13 stores a store management application AP11, which is one of the information processing programs. The store management application AP11 is an application program that describes information processing for realizing the functions of the store server 1. A separate store management application AP11 may be created for each store or for each business that operates the store, based on the store management policy of that store. For example, if store A and store B use different sales data management methods, the store management application AP11 used in store system 100A would describe information processing for managing sales data that is adapted to the sales data management method used by store A, and the store management application AP11 used in store system 100B would describe information processing for managing sales data that is adapted to the sales data management method used by store B.

[0041] A part of the storage area of ​​the auxiliary storage unit 13 is used as a database group DB11. The database group DB11 includes multiple databases for managing various types of information. One of the databases included in the database group DB11 is a product database for managing products sold in the store. The product database is a collection of data records associated with the products to be managed. The data records in the product database include data on the associated products, such as product code, price, and product name. The product code is an identification code established to identify products for each SKU (stock keeping unit), and for example, the JAN (Japanese article number) code is used. The product name is a name established to make it easy for humans to distinguish between products. The price is the amount paid for the sale of the product.

[0042] One of the databases included in the database group DB11 is a user database for managing store users. The user database is a collection of data records associated with customers registered as store users. The data records in the user database include data related to the associated customers, such as a user code and attribute information for identifying the user. The user code is a unique identification code assigned to each store user to identify each store user. The attribute information may include name, gender, age, address, telephone number, etc. The data records in the user database may also include payment information provided by the store user. The payment information may include a credit number or a code payment identifier (ID). If multiple payment methods are available, the payment information may also include a payment method code for identifying the payment method. In addition, in the case of a store that offers a point service, the data records in the user database may also include an identifier for identifying the user of the point service (hereinafter referred to as a point ID) and the number of points held. The data records in the user database may also include a user identifier for identifying the user of the electronic receipt service (hereinafter referred to as an electronic receipt ID). The various data included in the data records of the user database do not need to include substantial data for all users. For example, the user database may include only point IDs or electronic receipt IDs that the user has previously applied to register. If the user database includes point IDs and electronic receipt IDs, the electronic receipt IDs are associated with the point IDs, so the point IDs are an example of key data.

[0043] In addition, the group of databases DB11 may include various databases such as those managed by a POS server in an existing POS system. Note that the types of databases that the group of databases DB11 includes, or the types of data and structures that these databases contain, may be determined for each store.

[0044] FIG. 3 is a block diagram showing the main circuit configuration of the virtual POS server 2. As shown in FIG. The virtual POS server 2 includes a processor 21, a main memory 22, an auxiliary storage unit 23, a communication interface 24, and a transmission path 25. The processor 21, the main memory 22, the auxiliary storage unit 23, and the communication interface 24 are capable of communicating with each other via the transmission path 25. The processor 21, the main memory 22, and the auxiliary storage unit 23 are connected by the transmission path 25 to form a computer for controlling the virtual POS server 2. The functions of the processor 21, the main memory 22, the auxiliary storage unit 23, the communication interface 24, and the transmission path 25 are generally the same as those of the processor 11, the main memory 12, the auxiliary storage unit 13, the communication interface 14, and the transmission path 15, and therefore will not be described here.

[0045] However, the auxiliary storage unit 23 stores a virtual POS application AP21 instead of the store management application AP11. The virtual POS application AP21 is an application program that describes transaction processing. A separate virtual POS application AP21 may be created for each store or for each business operator that operates the store, based on the store management policy. For example, if store A offers a discount service that is not offered at store B, the virtual POS application AP21 used in store system 100A will describe the information processing required to realize the discount service, while the virtual POS application AP21 used in store system 100B will not describe the information processing required to realize the discount service.

[0046] In addition, a portion of the storage area of ​​the auxiliary storage unit 23 is used as a transaction database DB21 instead of the database group DB11. The transaction database DB21 is a collection of data records associated with transactions with customers who are shopping around the store. The data records of the transaction database DB21 include a transaction code and product data related to products registered as purchased products. The transaction code is a unique identification code assigned to each transaction to identify each transaction. The product data represents the product code, product name, price, quantity, etc. The structure of the transaction database DB21 may be individually determined to suit the store management policy of each store or each business operator that operates the store.

[0047] FIG. 4 is a block diagram showing the main circuit configuration of the mobile controller 3. The mobile controller 3 includes a processor 31, a main memory 32, an auxiliary storage unit 33, a communication interface 34, and a transmission path 35. The processor 31, the main memory 32, the auxiliary storage unit 33, and the communication interface 34 are capable of communicating with each other via the transmission path 35. The processor 31, the main memory 32, and the auxiliary storage unit 33 are connected by the transmission path 35 to form a computer for controlling the mobile controller 3. The functions of the processor 31, the main memory 32, the auxiliary storage unit 33, the communication interface 34, and the transmission path 35 are generally the same as those of the processor 11, the main memory 12, the auxiliary storage unit 13, the communication interface 14, and the transmission path 15, and therefore will not be described here.

[0048] However, the auxiliary storage unit 33 stores an intermediary application AP31 instead of the store management application AP11. The intermediary application AP31 is an application program that describes intermediation processing. The intermediary application AP31 is common to each store system 100. However, various settings for information processing based on the intermediary application AP31 may be customized for each store system 100.

[0049] Furthermore, part of the storage area of ​​the auxiliary storage unit 23 is used as a transaction management database DB31 and a registration database DB32 in place of the database group DB11. The structures of the transaction management database DB31 and the registration database DB32 are common to all store systems 100.

[0050] FIG. 5 is a schematic diagram showing the main data structure of a data record DR1 contained in the transaction management database DB31. The transaction management database DB31 is a collection of data records DR1 associated with the user terminals 300 used by customers in the store. Therefore, when there is one customer in the store, the transaction management database DB31 contains one data record DR1. When there are no customers in the store, the transaction management database DB31 does not contain a data record DR1. The data record DR1 contains fields F11, F12, F13, and F14.

[0051] Field F11 is set with a terminal code for distinguishing the associated user terminal 300 from other user terminals 300. The terminal code may be, for example, a unique identification code assigned to each communication terminal to identify each communication terminal used as the user terminal 300. Alternatively, the terminal code may be, for example, an identification code assigned to a smartphone POS app (described later) when the smartphone POS app is installed in the user terminal 300. Field F12 is set with a membership code for distinguishing a customer using the associated user terminal 300 from other customers. Field F13 is set with a transaction code for a transaction performed using the associated user terminal 300. Field F14 is set with an electronic receipt ID as needed. Note that the data record DR1 may include other fields in which data other than fields F11 to F14 is set.

[0052] FIG. 6 is a schematic diagram showing the main data structure of a data record DR2 contained in the registration database DB32. The registration database DB32 is a collection of data records DR2 associated with transactions with customers shopping around the store. Data record DR2 includes fields F21 and F22. Data record DR1 may also include fields F23, F24, ...

[0053] Field F21 contains the transaction code of the associated transaction. This transaction code is the same as the transaction code set in field F12 of data record DR1 associated with the user terminal 300 used in the associated transaction. Field F22 contains registration data regarding the attempted product registration for the associated transaction. The registration data will be described later.

[0054] Data record DR2 includes fields F23 and subsequent fields when an attempt is made to register two or more purchase items for an associated transaction. Fields F23 and subsequent fields are set with the same registration data as field F12.

[0055] FIG. 7 is a block diagram showing the main circuit configuration of the communication server 4. The communication server 4 includes a processor 41, a main memory 42, an auxiliary storage unit 43, a communication interface 44, a communication unit 45, and a transmission path 46. The processor 41, the main memory 42, the auxiliary storage unit 43, the communication interface 44, and the communication unit 45 are capable of communicating with each other via the transmission path 46. The processor 41, the main memory 42, and the auxiliary storage unit 43 are connected by the transmission path 46 to form a computer for controlling the communication server 4. The functions of the processor 41, the main memory 42, the auxiliary storage unit 43, the communication interface 44, and the transmission path 46 are generally the same as those of the processor 11, the main memory 12, the auxiliary storage unit 13, the communication interface 14, and the transmission path 15, and therefore will not be described here.

[0056] The communication unit 45 performs communication processing for data communication via the communication network 600. As the communication unit 45, for example, a well-known internet connection device can be applied. The auxiliary storage unit 43 stores a communication processing application AP41 in place of the store management application AP11. The communication processing application AP41 is an application program that describes information processing for communicating with the relay server 200 via the communication network 600 to enable data exchange between the mobile controller 3 and the user terminal 300. The communication processing application AP41 is common to each store system 100. However, various settings for information processing based on the communication processing application AP41 may be customized for each store system 100.

[0057] FIG. 8 is a block diagram showing the main circuit configuration of the user terminal 300. The user terminal 300 includes a processor 301, a main memory 302, an auxiliary storage unit 303, a touch panel 304, a camera 305, a wireless communication unit 306, a mobile communication unit 307, and a transmission path 308. The processor 301 is capable of communicating with the main memory 302, the auxiliary storage unit 303, the touch panel 304, the camera 305, and the mobile communication unit 307 via the transmission path 308. The processor 301, the main memory 302, and the auxiliary storage unit 303 are connected via the transmission path 308 to form a computer for controlling the user terminal 300. The functions of the processor 301, the main memory 302, the auxiliary storage unit 303, and the transmission path 308 are generally the same as those of the processor 11, the main memory 12, the auxiliary storage unit 13, and the transmission path 15, and therefore will not be described here.

[0058] The touch panel 304 functions as an input device and a display device for the user terminal 300 . The camera 305 includes an optical system and an image sensor, and generates image data representing an image within a field of view formed by the optical system using the image sensor.

[0059] The wireless communication unit 306 transmits and receives data via wireless communication in accordance with a wireless communication protocol to and from the access point 6. As the wireless communication unit 306, for example, a well-known communication device conforming to the IEEE802.11 standard can be used. The mobile communication unit 307 is an interface for data communication via the communication network 600. As the mobile communication unit 307, for example, a well-known communication device for performing data communication via a mobile communication network can be used.

[0060] The auxiliary storage unit 303 stores a smartphone POS application AP301, which is one of the information processing programs. The smartphone POS application AP301 is an application program that describes information processing (hereinafter referred to as UI processing) described below for causing the user terminal 300 to function as a user interface for the store system 100. The smartphone POS application AP301 is shared by multiple user terminals 300.

[0061] Now, for example, a general-purpose server device can be used as the hardware of the store server 1, the virtual POS server 2, or the mobile controller 3. The store server 1, the virtual POS server 2, or the mobile controller 3 is generally transferred in a state where the store management application AP11, the virtual POS application AP21, or the intermediary application AP31 is stored in the auxiliary storage unit 13, 23, or 33, respectively, but the database group DB11, the transaction database DB21, the transaction management database DB31, and the registration database DB32 are not stored. However, the hardware may be transferred separately from the store management application AP11, the virtual POS application AP21, or the intermediary application AP31 in a state where the store management application AP11, the virtual POS application AP21, or the intermediary application AP31 is not stored in the auxiliary storage unit 13, 23, or 33, or in a state where a different version of the same application program is stored in the auxiliary storage unit 13, 23, or 33. The store server 1, virtual POS server 2, or mobile controller 3 may be configured by writing the store management application AP11, virtual POS application AP21, or intermediary application AP31 to the auxiliary storage unit 13, 23, or 33 in response to an operator's operation. The store management application AP11, virtual POS application AP21, or intermediary application AP31 may be transferred by recording it on a removable storage medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or by communication via a network. The transaction database DB21, or the transaction management database DB31 and the registration database DB32, may be configured in the auxiliary storage unit 13, 23, or 33 by the processor 11, 21, or 31 executing information processing based on the store management application AP11, the virtual POS application AP21, or the intermediary application AP31. At least a portion of the store management application AP11 and the databases included in the database group DB11 may be stored in the main memory 12. At least a portion of the virtual POS application AP21 and the transaction database DB21 may be stored in the main memory 22. At least a part of the intermediary application AP31, the transaction management database DB31, and the registration database DB32 may be stored in the main memory 32.

[0062] Next, the operation of the transaction processing system configured as described above will be described. Note that the contents of the various processes described below are merely examples, and it is possible to change the order of some of the processes, omit some of the processes, or add other processes as appropriate. For example, in the following description, in order to clearly explain the characteristic operations of this embodiment, explanation of some of the processes will be omitted. For example, if some kind of error occurs, processing may be performed to deal with the error, but a description of some of such processing will be omitted.

[0063] The services provided to customers through the operation of the transaction processing system are referred to as smartphone POS services. To use the smartphone POS service, the user terminal 300 exchanges data with the store system 100. Whether wireless communication with the access point 6 or wireless communication with the communication network 600 is used for this communication is determined by the state of a flag included in the check-in data. However, for simplicity of explanation, the following will describe the case where wireless communication with the access point 6 is used. Furthermore, the state of a flag included in the check-in data determines whether data transfer from the virtual POS server 2 to the payment machine 5 to perform a transaction is performed in a mode where the payment machine 5 requests data transfer from the mobile controller 3, or in a mode where data is transferred from the mobile controller 3 to the payment machine 5 without a request from the payment machine 5. However, for simplicity of explanation, the following will be described assuming that the mode where data transfer from the payment machine 5 requests data transfer from the mobile controller 3 is always used.

[0064] To use the smartphone POS service, a customer installs the smartphone POS app AP301 on their own smartphone or other device, making it available as a user terminal 300. Alternatively, the customer may borrow a user terminal 300 from a store, which is configured with the smartphone POS app AP301 installed on a tablet or other device. The customer then enters any store that has a store system 100, carrying the user terminal 300 with information processing based on the smartphone POS app AP301 running.

[0065] If a customer wants to check the results of a transaction using the smartphone POS service using the electronic receipt service, the customer registers for the electronic receipt service. Through this registration, an electronic receipt ID is assigned to the customer. The customer then stores the electronic receipt ID assigned to the customer in the user terminal 300 that the customer owns. In addition, the electronic receipt ID may be stored in association with a point ID in a member database managed by the store to manage customers. In this case, the customer may store the point ID assigned to the customer in the user terminal 300 that the customer owns.

[0066] The processor 301 in the user terminal 300 acquires an electronic receipt ID or a point ID through setting processing based on the smartphone POS app AP301, and stores the acquired electronic receipt ID or point ID in the auxiliary storage unit 303 as registration data related to the smartphone POS app AP301. For example, when an operator requests registration of an electronic receipt ID, the processor 301 has the operator specify a login ID and a login password for authenticating the user at the electronic receipt server 500. The processor 301 then logs in to the electronic receipt server 500 using the specified login ID and login password, acquires the electronic receipt ID of the user identified by the login ID, and stores the acquired electronic receipt ID in the auxiliary storage unit 303. For example, the processor 301 may have the operator specify an electronic receipt ID and store the specified electronic receipt ID in the auxiliary storage unit 303. Furthermore, when an operator requests registration of a point ID, the processor 301 has the operator specify a point ID and stores the specified point ID in the auxiliary storage unit 303. Note that the point ID may be, for example, a point card number assigned to a point card distributed to a customer. When the registration of the electronic receipt ID and the point ID are requested sequentially, the processor 301 executes the above process individually and stores both the electronic receipt ID and the point ID in the auxiliary storage unit 303. However, the processor 301 may store only one of them, which is predetermined. As will be described later, the point ID stored in the auxiliary storage unit 303 in this manner is used as key data for acquiring the electronic receipt ID. Thus, the auxiliary storage unit 303 functions as a storage means for storing the electronic receipt ID as a user identifier or a storage means for storing the point ID as key data.

[0067] 9, 10, 11, and 12 are flowcharts of UI processing executed by the processor 301 based on the smartphone POS application AP301. First, as ACT101 shown in FIG. 9, the processor 301 displays a main menu screen on the touch panel 304. The main menu screen is a screen for receiving a specification of one of several processes to be performed based on the smartphone POS application AP301. The main menu screen has multiple GUI (graphical user interface) elements arranged on it, including a GUI element for specifying the start of shopping. The GUI elements are, for example, soft keys.

[0068] In ACT 102, the processor 301 checks whether or not the start of shopping has been designated. If the processor 301 cannot confirm that the designation has been made, it determines the answer as NO and proceeds to ACT 103. In ACT 103, the processor 301 checks whether or not a designation other than the start of shopping has been made. If the processor 301 cannot confirm that a designation has been made, it determines "NO" and returns to ACT 102. Thus, in ACT102 and ACT103, the processor 301 waits for some kind of specification on the main menu screen. If a specification other than starting shopping is made, the processor 301 determines YES in ACT103 and proceeds to the specified processing. Note that a description of the processing of the processor 301 in this case will be omitted. The processing of the processor 301 for registering the electronic receipt ID or point ID described above may be one of the processings here.

[0069] When a customer enters a store and begins shopping, the customer performs a predetermined operation on the main menu screen to specify the start of shopping. When this operation is detected, for example, on the touch panel 304, the processor 301 determines YES in ACT102 and proceeds to ACT104. As ACT104, the processor 301 displays a check-in scan screen on the touch panel 304. The check-in scan screen is a screen that prompts the customer to read the check-in two-dimensional code TC1. For example, the processor 301 activates the camera 305, and displays a text message prompting the customer to read the two-dimensional code TC1 and a two-dimensional code TC1 on the image obtained by the camera 305. TC1 A scan screen is generated by overlaying a line indicating the position where the object should be held over the screen.

[0070] When the scan screen is displayed on the touch panel 304, the customer points the camera 305 at the two-dimensional code TC1 posted near the entrance of the store so that the two-dimensional code TC1 is reflected on the scan screen.

[0071] In ACT105, processor 301 waits for the two-dimensional code to be read. At this time, processor 301 repeatedly analyzes the image obtained by camera 305 and attempts to read the two-dimensional code. This reading of the two-dimensional code may be performed as a process based on the smartphone POS app AP301, or may be performed as a process based on a separate application program for reading two-dimensional codes. If the two-dimensional code has been read, processor 301 determines YES and proceeds to ACT106.

[0072] In ACT 106, the processor 301 checks whether the data represented by the read two-dimensional code is check-in data. If the data is not check-in data, the processor 301 determines NO and returns to ACT 105. At this time, the processor 301 may display on the touch panel 304 a screen informing the customer that an incorrect two-dimensional code has been read.

[0073] If the processor 301 confirms that the data represented by the read two-dimensional code is check-in data, it determines YES in ACT106 and proceeds to ACT107. In ACT 107 , the processor 301 stores the read check-in data in the main memory 302 or the auxiliary storage unit 303 .

[0074] In ACT108, the processor 301 requests check-in from the mobile controller 3. Specifically, the processor 301 establishes wireless communication between the wireless communication unit 306 and the access point 6 based on the data represented in the check-in data. For example, if a customer points the camera 305 at two-dimensional code TC1A in store A, the processor 301 establishes wireless communication with the access point 6 provided in the store system 100A based on the check-in data represented by the two-dimensional code TC1A. The processor 301 then transmits request data for requesting check-in to the mobile controller 3 via wireless communication with the access point 6. When wireless communication with the access point 6 provided in the store system 100A has been established as described above, the request data is transmitted to the mobile controller 3 provided in the store system 100A via the access point 6 provided in the store system 100A and the in-store communication network 7. The processor 301 includes identification data for identifying that the request is a check-in request and a terminal code in the request data for requesting check-in. If the customer is a registered user of the smartphone POS service and has a membership code, the processor 301 also includes the membership code in the request data. The membership code is stored, for example, in the auxiliary storage unit 303 of the user terminal 300. If a point ID is stored in the auxiliary storage unit 303, the processor 301 also includes the point ID in the request data. The processor 301 may also include other data, such as data for authenticating the customer, in the request data. This causes the processor 301 to transmit the point ID as key data using the wireless communication unit 306 or the mobile communication unit 307. Thus, by the processor 301 executing information processing based on the smartphone POS app AP301, the computer including the processor 301 as its core component functions as a first transmission means for transmitting key data in cooperation with the wireless communication unit 306 or the mobile communication unit 307.

[0075] The various requests from the user terminal 300 to the mobile controller 3 described below are realized by sending request data including identification data for identifying the reason for the request from the user terminal 300 to the mobile controller 3 via the access point 6 and the in-store communication network 7, as described above.

[0076] When request data for requesting check-in is received by the communication interface 34, the processor 31 in the mobile controller 3 starts intermediation processing for the transaction with the customer who is about to check in based on the intermediation application AP31.

[0077] 13 and 14 are flowcharts of the intermediation process by the processor 31. The processor 31 starts the intermediation process each time request data for a check-in is received by the communication interface 34. If an intermediation process started based on another request is already being executed, the processor 31 starts a new intermediation process in parallel with the other intermediation process. In other words, the processor 31 may execute multiple intermediation processes in parallel, each targeting multiple user terminals 300. In the following, when the term "user terminal 300" is simply used, it refers to the user terminal 300 that is the target of the intermediation process being explained.

[0078] In ACT201 of FIG. 13, the processor 31 performs check-in processing. For example, the processor 31 requests the virtual POS server 2 to start a transaction and receives a notification of a transaction code. The processor 31 then adds a new data record DR1 to the transaction management database DB31. The processor 31 sets the terminal code included in the request data in field F11 of the new data record DR1. If the request data includes a membership code, the processor 31 sets the membership code in field F12 of the new data record DR1. The processor 31 sets the notified transaction code in field F13 of the new data record DR1. If the request data includes a point ID, the processor 31 attempts to acquire an electronic receipt ID associated with the point ID. That is, for example, the processor 31 accesses the store server 1, checks the user database included in the database group DB11, and acquires the electronic receipt ID if the point ID is associated with an electronic receipt ID. If the processor 31 can acquire the electronic receipt ID in this way, it sets the electronic receipt ID in field F14 of the new data record DR1. This starts management of the transaction performed using the user terminal 300 that requested check-in. Here, the processor 31 acquires the electronic receipt ID as a user identifier associated with the point ID as key data. In this way, the processor 31 executes information processing based on the intermediary application AP31, and the computer with the processor 31 as its central part functions as an acquisition means.

[0079] When a request to start a transaction is received from the mobile controller 3, the processor 21 in the virtual POS server 2 starts transaction processing based on the virtual POS application AP21. FIG. 15 is a flowchart of the transaction processing by the processor 21.

[0080] The processor 21 starts a transaction process each time a transaction start is requested. If another transaction process is already being executed, the processor 21 starts a new transaction process in parallel with the other transaction process. In other words, if multiple intermediation processes are being executed in parallel in the mobile controller 3, the processor 21 executes multiple transaction processes corresponding to each of the multiple intermediation processes in parallel.

[0081] In ACT301, the processor 21 executes a transaction initiation process. In this transaction initiation process, the processor 21 determines a transaction code according to predetermined rules and updates the transaction database DB21 to include a new data record for managing the purchased product in the transaction identified by the transaction code. The processor 21 then notifies the mobile controller 3 of the determined transaction code.

[0082] In ACT302, the processor 21 checks whether a request to change the purchased product has been made. If the processor 21 cannot confirm the request, it determines NO and proceeds to ACT303. In ACT 303, the processor 21 checks whether a request to cancel the transaction has been made. If the processor 21 cannot confirm the request, it determines "NO" and proceeds to ACT 304. In ACT 304, the processor 21 checks whether or not a payment request has been made. If the processor 21 cannot confirm the request, it determines "NO" and proceeds to ACT 305. In ACT 305, the processor 21 checks whether or not a transfer of payment data has been requested. If the processor 21 cannot confirm the request, it determines NO and returns to ACT 302. Thus, in ACT302 to ACT305, the processor 21 waits for a request for change, cancellation, settlement, or transfer.

[0083] Now, when the processor 31 in the mobile controller 3 completes the check-in process, the process proceeds to ACT202 in FIG. In ACT202, the processor 31 checks whether the check-in process has been completed normally. If the check-in process could not be completed normally due to some abnormality, the processor 31 determines NO and proceeds to ACT203. In ACT203, the processor 31 notifies the user terminal 300 of the error. For example, the processor 31 transmits notification data for notifying the error to the user terminal 300 via the in-store communication network 7 and the access point 6. The processor 31 includes identification data in the notification data to identify that the notification is an error. The processor 31 may also include an error code indicating the cause of the error in the notification data.

[0084] The various notifications from the mobile controller 3 to the user terminal 300 described below are realized by sending notification data including identification data for identifying the reason for the notification from the mobile controller 3 to the user terminal 300 via the in-store communication network 7 and the access point 6, as described above.

[0085] On the other hand, if the check-in process has been completed successfully, the processor 31 determines YES in ACT202 and proceeds to ACT204. In ACT204, the processor 31 notifies the user terminal 300 that check-in is complete. For example, the processor 31 transmits notification data for notifying the user terminal 300 that check-in is complete to the user terminal 300 via the in-store communication network 7 and the access point 6.

[0086] After the processor 301 in the user terminal 300 requests check-in in ACT108 in FIG. 9, the process proceeds to ACT109. In ACT109, the processor 301 checks whether or not a check-in completion notification has been received. If the processor 301 cannot confirm the notification, it determines "NO" and proceeds to ACT110. In ACT110, the processor 301 checks whether or not a check-in error has been notified. If the processor 301 cannot confirm the relevant notification, it determines NO and returns to ACT109. Thus, the processor 301 waits for notification of check-in completion or an error in ACT 109 and ACT 110. If the notification data for the error notification described above is received by the wireless communication unit 306, the processor 301 determines YES in ACT 110 and proceeds to ACT 111.

[0087] In ACT111, the processor 301 displays an error screen on the touch panel 304. The error screen is a screen that is defined to notify the guest that check-in is not possible. If an instruction to cancel the display of the error screen is given, for example, by operating a GUI element displayed on the error screen, the processor 301 returns to ACT101.

[0088] On the other hand, if the notification data for notifying the check-in completion is received by the wireless communication unit 306, the processor 301 determines YES in ACT 109 and proceeds to ACT 112 in FIG. In ACT 112, the processor 301 displays a list screen on the touch panel 304. The list screen is a screen that displays a list of registered purchased products.

[0089] FIG. 16 is a diagram showing an example of the list screen SC1. The list screen SC1 includes display areas AR11 and AR12 and buttons BU11, BU12, and BU13. The display area AR11 shows the total number of purchased items and the total price of the purchased items. The display area AR12 shows a list of the purchased items. The button BU11 is a soft key that allows the customer to declare that they want to cancel all of the purchased items and stop shopping. The button BU12 is a soft key that allows the customer to declare that they want to start scanning the items to be registered as purchased items. The button BU13 is a soft key that allows the customer to declare that they want to start the checkout process. 16 shows the list screen SC1 in a state where no purchased products have been registered yet. Therefore, the total number and total amount are both displayed as "0" in the display area AR11, and nothing is displayed in the display area AR12.

[0090] In ACT113 of Fig. 10, the processor 301 checks whether or not a command to start scanning of the product has been issued. If the command has not been issued, the processor 301 determines the result as NO and proceeds to ACT114. In ACT 114, the processor 301 checks whether or not a change in quantity has been specified. If the processor 301 cannot confirm such a specification, it determines NO and proceeds to ACT 115. In ACT 115, the processor 301 checks whether or not a shopping cancellation has been specified. If the processor 301 cannot confirm such a specification, it determines the answer as NO and proceeds to ACT 116. In ACT 116, the processor 301 checks whether or not the start of the transaction has been designated. If the processor 301 cannot confirm that the designation has been made, it determines the answer as NO and returns to ACT 113. Thus, in ACT113 to ACT116, the processor 301 waits for any one of the following to be designated: start of scan, quantity, stop, or start of accounting.

[0091] If the customer wishes to register the product as a purchased product, he or she designates the start of scanning by a predetermined operation such as touching the button BU12 on the list screen SC1. In response to this, the processor 301 determines YES in ACT113 and proceeds to ACT117. In ACT 117, the processor 301 displays a registration screen on the touch panel 304. The registration screen is a screen that prompts the customer to read a barcode that represents the product code of the product to be registered as a purchased product.

[0092] FIG. 17 is a diagram showing an example of the registration screen SC2. The registration screen SC2 includes a display area AR21, a message ME21, and a button BU21. The display area AR21 displays an image captured by the camera 305. The message ME21 is a text message urging the customer to scan the barcode of the product. The button BU21 is a soft key that the customer presses to stop scanning the product code. For example, the processor 301 activates the camera 305, and generates the registration screen SC2 by superimposing on the image obtained by the camera 305 a line indicating the range of the display area AR21, and an image showing the message ME21 and the button BU21.

[0093] In ACT118 in Fig. 10, the processor 301 checks whether the barcode has been read. At this time, the processor 301 analyzes the image obtained by the camera 305 and attempts to read the barcode. This barcode reading may be performed as a process based on the smartphone POS app AP301, or may be performed as a process based on a separate application program for reading barcodes. If the barcode cannot be read, the processor 301 determines NO and proceeds to ACT119. In ACT 119, the processor 301 checks whether or not a command to stop scanning has been issued. If the processor 301 cannot confirm this command, it determines "NO" and returns to ACT 118. Thus, in ACT118 and ACT119, the processor 301 waits for the barcode to be read or for a command to stop scanning to be issued.

[0094] If the customer wishes to return to the list screen without performing this scan, the customer specifies to stop scanning by a predetermined operation such as touching the button BU21. In response to this, the processor 301 determines YES in ACT119 and returns to ACT112.

[0095] When the registration screen is displayed on the touch panel 304, the customer points the camera 305 at the product to be registered as a purchased product so that the barcode displayed on the product is reflected in the display area AR21. If the barcode is read in response to this, the processor 301 determines YES in ACT118 and proceeds to ACT120. In ACT 120, the processor 301 requests registration from the mobile controller 3. The request data transmitted by the processor 301 includes data represented by the read barcode (hereinafter referred to as barcode data). In ACT121, the processor 301 waits for an instruction to display the list screen.

[0096] When the customer touches an area on the list screen SC1 that shows the quantity while the processor 301 is in the standby state of ACT113 to ACT116, a list box for specifying the quantity is displayed on the list screen SC1. When this list box is operated, the processor 301 receives this as a specification of the quantity. In this case, the processor 301 determines YES in ACT114 in FIG. 10 and proceeds to ACT122 in FIG. 11.

[0097] In ACT122, the processor 301 checks whether the designated number is 0. If the designated number is not 0, the processor 301 determines the answer as NO and proceeds to ACT123. In ACT123, the processor 301 requests the mobile controller 3 to change the quantity. The request data sent by the processor 301 here includes specific data for identifying the product whose quantity is specified and the specified number. The specific data may be a product code, or may be data that can identify the purchased product only on the mobile controller 3, such as a number for identifying each purchased product in a list of purchased products. If a product code is used as the specific code, the processor 31 includes the product code for each purchased product in the instruction data for instructing the display of a list screen.

[0098] If the specified number is 0, the processor 301 determines YES in ACT122 and proceeds to ACT124. In ACT124, the processor 301 displays a deletion screen on the touch panel 304. The deletion screen is a screen that notifies the customer that the product for which the quantity has been specified to be set to 0 will be deleted from the purchased items. The deletion screen includes a delete button for specifying deletion, and a back button for specifying returning to the state before the quantity change was specified without changing the quantity.

[0099] In ACT 125, the processor 301 checks whether or not deletion has been specified. If the processor 301 cannot confirm that the specification has been made, it determines "NO" and proceeds to ACT 126. In ACT 126, the processor 301 checks whether or not a return has been specified. If the processor 301 cannot confirm that a return has been specified, it determines NO and returns to ACT 125. Thus, the processor 301 waits for deletion or return to be specified in ACT125 and ACT126.

[0100] If the customer wishes to cancel the deletion and return to the state before specifying the change in quantity, the customer specifies return by a predetermined operation such as touching the back button on the deletion screen. In response to this, the processor 301 determines YES in ACT 126 and returns to ACT 112 in Fig. 10. In this case, the registration state of the purchased product is not changed, so the processor 301 causes the touch panel 304 to again display the list screen SC1 in the same state as that displayed before the deletion screen was displayed.

[0101] If the customer is sure that the item should be deleted, he or she specifies the deletion by a predetermined operation such as touching the delete button on the deletion screen. In response to this, the processor 301 determines YES in ACT125 and proceeds to ACT127. In ACT127, the processor 301 requests deletion from the mobile controller 3. The request data transmitted by the processor 301 includes specification data for specifying the product designated for deletion.

[0102] After requesting a quantity change in ACT123 or requesting a deletion in ACT127, the processor 301 proceeds to ACT128. In ACT128, the processor 301 waits for an instruction to display the list screen.

[0103] After notifying the user that check-in is complete in ACT204 in FIG. 13, the processor 31 in the mobile controller 3 proceeds to ACT205. In ACT205, the processor 31 checks whether a request to change the purchased product has been made. If the processor 31 cannot confirm the request, it determines NO and proceeds to ACT206. In ACT 206, the processor 31 checks whether a request to cancel the purchased item has been made. If the processor 31 cannot confirm such a request, it determines NO and proceeds to ACT 207. In ACT 207, the processor 31 checks whether or not a payment request has been made. If the processor 31 cannot confirm the request, it determines that the result is NO and returns to ACT 205. Thus, the processor 31 waits for a request for change, cancellation, or accounting in ACT205 to ACT207. If a request for registration, quantity change, or deletion is received from the user terminal 300 as described above, the processor 31 determines YES in ACT205 and proceeds to ACT208.

[0104] As ACT208, the processor 31 transfers the request from the user terminal 300 to the virtual POS server 2, along with notification of the transaction code of the transaction being processed. At this time, the processor 31 may transfer the request data sent from the user terminal 300 directly to the virtual POS server 2, or may transmit the request data after conversion through some processing to the virtual POS server 2. However, the processor 31 notifies the virtual POS server 2 of the barcode data or specific data included in the request data sent from the user terminal 300.

[0105] In the virtual POS server 2, if request data regarding registration, quantity change or deletion is transferred from the mobile controller 3 while the processor 21 is in the standby state of ACT302 to ACT305 in Figure 15, the processor 21 determines YES in ACT302 and proceeds to ACT306. In ACT 306, the processor 21 updates the transaction database DB21 in response to the request in the transferred request data. For example, when a registration request is received, the processor 21 assumes that the barcode data included in the request data was read by a barcode scanner provided in an existing POS terminal and attempts to register the purchased item using the same process as an existing POS terminal. However, for some reason, the product code represented by the barcode data may not be registered in the product database. Also, the product may display a barcode other than the product code. In these cases, the processor 21 is unable to register the purchased item and reports an error. In this way, the processor 21 registers the purchased item based on the legitimate barcode reading. For example, when a quantity change is requested, the processor 21 changes the quantity already displayed in the transaction database DB21 for the product subject to the quantity change. For example, when a deletion request is received, the processor 21 updates the transaction database DB21 to remove the target product from the purchased items. As a result, the processor 21 determines the content of the transaction in response to an instruction from the operator of the user terminal 300, which serves as a mobile information communication terminal. Thus, the processor 21 executes information processing based on the virtual POS application AP21, and the computer with the processor 21 as its central part functions as a decision-making means.

[0106] In ACT307, the processor 21 transmits result data indicating the results of the above processing to the mobile controller 3. If the registration of the purchased item was performed correctly, the processor 21 includes in the result data identification data for identifying that the notification is of legitimate registration, and the product code, product name, and price of the registered product. If the processor 21 changes the quantity, the processor 21 includes in the result data the product code of the changed product and the changed quantity. If the processor 21 deletes a purchased item, the processor 21 includes in the result data the product code of the product removed from the purchased items. Furthermore, if an error occurs, the processor 21 includes in the result data identification data for identifying that the notification is of an error, and the barcode data sent in the registration request. After completing transmission of the result data, the processor 21 returns to the standby state of ACT302 to ACT305.

[0107] After transferring the request in ACT208, the processor 31 in the mobile controller 3 proceeds to ACT209. In ACT 209, the processor 31 acquires the result data transmitted from the virtual POS server as described above. The processor 31 stores the acquired result data in the main memory 32 or the auxiliary storage unit 33.

[0108] In ACT 210, the processor 31 updates the registration database DB 32 based on the result data. This updating of the registration database DB 32 is performed, for example, as follows. First case: This is a notification of regular registration, and the data record DR2 associated with the transaction being processed does not contain registration data containing the notified product code. In this case, processor 31 adds a new field next to the last field already present in data record DR2 associated with the transaction being processed, and adds new registration data to that field. Processor 31 includes in the new registration data the notified product code, an error flag set to "0" indicating no error, the notified product name and price, the quantity set to "1," and a cancellation flag set to "0" indicating no cancellation. Thus, the registration data added in this case has the structure shown in the upper right corner of Figure 6.

[0109] Second case: This is a notification of a valid registration, and the data record DR2 associated with the transaction being processed contains registration data that includes the notified product code, but the cancellation flag for that registration data is set to "1", indicating that it has been canceled. In this case, processor 31 processes in the same manner as in the first case above.

[0110] Third case: This is a notification of a valid registration, and the data record DR2 associated with the transaction being processed contains registration data that includes the notified product code, and the cancellation flag for that registration data is set to "0." In this case, the processor 31 rewrites the value of the quantity included in the registration data that includes the notified product code and has a cancellation flag of "0" to a value that is one step larger.

[0111] Fourth case: It is a notice of quantity change. In this case, processor 31 finds the registered data containing the notified product code from data record DR2 associated with the transaction being processed, and then rewrites the quantity contained in the corresponding registered data with the quantity contained in the result data.

[0112] Fifth case: It is a deletion notice. In this case, processor 31 finds the registration data containing the notified product code from data record DR2 associated with the transaction being processed, and then changes the cancellation flag included in the corresponding registration data to "1."

[0113] Case 6: It is an error notification. In this case, processor 31 adds a new field next to the last field already present in data record DR2 associated with the transaction being processed, and adds new registration data to that field. Processor 31 includes the notified barcode data and an error flag set to "1" indicating an error in the new registration data. Thus, the registration data added in this case has the structure shown in the lower right of Figure 6.

[0114] By updating the registration database DB32 by the processor 31 in this way, the registration database DB32 not only shows a list of purchased products registered in the virtual POS server 2, but also records barcode reading errors. The processor 31 may store the barcode data sent in the registration request in the main memory 32 or the auxiliary storage unit 33, and in the sixth case described above, include this stored barcode data in the registration data. In this case, the processor 21 in the virtual POS server 2 may not include the barcode data in the result data. The processor 31 may also extract a product code from the stored barcode data and perform the processes in the first to fifth cases based on this product code. The processor 31 may also obtain the product name and price from the store server 1 or the like based on the product code.

[0115] In ACT211, the processor 31 instructs the user terminal 300 to display a list screen. For example, the processor 31 transmits instruction data including identification data for identifying that the instruction is to display a list screen to the user terminal 300 via the in-store communication network 7 and the access point 6. The processor 31 includes in the instruction data the product code, product name, price, and quantity contained in the data record DR2 with which the transaction to be processed is associated in the registration database DB32. If the current registration is determined to be an error, the processor 31 also includes error data indicating this in the instruction data. The processor 31 then returns to the standby state of ACT205 to ACT207.

[0116] The various instructions from the mobile controller 3 to the user terminal 300 described below are realized by sending instruction data including identification data for identifying the reason for the instruction from the mobile controller 3 to the user terminal 300 via the in-store communication network 7 and the access point 6, as described above.

[0117] When the result data in any of the first to third cases and the sixth case described above is received by the wireless communication unit 306 of the user terminal 300, the processor 301 determines YES in ACT121 in Fig. 10. Furthermore, when the result data in the fourth or fifth case described above is received by the wireless communication unit 306, the processor 301 determines YES in ACT128 in Fig. 11. In either of these cases, the processor 301 returns to ACT112 in Fig. 10 and causes the list screen SC1 to be displayed again on the touch panel 304. At this time, the processor 301 sets the list screen SC1 to a screen showing the product name, price, and quantity of the purchased product included in the instruction data. Furthermore, if the instruction data includes error data, the processor 301 adds a message to the list screen SC1 indicating that the registration was not correct.

[0118] FIG. 18 is a diagram showing an example of the list screen SC1 in a state where purchased products have already been registered. The list screen SC1 shown in FIG. 18 is an example of a case in which the following items have been registered for purchase: one item with the product name "AAA" and a price of 120 yen, two items with the product name "BBB" and a price of 98 yen, and one item with the product name "CCC" and a price of 1,024 yen. On the list screen SC1 shown in FIG. 20, the display area AR12 shows the product name, price, and quantity of these registered items. The display area AR11 also shows "4" as the total number and "1,340" as the total amount. The area surrounded by a dashed line to the left of the product name is an area for displaying an icon. The dashed line representing this area is not actually displayed on the list screen SC1.

[0119] If the customer wishes to cancel all of the purchased items that have already been registered and to stop shopping, the customer can specify cancellation by a predetermined operation such as touching button BU11 on the list screen SC1. In response to this, the processor 301 determines YES in ACT115 in FIG. 10 and proceeds to ACT129 in FIG. 11. In ACT 129, the processor 301 displays a cancellation screen on the touch panel 304. The cancellation screen is a screen that notifies the customer that all of the purchased items that have already been registered will be canceled. The cancellation screen includes an execution button for specifying cancellation execution, and a back button for specifying returning to the state before the quantity change was specified without changing the quantity.

[0120] In ACT 130, the processor 301 checks whether or not cancellation execution has been specified. If the processor 301 cannot confirm this specification, it determines NO and proceeds to ACT 131. In ACT 131, the processor 301 checks whether or not a return has been specified. If the processor 301 cannot confirm that a return has been specified, it determines NO and returns to ACT 130. Thus, the processor 301 waits for a cancellation or return to be specified as ACT130 and ACT131.

[0121] If the customer wishes to continue shopping, the customer specifies "Back" by a predetermined operation such as touching the "Back" button on the cancellation screen. In response to this, the processor 301 determines "YES" in ACT131, returns to ACT112 in Fig. 10, and causes the list screen SC1 to be displayed again on the touch panel 304. In this case, the registration status of the purchased product is not changed, so the processor 301 causes the list screen SC1 to be displayed again on the touch panel 304 in the same state as that displayed before the cancellation screen was displayed.

[0122] If the customer wishes to cancel the purchase, he or she can specify cancellation by a predetermined operation such as touching the execute button on the cancellation screen. In response to this, the processor 301 determines YES in ACT130 and proceeds to ACT132. In ACT 132, the processor 301 requests the mobile controller 3 to cancel.

[0123] If a cancellation request is received from the user terminal 300 as described above, the processor 31 in the mobile controller 3 determines YES in ACT206 in FIG. 13 and proceeds to ACT212. As ACT212, the processor 31 transfers a request for cancellation, along with a notification of the transaction code of the transaction being processed, to the virtual POS server 2. At this time, the processor 31 may transfer the request data sent from the user terminal 300 to the virtual POS server 2 as is, or may transmit the request data to the virtual POS server 2 after converting it through some processing.

[0124] In the virtual POS server 2, if request data relating to cancellation is transferred from the mobile controller 3 while the processor 21 is in the standby state of ACT302 to ACT305 in FIG. 15, the processor 21 determines YES in ACT303 and proceeds to ACT308. In ACT 308, the processor 21 updates the transaction database DB21 in accordance with the request in the transferred request data. For example, the processor 21 regards the request in the request data sent from the mobile controller 3 as a cancellation instruction input by an input device provided in the existing POS terminal, and updates the transaction database DB21 by processing similar to that of the existing POS terminal so as to exclude all registered products associated with the notified transaction code from the purchased products.

[0125] In ACT309, the processor 21 transmits result data indicating the results of the above-described processing to the mobile controller 3. The processor 21 includes the product codes of all products excluded from the purchased products in the result data. After completing transmission of the result data, the processor 21 returns to the standby state of ACT302 to ACT305.

[0126] After transferring the request in ACT212, the processor 31 in the mobile controller 3 proceeds to ACT213. The processor 31 acquires the result data transmitted from the virtual POS server as described above as ACT 213. The processor 31 stores the acquired result data in the main memory 32 or the auxiliary storage unit 33.

[0127] In ACT214, processor 31 updates registration database DB32 based on the result data. That is, processor 31 changes the cancellation flags that are set to "0" to "1" for all of the registration data included in data record DR2 associated with the transaction being processed. In ACT215, the processor 31 notifies the user terminal 300 of the cancellation. Then, the processor 31 then returns to the standby state in ACT205 to ACT207.

[0128] After the processor 301 in the user terminal 300 requests cancellation in ACT 132 in FIG. 11, the process proceeds to ACT 133. In ACT133, the processor 301 waits for a cancellation notification from the mobile controller 3. If a cancellation notification is received as described above, the processor 301 determines YES and returns to ACT101 in FIG.

[0129] Once the customer has registered all of the products they wish to purchase as purchase items, they proceed to payment. At this time, the customer specifies the start of the transaction by a predetermined operation, such as touching button BU13 on the list screen SC1. In response to this, the processor 301 determines YES in ACT116 in FIG. 10 and proceeds to ACT134. In ACT134, the processor 301 requests a transaction from the mobile controller 3. The processor 301 includes a terminal code in the request data it sends. If an electronic receipt ID is stored in the auxiliary storage unit 303, the processor 301 also includes the electronic receipt ID in the request data. This causes the processor 301 to transmit the electronic receipt ID as a user identifier using the wireless communication unit 306 or the mobile communication unit 307. Thus, by the processor 301 executing information processing based on the smartphone POS app AP301, the computer, which includes the processor 301 as its core part, functions as a first transmission means for transmitting a user identifier in cooperation with the wireless communication unit 306 or the mobile communication unit 307. In ACT135, the processor 301 waits for an instruction to display the checkout screen.

[0130] If a payment request is received from the user terminal 300 as described above, the processor 31 in the mobile controller 3 determines YES in ACT 207 in FIG. 13 and proceeds to ACT 217 in FIG. In ACT217, the processor 31 checks whether or not an electronic receipt ID has been notified from the user terminal 300. If the electronic receipt ID is included in the request data, the processor 31 determines the answer as YES and proceeds to ACT218.

[0131] In ACT218, the processor 31 updates the transaction management database DB31 to record the electronic receipt ID notified from the user terminal 300. For example, the processor 31 searches the transaction management database DB31 for a data record DR1 in which the terminal code included in the request data is set in field F11. The processor 31 then sets the electronic receipt ID included in the request data in field F14 of the corresponding data record DR1. Note that if an electronic receipt ID has already been set in field F14 of the corresponding data record DR1, the processor 31 overwrites it with the electronic receipt ID included in the request data.

[0132] Once the processor 31 has finished updating the transaction management database DB31, it proceeds to ACT 219. If the request data does not include an electronic receipt ID, the processor 31 determines NO in ACT 217, skips ACT 218, and proceeds to ACT 219. In ACT219, the processor 31 instructs the user terminal 300 to display the accounting screen.

[0133] If an instruction to display the checkout screen is given as described above, the processor 301 in the user terminal 300 determines YES in ACT 135 in FIG. 10 and proceeds to ACT 136 in FIG. In ACT 136, the processor 301 displays an accounting screen on the touch panel 304. The accounting screen is a screen that allows the customer to select whether to use the user terminal 300 or the accounting machine 5 to perform the operation for settling the price.

[0134] FIG. 19 is a diagram showing an example of the checkout screen SC3. The checkout screen SC3 includes a display area AR31, a message ME31, and buttons BU31 and BU32. The display area AR31 shows the total number of purchased items and the total price of the purchased items. The message ME31 is a text message prompting the customer to specify whether they will use the user terminal 300 or the payment machine 5 to make the payment. The button BU31 is a soft key that the customer uses to specify the user terminal 300. The button BU32 is a soft key that the customer uses to specify the payment machine 5.

[0135] In ACT137, the processor 301 checks whether or not the user terminal 300 has been designated. If the processor 301 cannot confirm that the user terminal 300 has been designated, it determines the result as NO and proceeds to ACT138. In ACT138, the processor 301 checks whether or not the payment machine 5 has been designated. If the processor 301 cannot confirm that the payment machine 5 has been designated, it determines the result as NO and returns to ACT137. Thus, the processor 301 waits for the user terminal 300 or the accounting machine 5 to be designated as ACT137 and ACT138.

[0136] If the customer wishes to perform the operation for payment on the user terminal 300, the customer designates the user terminal 300 by a predetermined operation such as touching the button BU31. In response to this, the processor 301 determines YES in ACT137 and proceeds to ACT139. In ACT 139, the processor 301 requests payment from the mobile controller 3. Note that the processor 301 may include payment information necessary for payment, such as a credit number or a user code for an online payment service, in the request data for requesting payment.

[0137] After issuing an instruction to display the checkout screen in ACT219 in FIG. 14, the processor 31 in the mobile controller 3 proceeds to ACT220. In ACT220, the processor 31 checks whether or not a payment request has been made. If the processor 31 cannot confirm the request, it determines NO and proceeds to ACT221. In ACT221, the processor 31 checks whether or not a notification of the completion of the settlement has been received. If the processor 31 cannot confirm the notification, it determines that the result is NO and returns to ACT220. Thus, the processor 31 waits for a payment request or a payment completion notification in ACT 220 and ACT 221. Then, if a payment request is received from the user terminal 300 as described above, the processor 31 determines YES in ACT 220 and proceeds to ACT 222.

[0138] In ACT222, the processor 31 transfers a payment request to the virtual POS server 2 along with a notification of the transaction code of the transaction being processed. At this time, the processor 31 may transfer the request data sent from the user terminal 300 to the virtual POS server 2 as is, or may transmit the request data to the virtual POS server 2 after converting it through some processing. However, if the processor 31 has already acquired an electronic receipt ID for the transaction being processed, the processor 31 includes the electronic receipt ID in the request data. For example, the processor 31 searches the transaction management database DB31 for a data record DR1 in which the terminal code included in the request data is set in field F11. Then, if an electronic receipt ID is set in field F14 of the corresponding data record DR1, the processor 31 includes the electronic receipt ID in the request data. Furthermore, if the request data sent from the user terminal 300 includes payment data, the processor 31 includes the payment data as is in the request data to be transmitted to the virtual POS server 2.

[0139] If the electronic receipt ID set in field F14 of the data record DR1 is transmitted from the user terminal 300, the processor 31 transfers the electronic receipt ID to the virtual POS server 2 serving as a second information processing device via the communication interface 34. As the processor 31 executes information processing based on the intermediary application AP31, the computer including the processor 31 as its core realizes a function as a transfer means for transferring the electronic receipt ID as a user identifier in cooperation with the communication interface 34. Furthermore, if the electronic receipt ID set in field F14 of the data record DR1 is acquired as being associated with the point ID serving as key data transmitted from the user terminal 300, the processor 31 transmits the electronic receipt ID to the virtual POS server 2 serving as a second information processing device via the communication interface 34. As the processor 31 executes information processing based on the intermediary application AP31, the computer including the processor 31 as its core realizes a function as a third transmission means for transmitting the electronic receipt ID as a user identifier in cooperation with the communication interface 34. In ACT223, the processor 31 waits for notification of the completion of the settlement.

[0140] If the processor 21 in the virtual POS server 2 receives payment-related request data from the mobile controller 3 while in the standby state of ACT302 to ACT305 in FIG. 15, the processor 21 determines YES in ACT304 and proceeds to ACT310. As ACT310, the processor 21 executes a payment process to settle the payment in response to the request in the transferred request data. For example, the processor 21 considers the request in the request data sent from the mobile controller 3 to be a payment instruction input via an input device provided on an existing POS terminal and calculates the payment for the transaction identified by the notified transaction code using a process similar to that of an existing POS terminal. The processor 21 then requests the payment server 400 to settle the calculated payment. For example, the processor 21 references a user database included in the database group DB11 to determine a payment method to be applied to the payment and acquires payment information to be used for the payment using that payment method. If multiple payment methods or multiple payment information are registered in the user database, one of them is selected in response to an instruction from the operator of the user terminal 300 or in accordance with predetermined conditions. For example, if the request data includes payment information, the processor 21 may determine the payment method to be used for the payment based on the payment information and use the payment information as the payment information to be used for the payment. Thus, the processor 21 executes information processing based on the virtual POS application AP21, and the computer with the processor 21 as its central part functions as a payment means.

[0141] In ACT 311, the processor 21 checks whether or not an electronic receipt ID has been notified. For example, if the request data requesting payment includes an electronic receipt ID, the processor 21 determines YES and proceeds to ACT 312. In ACT312, the processor 21 performs a process to register the transaction data related to the transaction for which the payment has been completed as described above in the electronic receipt server 500 so that the transaction data can be viewed by the user identified by the electronic receipt ID included in the request data. This process may be similar to the process performed by, for example, an existing electronic receipt service. The type of data that the processor 21 includes in the transaction data depends on, for example, the rules of the electronic receipt service. At this time, the processor 21 transmits the transaction data to the electronic receipt server 500, which serves as a provider device for providing the electronic receipt service. In this way, the processor 21 executes information processing based on the virtual POS application AP21, and the computer having the processor 21 as its central part functions as a second transmitting means.

[0142] If the customer wishes to use the payment machine 5 to pay the bill, the customer specifies the payment machine 5 by performing a predetermined operation such as touching button BU32 on the payment screen SC3. In response to this, the processor 301 in the user terminal 300 determines YES in ACT138 in FIG. 12 and proceeds to ACT140. As ACT140, the processor 301 displays a transaction barcode screen on the touch panel 304. The transaction barcode screen is a screen that displays a transaction barcode, which represents data necessary for the transaction device 5 to obtain data related to the transaction details from the virtual POS server 2. Although detailed processing is not shown, the processor 301 obtains the transaction barcode from the virtual POS server 2 via the mobile controller 3 and displays the transaction barcode on the transaction barcode screen.

[0143] The customer has the scanner of a payment machine 5 that is not being used by another customer read the payment barcode. In response, the payment machine 5 requests the virtual POS server 2 to transfer payment data according to the data represented by the payment barcode. For example, the payment machine 5 sends request data including the transaction code contained in the data represented by the payment barcode to the virtual POS server 2.

[0144] In the virtual POS server 2, when request data for a transfer request including the transaction code of the transaction that is the subject of transaction processing in the standby state of ACT302 to ACT305 shown in Figure 15 is received, the processor 21 judges YES in ACT305 and proceeds to ACT313. As ACT313, processor 21 transmits to the accounting machine 5 that requested the transfer payment data that represents the details of the transaction being processed and is necessary for settlement at the accounting machine 5. The payment data may be similar to the payment data transferred from a registration machine to an accounting machine in an existing semi-self-service transaction processing system, for example. In ACT314, the processor 21 waits for the completion of the payment at the payment device 5 that sent the payment data as described above.

[0145] When the payment machine 5 receives the payment data sent from the virtual POS server 2, it settles the transaction price while receiving operations from the operator. The payment machine 5 also issues various printed materials such as receipts or coupons as necessary. When the payment is complete, the payment machine 5 notifies the virtual POS server 2. In response, the processor 21 in the virtual POS server 2 determines YES in ACT 314 and proceeds to ACT 315. The processor 21 also proceeds to ACT 315 after completing the electronic receipt registration in ACT 312. Furthermore, if the request data requesting payment does not include an electronic receipt ID, the processor 21 determines NO in ACT 311, skips ACT 312, and proceeds to ACT 315. In ACT 315, the processor 21 notifies the mobile controller 3 of the completion of the settlement. Then, the processor 21 ends the transaction processing.

[0146] When the processor 31 in the mobile controller 3 receives a notification of payment completion from the virtual POS server 2 as described above, the processor 31 determines YES in ACT 221 or ACT 223 in Fig. 14, and in either case proceeds to ACT 224. Incidentally, if the processor 21 proceeds from ACT 311 or ACT 312 in Fig. 15 to ACT 315, the processor 31 determines YES in ACT 221 in Fig. 14, and if the processor 21 proceeds from ACT 314 to ACT 315 in Fig. 15, the processor 31 determines YES in ACT 223 in Fig. 14. In ACT224, the processor 31 notifies the user terminal 300 that the payment has been completed.

[0147] After the processor 301 of the user terminal 300 requests payment in ACT139 or displays the accounting barcode screen in ACT140, the processor 301 proceeds to ACT141. In ACT 141, the processor 301 waits for notification of the completion of the payment. If the processor 301 receives notification of the completion of the payment from the mobile controller 3 as described above, the processor 301 determines YES and proceeds to ACT 142. In ACT 142, the processor 301 displays a completion screen on the touch panel 304. The completion screen is a screen for notifying the customer that the payment has been completed.

[0148] Once the customer has confirmed the completion screen, they declare that they have confirmed it by performing a predetermined operation, such as touching a button displayed on the completion screen. In response to this, the processor 301 proceeds to ACT 143. The processor 301 may also proceed to ACT 143 when the elapsed time while the completion screen is displayed reaches a predetermined time.

[0149] In ACT143, the processor 301 displays a scan screen for checkout on the touch panel 304. The scan screen for checkout is a screen for reading the two-dimensional code TC2 for checkout. The processor 301, for example, activates the camera 305, and generates the scan screen by superimposing on an image obtained by the camera 305 a text message urging the customer to read the two-dimensional code TC2 and a line indicating the position where the two-dimensional code TC2 should be held over the image.

[0150] When the checkout scan screen appears on the touch panel 304, the customer points the camera 305 at the two-dimensional code TC2 posted near the store exit so that the two-dimensional code TC2 appears on the scan screen. In ACT144, the processor 301 waits for the two-dimensional code to be read. At this time, the processor 301 repeatedly analyzes the image obtained by the camera 305 and attempts to read the two-dimensional code. This reading of the two-dimensional code may be performed as a process based on the smartphone POS app AP301, or may be performed as a process based on a separate application program for reading two-dimensional codes. If the two-dimensional code has been read, the processor 301 determines YES and proceeds to ACT145.

[0151] In ACT 145, the processor 301 checks whether the data represented by the read two-dimensional code is checkout data. If the data is not checkout data, the processor 301 determines NO and returns to ACT 144. At this time, the processor 301 may display a screen on the touch panel 304 notifying the customer that an incorrect two-dimensional code has been read.

[0152] If the processor 301 confirms that the data represented by the read two-dimensional code is check-out data, it determines YES in ACT145 and proceeds to ACT146. In ACT 146, the processor 301 requests the mobile controller 3 to check out.

[0153] After notifying the completion of the payment in ACT224 in FIG. 14, the processor 31 in the mobile controller 3 proceeds to ACT225. In ACT 225, the processor 31 waits for a check-out request. If a check-out request is received from the user terminal 300 as described above, the processor 31 determines YES and proceeds to ACT 226.

[0154] As ACT226, the processor 31 executes checkout processing. The checkout processing includes clearing data stored in the main memory 32 and the auxiliary storage unit 33 for managing the transaction that was being processed. The virtual POS server 2 may terminate processing related to the transaction in response to completion of the payment, or may terminate processing related to the transaction in response to an instruction from the mobile controller 3. In the latter case, the processor 31 issues the above instruction to the virtual POS server 2 during checkout processing. Also, a history database showing the history of user operations, including erroneous barcode scanning, may be managed by the store server 1, the virtual POS server 2, the mobile controller 3, or another server (not shown). In this case, the processor 31 performs processing during checkout processing to update the history database to reflect the operation history related to the current transaction. In ACT227, the processor 31 notifies the user terminal 300 of the completion of check-out, and then the processor 31 ends the intermediation process.

[0155] After the processor 301 in the user terminal 300 requests check-out in ACT146 in FIG. 12, the process proceeds to ACT147. In ACT 147, the processor 301 waits for a notification of check-out completion. If the processor 301 receives a notification of check-out completion from the mobile controller 3 as described above, the processor 301 determines YES and proceeds to ACT 148. In ACT148, the processor 301 clears various data temporarily used in relation to this shopping, such as the check-in data saved in ACT107 in Fig. 9. Then, the processor 301 returns to ACT101 in Fig. 9.

[0156] As described above, according to the transaction processing system of this embodiment, the result of a transaction settled in response to an instruction from a customer at the user terminal 300 is registered in the electronic receipt service in association with the electronic receipt ID stored in the user terminal 300. Therefore, the customer can check the result of the transaction using the electronic receipt service while performing the settlement process in response to an operation on the user terminal 300.

[0157] Furthermore, according to the transaction processing system of this embodiment, the result of a transaction settled in response to an instruction from a customer on the user terminal 300 is registered in the electronic receipt service in association with an electronic receipt ID associated with the point ID stored in the user terminal 300. Therefore, the customer can check the result of the transaction using the electronic receipt service while performing the settlement process in response to an operation on the user terminal 300.

[0158] This embodiment can be modified in various ways as follows. The generation of the list of purchased items may be executed by the processor 301 in the user terminal 300. In this case, the function of the determination means is realized by a computer having the processor 301 as its central part.

[0159] Various requests may be made directly from the user terminal 300 to the virtual POS server 2. In this case, instructions to display various screens or acquisition of an electronic receipt ID associated with a point ID may also be made by the virtual POS server 2. In this case, the mobile controller 3 may be omitted.

[0160] At least one of the payment means and the notification means may be provided in a single information processing device other than the information processing device having the determination means, or the payment means and the notification means may be provided in two information processing devices other than the information processing device having the determination means. For example, the payment means may be provided in the store server 1. Alternatively, an information processing device not shown in FIG. 1 may be added to the store system 100, and at least one of the payment means and the notification means may be provided in that information processing device.

[0161] The transactions to be processed by the transaction processing system are not limited to the sale of merchandise displayed in a store, but may also be other types of transactions, such as the preparation and provision of food and drink.

[0162] Any data may be used as the key data as long as it can identify the user.

[0163] The user terminals 300 may also include so-called cart terminals attached to shopping carts provided in stores.

[0164] Some or all of the functions realized by the processors 11, 21, 31, 41, and 301 through information processing can also be realized by hardware that executes information processing not based on a program, such as a logic circuit. Each of the above functions can also be realized by combining the above hardware, such as the logic circuit, with software control.

[0165] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. The inventions described in the original claims of this application are set forth below. [Supplementary Note 1] A mobile information communication terminal and at least one information processing device are included, a storage means provided in the mobile information communication terminal for storing a user identifier for identifying a user of the electronic receipt service; a first transmitting means provided in the mobile information communication terminal for transmitting the user identifier stored in the storage means; a determination means provided in one of the information processing devices for determining the content of a transaction in response to an instruction from an operator of the portable information communication terminal; a payment means provided in one of the information processing devices and configured to settle the price of the transaction determined by the determination means; a second transmission means provided in one of the information processing devices, for transmitting transaction data representing the details determined by the determination means for the transaction in which the price has been settled by the payment means to a providing device that provides the electronic receipt service, associating the transaction data with the user identifier transmitted by the first transmission means; A transaction processing system comprising: [Supplementary Note 2] The at least one information processing device includes a first information processing device and a second information processing device; a transfer means, provided in the first information processing device, for transferring the user identifier transmitted by the first transmission means to the second information processing device; the second transmitting means is provided in the second information processing device and transmits the transaction data as data associated with the user identifier transferred by the transferring means. 10. A transaction processing system as described in Appendix 1. [Supplementary Note 3] A mobile information communication terminal and at least one information processing device are included, a storage means provided in the portable information communication terminal for storing key data associated with a user of the portable information communication terminal; a first transmitting means provided in the portable information communication terminal for transmitting the key data stored in the storage means; a determination means provided in one of the portable information communication terminals or the information processing devices, for determining the content of a transaction in response to an instruction from an operator of the portable information communication terminal; a payment means provided in one of the information processing devices and configured to settle the price of the transaction determined by the determination means; a second transmission means provided in one of the information processing devices, for transmitting transaction data representing the details determined by the determination means for the transaction in which the price has been settled by the payment means to a providing device that provides an electronic receipt service, associating the transaction data with a user identifier associated with the key data transmitted by the first transmission means; A transaction processing system comprising: [Supplementary Note 4] The at least one information processing device includes a first information processing device and a second information processing device; an acquisition means provided in the first information processing device, for acquiring the user identifier associated with the key data transmitted by the first transmission means; a third transmitting means, which is provided in the first information processing device and transmits the user identifier acquired by the acquiring means to the second information processing device; the second transmitting means is provided in the second information processing device and transmits the transaction data as data associated with the user identifier transmitted by the third transmitting means; 10. A transaction processing system as described in Appendix 3. [Appendix 5] The mobile information communication terminal is owned by the customer. A transaction processing system as described in any one of Appendix 1 to Appendix 4. [Explanation of symbols]

[0166] 1...store server, 2...virtual POS server, 3...mobile controller, 4...communication server, 5...accounting machine, 6...access point, 7...in-store communication network, 11,21,31,41,301...processor, 12,22,32,42,302...main memory, 13,23,33,43,303...auxiliary storage unit, 14,24,34,44...communication interface, 15,25,35,46,308...transmission path, 45...communication unit, 304...touch panel, 305...camera, 306...wireless communication unit, 307...mobile communication unit, 100 (100A, 100B)...store system, 200...relay server, 300...user terminal, 400...payment server, 500...electronic receipt server, 600...communication network.

Claims

1. An information processing device that constitutes a transaction processing system together with a mobile information communication terminal, The portable information communication terminal comprises: a first storage means for storing a user identifier for identifying a user of an electronic receipt service; a first transmission means for transmitting the user identifier stored in the first storage means to the information processing device via a communication network; and a means for transmitting request data for requesting payment including payment information to the information processing device via the communication network in response to an instruction on the portable information communication terminal by an operator, receiving means for receiving the request data; a decision means for deciding the content of the transaction in response to an instruction from the operator of the portable information communication terminal; a processing means for executing a process to request a payment server to make online payment of the price of the transaction determined by the determination means, using payment information included in the request data received by the receiving means; a second transmitting means for transmitting transaction data representing the details determined by the determining means for a transaction in which a price has been settled by the processing means executing the processing, to a providing device that provides the electronic receipt service, associating the transaction data with the user identifier transmitted by the first transmitting means; An information processing device equipped with the above.

2. a second storage means for acquiring the user identifier transmitted by the first transmission means and storing the user identifier and transaction data in association with each other; The information processing device according to claim 1 , further comprising:

3. A portable information communication terminal and at least one information processing device are included, a first storage means provided in the mobile information communication terminal for storing a user identifier for identifying a user of the electronic receipt service; a first transmitting means provided in the portable information communication terminal for transmitting the user identifier stored in the first storing means to the information processing device via a communication network; a means for transmitting, via the communication network to the information processing device, request data for requesting payment, including payment information, in response to an instruction from an operator on the portable information communication terminal; a receiving means provided in one of the information processing devices for receiving the request data; a determination means provided in one of the information processing devices for determining the content of a transaction in response to an instruction from the operator of the portable information communication terminal; a processing means provided in one of the information processing devices, which executes a process to request a payment server to make online payment of the price of the transaction determined by the determination means, using payment information included in the request data received by the receiving means; a second transmission means provided in one of the information processing devices, for transmitting transaction data representing the details determined by the determination means for a transaction in which a price was settled by the processing means executing the process, to a providing device that provides the electronic receipt service, associating the transaction data with the user identifier transmitted by the first transmission means; A transaction processing system comprising:

4. a second storage means provided in one of the information processing devices, for acquiring the user identifier transmitted by the first transmission means, and for storing the user identifier and transaction data in association with each other; The transaction processing system of claim 3 further comprising:

Citation Information

Patent Citations

  • Shopping system and shopping program

    JP2012194959A

  • Program, portable terminal and settlement system

    JP2015184872A

  • Commodity sales processing system

    JP2016128981A

  • Settlement support system, settlement support method, and settlement support program

    JP2017102886A

  • Intra-store peripheral device of electronic payment system

    JP2019049996A