Application program, payment control method, and payment system

JP2026034665A5Pending Publication Date: 2026-06-29PAYPAY CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
PAYPAY CO LTD
Filing Date
2025-12-18
Publication Date
2026-06-29

AI Technical Summary

Technical Problem

Conventional electronic payment systems fail when communication between the terminal device and the payment server is difficult, preventing the acquisition of a valid one-time code and thus hindering the payment process.

Method used

An application program that operates on a user's terminal device to display an online code image when communication with the payment server is normal and an offline code image when communication is difficult, using a secret key and time-based offline code generation for secure offline payments.

Benefits of technology

Enables flexible electronic payments by allowing transactions to proceed even in areas with weak connectivity, maintaining security by not including personal information in offline codes and setting lower limits for offline payments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To make electronic payments more flexible. [Solution] An application program that operates on a user's terminal device and works in cooperation with a payment server to provide electronic payment services to the user, the application program causing the terminal device to communicate with the payment server when electronic payment is made, and when communication with the payment server is in a first state where communication is normal, causing the terminal device to display an online code image generated using a one-time code obtained by communication from the payment server on the display of the terminal device, and when communication with the payment server is in a second state where communication is difficult, causing the terminal device to display an offline code image generated by the application program without using the one-time code on the display of the terminal device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an application program, a payment control method, a payment server, a program, and a payment system. [Background technology]

[0002] A form of electronic payment in which a payment app running on a terminal device such as a smartphone displays a code image and a store device reads information from the code image is becoming widespread (Patent Document 1). In this form of electronic payment, a one-time code issued by a payment server in association with a user's account is used as the original information to be displayed on the code image. The use of the one-time code eliminates the need to include personal information, etc. in the code image, thereby improving security. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 7237224 Summary of the Invention [Problem to be solved by the invention]

[0004] In the electronic payment of the above-described aspect, when an electronic payment is to be made, a request for a one-time code is sent from the payment app to the payment server, and a one-time code is issued in response. Therefore, in conventional technology, if communication between the terminal device and the payment server is difficult at the time of electronic payment, a valid one-time code cannot be obtained, and the electronic payment may not be possible.

[0005] The present invention has been made in consideration of these circumstances, and one of its objectives is to provide an application program, a payment control method, a payment server, a program, and a payment system that enable more flexible electronic payments. [Means for solving the problem]

[0006] One aspect of the present invention is an application program that operates on a user's terminal device and works in cooperation with a payment server to provide electronic payment services to the user, the application program causing the terminal device to communicate with the payment server when electronic payment is made, and when communication with the payment server is in a first state where communication is normal, causing the terminal device to display on a display unit of the terminal device an online code image generated using a one-time code obtained by communication from the payment server, and when communication with the payment server is in a second state where communication is difficult, causing the terminal device to display on a display unit of the terminal device an offline code image generated by the application program without using the one-time code. [Effects of the Invention]

[0007] According to one aspect of the present invention, it is possible to provide an application program, a payment control method, a payment server, a program, and a payment system that enable more flexible electronic payments. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration for realizing an electronic payment service. [Figure 2] This is a sequence diagram (part 1) illustrating the general flow of electronic payment (online payment). [Figure 3] This is a sequence diagram (part 2) illustrating the general flow of electronic payment (online payment). [Figure 4] FIG. 2 is a configuration diagram of a payment server 100 according to the first embodiment. [Figure 5] FIG. 10 is a diagram showing an example of the contents of user information 172. [Figure 6] FIG. 10 is a diagram showing an example of the contents of affiliated store / store information 176. [Figure 7] FIG. 10 is a diagram showing an example of a top screen IM1 of payment application 20. [Figure 8] FIG. 10 is a sequence diagram illustrating a flow of processing performed for offline payment. [Figure 9] 10 is a flowchart showing an example of a processing flow related to screen control by payment application 20. [Figure 10] FIG. 10 is a diagram showing an example of a standby screen IM2. [Figure 11] FIG. 10 is a diagram showing an example of a half sheet IM3. [Figure 12] FIG. 10 is a diagram showing an example of a detailed explanation screen IMe. [Figure 13] FIG. 10 is a diagram showing an example of a first offline mode screen IM4 on which a first offline code image is displayed. [Figure 14] FIG. 10 is a diagram showing an example of a second offline mode screen IM5 on which a second offline code image is displayed. [Figure 15] FIG. 10 is a diagram showing an example of a payment method selection screen IM6. DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, with reference to the drawings, embodiments of the present invention will be described that provide an application program, a payment control method, a payment server, a program, and a payment system. The application program and the payment server work together to provide an electronic payment service. In the following description, the application program will be referred to as a payment app. The electronic payment service is a service that supports payments for the purchase of goods and services at a store. A store is, for example, a physical store (real store) existing in real space, but may also include a virtual store for e-commerce. A virtual store may also include a store provided by an entity other than the operator of the electronic payment service. In such a case, when paying for purchases at the virtual store, the user is controlled to transition to the interface screen of the electronic payment service. In an electronic payment service, a store is treated as belonging to, for example, an affiliated store (brand), and processing such as payment when a purchase is made at a store is primarily conducted between the user and the affiliated store. Alternatively, processing such as payment may be conducted between the user and the store.

