Payment Support System
The payment support system facilitates programmable money transactions in offline conditions by recording requests and settling funds upon reconnection, addressing the limitations of existing systems and enhancing digital currency usability.
Patent Information
- Application Number
- JP2021168905
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-14
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2041-10-14
AI Technical Summary
Existing digital currency systems fail to execute programmable money transactions in offline environments due to the difficulty in distributing and updating various types of programmable money on user devices and POS terminals, limiting the economic benefits that can be obtained by consumers.
A payment support system that records programmable money execution requests in offline conditions, allowing devices to make advance payments, and processes these requests upon reconnection to the network, enabling the payment server to execute transactions and settle funds in a ledger.
Enables the use of programmable money in offline environments, allowing consumers to access economic benefits and promoting innovation through universal access to digital currencies.
Smart Images

Figure 0007752504000001 
Figure 0007752504000002 
Figure 0007752504000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a payment support system. [Background technology]
[0002] In recent years, central banks and private financial institutions have been demonstrating and commercializing digital currencies. Digital currencies are currencies that are digitized by computer systems and managed, stored, and exchanged over the internet. Digital currencies include central bank digital currencies, which are legal tender issued as a liability of a central bank, electronic money issued by private companies, and cryptocurrencies that utilize blockchain algorithms.
[0003] Various models have been proposed for the operation of digital currency systems, including a model in which the issuer of the digital currency manages the system centrally, and a model in which a consortium consisting of the issuer and related companies manages the system in a decentralized manner.
[0004] End users, including consumers and businesses, will access the digital currency system using applications installed on mobile devices or POS terminals to check their digital currency balances and transfer funds. The significance of introducing digital currency is to pursue universal access, allowing all people to use the payment system with peace of mind, and to promote innovation.
[0005] One requirement for universal access is that digital currencies can be used even in situations where there is no internet connection, meaning offline payment functionality is required.
[0006] One known technology that allows digital currency to be paid offline when the consumer or store involved in the transaction cannot connect to a network is the "Method and system for performing offline payment by using a digital currency chip card" (see Patent Document 1). In this system, digital currency is charged to an offline wallet while the user terminal is connected to the network, and if the user is offline when making a payment, the store accepts the consumer's payment request up to an upper limit, and when the store terminal comes back online, the payment request is sent to the digital currency system, which verifies the transaction details and transfers the funds.
[0007] Meanwhile, programmable money is expected to be a means of promoting innovation through digital currency. Programmable money automatically executes transactions according to predefined conditions and logic, and one example is the Programmable Money: Next-Generation Conditional Payments using Blockchain-Keynote paper (see Non-Patent Document 1).
[0008] Programmable money is used for automatic payments and limited use, and known use cases include being able to use it only to purchase necessities, being usable only within its expiration date, and being used by the government to provide funds to the public en masse to stimulate the economy.
[0009] Opening up the development of programmable money to third parties other than digital currency service operators (such as financial institutions and Fintech companies) will promote innovation and make it possible to provide a variety of financial services to users. Programmable money developed by third parties can be made available to end users once it is registered in the system by the digital currency service operator.
[0010] Consumers use an application installed on their mobile device to select from a wide range of programmable money options that they are eligible for and are interested in, and then register for use. When using it to pay at a store, they select the programmable money they want to use from the list of registered options and request payment. Using the request as input, the programmable money is executed, and payment is made according to predefined conditions. [Prior art documents] [Patent documents]
[0011] [Patent Document 1] CN107230079B [Non-patent literature]
[0012] [Non-Patent Document 1] Weber, Ingo, and Mark Staples. “Programmable Money: Next-Generation Conditional Payments using Blockchain-Keynote paper.” Int. Conf. on Cloud Computing and Services Science (CLOSER)(Apr 2021). Summary of the Invention [Problem to be solved by the invention]
[0013] However, the above-mentioned conventional technology only targets the transfer of digital currency in an offline environment, and therefore has the problem that programmable money cannot be executed offline.
[0014] Programmable money runs on servers operated by payment service providers. One solution to this problem is to pre-distribute programmable money so that it can be run in local environments such as mobile devices and POS terminals, rather than on servers.
[0015] However, because programmable money is developed by third parties, there are a huge number of different types, and new ones are constantly being added, making it difficult to distribute all programmable money to mobile devices and POS terminals in advance and keep them updated.
[0016] Therefore, if a user device or POS terminal is offline, it is not possible to call up online programmable money. As a result, programmable money cannot be executed in an offline environment, and consumers are forced to give up the economic benefits that can be obtained from programmable money.
[0017] An object of the present invention is to enable the use of programmable money in an offline environment in a payment support system. [Means for solving the problem]
[0018] One embodiment of the present invention is a payment support system having a first terminal device, a second terminal device, and a payment server device, wherein the first terminal device and the second terminal device record, as a request history, execution requests for programmable money that automatically executes transactions according to predefined conditions or logic under offline conditions, and perform advance payments in offline payments; the second terminal device sends the request history to the payment server device after returning to online mode; the payment server device uses the request history as input to execute the programmable money and transfer funds in a ledger, and generates settlement information to settle the advance payments made in the advance payments made in the offline payments; and the first terminal device settles the advance payments made in the offline payments based on the settlement information. [Effects of the Invention]
[0019] According to one aspect of the present invention, a payment support system can enable the use of programmable money in an offline environment. [Brief explanation of the drawings]
[0020] [Figure 1] 1 is a block diagram illustrating an example of a device configuration of a payment support system according to a first embodiment of the present invention. [Figure 2] 1 is a block diagram illustrating an example of a user terminal device according to a first embodiment of the present invention. [Figure 3] 1 is a block diagram illustrating an example of a POS terminal device according to a first embodiment of the present invention. [Figure 4] 1 is a block diagram illustrating an example of a payment server device according to a first embodiment of the present invention. [Figure 5] FIG. 2 illustrates an example of a ledger table according to the first embodiment of the present invention. [Figure 6] FIG. 1 illustrates a first embodiment of the present invention and shows an example of an offline wallet. [Figure 7] FIG. 3 is a diagram illustrating an example of a favorites table according to the first embodiment of the present invention. [Figure 8] FIG. 10 illustrates an example of a request history table according to the first embodiment of the present invention. [Figure 9] FIG. 10 is a diagram illustrating an example of a replacement settlement table according to the first embodiment of the present invention. [Figure 10] 5 is a flowchart illustrating an example of a payment request program executed by the user terminal device according to the first embodiment of the present invention. [Figure 11] 5 is a flowchart illustrating an example of a payment response program executed by the POS terminal device according to the first embodiment of the present invention. [Figure 12] 4 is a flowchart illustrating an example of a request history management program executed by the POS terminal device according to the first embodiment of the present invention. [Figure 13] 4 is a flowchart illustrating an example of an offline history verification program executed by the payment server device according to the first embodiment of the present invention. [Figure 14] 10 is a flowchart illustrating an example of a settlement program executed by the user terminal device according to the first embodiment of the present invention. [Figure 15]FIG. 10 is a block diagram illustrating an example of a user terminal device according to a second embodiment of the present invention. [Figure 16] FIG. 10 is a block diagram illustrating an example of a POS terminal device according to a second embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0021] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. [Example]
[0022] FIG. 1 is a block diagram showing an example of the device configuration of a payment support system according to a first embodiment of the present invention. In the payment support system of this embodiment 1, in a digital currency transaction using programmable money, when the user terminal device and POS terminal device are offline, the request to use the programmable money is recorded as a history, and an advance payment is made from the user terminal device to the POS terminal device using the offline payment function.After the POS terminal device returns online, it sends the request history to the payment server device, and the payment server device inputs the request history and executes the programmable money, transfers funds in the ledger, generates information to settle the advance amount for the offline payment, and settles the amount that the user terminal device had advanced for the offline payment.
[0023] The payment support system includes multiple user terminal devices 200 owned by end users such as general consumers, multiple POS terminal devices 300 owned by businesses such as retail stores and restaurants, and a payment server device 400 that manages digital currency ledgers and processes transactions.
[0024] Here, programmable money refers to digital currency that automatically executes transactions according to predefined conditions and logic, or applies to automatic settlements and restrictions on use, etc. Potential use cases include food stamps (can only be used to purchase necessities), time-limited money (can only be used within the expiration date), age-restricted money (with age-based usage restrictions and privileges, such as age restrictions on retirement fund withdrawals and silver discounts), payment of government benefits (payment of economic stimulus funds to citizens and companies, automatic checks to see if application conditions are met), and automatic tax collection (transfer of consumption tax directly from POS terminals to the tax office).
[0025] 2 is a block diagram showing an example of a user terminal device 200. The user terminal device 200 is a computer including a memory 201, an arithmetic unit 202, an input unit 203, an output unit 204, a communication unit 205, and a storage unit 206.
[0026] The storage device 206 stores a favorites table 700 that manages the programmable money used by the user, a request history table 800 that records the user's payment request history, an offline wallet 600 that records the balance for offline payments, an offline payment program 2100 that executes offline payments, a payment request program 1000 that processes payment requests for programmable money, and a settlement program 1400 that settles the difference between offline payments and programmable money.
[0027] The input device 203 is configured, for example, by a keyboard, a mouse, or a touch panel. The output device 204 is configured, for example, by a display. The communication device 205 is connected to a network and communicates with other computers.
[0028] The offline payment program 2100, the payment request program 1000, and the settlement program 1400 are loaded into the memory 201 and executed by the processing unit 202.
[0029] The arithmetic device 202 operates as a functional unit that provides a predetermined function by executing processing according to the program of each functional unit. For example, the arithmetic device 202 functions as a payment request unit by executing processing according to the payment request program 1000. The same applies to other programs. Furthermore, the arithmetic device 202 also operates as a functional unit that provides each function of the multiple processes executed by each program. A computer and a computer system are devices and systems that include these functional units.
[0030] 3 is a block diagram showing an example of a POS terminal 300. The POS terminal 300 is a computer including a memory 301, an arithmetic unit 302, an input unit 303, an output unit 304, a communication unit 305, and a storage unit 306.
[0031] The storage device 306 stores a request history table 800 that records the user's payment request history, an offline wallet 600 that records the balance for offline payments, an offline payment program 2100 that executes offline payments, a payment response program 1100 that processes programmable money payment requests, a request history management program 1200 that manages payment requests received offline, and a settlement program 1400 that settles the difference between offline payments and programmable money.
[0032] The input device 303 is configured, for example, by a keyboard, a mouse, or a touch panel. The output device 304 is configured, for example, by a display. The communication device 305 is connected to a network and communicates with other computers.
[0033] The offline payment program 2100 , the payment response program 1100 , the request history management program 1200 , and the settlement program 1400 are loaded into the memory 301 and executed by the processing unit 302 .
[0034] The arithmetic device 302 operates as a functional unit that provides a predetermined function by executing processing in accordance with the program of each functional unit. For example, the arithmetic device 302 functions as a payment response unit by executing processing in accordance with the payment response program 1100. The same applies to other programs. Furthermore, the arithmetic device 302 also operates as a functional unit that provides each function of the multiple processes executed by each program. A computer and a computer system are devices and systems that include these functional units.
[0035] 4 is a block diagram showing an example of a payment server device 400. The payment server device 400 is a computer including a memory 401, an arithmetic device 402, an input device 403, an output device 404, a communication device 405, and a storage device 406.
[0036] The storage device 406 stores a ledger table 500 that records the balance of digital currency, an advance settlement table 900 that records information for offline payments and programmable money settlement, an offline history verification program 1300 that verifies payment requests accepted while offline after returning to online, and programmable money 2000 that automatically executes transactions according to predefined conditions and logic. There are many types of programmable money 2000, and each is stored as a single program.
[0037] The input device 403 is composed of, for example, a keyboard, a mouse, or a touch panel. The output device 404 is composed of, for example, a display. The communication device 405 is connected to a network and communicates with other computers. The offline history verification program 1300 and the programmable money 2000 are loaded into the memory 401 and executed by the processing device 402.
[0038] The arithmetic device 402 operates as a functional unit that provides a predetermined function by executing processing in accordance with the program of each functional unit. For example, the arithmetic device 402 functions as an offline history verification unit by executing processing in accordance with the offline history verification program 1300. The same applies to other programs. Furthermore, the arithmetic device 402 also operates as a functional unit that provides each function of multiple processes executed by each program. A computer and a computer system are devices and systems that include these functional units.
[0039] 5 is a diagram showing an example of the ledger table 500. The ledger table 500 is managed by the payment server device 400. The ledger table 500 includes an account ID 501, a programmable money ID 502, and a balance 503 in one entry.
[0040] A unique identifier indicating each user's account is stored in the account ID 501. A unique identifier of the programmable money linked to the account ID 501 is stored in the programmable money ID 502. A balance 503 stores the balance of the account identified by the composite key of the account ID 501 and the programmable money ID 502.
[0041] 6 is a diagram showing an example of an offline wallet 600. The offline wallet 600 is managed by the user terminal 200 and the POS terminal 300. The offline wallet 600 includes an account ID 601 and a balance 602 in one entry. The account ID 601 stores a unique identifier indicating the account of the user who owns the user terminal device 200 or the POS terminal device 300. The balance 602 stores the offline balance of the account identified by the account ID 601.
[0042] 7 is a diagram showing an example of the favorites table 700. The favorites table 700 is managed by the user terminal device 200. The favorites table 700 includes a programmable money ID 701, a name 702, a purpose 703, a recipient 704, a return rate 705, and a deadline 706 in one entry.
[0043] The programmable money ID 701 stores a unique identifier for the programmable money used by the user. The name 702 stores the name of the programmable money identified by the programmable money ID 701. The purpose 703 stores the purpose for which payments can be made with programmable money. The recipient 704 stores the company and company category that accepts payments with programmable money. The return rate 705 stores the conditions for points and cashback that can be earned when paying with programmable money. The expiration date 706 stores the expiration date of the programmable money.
[0044] 8 is a diagram showing an example of the request history table 800. The request history table 800 is managed by the user terminal 200 and the POS terminal 300. The request history table 800 includes a request ID 801, a programmable money ID 802, a payment source ID 803, a payment recipient ID 804, a payment purpose 805, an amount 806, an offline TxID 807, and a timestamp 808 in one entry.
[0045] The Request ID 801 stores a unique identifier for the payment request history. The Programmable Money ID 802 stores the ID of the programmable money requested to be used. The Payer ID 803 stores the account ID of the user who sent the request. The Payee ID 804 stores the account ID of the user who accepted the request. The Purpose of Payment 805 stores the purpose of the transaction. The Amount 806 stores the amount to be paid in settlement. The Offline TxID 807 stores an ID that uniquely identifies the execution history of the offline transaction. The Time Stamp 808 stores the date and time when the record was recorded.
[0046] 9 is a diagram showing an example of the advance payment settlement table 900. The advance payment settlement table 900 is managed by the payment server device 400. The on-behalf settlement table 900 includes a request ID 901, a payment source ID 902, a payment recipient ID 903, an amount 904, a verification result 905, and a status 906 in one entry.
[0047] Request ID 901 stores a unique identifier for the payment request history. Payer ID 902 stores the account ID of the user who sent the request. Payee ID 903 stores the account ID of the user who accepted the request. Amount 904 stores the amount that the user has paid in advance in their offline wallet. Verification result 905 stores the execution result of the programmable money. Status 906 stores the progress of the settlement process.
[0048] In the following explanation, a case where a user User01 makes a payment to a store ShopX using programmable money PX101 will be explained as an example, but the present invention is not limited to this.
[0049] 10 is a flowchart showing an example of the payment request program 1000. This process is initiated when a user accesses the program. In the following explanation, the payment request program 1000 will be described as the subject of the process, but the arithmetic device 202 may also be the subject of the process.
[0050] The payment request program 1000 receives a payment protocol start request from the user (S1001).
[0051] Next, the payment request program 1000 displays the information in the favorites table 700 (S1002). As a result, a list of programmable money that the user who owns this terminal has registered in advance and is interested in is displayed on the output device 204 of the user terminal device 200. The user selects the programmable money they wish to use for this payment from the list of programmable money. For example, User01 selects programmable money PX101 from the three programmable money displayed.
[0052] Next, the payment request program 1000 transmits a usage request for the programmable money selected by the user to the POS terminal device 300 via short-range wireless communication (S1003). The usage request includes a request ID, the account ID of the paying user, the programmable money ID of the selected programmable money, the name, purpose of use, recipient, return rate, and expiration date. For example, the usage request is a message such as {Request ID: x7s32e7, Payer ID: User01, Programmable Money ID: PX101, Name: Organic, Purpose: Natural Foods, Recipient: Natural Food Store, Return Rate: 5%, Expiration Date: 2021 / 10 / 01}.
[0053] Next, the payment request program 1000 receives a response from the POS terminal 300 (S1004). For example, the response message is {Request ID: x7s32e7, Connection status: Offline, Offline transaction: {Offline TxID: x0t83lvd9, Payer ID: User01, Payee ID: ShopX, Payment purpose: Organic foods, Amount: 500, Electronic signature: [ShopX]}}.
[0054] Next, the payment request program 1000 reads the response message and determines the connection status (S1005). If the connection status is "Offline," the process proceeds to S1006 to switch to offline payment between the user terminal device 200 and the POS terminal device 300. If the connection status is "Online," the request is being processed by the payment server device 400, and the process ends.
[0055] Next, the payment request program 1000 calls the offline payment program 2100, digitally signs the offline transaction, and updates the balance in the offline wallet (S1006). Specifically, before digitally signing, the program extracts the payer ID, payee ID, and amount from the offline transaction message, verifies that the transaction details are correct, and digitally signs the transaction as evidence. The program also deducts an amount equal to the verified amount from the offline wallet balance. For example, if the balance 602 in the offline wallet 600 is 1500, it is reduced to 1000, after deducting the payment amount of 500.
[0056] Next, the payment request program 1000 sends the signed offline transaction to the POS terminal 300 (S1007). For example, the offline transaction message is {Offline TxID: x0t83lvd9, Payer ID: User01, Payee ID: ShopX, Payment Purpose: Organic Foods, Amount: 500, Electronic Signature: [ShopX, User01]}}.
[0057] Next, the payment request program 1000 receives the verification result of the offline transaction from the POS terminal 300 (S1008).
[0058] Next, the payment request program 1000 registers information about this transaction in the request history table 800 (S1009). For example, the following record is registered: Request ID: x7s32e7, Programmable Money ID: PX101, Payer ID: User01, Payee ID: ShopX, Payment Purpose: Organic Foods, Amount: 500, Offline TxID: x0t83lvd9, Timestamp: 20210930 08:10:00.
[0059] 11 is a flowchart showing an example of the payment response program 1100. This process is initiated when a request is received from the user terminal device 200. In the following explanation, the payment response program 1100 will be described as the subject of the process, but the arithmetic device 302 may also be the subject of the process.
[0060] The payment response program 1100 receives a request to use programmable money from the user terminal device 200 (S1101). The request message includes a request ID, the account ID of the paying user, the programmable money ID of the programmable money, the name, purpose, recipient, return rate, and expiration date. For example, the request message is {Request ID: x7s32e7, Payer ID: User01, Programmable Money ID: PX101, Name: Organic, Purpose: Natural Foods, Recipient: Natural Food Store, Return Rate: 5%, Expiration Date: 2021 / 10 / 01}.
[0061] The payment response program 1100 determines whether the POS terminal device 300 is connected to the payment server device 400 (S1102). If it is offline, the process switches to offline payment between the user terminal device 200 and the POS terminal device 300, and proceeds to S1103. If it is online, the request is processed by the payment server device 400, and proceeds to S1109.
[0062] Since the payment response program 1100 is currently offline, it calls the offline payment program 2100 and generates an offline transaction message (S1103). The message contains an offline TxID to identify the transaction. It also includes information indicating the transaction details, such as the payment source ID, payment recipient ID, payment purpose, and amount. Furthermore, an electronic signature is entered to indicate that the owner of the POS terminal 300 has agreed to the transaction. For example, the offline transaction message might look like this: {Offline TxID: x0t83lvd9, Payment source ID: User01, Payment recipient ID: ShopX, Payment purpose: Organic foods, Amount: 500, Electronic signature: [ShopX]}.
[0063] The payment response program 1100 returns a response including the connection status and the offline transaction message to the user terminal device (S1104). For example, the response message is {Request ID: x7s32e7, Connection Status: Offline, Offline Transaction: {Offline TxID: x0t83lvd9, Payer ID: User01, Payee ID: ShopX, Payment Purpose: Organic Foods, Amount: 500, Electronic Signature: [ShopX]}}.
[0064] The payment response program 1100 receives the signed offline transaction from the user terminal device 200 (S1105). For example, the offline transaction message is {Offline TxID: x0t83lvd9, Payer ID: User01, Payee ID: ShopX, Payment Purpose: Organic Foods, Amount: 500, Electronic Signature: [ShopX, User01]}}.
[0065] The payment response program 1100 calls the offline payment program, verifies the offline transaction, and updates the offline wallet (S1106). Specifically, it verifies that the offline transaction has been digitally signed by the user identified by the payer ID of the offline transaction. It also adds an amount equal to the confirmed amount to the offline wallet balance. For example, if the balance 602 of the offline wallet 600 is 8,000, it is increased to 8,500 by adding 500 for the payment amount.
[0066] The payment response program 1100 returns the transaction verification result to the user terminal device (S1107). The payment response program 1100 registers information about the programmable money usage request in the request history table 800 (S1108). For example, the following record is registered: Request ID: x7s32e7, Programmable Money ID: PX101, Payer ID: User01, Payee ID: ShopX, Payment Purpose: Organic Foods, Amount: 500, Offline TxID: x0t83lvd9, Timestamp: 20210930 08:10:00.
[0067] Since the payment response program 1100 is online at this point, it calls the programmable money of the payment server device 400 and receives a response (S1109). The payment response program 1100 returns a response including the connection status and the online execution result to the user terminal device (S1110). For example, the response message is {Request ID: x9t12u5, Connection status: Online, Online transaction: {Execution result: success}}.
[0068] 12 is a flowchart showing an example of the request history management program 1200. This process is triggered by a periodic scheduler of the POS terminal 300. In the following description, the request history management program 1200 will be described as the subject of processing, but the arithmetic unit 302 may also be the subject of processing.
[0069] The request history management program 1200 receives a processing start request from the scheduler of the POS terminal 300 (S1201). The request history management program 1200 determines whether the POS terminal device 300 is connected to the payment server device 400 (S1202). If it is online, the program proceeds to S1203. If it is offline, the program repeatedly executes S1202 and waits until it becomes online.
[0070] The request history management program 1200 refers to the request history table 800 and transmits all records to the payment service device 400 (S1203). The request history management program 1200 deletes all records from the request history table 800 (S1204).
[0071] 13 is a flowchart showing an example of the offline history verification program 1300. This process is started when a message is received from the POS terminal 300. In the following description, the offline history verification program 1300 will be described as the subject of processing, but the arithmetic device 402 may also be the subject of processing.
[0072] The offline history verification program 1300 receives a group of programmable money request history records from the POS terminal device 300 (S1301).
[0073] The offline history verification program 1300 extracts one request history record (S1302). The request history record includes a request ID, programmable money ID, payment source ID, payment destination ID, payment purpose, amount, offline TxID, and timestamp. For example, a record with the following information may be found: Request ID: x7s32e7, Programmable Money ID: PX101, Payment Source ID: User01, Payment Destination ID: ShopX, Payment Purpose: Organic Foods, Amount: 500, Offline TxID: x0t83lvd9, and Timestamp: 20210930 08:10:00.
[0074] The offline history verification program 1300 generates a request message for the programmable money from the request history record (S1303). Specifically, the programmable money ID, payment source ID, payment recipient ID, payment purpose, and amount are included in the programmable money request message. For example, the request message is {Programmable money ID: PX101, payment source ID: User01, payment recipient ID: ShopX, payment purpose: organic foods, amount: 500}.
[0075] The offline history verification program 1300 calls the programmable money 2000 specified in the previous step and updates the ledger 500 (S1304). Multiple programmable money items are deployed in the payment server device 400, each of which is identified by a programmable money ID. The programmable money ID is extracted from the request message of the previous step, and the corresponding programmable money is called. At this time, the payment source ID, payment recipient ID, payment purpose, and amount specified in the request message of the previous step are passed as arguments.
[0076] As a result, the programmable money is executed according to the predefined conditions, and the results are reflected in ledger table 500 of payment server device 400. For example, suppose programmable money PX101 is limited to use for organic foods only, and 5% of the amount used is returned as points. When a message {Programmable Money ID: PX101, Payer ID: User01, Payee ID: ShopX, Payment Purpose: Organic Foods, Amount: 500} is received, the purpose of payment is verified to be organic foods, 5% of the amount used is discounted to 500, and 475 is calculated as the payment amount. 475 is then subtracted from the balance of PX101 for User01 in ledger table 500, and 475 is added to the balance of PX101 for ShopX.
[0077] Next, the offline history verification program 1300 registers information about the processed record in the advance settlement table 900 (S1305). Specifically, the information extracted from the request history record is transcribed into the request ID 901, payer ID 902, payee ID 903, and amount 904. The execution result of the programmable money is also recorded in the verification result 905. Furthermore, to indicate that the settlement process has begun, the status 906 records the value "ToDo." For example, the record could be: request ID: x7s32e7, payer ID: User01, payee ID: ShopX, amount: 500, status: ToDo.
[0078] The offline history verification program 1300 refers to the request history record group and determines whether there are any remaining records (S1306). If Yes, proceed to S1302 and process the next record. If No, all records have been processed, so the process ends.
[0079] 14 is a flowchart showing an example of the settlement program 1400. This process is initiated when the user terminal 200 and the POS terminal 300 return from offline to online. In the following explanation, the settlement program 1400 will be described as the subject of the process, but the arithmetic device 202 may also be the subject of the process.
[0080] First, the settlement program 1400 searches the advance settlement table 900 of the payment service device 400 to obtain the unsettled records of the user (S1401). Specifically, a search is performed on the payer ID column 902 of the advance settlement table 900 using the account ID that indicates the owner of the user terminal device 200 on which this program is being executed, and the obtained records are narrowed down to records whose status column 906 has a value of "ToDo". In this way, the unsettled records of the user can be obtained. When this program is executed on the POS terminal device 300, a search is performed on the payee ID column 903 of the advance settlement table 900 using the account ID as a key, and a similar narrowing down is performed.
[0081] Next, the settlement program 1400 refers to the record group acquired in the previous step and determines whether there are any remaining records (S1402). If Yes, proceed to S1403 and process the next record. If No, all records have been processed, so the process ends.
[0082] The settlement program 1400 extracts one advance settlement record (S1403). The advance settlement record includes a request ID, payer ID, payee ID, amount, verification result, and status. For example, the advance settlement record is a record with the following: Request ID: x7s32e7, payer ID: User01, payee ID: ShopX, amount: 500, and status: ToDo.
[0083] The settlement program 1400 searches the request history table 800 by the request ID and acquires the record (S1404). For example, the request history record is a record with the following: Request ID: x7s32e7, Programmable Money ID: PX101, Payer ID: User01, Payee ID: ShopX, Payment Purpose: Organic Foods, Amount: 500, Offline TxID: x0t83lvd9, and Time Stamp: 20210930 08:10:00.
[0084] The settlement program 1400 verifies that the amount in the advance settlement record matches the amount in the request history record (S1405). The settlement program 1400 settles the amount advanced to the offline wallet (S1406). Since programmable money was not available offline when the settlement was made, the settlement was made using the offline wallet. After that, the system returned to online mode, the programmable money was executed in the settlement server device 400, and the ledger table 500 was updated. Funds were transferred to the programmable money account.
[0085] Therefore, settlement is performed by returning the amount paid or received offline to the offline wallet. For example, when settlement is performed using the user terminal device 200, the balance 602 of the offline wallet 600 is updated to 1500 by adding the advance payment of 500 to the current balance of 1000. On the other hand, when settlement is performed using the POS terminal device 300, the balance 602 of the offline wallet 600 is updated to 8000 by subtracting the advance payment of 500 from the current balance of 8500. The settlement program 1400 updates the status of the record in the on-behalf settlement table 900 of the payment service device 400 (S1407). Specifically, it updates the status column 906 of the record that matches the request ID currently being processed to "Done."
[0086] As described above, the payment support system of the first embodiment allows digital currency transactions using programmable money to be conducted even in an offline environment. While the first embodiment uses a payment from User01 to ShopX using programmable money PX101 as an example, the present invention is not limited to this. There are various other types of transactions, such as when other users such as User02 or User03 are the sender, when ShopY or another store is the recipient, or when payment is made using other programmable money such as PU085 or PS280.
[0087] Furthermore, in the first embodiment, information is stored in a table, but the information is not limited to a table and may be stored as schema-less data. [Example]
[0088] In this embodiment 2, limited types of programmable money 2000 are stored in the user terminal device 200 and the POS terminal device 300 in embodiment 1, the payment request program 1000 of the user terminal device 200 executes the programmable money 2000 instead of calling the offline payment program 2100 in S1006, the payment response program 1100 of the POS terminal device 300 executes the programmable money instead of calling the offline payment program 2100 in S1103, the offline history verification program of the payment server device 400 verifies the results of the programmable money executed in the user terminal device 200 and the POS terminal device 300 in S1304, and registers the status of the advance settlement as "Done" in S1305.
[0089] The configuration of the user terminal device 200 according to the second embodiment will be described with reference to FIG. 15 is a block diagram showing an example of a user terminal device 200. The user terminal device 200 is a computer including a memory 201, an arithmetic unit 202, an input unit 203, an output unit 204, a communication unit 205, and a storage unit 206.
[0090] The storage device 206 stores a favorites table 700 that manages the programmable money used by the user, a request history table 800 that records the user's payment request history, a payment request program 1000 that processes payment requests for programmable money, and programmable money 2000.
[0091] The configuration of a user terminal device 200 according to the second embodiment will be described with reference to FIG. 16 is a block diagram showing an example of a POS terminal 300. The POS terminal 300 is a computer including a memory 301, an arithmetic unit 302, an input unit 303, an output unit 304, a communication unit 305, and a storage unit 306.
[0092] The storage device 306 stores a request history table 800 that records the user's payment request history, a payment response program 1100 that processes programmable money payment requests, a request history management program 1200 that manages payment requests accepted offline, and programmable money 200.
[0093] With reference to FIGS. 10 to 14, only steps that are changed from the first embodiment are shown below.
[0094] In S1006, the payment request program 1000 calls the programmable money 2000 on the user terminal device 200, calculates the payer ID, payee ID, and amount according to the conditions defined in the programmable money, and types an electronic signature as evidence of agreement with the result.
[0095] In S1103, the payment response program 1100 calls the programmable money 2000 on the POS terminal device 300, calculates the payment source ID, payment recipient ID, and amount according to the conditions defined in the programmable money, and types an electronic signature as evidence of agreement with the result.
[0096] In S1106, the payment response program 1100 verifies that the offline transaction has been digitally signed by the payer and the payee.
[0097] In S1304, the offline history verification program 1300 calls the programmable money 2000 specified in S1303, obtains the execution result, compares the execution result electronically signed by the user terminal device 200 in S1006 with the execution result electronically signed by the POS terminal device 300 in S1103, verifies that the execution results are equal, and updates the ledger 500.
[0098] In S1305, the offline history verification program 1300 registers information about the processed record in the advance settlement table 900. In S1304, since the user terminal device 200, the POS terminal device 300, and the payment server device 400 have agreed on the execution result of the programmable money, settlement processing is unnecessary, and the value "Done" is recorded in the status 906. For other data items, the same values as in the first embodiment are registered.
[0099] By making these changes, programmable money that has been stored in advance in the user terminal device and POS terminal device can be used even in an offline environment, eliminating the need to temporarily advance payments using digital currency charged to an offline wallet.
[0100] Social security is an important use case for programmable money. For example, it is conceivable to provide welfare recipients with programmable money that can be used only to pay for daily necessities. Because recipients have little savings, they may not be able to advance payments as in Example 1. Therefore, by prioritizing the distribution of programmable money for welfare purposes only to POS terminals at retail stores and medical institutions, it is possible to increase opportunities for welfare recipients to use digital currency.
[0101] In the above embodiment, in digital currency transactions using programmable money, the payment support device records requests to use programmable money as a history so that transactions can be carried out even when the user terminal device and POS terminal device are offline, and makes an advance payment from the user terminal device to the POS terminal device using the offline payment function.After the POS terminal device returns online, the request history is sent to the payment server device, and the payment server device inputs the request history to execute the programmable money, transfers funds in the ledger, generates information to settle the advance amount for the offline payment, and settles the amount that the user terminal device had advanced for the offline payment.
[0102] In this way, the above embodiment solves the problem that when a user device or POS terminal device of a digital currency system is not connected to a network, it is not possible to use programmable money, which automatically performs transactions according to predefined conditions and logic. To achieve this, when offline, a request to use programmable money is accepted, and the fact that a payment has been made on behalf of the user in the offline wallet is recorded as a history. After the system returns to online mode, the programmable money is executed, and the difference with the offline payment is settled between the online wallet and the offline wallet.
[0103] This will make it possible to obtain the economic benefits of programmable money even offline, and will increase the added value that digital currency brings, such as universal access and promotion of innovation.
[0104] In the above embodiment, a POS terminal device has been used as an example for explanation, but the present invention is not limited to a POS terminal device and may be any other terminal device as long as it can be connected to a network. [Explanation of symbols]
[0105] 200 User terminal device 300 POS terminals 400 Payment server device 500 Ledger Table 600 offline wallets 700 Favorite Tables 800 Request History Table 900 Advance Settlement Table 1000 Payment Request Program 1100 Payment Response Program 1200 Requirement History Management Program 1300 Offline History Verification Program 1400 Liquidation Program 2000 Programmable Money 2100 Offline Payment Program
Claims
1. A payment support system having a first terminal device, a second terminal device, and a payment server device, The first terminal device and the second terminal device In offline situations, programmable money automatically executes transactions according to predefined conditions or logic, and records execution requests as request history, and performs on-the-fly transactions through offline settlement. The second terminal device After the online operation is resumed, the request history is transmitted to the payment server device. The payment server device Execute the programmable money using the request history as an input to transfer funds in a ledger, and generate settlement information for settling the advance amount for the advance transaction performed in the offline settlement; The first terminal device A payment support system characterized by settling the advance payment made in advance for the offline payment based on the settlement information transmitted from the payment server device.
2. 2. The payment support system according to claim 1, wherein the transaction history of the offline payment and the request to use the programmable money are recorded as evidence in association with each other.
3. The payment support system described in claim 1, characterized in that when settling the advance payment, the settlement information generated by the payment server device is compared and verified with the request history recorded by the first terminal device.
4. the first terminal device is a user terminal device operated by a user, 2. The payment support system according to claim 1, wherein the second terminal device is a POS terminal device.
5. A payment support system having a first terminal device, a second terminal device, and a payment server device, The first terminal device A favorites table for managing a list of programmable money that automatically executes transactions according to predefined conditions or logic; a first request history table for recording a user's payment request history; a first offline wallet that records a balance for offline payments; a first offline payment unit that executes the offline payment; a payment request unit that processes payment requests for the programmable money; a first settlement unit that settles the difference between the offline payment and the programmable money, The second terminal device a second request history table that records the payment request history of the user; a second offline wallet that records a balance for the offline payment; a second offline payment unit that executes the offline payment; a payment response unit that processes a payment request for the programmable money; a request history management unit that manages payment requests accepted offline; a second settlement unit that settles the difference between the offline payment and the programmable money, The payment server device storing said programmable money; a ledger table that records the balance of the digital currency; an advance settlement table for recording information for the offline payment and the settlement of the programmable money; an offline history verification unit that verifies payment requests accepted while offline after the online system is restored; A payment support system comprising:
6. In the first terminal device, The payment request unit transmitting a usage request for the programmable money selected by the user from the list of the programmable money stored in the favorites table to the second terminal device; receiving a response from the second terminal device to determine a connection status; If the connection state is offline, switching to the offline payment between the first terminal device and the second terminal device; The first offline payment unit Digitally signing the offline transaction to update the balance of the first offline wallet; The payment request unit transmitting the electronically signed offline transaction to the second terminal device and receiving a verification result of the offline transaction from the second terminal device; 6. The payment support system according to claim 5, wherein information relating to a transaction is registered in the first request history table.
7. In the second terminal device, The payment response unit: receiving a request to use the programmable money from the first terminal device; determining a connection state of the second terminal device as to whether it is connected to the payment server device; If the connection state is offline, switching to the offline payment between the first terminal device and the second terminal device; The second offline payment unit generating the offline transaction and returning a response including the connection status and the offline transaction to the first terminal device; The payment response unit: receiving the digitally signed offline transaction from the first terminal device; The second offline payment unit verifying the offline transaction and updating the balance of the second offline wallet; The payment response unit: Returning a transaction verification result to the first terminal device; registering information regarding a request to use the programmable money in the second request history table; The payment response unit: If the connection status is online, calling the programmable money of the payment server device and receiving a response; 7. The payment support system according to claim 6, wherein a response including the connection status and the online execution result is sent back to the first terminal device.
8. In the second terminal device, The request history management unit determining a connection state of the second terminal device as to whether it is connected to the payment server device; 8. The payment support system according to claim 7, wherein, when the connection state is online, the second request history table is referenced and the payment request history is transmitted to the payment server device.
9. In the payment server device, The offline history verification unit receiving the settlement request history of the programmable money from the second terminal device; generating a request message to the programmable money from the payment request history; calling the programmable money from the request message to update the ledger table; 9. The payment support system according to claim 8, wherein information on the processed payment request history is registered in the on-behalf settlement table.
10. The payment server device includes: A plurality of the programmable money is stored, each of which is identified by a programmable money ID; extracting the programmable money ID from the request message and calling the corresponding programmable money; The payment support system described in claim 9, characterized in that the payment source ID, payment recipient ID, payment purpose and amount specified in the request message are passed as arguments, the programmable money is executed according to the predefined conditions, and the execution results are reflected in the ledger table.
11. In the first terminal device and the second terminal device, The first clearing unit and the second clearing unit referring to the advance settlement table of the payment server device, and settling the advance amount to the first offline wallet and the second offline wallet, The payment support system according to claim 10, wherein the payment service device updates the on-behalf settlement table.
12. When settling at the first terminal device, The balance of the first offline wallet is updated by adding the advance amount to the current balance; When settling at the second terminal device, 12. The payment support system according to claim 11, wherein the balance of the second offline wallet is updated by subtracting the advance amount from the current balance.
13. the first terminal device is a user terminal device operated by the user, 6. The payment support system according to claim 5, wherein the second terminal device is a POS terminal device.
14. A payment support system having a first terminal device, a second terminal device, and a payment server device. hand, The first terminal device Store programmable money that automatically executes transactions according to predefined conditions or logic; a favorites table for managing a list of the programmable money; a first request history table for recording a user's payment request history; a payment request unit that processes a payment request for the programmable money, The second terminal device storing said programmable money; a second request history table that records the payment request history of the user; a payment response unit that processes a payment request for the programmable money; a request history management unit that manages payment requests accepted offline; The payment server device storing said programmable money; a ledger table that records the balance of the digital currency; an advance settlement table for recording information for offline payments and settlement of the programmable money; an offline history verification unit that verifies a payment request accepted while offline after returning to online mode; In the first terminal device, The payment request unit Executing the programmable money; In the second terminal device, The payment response unit: Executing the programmable money; In the payment server device, The offline history verification unit A settlement support system characterized by verifying the execution results of the programmable money executed by the first terminal device and the second terminal device, performing advance settlement, and updating the ledger table.
15. the first terminal device is a user terminal device operated by the user, 15. The payment support system according to claim 14, wherein the second terminal device is a POS terminal device.
Citation Information
Patent Citations
Methods and systems for offline payments using digital currency chip cards
CN107230079B
IC card service system, and service management center, service terminal and program therefor
JP2010026811A
Spacer device and game system
JP2014140695A
Application realization method based on block chain network, apparatus, device, and storage medium
JP2020017948A
Automated teller machine, transaction processing system, and transaction processing method
JP2020042620A