[0010] [Electronic payment service] Figure 1 shows an example of a configuration for realizing an electronic payment service. The electronic payment service is realized mainly by a payment server 100. The payment server 100 communicates with, for example, one or more user terminal devices 10, one or more first store terminal devices 50, and one or more second store terminal devices 70 via a network NW. The network NW includes, for example, the Internet, a LAN (Local Area Network), a wireless base station, a provider device, etc.

[0011] The user terminal device 10 is, for example, a portable terminal device such as a smartphone or tablet terminal. The user terminal device 10 is a computer device having at least an optical reading function, a communication function, a display function, an input acceptance function, and a program execution function. In the following description, components for realizing these functions are referred to as a camera, a communication device, a touch panel, a CPU (Central Processing Unit), etc. In the user terminal device 10, a processor such as a CPU executes a payment app 20, which operates in cooperation with the payment server 100 to provide electronic payment services to users. The payment app 20 is installed on the user terminal device 10 from, for example, an application store, and controls the camera, communication device, touch panel, etc.

[0012] The first store terminal device 50 is installed, for example, in a store. The first store terminal device 50 is a computer device having at least a product price acquisition function, an optical reading function, a program execution function, and a communication function. The first store terminal device 50 includes a so-called POS (Point of Sale) device, and the product price acquisition function and the optical reading function may be realized by the POS device. The store code image 60 is placed in the store and is a code image such as a QR code (registered trademark) printed on a paper or plastic medium. The store code image 60 may be displayed on a display placed in the store (which may be the display of a terminal device such as a smartphone).

[0013] The second store terminal device 70 is used by the operator of the affiliated store. The second store terminal device 70 is a smartphone, tablet terminal, personal computer, etc. An interface for affiliated stores 72 runs on the second store terminal device 70. The interface for affiliated stores 72 may be an app for affiliated stores or a browser. The interface for affiliated stores 72 accepts coupon settings and the like from the operator of the affiliated store and transmits them to the payment server 100. The second store terminal device 70, which is a smartphone, has the function of displaying a code image corresponding to a store code image and reading the code image displayed by the user terminal device 10 by executing the app for affiliated stores.

[0014] The payment server 100 realizes electronic payment based on payment information received from the user terminal device 10 or the first store terminal device 50. The first store terminal device 50 may include a POS device, a POS gateway, an affiliated store server, etc. In this case, the payment information is sent from the POS device to the payment server 100 via various devices. In the following explanation, no distinction is made between these two, and it is assumed that the payment information is sent from the first store terminal device 50.

[0015] 2 and 3 are sequence diagrams illustrating the general flow of electronic payment (online payment). There may be two patterns for electronic payment: pattern 1 and pattern 2.

[0016] In the case of pattern 1 (hereinafter referred to as user scan) shown in FIG. 2, the user terminal device 10, with the payment application 20 running, decodes the store code image 60 using its optical reading function (S1). The store code image 60 includes store URL (Uniform Resource Locator) information. This store URL is the domain of the electronic payment service to which store identification information has been added, and is associated with an affiliated store ID, store ID, etc. in the payment server 100 (described below). The payment application 20 sends first payment information including the store URL and account ID to the payment server 100 (S2). The payment server 100 searches for store information (described below) using the affiliated store ID and store ID corresponding to the store URL, acquires the affiliated store name and store name information (S3), and sends this to the payment application 20 (S4). The user enters the payment amount into the user terminal device 10 on the screen displaying the affiliated store name and store name (S5). Then, the user terminal device 10 generates second payment information including at least the payment amount and sends it to the payment server 100 (S6). The payment server 100 makes the electronic payment based on the received second payment information (S7). The payment server 100 then sends a payment completion notice (information for displaying a payment completion screen) to the payment app 20 (S8), and the payment app 20 displays the payment completion screen (S9). Note that when the store code image 60 is displayed on a display installed in the store, the store code image 60 may include information on the payment amount in addition to the store URL. In this case, the step of the user inputting the payment amount is omitted, and the payment amount information is included in the first payment information and sent to the payment server 100. Information on the affiliated store name and store name may be included and displayed on the payment completion screen.

[0017] In the case of pattern 2 (hereinafter referred to as store scan) shown in FIG. 3, the payment app 20 sends a request to issue a one-time code to the payment server 100 when the payment app 20 is started, when a payment operation is performed in the payment app 20, when an automatic update timing (e.g., every minute) occurs, and at other timings (S11). The payment server 100 (the payment content provider 120, described later) generates a one-time code (S12) and sends it to the payment app 20 (S13). The payment app 20 displays a code image (online code image) such as a QR code or barcode generated based on the one-time code (S14). The user holds (presents) the display surface of the user terminal device 10 over the first in-store terminal device 50, and the first in-store terminal device 50 decodes the code image using its optical reading function and acquires the one-time code, etc. (S15). The first store terminal device 50 then generates payment information including the one-time code, payment amount, affiliated store ID, store ID, etc., and transmits it to the payment server 100 (S16). The payment amount information is obtained in advance by reading a barcode or manually entering it. The payment server 100 identifies the user corresponding to the one-time code based on the received information, and performs electronic payment (S17). The payment server 100 then transmits a payment completion notice to the payment application 20 (S18), and the payment application 20 displays a payment completion screen (S19). Note that, in parallel with this, information notifying the first store terminal device 50 of the completion of payment is also transmitted.

[0018] Note that electronic payment may be made using only one of the above patterns. The "account ID" described in Figure 2 may be other information (such as a telephone number) that can be used as user identification information.

[0019] [Payment server] FIG. 4 is a configuration diagram of the payment server 100 according to the first embodiment. The payment server 100 includes, for example, a communication unit 110, a payment content providing unit 120, a payment processing unit 130, an information management unit 140, and a storage unit 170. The components other than the communication unit 110 and the storage unit 170 are implemented by, for example, a hardware processor such as a CPU executing a program (software). Some or all of these components may be implemented by hardware (including circuitry) such as a large-scale integration (LSI), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a graphics processing unit (GPU), or may be implemented by a combination of software and hardware. The program may be stored in advance in a storage device (a storage device with a non-transitory storage medium) such as a hard disk drive (HDD) or flash memory, or may be stored in a removable storage medium (a non-transitory storage medium) such as a DVD or CD-ROM, and installed in the storage device by inserting the storage medium into a drive device.

[0020] The storage unit 170 is a HDD, flash memory, RAM (Random Access Memory), etc. The storage unit 170 may be a NAS (Network Attached Storage) device that the payment server 100 can access via a network. The storage unit 170 stores information such as user information 172, payment content information 174, and affiliated store / shop information 176.

[0021] The communication unit 110 is a communication interface for connecting to the network NW, and is, for example, a network interface card.

[0022] The payment content providing unit 120 has, for example, a function of a web server, and provides information (content) for displaying various screens of the electronic payment service to the user terminal device 10. The payment content providing unit 120 reads out necessary content from the payment content information 174 as appropriate and provides it to the user terminal device 10. The user terminal device 10 accepts various inputs from the user while content is being played by the payment application 20, and transmits the above-mentioned payment information and the like to the payment server 100.

[0023] The payment processing unit 130 performs payment processing based on the payment information transmitted by the user terminal device 10 or the first store terminal device 50. The payment processing unit 130 performs payment processing while referring to the user information 172.

[0024] 5 is a diagram showing an example of the contents of user information 172. User information 172 is an example of user registration information. User information 172 is information in which, for example, a user URL, account ID, phone number, password, as well as an email address, user ID, name, address, date of birth, registration date, charge balance, deferred payment setting, deferred payment limit, deferred payment amount used, deferred payment available amount, payment method setting, bank account, credit card number, issued one-time code, user identification token for offline payment described later, secret key (for charge balance), secret key (for deferred payment), offline payment upper limit, charge history information, payment history information, and the like are associated.

[0025] The user URL is used for remittance processing between users. When registering for the electronic payment service, registration of a phone number and password is required. The account ID is issued to the user by the payment server 100, and the user ID is an ID that the user can set at their discretion (but does not have to set). Similarly, the email address, name, address, and date of birth are also information that the user can set at their discretion (but do not have to set). The registration date is the date the user registered for the electronic payment service (the date the account was created). Hereinafter, the user instance (electronic payment account) to which this information is associated will be referred to as an account.

[0026] The charge balance is information indicating the balance of electronic money that the user has set by transferring funds to the account in advance. Transfer methods include transfer from an ATM (Automatic Teller Machine) of a designated service provider (bank) or transfer from a registered bank account. The deferred payment setting is information indicating whether the settings for enabling deferred electronic payments have been completed, and is set to either "completed" or "not completed." The payment method setting is setting information indicating whether the user will make electronic payments using the charge balance or by deferred payment at that time. The bank account and credit card number are information on bank accounts or credit card numbers (account number, card number), respectively, that can be used to deposit funds into the electronic payment service. The charge history information is a history of the user transferring funds to the electronic payment service in advance to increase the charge balance. The payment history information is information indicating the details of each payment made by the user (date and time, store ID of the store where the purchase was made, payment amount, payment method, etc.).

[0027] 6 is a diagram showing an example of the contents of affiliated store / store information 176. The affiliated store / store information 176 includes, for example, a first table 176A in which an affiliated store ID and a store ID are associated with a store URL, a second table 176B in which an affiliated store ID is associated with an affiliated store name and sales amount (described above), and a third table 176C in which a store ID is associated with a store ID. In addition to this information, the affiliated store / store information 176 may also include information such as the category of the affiliated store or store, the store's location, and payment patterns.

[0028] The information management unit 140 manages the user information 172 and the affiliated store / store information 176 based on information acquired from the user terminal device 10 and the second store terminal device 70. The information management unit 140 adds new records to, edits, deletes, etc. the user information 172 and the affiliated store / store information 176.

[0029] [Electronic Payment] When payment information is acquired from the user terminal device 10 or the first store terminal device 50, the payment processing unit 130 references the user information 172 to acquire the "payment method setting" of the user. For users whose "payment method setting" is set to "charge balance," the payment processing unit 130 performs electronic payment as follows: For example, the payment processing unit 130 performs electronic payment by decreasing the charge balance managed in association with the user ID and increasing the item value of the affiliated store's sales proceeds. The item value of the affiliated store's sales proceeds is not itself used as electronic money, for example, but rather the amount corresponding to the item value of the sales proceeds is transferred to a bank account in a cycle according to an agreement between the affiliated store and the electronic payment service.

[0030] The payment processing unit 130 performs electronic payments for users whose "setting information" is set to "deferred payment" as follows. Deferred payment is set separately from "credit card payment," which is set in cooperation with a credit card company, which is a separate entity from the operator of the electronic payment service. The operator of the electronic payment service acts as the creditor, and allows electronic payments within the deferred payment limit, independent of the remaining balance. To receive the deferred payment service, a user may be required to obtain a credit card provided by the operator of the electronic payment service. The amount used for deferred payment is settled in full on the following month's payment date, for example, by debit from a bank account. In this case, the payment processing unit 130 makes a provisional payment by adding the payment amount to the deferred payment amount and subtracting the same amount from the available deferred payment balance. On the closing date, the payment processing unit 130 performs the process described above to debit the current month's payment on the following month's payment date, or requests the credit card operator to perform this process. If the payment amount exceeds the available deferred payment balance at the time of provisional payment, an error notification is returned to the payment app 20.

[0031] [Switching between charge balance and deferred payment (when paying online)] FIG. 7 is a diagram showing an example of the top screen IM1 of the payment app 20. The illustrated state assumes a first state (a state where online payment is possible) in which communication between the payment app 20 and the payment server 100 is not difficult. In the first state, a valid one-time code is provided from the payment server 100 to the payment app 20. "Valid" means that the code is provided in response to the most recently transmitted one-time code issuance request. The top screen IM1 displays a code image CD. The code image CD may include, for example, a barcode and a QR code. Also displayed with the code image CD is text indicating whether electronic payment will be made using the remaining balance or by deferred payment (in the figure, "Pay with balance"). This text is drawn by the payment app 20 based on information updated by the payment app 20 each time the toggle switch SW is operated. The top screen IM1 also includes an operation area CA including the toggle switch SW and a transition button TB1. The "switch" and "button" refer to a graphical user interface (GUI) implemented in cooperation with a touch panel. The selector switch SW accepts an operation to switch between electronic payment using the remaining balance and electronic payment by deferred payment. The selector switch SW is set to electronic payment using the remaining balance by default, and each time the user operates the switch, the setting switches between electronic payment using the remaining balance and electronic payment by deferred payment. In the figure, the explanation "Balance Payment" is displayed, which means that the setting is to make electronic payment using the remaining balance. The operation area CA has buttons for instructing main operations in electronic payment, such as a button to instruct scanning (to start user scanning) and a button to instruct charging. When the transition button TB1 is operated, the screen transitions to a payment screen that displays the code image used for electronic payment and the available balance.

[0032] [Offline payment] The following describes electronic payment (offline payment) in the second state where a valid one-time code cannot be obtained due to difficulty in communication between payment application 20 and payment server 100. The offline payment in this embodiment can be performed at the store where the store scan is performed.

[0033] The payment application 20 determines whether to perform online or offline payment depending on whether communication with the payment server 100 is in a first state where communication is normal or in a second state where communication is difficult. For example, the payment application 20 determines that the second state is in effect if an event occurs n times or more where a response to a one-time code issuance request is not received within a predetermined time (n is an integer greater than or equal to 1). When the payment application 20 determines that communication with the payment server 100 is in the second state, it generates an offline code using the time and secret key kept by the user terminal device 10, generates an offline code image based on the offline code, and displays the offline code image on the display unit of the user terminal device 10. In other words, the payment application 20 generates the offline code image based on an offline code that it generated itself without using a one-time code.

[0034] The secret key is obtained from the payment server 100 to the payment application 20 less frequently than the one-time code. For example, the activated payment application 20 obtains the secret key approximately once a week. In this obtaining process, a secret key issuance request may be sent from the payment application 20 to the payment server 100, or the payment server 100 may voluntarily provide the secret key to the payment application 20.

[0035] Payment application 20 may generate an offline code using a user identification token in addition to the time and the secret key. The user identification token may be fixedly assigned to the user, or may be sent from payment server 100 together with the secret key issuance request. An example of an offline key is one that includes one or both of the secret key and the user identification token.

[0036] For example, payment application 20 generates the offline code based on data obtained by inputting the secret key and time into a predetermined function and combining the data with the user identification token. This method is merely an example, and payment application 20 may generate the offline code using any decryptable method based on some or all of the secret key, time, and user identification token.

[0037] Furthermore, payment application 20 may cause user terminal device 10 to synchronize the time measured by user terminal device 10 with the time measured by payment server 100 at a predetermined timing (for example, each time a secret key issuance request is made). At this time, payment application 20 may perform a process of adjusting the time of a radio clock or the like at approximately the same time as payment server 100.

[0038] When the offline code image is read by the first store terminal device 50 and payment information including at least a portion of the read information and the payment amount is acquired (if the information is based on the offline code image generated by the payment app 20 using time), the payment processing unit 130 of the payment server 100 proceeds with electronic payment based on the payment information if offline authentication conditions are met. That is, the offline payment proceeds. "At least a portion of the read information" refers to "at least a portion of the offline code," which will be referred to simply as the offline code hereinafter. The offline authentication conditions are related to the offline code image generated by the payment app 20 based on the offline code. For example, the offline authentication conditions include whether the time read from the offline code image (hereinafter referred to as app time) is within a predetermined range compared with the time measured by the payment server 100 (hereinafter referred to as server time). The offline authentication conditions may also include whether the offline key (one or both of the secret key and the user identification token) is stored in the storage unit 170 as having been provided to the payment app 20. The time used in offline payment is measured, for example, in minutes, but is not limited to this. When the payment processing unit 130 acquires the payment information, it identifies a secret key from the user identification token included in the offline code included in the payment information, and generates an offline code using the same method as the payment app 20 using the identified secret key and the current time measured by the payment server 100. If the offline code acquired from the first store terminal device 50 matches the code it generated, it determines that the offline code is valid. For example, in case there is a time difference between the user terminal device 10 and the payment server 100, the payment processing unit 130 generates multiple codes within a predetermined range of plus or minus a predetermined time (e.g., one minute) from the current time measured by the payment server 100, and if any of the codes matches the offline code acquired from the store terminal device, it determines that the offline authentication condition is met, that is, the payment information is valid.

[0039] The payment processing unit 130 may set a lower upper limit on the payment amount for a single electronic payment when performing an offline payment (when the payment information includes information obtained from an offline code image) than when performing an online payment (when the payment information includes information based on a one-time code). The payment processing unit 130 may set the upper limit on the payment amount for offline payments to a fixed amount lower than that for online payments (set to 5,000 yen in the example of FIG. 5), or may dynamically determine the upper limit based on the user's payment history, etc. In the latter case, the payment processing unit 130 determines the upper limit based on the user's past frequency of electronic payments, the amount paid per transaction, the tendency of the category of payment items, etc. When performing an offline payment, if payment information for an amount exceeding the upper limit is obtained from the payment app 20, the payment processing unit 130 sends an error message to the first store terminal device 50 and, after communication with the user terminal device 10 is restored, also sends an error message to the user terminal device 10.

[0040] 8 is a sequence diagram illustrating the flow of processing performed for offline payment. First, at a timing unrelated to electronic payment, the payment application 20 sends a request to issue an offline key to the payment server 100 (S21). The payment server 100 generates an offline key (S22) and sends it to the payment application 20 (S23). The payment application 20 stores the received offline key in the memory of the user terminal device 10.

[0041] At another time, when a user launches the payment app 20 or performs a payment operation using the payment app 20 at a store where store scanning is performed, the payment app 20 sends a request to issue a one-time code to the payment server 100 (S31). If an event occurs n times or more where a response to the one-time code issuance request does not arrive within a predetermined time, the payment app 20 generates an offline code and displays an offline code image generated based on the offline code (S32). The user holds (presents) the display surface of the user terminal device 10 over the first store terminal device 50, and the first store terminal device 50 decodes the code image using its optical reading function and obtains an offline key, etc. (S33).

[0042] The first store terminal device 50 then generates payment information including the offline key, payment amount, affiliated store ID, store ID, etc., and transmits it to the payment server 100 (S33). The payment server 100 identifies the user corresponding to the user identification token based on the received information, determines whether the offline authentication conditions are met as described above (S34), and proceeds with the electronic payment if the offline authentication conditions are met (S35). In this case, information notifying the completion of the payment is also transmitted exclusively to the first store terminal device 50.

[0043] This process allows electronic payments to be made even when communication between payment application 20 and payment server 100 is difficult, such as when the store performing the store scan is located in an area with weak radio waves, making electronic payments more flexible. Furthermore, even in offline payments, by proceeding with electronic payments without including user identification information such as an account ID in the offline code, the level of protection of the user's personal information can be maintained.

[0044] Furthermore, generating an offline code image using both the time and the offline key and performing an offline payment can increase the probability that the payment is legitimate. If an offline code image is generated using only the offline key and an offline payment is performed, it becomes impossible to know when the offline code image was generated, thereby reducing the legitimacy of the payment. Furthermore, if an offline code image is generated using only the time and an offline payment is performed, anyone can generate an offline code image if the logic for generating the offline code image is exposed. Generating an offline code image using both of these factors makes it possible to know when the offline code image was generated, and including the offline key in the offline code image ensures that it is based on information issued by the payment server 100. As a result, the probability that the payment is legitimate can be increased.

[0045] Furthermore, by setting the upper limit for offline payments lower than that for online payments, more secure electronic payments can be realized.

[0046] The following describes screen control by the payment application 20. Fig. 9 is a flowchart showing an example of the processing flow related to screen control by the payment application 20. The processing of this flowchart starts in various situations where communication with the payment server 100 occurs.

[0047] First, the payment application 20 determines whether or not a notification has been received from the payment server 100 (S100). The notification may be, for example, a one-time password returned in response to the one-time password issuance request described above. If a notification has been received from the payment server 100, the payment application 20 displays an online mode screen (for example, the one shown in FIG. 7) and continues normal operation (S102).

[0048] If no notification is received from the payment server 100, the payment application 20 causes the user terminal device 10 to display a standby screen IM2 indicating that it is difficult to read information from the payment server 100 (S104). Figure 10 is a diagram showing an example of the standby screen IM2. The standby screen IM2 does not display a valid code image, but displays text TX1 indicating the connection status with the payment server 100 to the user.

[0049] Next, payment application 20 determines whether the second state has been confirmed (S106). As mentioned above, the condition for confirming the second state is when "an event occurs n times or more in which a notification such as a response to a one-time code issuance request does not arrive within a predetermined time." If the second state has not been confirmed, the process returns to S100.

[0050] When the second state is determined, payment application 20 determines whether a valid offline key (secret key and user identification token) has been acquired and stored in the memory of user terminal device 10 (S108). A valid offline key is, for example, an offline key for which the elapsed time since the acquisition time has not exceeded an upper limit time (a time approximately equivalent to the issuance cycle of the offline key).

[0051] If a valid offline key has not been acquired, the payment application 20 displays an error screen on the user terminal device 10 (S110). The error screen includes text explaining that an Internet connection is difficult.

[0052] If a valid offline key has been acquired, payment application 20 determines whether counter value k is equal to or greater than threshold value Th (S112). Counter value k is set to zero when payment application 20 is installed in user terminal device 10, and is incremented by one each time the approval operation determined in S116 is performed. That is, the determination process in S112 determines whether the approval operation has been performed a predetermined number of times (= threshold value Th) or more. Threshold value Th is, for example, a value of approximately 1 to 3.

[0053] If the counter value k is less than the threshold value Th, the payment application 20 causes the user terminal device 10 to display the half sheet illustrated in FIG. 11 (S114). FIG. 11 is a diagram showing an example of a half sheet IM3. The half sheet IM3 is displayed in a smaller size than the screen on which the online code image, such as the top screen IM1, is displayed. The half sheet IM3 is an example of an "interface screen." The half sheet IM3 displays text TX2 explaining offline payment. The half sheet IM3 also has a first operation unit B1 for instructing transition to a detailed explanation screen regarding payment in offline mode and a second operation unit B2 for instructing acceptance of payment in offline mode. FIG. 12 is a diagram showing an example of the detailed explanation screen IMe. The detailed explanation screen IMe displays text TXe explaining offline payment. The detailed explanation screen IMe also has a first operation unit Be1 for instructing transition to a help page regarding payment in offline mode and a second operation unit Be2 for instructing return to the half sheet IM3. The help page is updated by payment server 100 as needed, and payment application 20 downloads the help page at any time while communication between user terminal device 10 and payment server 100 is normal, and stores (caches) it in the memory of user terminal device 10. This makes it possible to provide the user with a help page containing detailed information about payments in offline mode, even in situations where communication with payment server 100 is difficult. Note that the help page may also be displayed in a smaller size than the screen on which the online code image, such as the top screen IM1, is displayed, similar to half sheet IM3.

[0054] The payment application 20 determines whether or not an operation has been performed on the second operation section B2 on the half sheet IM3, that is, whether or not an operation to approve payment in offline mode has been performed (S116).

[0055] If an operation to accept payment in offline mode is performed, the payment application 20 causes the user terminal device 10 to display the offline mode screen (S118). Also, if it is determined in S112 that the counter value k is equal to or greater than the threshold value Th, the payment application 20 also causes the user terminal device 10 to display the offline mode screen (S118). The offline mode screen is a screen on which an offline code image is displayed. Thus, the conditions for transitioning to the offline mode screen include, for example, obtaining a valid offline key from the payment server 100, and basically including an operation to accept; however, if an operation to accept is performed a predetermined number of times or more, the operation to accept is excluded.

[0056] By performing this process, the user can be smoothly guided to offline payment using the offline code image.

[0057] The offline mode screen will be described below. The offline mode screen may include a first offline mode screen displaying a first offline code image that allows offline payment using a first payment method, and a second offline mode screen displaying a second offline code image that allows offline payment using a second payment method. The two screens may be switchable between them by user operation. In other words, in offline mode payments provided by an electronic payment system, the first payment method and the second payment method may be selectively implemented. For example, similar to online payments, the first payment method is a method of electronic payment using a charge balance, and the second payment method is a method of electronic payment by deferred payment. The first payment method and the second payment method may each be a different method, such as a payment method using a debit card function, points payment, or credit card payment.

[0058] In this case, the payment application 20 acquires a first offline key for generating a first offline code image and a second offline key for generating a second offline code image less frequently than the one-time code. Each of the first offline key and the second offline key includes the same information as the offline key described above, and further includes identification information indicating whether it is the first offline key or the second offline key. The payment application 20 generates a first offline code using the first offline key, generates a first offline code image based on the first offline code, and displays it on the user terminal device 10. The payment application 20 also generates a second offline code using the second offline key, generates a second offline code image based on the second offline code, and displays it on the user terminal device 10. The user identification tokens included in the first offline key and the second offline key may be the same or different (they are the same in FIG. 5).

[0059] FIG. 13 is a diagram showing an example of a first offline mode screen IM4 on which a first offline code image is displayed, and FIG. 14 is a diagram showing an example of a second offline mode screen IM5 on which a second offline code image is displayed. The first offline mode screen IM4 displays a first code image CD#1. The first offline mode screen IM4 displays the current payment method and has a third operation unit B3 for instructing transition to a payment method selection screen IM6. The first offline mode screen IM4 also has a reload button B5. When the reload button B5 is operated, a communication request is sent to the payment server 100, and the processing of the flowchart in FIG. 9 is started. Meanwhile, the second offline mode screen IM5 displays a second code image CD#2. The second offline mode screen IM5 displays the current payment method and has a fourth operation unit B4 for instructing transition to a payment method selection screen IM6. The second offline mode screen IM5 also has a reload button B5.

[0060] 15 is a diagram showing an example of a payment method selection screen IM6. The payment method selection screen IM6 has sixth to eighth operation sections B6 to B8, which list selectable payment methods (payment methods). When the sixth operation section B6 is operated, the screen transitions to the first offline mode screen IM4, and when the seventh operation section B7 is operated, the screen transitions to the second offline mode screen IM5. The processing when the eighth operation section is selected may be determined arbitrarily.

[0061] The payment app 20 may use the payment method setting for online payment as the initial setting for offline payment. For example, the payment app 20 may determine whether the first offline mode screen IM4 or the second offline mode screen IM5 is the screen to be displayed first when offline payment is decided, based on the setting for online payment. In this case, the payment app 20 stores the payment method setting for online payment in the memory of the user terminal device 10.

[0062] If the payment information acquired during offline payment includes information obtained from the first offline code screen, i.e., the first offline key, the payment server 100 proceeds with the electronic payment using the first payment method, and if the payment information acquired during offline payment includes information obtained from the second offline code screen, i.e., the second offline key, the payment server 100 proceeds with the electronic payment using the second payment method.

[0063] By performing such processing, it is possible to broaden the range of choices available to users in offline payments using offline code images, thereby improving convenience.

[0064] Note that the offline processing described above may also be executed in the first state. That is, the offline processing may be executed at all times regardless of the communication state between the user terminal device 10 and the payment server 100.

[0065] The above describes the form for carrying out the present invention using an embodiment, but the present invention is not limited to such an embodiment, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention. [Explanation of symbols]

[0066] 10 User terminal device 20. Payment App 100 Payment Server 120 Payment Contents Department 130 Payment processing unit 140 Information Management Department

Claims

1. An application program that operates on a user's terminal device and cooperates with a payment server to provide electronic payment services to the user, When electronic payment is made, the terminal device, Communicate with the aforementioned payment server, When communication with the payment server is in a normal first state, the terminal device displays an online code image generated using the one-time code obtained from the payment server via communication. In the second state where communication with the payment server is difficult, the terminal device is instructed to determine whether the offline key stored in the terminal device's memory is a valid offline key, and if the offline key is a valid offline key, the terminal device is instructed to display an offline code image generated by the application program using the valid offline key on the terminal device's display unit, without using the one-time code. Application program.

2. The terminal device, If the elapsed time since the acquisition of the offline key does not exceed the upper limit, the system determines that the offline key is a valid offline key. The application program according to claim 1.

3. The terminal device If the terminal device is in a second state where communication with the payment server is difficult, and the offline key obtained from the payment server stored in the terminal device's memory is not a valid offline key, an error screen is displayed on the display unit. The application program according to claim 1 or 2.

4. The aforementioned terminal device, The offline code image is generated using the time. The application program according to claim 1 or 2.

5. The offline key is obtained from the payment server at a lower frequency than the one-time code. The application program according to claim 1 or 2.

6. At a predetermined timing, the terminal device is instructed to synchronize the time it measures with the time it measures on the payment server. The application program according to claim 1 or 2.

7. A payment control method executed by a terminal device that provides electronic payment services to users in cooperation with a payment server, When electronic payment is made, the terminal device Communicate with the aforementioned payment server, When communication with the payment server is in a normal first state, the terminal device displays an online code image generated using the one-time code obtained from the payment server via communication. In the second state where communication with the payment server is difficult, the terminal device's storage unit determines whether the offline key obtained from the payment server and stored in the terminal device's storage unit is a valid offline key. If the offline key is a valid offline key, the terminal device's display unit displays an offline code image generated by an application program running on the terminal device using the valid offline key, without using the one-time code. Payment control method.

8. The application program described in claim 1, A payment server that provides electronic payment services to a user in cooperation with an application program running on the user's terminal device, A communication unit that communicates with a store terminal device installed in the store, and receives payment information from the store terminal device, which includes at least a portion of the information read from the code image displayed by the terminal device and the payment amount. A providing unit that provides a one-time code to the application program via the communication unit, A settlement processing unit that performs electronic settlement based on the aforementioned settlement information, If the payment information includes information based on the one-time code, the electronic payment will be processed using the one-time code. If the payment information includes information based on an offline code image generated by the application program without using the one-time code, the payment processing unit proceeds with the electronic payment when the offline authentication conditions related to the offline code image are met. A payment server equipped with, A payment system that includes this.