本発明は、決済システム及び決済方法に関する。The present invention relates to a payment system and a payment method.
本技術分野の背景技術として、特許文献1がある。特許文献1には、「決済システムにおいて、決済管理装置(決済サーバ)は、取引の金額と取引の状況とを示す決済要求を取得する手段と、取得された決済要求が示す取引の金額と取引の状況とに応じて、支払い側に決済の承認を要求するか否かを判定する手段と、要求すると判定された場合、支払い側の端末にネットワークを介して承認を要求する手段と、支払い側の端末において決済が承認されると、当該決済を処理する手段と、を備える。」と記載されている(要約参照)。Patent Document 1 is a background technology in this technical field. Patent Document 1 states, "In a payment system, a payment management device (payment server) includes: means for acquiring a payment request indicating the transaction amount and transaction status; means for determining whether to request payment approval from the payer based on the transaction amount and transaction status indicated in the acquired payment request; means for requesting approval from the payer's terminal via a network if it is determined that approval is required; and means for processing the payment if the payment is approved at the payer's terminal" (see abstract).
前記特許文献1には、不正リスクを抑制する決済手段について記載されている。しかしながら、前記特許文献1に記載の技術は、オンライン決済(エンドユーザ端末と決済サーバとの通信によって実現される決済)を前提とした仕組みであり、オフライン決済(災害時などでインターネット回線が不通となり決済サーバに接続できない状況等を想定した、エンドユーザ端末間の直接的な通信によって実現される決済)には十分対応できないという課題がある。Patent Document 1 describes a payment method that reduces the risk of fraud. However, the technology described in Patent Document 1 is a system that assumes online payments (payments realized through communication between an end user terminal and a payment server), and has the problem of not being able to fully support offline payments (payments realized through direct communication between end user terminals, which is intended for situations such as when the internet line is down and connection to the payment server cannot be made due to a disaster, etc.).
具体的には、前記技術では、不正リスクの確認や分析の入力情報である決済履歴の情報をサーバ上に保有するが、オフライン決済の場合には、サーバにアクセスできないことから入力情報を利用できない。Specifically, with this technology, payment history information, which is input information for fraud risk confirmation and analysis, is stored on a server, but in the case of offline payments, the server cannot be accessed and the input information cannot be used.
解決策として、エンドユーザ端末に決済履歴の情報のコピーを持つという考え方もあるが、より複雑な不正リスク分析(例えば、当該エンドユーザや他のエンドユーザの決済履歴情報を複合的に活用した人工知能による分析)を想定した場合、データ量や計算資源などの観点から、端末上で実現することは現実的ではない。One solution would be to have a copy of the payment history information stored on the end user's device, but when considering more complex fraud risk analysis (for example, analysis using artificial intelligence that combines the payment history information of the end user and other end users), it is not realistic to implement this on the device from the perspective of data volume and computing resources.
本発明は、オフライン決済においても、オンライン決済相当の不正リスク抑制を実現する仕組みを提供することを目的とする。The present invention aims to provide a system that reduces the risk of fraud in offline payments to a degree equivalent to that of online payments.
本発明の一態様の決済システムは、利用者の資金の残高を管理する決済サーバと、前記決済サーバとの間で送金指示及び送金結果を送受信する複数の決済端末と、を有する決済システムであって、前記決済端末は、前記決済サーバに対して前記決済端末の前記利用者の前記残高及び送金履歴の情報を要求し取得する送金結果確認部と、前記決済サーバに対する送金指示電文を作成し送信する送金指示作成部と、前記決済サーバを介さずに、他の前記決済端末に対する端末間送金電文を作成し送信するオフライン送金指示作成部と、前記オフライン送金指示作成部を介して送信された前記端末間送金電文の妥当性を規定の条件に基づき検証するオフライン送金指示検証部と、前記オフライン送金指示検証部が妥当と判断した前記端末間送金電文を記録するオフライン送金指示反映部と、前記オフライン送金指示反映部によって記録された前記端末間送金電文を前記決済サーバに対して送信するオフライン送金結果通知部と、を有することを特徴とする。One aspect of the present invention is a payment system comprising a payment server that manages user balances, and multiple payment terminals that transmit and receive remittance instructions and remittance results to and from the payment server. The payment terminals each have a remittance result confirmation unit that requests and obtains information on the user's balance and remittance history at the payment terminal from the payment server, a remittance instruction creation unit that creates and sends a remittance instruction message to the payment server, an offline remittance instruction creation unit that creates and sends an inter-terminal remittance message to another payment terminal without going through the payment server, an offline remittance instruction verification unit that verifies the validity of the inter-terminal remittance message sent via the offline remittance instruction creation unit based on specified conditions, an offline remittance instruction reflection unit that records the inter-terminal remittance message that the offline remittance instruction verification unit determines to be valid, and an offline remittance result notification unit that transmits the inter-terminal remittance message recorded by the offline remittance instruction reflection unit to the payment server.
本発明の一態様の決済方法は、利用者の資金の残高を管理する決済サーバと、前記決済サーバとの間で送金指示及び送金結果を送受信する複数の決済端末とを有する決済システムにおける決済方法であって、前記決済サーバが管理する前記残高を書き換えることによって送金を実現するオンライン決済処理と、複数の前記決済端末の間の直接通信によって、前記決済端末の間の送金を実現するオフライン決済処理と、を有し、前記オンライン決済処理は、前記決済サーバが所定のオフライン送金制約情報を算出するオフライン送金制約算出ステップを有し、前記オフライン決済処理は、前記決済サーバが算出した前記オフライン送金制約情報に基づいて、前記決済端末の間の前記送金の可否を判定するオフライン送金制約反映ステップを有することを特徴とすることを特徴とする。One aspect of the present invention is a payment method for a payment system having a payment server that manages users' balances and multiple payment terminals that send and receive remittance instructions and remittance results to and from the payment server. The payment method includes: online payment processing that realizes remittances by rewriting the balances managed by the payment server; and offline payment processing that realizes remittances between the multiple payment terminals through direct communication between the payment terminals; the online payment processing includes an offline remittance constraint calculation step in which the payment server calculates predetermined offline remittance constraint information; and the offline payment processing includes an offline remittance constraint reflection step in which the payment server determines whether the remittance between the payment terminals is possible based on the offline remittance constraint information calculated by the payment server.
本発明の一態様によれば、オフライン決済においても、オンライン決済相当の不正リスク抑制を実現することが可能となる。One aspect of the present invention makes it possible to reduce fraud risks in offline payments to the same extent as in online payments.
以下、図面を用いて実施例を説明する。The following describes the examples using the drawings.
本実施例では、決済システムの例を説明する。In this example, we will explain an example of a payment system.
  図1は、本実施例の決済システムの構成図の例である。
  決済システム100は、決済サーバ、および、複数の決済端末を有する。本実施例において、決済システム100は、決済サーバ110、および、決済端末120、130、140から構成されている。決済システム110は、決済端末120、130、140とデータを授受できるよう、インターネット等の通信路で接続されている。決済端末120、130、140は、それぞれ異なる利用者である利用者A、B、Xによって保有され操作されるものとする。決済端末120、130、140のうち2つが地理上の近い場所にある場合には、必要に応じ、データを授受できるよう、当該決済端末間で近距離無線通信をおこなう。  FIG. 1 is a diagram showing an example of the configuration of a payment system according to this embodiment.
 Payment system 100 includes a payment server and multiple payment terminals. In this embodiment, payment system 100 is composed of payment server 110 and payment terminals 120, 130, and 140. Payment system 110 is connected to payment terminals 120, 130, and 140 via a communication path such as the Internet so that data can be exchanged between them. Payment terminals 120, 130, and 140 are owned and operated by different users, Users A, B, and X, respectively. If two of payment terminals 120, 130, and 140 are geographically close to each other, short-range wireless communication is performed between the payment terminals to exchange data as necessary.
なお、決済端末120、130、140については、端末上のデータや処理の安全性を確保するため、セキュア・エレメント(Secure Element)やトラスティッド・エグゼキューション・エンバイロメント(Trusted Execution Environment)を活用した構成も考えられるが、本実施例においては、簡単のため、これらを用いない構成で説明する。Note that payment terminals 120, 130, and 140 may be configured to utilize a secure element or trusted execution environment to ensure the security of data and processing on the terminal, but for simplicity, this example will be described using a configuration that does not use these.
  図2は、本実施例の決済サーバ110のハードウェア構成図の例である。
  決済サーバ110は、CPU201、メモリ202、入力インタフェース203、通信インタフェース204、補助記憶装置205、出力インタフェース206を有する。決済サーバ110において、入力インタフェース203を介して接続されたマウス、キーボード等の入力装置、および、出力インタフェース206を介して接続されたディスプレイ等の出力装置は、決済システムの管理者が操作する。決済サーバ110は、通信インタフェース204を介し、インターネット等の通信路に接続される。  FIG. 2 is a diagram showing an example of the hardware configuration of the payment server 110 of this embodiment.
 The payment server 110 has a CPU 201, memory 202, an input interface 203, a communication interface 204, an auxiliary storage device 205, and an output interface 206. In the payment server 110, input devices such as a mouse and a keyboard connected via the input interface 203 and output devices such as a display connected via the output interface 206 are operated by an administrator of the payment system. The payment server 110 is connected to a communication channel such as the Internet via the communication interface 204.
  図3は、本実施例の決済端末120のハードウェア構成図の例である。
  決済端末120は、CPU301、メモリ302、入力インタフェース303、通信インタフェース304、補助記憶装置305、出力インタフェース306を有する。決済端末120において、入力インタフェース304や出力インタフェース306を介して接続されたタッチパネル等の装置は、決済端末120の保有者である利用者Aが操作する。決済端末120は、通信インタフェース304を介し、インターネット等の通信路への接続や近距離無線通信をおこなう。なお、本実施例において、決済端末130、140のハードウェア構成も、決済端末120の構成と同様とする。  FIG. 3 is a diagram showing an example of the hardware configuration of the payment terminal 120 according to this embodiment.
 Payment terminal 120 has a CPU 301, memory 302, input interface 303, communication interface 304, auxiliary storage device 305, and output interface 306. Devices such as a touch panel connected to payment terminal 120 via input interface 304 and output interface 306 are operated by user A, the owner of payment terminal 120. Payment terminal 120 connects to a communication channel such as the Internet and performs short-range wireless communication via communication interface 304. In this embodiment, the hardware configuration of payment terminals 130 and 140 is the same as the configuration of payment terminal 120.
  図4は、本実施例の決済サーバ110のソフトウェア構成図の例である。
  決済サーバ110は、演算部410として、送金指示検証機能411、送金指示反映機能412、オフライン送金結果検証機能413、オフライン送金結果反映機能414、オフライン送金制約算出機能415を有する。  FIG. 4 is an example of a software configuration diagram of the payment server 110 of this embodiment.
 The settlement server 110 has, as the calculation unit 410 , a remittance instruction verification function 411 , a remittance instruction reflection function 412 , an offline remittance result verification function 413 , an offline remittance result reflection function 414 , and an offline remittance constraint calculation function 415 .
さらに、決済サーバ110は、記憶部420として、利用情報421、利用者残高422、利用者送金履歴423、確認待ち送金指示424、利用者オフライン送金制約425を有する。演算部410は実行時にメモリ202に読み込まれ、CPU201によって実行されるものとする。Furthermore, the payment server 110 has a memory unit 420 that includes usage information 421, user balance 422, user remittance history 423, remittance instructions waiting for confirmation 424, and user offline remittance constraints 425. The calculation unit 410 is loaded into memory 202 at runtime and executed by the CPU 201.
  図5は、本実施例の決済端末120のソフトウェア構成図の例である。
  決済端末120は、演算部510として、送金結果確認機能511、送金指示作成機能512、オフライン送金指示作成機能513、オフライン送金指示検証機能514、オフライン送金指示反映機能515、オフライン送金制約反映機能516、オフライン送金結果通知機能517を有する。  FIG. 5 is an example of a software configuration diagram of the payment terminal 120 of this embodiment.
 The payment terminal 120 has, as its calculation unit 510, a remittance result confirmation function 511, a remittance instruction creation function 512, an offline remittance instruction creation function 513, an offline remittance instruction verification function 514, an offline remittance instruction reflection function 515, an offline remittance restriction reflection function 516, and an offline remittance result notification function 517.
さらに、決済端末120は、記憶部520として、自己残高521、自己オフライン残高522、自己オフライン決済履歴523を有する。演算部510は実行時にメモリ302に読み込まれ、CPU301によって実行されるものとする。なお、本実施例において、決済端末130、140のソフトウェア構成も、決済端末120の構成と同様とする。Furthermore, the payment terminal 120 has a memory unit 520 that stores a personal balance 521, a personal offline balance 522, and a personal offline payment history 523. The calculation unit 510 is loaded into memory 302 at runtime and executed by the CPU 301. In this embodiment, the software configuration of the payment terminals 130 and 140 is the same as that of the payment terminal 120.
  図6は、本実施例の決済システムにおけるオンライン決済を説明するフローチャートの例である。
  以降、図6のフローチャートに基づき、決済システム100におけるオンライン決済の動作を説明する。本実施例では、利用者Aが利用者Bに送金するシナリオを例として用いる。  FIG. 6 is an example of a flowchart illustrating online payment in the payment system of this embodiment.
 Hereinafter, the operation of online payment in payment system 100 will be described with reference to the flowchart in Fig. 6. In this embodiment, a scenario in which user A transfers money to user B will be used as an example.
ステップ600は、決済サーバ110と決済端末120との間で実施されるステップである。決済端末120におけるオフライン処理結果の情報を、決済サーバ110と同期する。ステップ600の動作については後述する。Step 600 is a step performed between the payment server 110 and the payment terminal 120. Information on the offline processing results in the payment terminal 120 is synchronized with the payment server 110. The operation of step 600 will be described later.
ステップ601は、利用者Aによる操作のもと、決済端末120により実施されるステップである。ステップ601では、決済端末120の送金指示作成機能512が、利用者Aの指示のもと、自己残高521の情報を参照することで送金指示を作成するとともに、前記送金指示を決済サーバ110に送信する。送信は、決済端末120の通信インタフェース304を介し、インターネット通信等によって実施される。Step 601 is a step performed by the payment terminal 120 under the operation of user A. In step 601, the remittance instruction creation function 512 of the payment terminal 120 creates a remittance instruction by referencing the information in the user's balance 521 under the instruction of user A, and transmits the remittance instruction to the payment server 110. The transmission is performed via the communication interface 304 of the payment terminal 120, such as via internet communication.
  図7は、本実施例の自己残高521を説明するイメージ図の例である。
  自己残高521は、データ属性として、識別子711、残高712を有し、これらのデータ属性に対応する値を有する。図7の例では、識別子711の値が「A」、残高712の値が「500」となっている。  FIG. 7 is an example of an image diagram illustrating the personal balance 521 in this embodiment.
 The personal balance 521 has data attributes, ie, an identifier 711 and a balance 712, and has values corresponding to these data attributes. In the example of Fig. 7, the value of the identifier 711 is "A" and the value of the balance 712 is "500".
  図8は、本実施例の送金指示を作成する処理を説明するイメージ図の例である。
  送金指示800は、データ属性として、送金元ID811、送金先ID812、金額813を有し、これらのデータ属性に対応する値を有する。図8の例では、送金元ID811の値が「A」、送金先ID812の値が「B」、金額813が「100」となっている。  FIG. 8 is an example of an image diagram illustrating the process of creating a remittance instruction in this embodiment.
 The remittance instruction 800 has data attributes, namely, a remittance source ID 811, a remittance destination ID 812, and an amount 813, and has values corresponding to these data attributes. In the example of Fig. 8, the value of the remittance source ID 811 is "A", the value of the remittance destination ID 812 is "B", and the amount 813 is "100".
送金指示800の作成にあたっては、送金指示作成機能512は、入力インタフェース303を介してユーザAが入力あるいは選択した値を、送金先ID812、金額813の値として書き込む。また、送金指示作成機能512は、自己残高521の識別子711の値を、送金元ID811の値として書き込む。更に送金指示作成機能512は、作成した送金指示800の金額813の値が、自己残高521の残高712の値より低いことを確認する。When creating the remittance instruction 800, the remittance instruction creation function 512 writes the values entered or selected by user A via the input interface 303 as the values for the remittance destination ID 812 and amount 813. The remittance instruction creation function 512 also writes the value of the identifier 711 of the user's own balance 521 as the value for the remitter ID 811. Furthermore, the remittance instruction creation function 512 verifies that the value of the amount 813 of the created remittance instruction 800 is lower than the value of the balance 712 of the user's own balance 521.
なお、利用者Aの残高についての送金指示を、利用者A自身が作成し送信したことを決済サーバが確認できるようにするため、認証情報が必要となるが、本実施例では、簡単のため、認証情報に関する処理や情報の記載を省略する。なお、ステップ601において、利用者Aが送金指示の作成をおこなわない場合には、その旨を決済サーバ110に通知し、ステップ605へ進む。Note that authentication information is required so that the payment server can confirm that user A himself created and sent the remittance instruction for user A's balance. However, in this embodiment, for simplicity, the processing and description of information related to authentication information are omitted. Note that if user A does not create a remittance instruction in step 601, this is notified to the payment server 110, and the process proceeds to step 605.
ステップ602からステップ606までは、決済サーバ110により実施されるステップである。ステップ602では、決済サーバ110の送金指示検証機能411が、利用者情報421、利用者残高422、利用者送金履歴423の情報を参照することで、決済端末120より受信した送金指示の適格性を検証する。Steps 602 to 606 are steps performed by the payment server 110. In step 602, the remittance instruction verification function 411 of the payment server 110 verifies the eligibility of the remittance instruction received from the payment terminal 120 by referencing the user information 421, user balance 422, and user remittance history 423.
  図9は、本実施例の利用者情報421を説明するイメージ図の例である。
  利用者情報421は、データ属性として、利用者ID911、氏名912、要注意フラグ913を有する。利用者情報421には、決済サーバ110をシステム管理者が操作することで、決済サーバ110にアクセスするすべての利用者について、前述データ属性の値を記録しておくものとする。図9の例では、利用者A、利用者B、利用者Cについての情報が、それぞれID911の値が「A」「B」「C」である行に記載されている。  FIG. 9 is an example of an image diagram illustrating the user information 421 of this embodiment.
 The user information 421 has, as data attributes, a user ID 911, a name 912, and a caution flag 913. The system administrator operates the payment server 110 to record the values of the above-mentioned data attributes for all users who access the payment server 110 in the user information 421. In the example of Fig. 9, information about user A, user B, and user C is written in the rows where the ID 911 values are "A", "B", and "C", respectively.
なお、要注意フラグ913の値については、当該利用者に犯罪関与等の疑いがあり、当該利用者の送金指示を一時的に差し止める必要があった場合などに、有効な値を入力しておくものとする。The value of the caution flag 913 should be set to a valid value in cases where the user is suspected of being involved in a crime, etc., and it is necessary to temporarily suspend the user's remittance instructions.
  図10は、本実施例の利用者残高422を説明するイメージ図の例である。
  利用者残高422は、データ属性として、利用者ID1011、残高1012、処理中額1013を有する。利用者残高422には、決済サーバ110にアクセスするすべての利用者について、前述データ属性の値を記録しておくものとする。図10の例では、利用者A、利用者B、利用者Cについての情報が、それぞれID1011の値が「A」「B」「C」である行に記載されている。  FIG. 10 is an example of an image diagram illustrating the user balance 422 in this embodiment.
 The user balance 422 has data attributes of a user ID 1011, a balance 1012, and an amount in process 1013. The user balance 422 is intended to record the values of the above-mentioned data attributes for all users who access the payment server 110. In the example of Fig. 10, information about users A, B, and C is written in the rows where the values of ID 1011 are "A,""B," and "C," respectively.
  図11は、本実施例の利用者送金履歴423を説明するイメージ図の例である。
  利用者送金履歴423は、データ属性として、送金元ID1111、送金先ID1112、送金額1113、送金日時1114を有する。なお、送金元ID1111及び送金先ID1112の値には、利用者情報421が有する利用者ID911の値のいずれかが記録されているものとする。  FIG. 11 is an example of an image diagram illustrating the user remittance history 423 in this embodiment.
 The user remittance history 423 has, as data attributes, a remittance source ID 1111, a remittance destination ID 1112, a remittance amount 1113, and a remittance date and time 1114. Note that the values of the remittance source ID 1111 and the remittance destination ID 1112 are assumed to be any of the values of the user ID 911 included in the user information 421.
  図12は、本実施例の送金指示の適格性を検証する処理を説明するイメージ図の例である。
  送金指示検証機能411は、決済端末120から受信した送金指示800の送金元ID811の値を参照し、利用者情報421、利用者残高422、利用者決済履歴423の情報から、それぞれ同一の利用者ID911、利用者ID1011、送金元ID1111の値を有するレコード群1201、1202、1203を抽出する。なお、レコード群1203については、利用者決済履歴423の情報のうち送金日時1114が比較的新しいもの(例えば、直近1年分)に絞り込んでも良い。  FIG. 12 is an example of an image diagram illustrating the process of verifying the eligibility of a remittance instruction in this embodiment.
 The remittance instruction verification function 411 references the value of the remittance source ID 811 in the remittance instruction 800 received from the payment terminal 120, and extracts record groups 1201, 1202, and 1203 having the same values of the user ID 911, user ID 1011, and remittance source ID 1111 from the information in the user information 421, user balance 422, and user payment history 423. Note that the record group 1203 may be narrowed down to those in the user payment history 423 where the remittance date and time 1114 is relatively recent (for example, from the past year).
また、送金指示検証機能411は、決済端末120から受信した送金指示800の送金先ID812の値を参照し、利用者情報421の情報から、同一の利用者ID911の値を有するレコード1204を抽出する。In addition, the remittance instruction verification function 411 references the value of the remittance destination ID 812 in the remittance instruction 800 received from the payment terminal 120, and extracts records 1204 having the same user ID 911 value from the user information 421.
前記条件に合うレコード1201、1202、1204が見つからない場合、送金指示800の情報を破棄し、ステップ605へ進む。また、送金指示検証機能411は、抽出したレコード1202の残高1012の値が、送金指示800の金額813の値以上であることを確認する。残高1012の値が金額813の値に満たない場合には、送金指示800の情報を破棄し、ステップ605へ進む。If no records 1201, 1202, or 1204 that meet the above conditions are found, the information in the remittance instruction 800 is discarded and the process proceeds to step 605. The remittance instruction verification function 411 also verifies that the value of the balance 1012 in the extracted record 1202 is equal to or greater than the value of the amount 813 in the remittance instruction 800. If the value of the balance 1012 is less than the value of the amount 813, the information in the remittance instruction 800 is discarded and the process proceeds to step 605.
また、送金指示検証機能411は、抽出したレコード1201について、要注意フラグ913の値に有効な値が記載されていないことを確認する。有効な値が入っていた場合には、直ちには送金できないという判断を下し、ステップ604へ進む。The remittance instruction verification function 411 also checks that the extracted record 1201 does not contain a valid value in the caution flag 913. If a valid value is found, it determines that the remittance cannot be made immediately and proceeds to step 604.
また、送金指示検証機能411は、送金指示800の情報を、抽出したレコード群1203の情報と比較し、異常値でないことを確認する。例えば送金指示800の金額813の値が、レコード群1203の送金額1113と比較して極端に大きい場合には、直ちには送金できないという判断を下し、ステップ604へ進む。The remittance instruction verification function 411 also compares the information in the remittance instruction 800 with the information in the extracted record set 1203 to confirm that it is not an abnormal value. For example, if the value of the amount 813 in the remittance instruction 800 is extremely large compared to the remittance amount 1113 in the record set 1203, it determines that the remittance cannot be made immediately and proceeds to step 604.
なお、送金指示検証機能411は、上記に加え、より高度な分析(例えば、他の利用者のデータを含めた大量データを用いた人工知能による分析)による判断をおこなっても良い。In addition to the above, the remittance instruction verification function 411 may also make a judgment based on more advanced analysis (for example, analysis using artificial intelligence using large amounts of data, including data from other users).
以上の、抽出したレコード群1201、1202、1203の情報に基づく送金指示800の確認処理に問題がなかった場合には、ステップ603へ進む。If there are no problems with the confirmation process for the remittance instruction 800 based on the information in the extracted record groups 1201, 1202, and 1203, proceed to step 603.
ステップ603では、ステップ602における確認処理で問題がなかった場合に、決済サーバ110の送金指示反映機能412が、送金指示800の内容を、利用者残高422および利用者送金履歴423に反映する。In step 603, if there are no problems in the confirmation process in step 602, the remittance instruction reflection function 412 of the payment server 110 reflects the contents of the remittance instruction 800 in the user balance 422 and user remittance history 423.
  図13は、本実施例の送金指示の内容を反映する処理を説明するイメージ図の例である。
  送金指示反映機能412は、送金指示800の送金元ID811の値を利用者ID1011として有するレコード1301を利用者残高422から抽出し、その残高1012の値について、送金指示800の金額813の数値分の減算をおこない更新する。また、送金指示反映機能412は、送金指示800の送金先ID812の値を利用者ID1011として有するレコード1302を利用者残高422から抽出し、その残高1012の値について、送金指示800の金額813の数値分の加算をおこない更新する。さらに送金指示反映機能412は、利用者決算履歴423にレコード1303を追加し記録する。レコード1303の送金元ID1111、送金先ID1112、送金額1113、送金日時1114には、それぞれ、送金指示800の送金元ID811の値、送金指示800の送金先ID812の値、送金指示800の金額813の値、現在の日時を記録する。  FIG. 13 is an example of an image diagram illustrating the process of reflecting the contents of a remittance instruction in this embodiment.
 The remittance instruction reflection function 412 extracts from the user balance 422 record 1301 having the value of the remittance source ID 811 of the remittance instruction 800 as the user ID 1011, and updates the value of the balance 1012 by subtracting the numerical value of the amount 813 of the remittance instruction 800. The remittance instruction reflection function 412 also extracts from the user balance 422 record 1302 having the value of the remittance destination ID 812 of the remittance instruction 800 as the user ID 1011, and updates the value of the balance 1012 by adding the numerical value of the amount 813 of the remittance instruction 800. The remittance instruction reflection function 412 also adds and records record 1303 in the user settlement history 423. The remittance source ID 1111, remittance destination ID 1112, remittance amount 1113, and remittance date and time 1114 of record 1303 respectively record the value of the remittance source ID 811 of the remittance instruction 800, the value of the remittance destination ID 812 of the remittance instruction 800, the value of the amount 813 of the remittance instruction 800, and the current date and time.
ステップ604では、ステップ602における確認処理において直ちに送金できないという判断が下された場合に、決済サーバ110の送金指示反映機能412が、送金指示800の内容を、利用者残高422および確認待ち送金指示424に反映する。In step 604, if the confirmation process in step 602 determines that the remittance cannot be made immediately, the remittance instruction reflection function 412 of the settlement server 110 reflects the contents of the remittance instruction 800 in the user balance 422 and the remittance instruction awaiting confirmation 424.
  図14は、本実施例の確認待ち送金指示424を説明するイメージ図の例である。
  確認待ち送金指示424は、データ属性として、送金元ID1411、送金先ID1412、送金額1413、送金依頼日時1414を有する。なお、確認待ち送金指示424に記録されたレコードは、システム管理者の確認を経て、順次、利用者残高422および利用者送金履歴423に適切な形で反映された後、削除されるものとする。  FIG. 14 is an example of an image diagram illustrating the confirmation waiting remittance instruction 424 according to this embodiment.
 The confirmation-awaiting remittance instruction 424 has, as data attributes, a remittance source ID 1411, a remittance destination ID 1412, a remittance amount 1413, and a remittance request date and time 1414. The records recorded in the confirmation-awaiting remittance instruction 424 are confirmed by the system administrator, reflected in the user balance 422 and the user remittance history 423 in an appropriate manner, and then deleted.
  図15は、本実施例の送金指示の内容を反映する処理を説明するイメージ図の例である。
  送金指示反映機能412は、送金指示800の送金元ID811の値を利用者ID1011として有するレコード1501を利用者残高422から抽出し、その残高1012の値について、送金指示800の金額813の数値分の減算をおこない更新する。また、送金指示反映機能412は、前記抽出したレコード1501の処理中額1013の値について、送金指示800の金額813の数値分の加算をおこない更新する。  FIG. 15 is an example of an image diagram illustrating the process of reflecting the contents of a remittance instruction in this embodiment.
 The remittance instruction reflection function 412 extracts from the user balance 422 a record 1501 having the value of the remittance source ID 811 of the remittance instruction 800 as the user ID 1011, and updates the value of the balance 1012 by subtracting the numerical value of the amount 813 of the remittance instruction 800. The remittance instruction reflection function 412 also updates the value of the processing amount 1013 of the extracted record 1501 by adding the numerical value of the amount 813 of the remittance instruction 800.
さらに送金指示反映機能412は、確認待ち送金指示424にレコード1502を追加し記録する。レコード1502の送金元ID1411、送金先ID1412、送金額1413、送金依頼日時1414には、それぞれ、送金指示800の送金元ID811の値、送金指示800の送金先ID812の値、送金指示800の金額813の値、現在の日時を記録する。Furthermore, the remittance instruction reflection function 412 adds and records record 1502 to the remittance instruction waiting for confirmation 424. The remittance source ID 1411, remittance destination ID 1412, remittance amount 1413, and remittance request date and time 1414 of record 1502 respectively record the value of the remittance source ID 811 of the remittance instruction 800, the value of the remittance destination ID 812 of the remittance instruction 800, the value of the amount 813 of the remittance instruction 800, and the current date and time.
ステップ605では、決済サーバ110のオフライン送金制約算出機能415が、利用者送金履歴423の情報に基づき利用者オフライン送金制約425の情報を更新する。In step 605, the offline remittance constraint calculation function 415 of the payment server 110 updates the information in the user offline remittance constraints 425 based on the information in the user remittance history 423.
  図16は、本実施例の利用者オフライン送金制約425を説明するイメージ図の例である。
  オフライン制約425は、データ属性として、利用者ID1611、資金ID1612、金額1613、送金可能範囲1614、処理中額1615、処理済額1616を有する。なお、送金可能範囲1614については、簡単のため、簡易的な図で表記しているが、実際には、ツリー構造を表現可能な形式(例えば、JSONフォーマット)で良い。  FIG. 16 is an example of an image diagram illustrating the user offline remittance constraints 425 of this embodiment.
 The offline constraint 425 has, as data attributes, a user ID 1611, a fund ID 1612, an amount 1613, a remittance range 1614, an amount in process 1615, and a processed amount 1616. Note that the remittance range 1614 is shown in a simplified diagram for simplicity, but in practice it may be in a format capable of expressing a tree structure (for example, JSON format).
なお、送金可能範囲1614は、資金の送金先に関する制約の情報を値として有する。例として、値1621は、AからFへ送金でき、Fから次の利用者に送金できるが、その先へは送金できないこと、また、AからF以外の利用者に送金した場合には、その先へは送金できないことを意味する。Note that remittance range 1614 contains information about restrictions on the remittance destination as a value. For example, value 1621 means that remittance can be made from A to F, and from F to the next user, but not beyond that; also, if remittance is made from A to a user other than F, remittance beyond that user is not possible.
  図17は、本実施例の利用者オフライン送金制約425を更新する処理を説明するイメージ図の例である。
  利用者オフライン送金制約算出機能415は、利用者オフライン送金制約425の新たなレコード群1702を作成し、追記する。なお、追記するレコード群1702の処理中額1615、処理中額1616の値は、すべてゼロを入力する。なお、追記したレコード群1702の金額1613の数値の合計値は、利用者残高422のうち同一の利用者ID1011の値を持つレコードの、残高1012の値と等しくなる。  FIG. 17 is an example of an image diagram illustrating the process of updating the user offline remittance constraint 425 in this embodiment.
 The user offline remittance constraint calculation function 415 creates and adds a new record group 1702 to the user offline remittance constraints 425. The values of the processing amount 1615 and processing amount 1616 of the added record group 1702 are all entered as zero. The total value of the amount 1613 of the added record group 1702 is equal to the value of the balance 1012 of the record in the user balance 422 that has the same value of the user ID 1011.
  図18は、本実施例の利用者オフライン送金制約の新たなレコードを作成する処理を説明するフローチャートの例である。
  以降、図18のフローチャートに基づき、オフライン送金制約算出機能415におけるオフライン送金制約の作成処理の動作を説明する。本実施例では、利用者Aに関するオフライン送金制約を作成するシナリオを例として用いる。  FIG. 18 is an example of a flowchart illustrating the process of creating a new record of user offline remittance restrictions in this embodiment.
 Hereinafter, the operation of the offline remittance constraint creation process in the offline remittance constraint calculation function 415 will be described with reference to the flowchart of Fig. 18. In this embodiment, a scenario for creating an offline remittance constraint for user A will be used as an example.
ステップ1801では、送金制約算出の起点を決める。本実施例では、利用者Aに関するオフライン送金制約を作成する例であるため、初期の起点として利用者Aを選択する。In step 1801, the starting point for calculating remittance constraints is determined. In this example, an offline remittance constraint for user A is being created, so user A is selected as the initial starting point.
ステップ1802では、ステップ1801で選択した利用者に関する送金履歴を抽出する。オフライン送金制約算出機能415は、利用者送金履歴423のうち、送金元ID1111の値がステップ1801で選択した利用者のIDであり、送金日時1114が特定期間内であるレコード群を抽出する。本実施例においては、現在日時が「2021年4月」であるという想定のもと、送金元ID1111の値が「A」であり、かつ、送金日時1114が「2021年1月」から「2021年4月」の間であるレコード群を抽出するものとする。In step 1802, the remittance history for the user selected in step 1801 is extracted. The offline remittance constraint calculation function 415 extracts a group of records from the user remittance history 423 where the value of the remittance source ID 1111 is the ID of the user selected in step 1801 and the remittance date and time 1114 is within a specific period. In this example, assuming that the current date and time is "April 2021", a group of records where the value of the remittance source ID 1111 is "A" and the remittance date and time 1114 is between "January 2021" and "April 2021" is extracted.
なお、ステップ1802で抽出する送金履歴については、確認待ち送金指示424の送金元ID1411、送金先ID1412、送金額1413、送金依頼日時1414の値を、それぞれ、利用者送金履歴423の送金元ID1111、送金先ID1112、送金額1113、送金日時1114と見なすことで、抽出対象に含めても良い。In addition, with regard to the remittance history extracted in step 1802, the values of the remittance source ID 1411, remittance destination ID 1412, remittance amount 1413, and remittance request date and time 1414 of the confirmation awaiting remittance instruction 424 may be considered to be the remittance source ID 1111, remittance destination ID 1112, remittance amount 1113, and remittance date and time 1114 of the user remittance history 423, respectively, and may be included in the extraction targets.
ステップ1803では、ステップ1802で抽出した利用者決済履歴423のレコード群のカテゴリ化をおこなう。In step 1803, the records of the user payment history 423 extracted in step 1802 are categorized.
  図19は、本実施例のオフライン送金制約算出機能415がレコード群をカテゴリ化する処理を説明するイメージ図の例である。
  オフライン送金制約算出機能415は、送金元ID1111の値が「A」であり、かつ、送金日時1114が「2021年1月」から「2021年4月」の間であるレコード群1901を、送金額1113の値により、異なるカテゴリに振り分ける。本実施例においては、送金額1113の値が「1万円以上」のカテゴリ1902、および、「1万円未満」のカテゴリ1903の2つに分類するものとする。  FIG. 19 is an example of an image diagram illustrating the process of categorizing a record group by the offline remittance constraint calculation function 415 of this embodiment.
 The offline remittance constraint calculation function 415 sorts a group of records 1901 in which the value of the remittance source ID 1111 is "A" and the remittance date and time 1114 is between "January 2021" and "April 2021" into different categories depending on the value of the remittance amount 1113. In this embodiment, the records are classified into two categories: category 1902 for the value of the remittance amount 1113 of "10,000 yen or more" and category 1903 for the value of "less than 10,000 yen."
なお、レコード群2001については、送金元ID1111、送金先ID1112、送金額1113の値をそれぞれ、送金指示800の送金元ID811、送金先ID812、金額813の値と見なした上で、送金指示検証機能411によって適格性を検証しても良い。この場合、検証の結果、適格性が直ちに判断できない(直ちに送金できないという判断になった)レコードについては、レコード群2001から除外する。For record group 2001, the values of remittance source ID 1111, remittance destination ID 1112, and remittance amount 1113 may be considered to be the values of remittance source ID 811, remittance destination ID 812, and amount 813 of remittance instruction 800, respectively, and eligibility may be verified by remittance instruction verification function 411. In this case, records whose eligibility cannot be immediately determined as a result of verification (where it is determined that remittance cannot be made immediately) are excluded from record group 2001.
ステップ1804では、ステップ1803で抽出した各カテゴリの情報を元に、残利用可能金額を算出し記録する。In step 1804, the remaining available amount is calculated and recorded based on the information for each category extracted in step 1803.
  図20は、本実施例のオフライン送金制約算出機能415が残利用可能金額を算出する処理を説明するイメージ図の例である。
  オフライン送金制約算出機能415は、ステップ1803で抽出したカテゴリのうち、カテゴリ1902を選択する。さらに、オフライン送金制約算出機能415は、カテゴリ1902の情報を、送金日時によって2つに分類する。  FIG. 20 is an example of an image diagram illustrating the process of calculating the remaining available amount by the offline remittance constraint calculation function 415 of this embodiment.
 The offline remittance restriction calculation function 415 selects category 1902 from the categories extracted in step 1803. Furthermore, the offline remittance restriction calculation function 415 classifies the information in category 1902 into two categories based on the remittance date and time.
本実施例においては、現在日時が「2021年4月」であるという想定のもと、送金日時1114が「2021年1月」から「2021年3月」の間であるレコード群2001と、送金日次1114が「2021年4月」であるレコード群2002に分けるものとする。その後、オフライン送金制約算出機能はレコード群2001の送金額1113の値の月平均を算出し、レコード群2002の送金額1113の値の合計値を減算することで、残利用金額を算出する。In this example, assuming the current date and time is "April 2021," the records are divided into a record group 2001 whose remittance date and time 1114 is between "January 2021" and "March 2021," and a record group 2002 whose remittance date and time 1114 is "April 2021." The offline remittance constraint calculation function then calculates the monthly average of the remittance amount 1113 value in record group 2001, and subtracts the total value of the remittance amount 1113 value in record group 2002 to calculate the remaining available amount.
本実施例においては、レコード群2001から算出される月平均額が「350」、レコード群2002から算出される合計額が「150」であることから、残利用金額2003として「200」が算出される。In this embodiment, the monthly average amount calculated from record group 2001 is "350" and the total amount calculated from record group 2002 is "150", so the remaining usage amount 2003 is calculated as "200".
  図21は、本実施例のオフライン送金制約算出機能415が残利用可能金額を記録する処理を説明するイメージ図の例である。
  オフライン送金制約算出機能415は、作成中のオフライン送金制約2101に新たなレコードを1件作成し追記する。当該レコードにおいて、利用者ID1611の値には、レコード群2001の送金元ID1111の値を入力する。資金ID1612の値には、オフライン送金制約算出機能415がユニークな値を算出し入力する。金額1613の値には、残利用可能金額2003の値を入力する。送金可能範囲1614の値には、送金元2011としてレコード群2001の送金元ID1111の値を入力し、1次送金先2012としてレコード群2002の送金先ID1112の値を重複排除した形で入力する。なお、ステップ1804の処理は、ステップ1803で抽出したすべてのカテゴリについて実施する。なお、残利用可能金額2003の値がゼロもしくは負の値であった場合、残利用可能金額を記録する処理は実施しない。  FIG. 21 is an example of an image diagram illustrating the process in which the offline remittance constraint calculation function 415 of this embodiment records the remaining available amount.
 The offline remittance constraint calculation function 415 creates and adds a new record to the offline remittance constraint 2101 being created. In this record, the value of the remittance source ID 1111 from the record group 2001 is entered as the value of the user ID 1611. The offline remittance constraint calculation function 415 calculates and enters a unique value as the value of the funds ID 1612. The value of the remaining available amount 2003 is entered as the value of the amount 1613. For the value of the remittance possible range 1614, the value of the remittance source ID 1111 from the record group 2001 is entered as the remittance source 2011, and the value of the remittance destination ID 1112 from the record group 2002 is entered as the primary remittance destination 2012 with duplicates eliminated. Note that the processing of step 1804 is performed for all categories extracted in step 1803. Note that if the value of the remaining available amount 2003 is zero or a negative value, the processing to record the remaining available amount is not performed.
ステップ1805では、ステップ1804で記録した残利用可能金額を、残高情報との整合性を踏まえ調整する。In step 1805, the remaining available amount recorded in step 1804 is adjusted based on consistency with the balance information.
図22は、本実施例の本実施例のオフライン送金制約算出機能415が残利用可能金額を調整する処理のうち、残利用可能金額に対して残高が十分にある場合の処理を説明するイメージ図の例である。Figure 22 is an example of an image diagram illustrating the process in which the offline remittance constraint calculation function 415 of this embodiment adjusts the remaining available amount when the balance is sufficient for the remaining available amount.
図22の例では、レコード群2101の金額1613の値の合計「20200」が、利用者残高の残高1012の値「20800」を下回っている。この場合は、レコード群2101に新たなレコード2201を作成し追記する。レコード2201のうち、利用者ID1611の値は、レコード群2101の他のレコードの利用者ID1611と同じ値を用いる。資金ID1612の値は、オフライン送金制約算出機能415がユニークな値を算出し入力する。金額1613の値は、利用者残高の残高1012の値と、レコード群2101の金額1613の値の合計値との差額を算出し入力する。送金可能範囲は、送金元に利用者ID1611と同じ値を指定したものを作成し入力する。In the example of Figure 22, the sum of the values of Amount 1613 in record group 2101, "20200," is less than the value of Balance 1012 in User Balance, "20800." In this case, a new record 2201 is created and added to record group 2101. The value of User ID 1611 in record 2201 is the same as the value of User ID 1611 in the other records in record group 2101. The value of Funds ID 1612 is calculated and entered by the offline remittance constraint calculation function 415 as a unique value. The value of Amount 1613 is calculated and entered as the difference between the value of Balance 1012 in User Balance and the sum of the values of Amount 1613 in record group 2101. For the remittance range, a value equal to the User ID 1611 is specified as the sender, and entered.
図23は、本実施例の本実施例のオフライン送金制約算出機能415が残利用可能金額を調整する処理のうち、残利用可能金額に対して残高が十分にある場合の処理を説明するイメージ図の例である。Figure 23 is an example of an image diagram illustrating the process in which the offline remittance constraint calculation function 415 of this embodiment adjusts the remaining available amount when the balance is sufficient for the remaining available amount.
図22の例では、レコード群2101の金額1613の値の合計「20200」が、利用者残高の残高1012の値「10100」を上回っている。この場合は、レコード群2101の金額1613の値の合計値が、利用者残高の残高1012の値と同じ値になるよう、レコード群2101の金額1613の値を調整する。本実施例においては、レコード2301、レコード2302の金額1613の値の比率に従い、残高1012の金額「10100」を振り分けることで、レコード2301、レコード2302の金額1613を更新している。In the example of Figure 22, the sum of the values of Amount 1613 in record group 2101, "20200," exceeds the value of Balance 1012 in User Balance, "10100." In this case, the value of Amount 1613 in record group 2101 is adjusted so that the sum of the values of Amount 1613 in record group 2101 is the same as the value of Balance 1012 in User Balance. In this embodiment, the amount 1613 in records 2301 and 2302 is updated by allocating the amount "10100" in Balance 1012 according to the ratio of the values of Amount 1613 in records 2301 and 2302.
以上、ステップ1801からステップ1805の処理により、1次送金先までに関する送金制約情報を算出したが、必要に応じ、2次以降の送金先に関する情報を補完するため、ステップ1806以降に進む。As described above, the remittance restriction information for the first remittance destination has been calculated through the processing of steps 1801 to 1805. However, if necessary, the process proceeds to step 1806 onwards to supplement information on second and subsequent remittance destinations.
ステップ1806では、2次以降の送金先の算出にあたり、対象とする送金元(1次送金先)を選択する。本実施例では、図22において作成したレコード群2101において1次送金先として記載された「B」「D」「F」が選択肢となるが、このうち「B」を選択したものとして、以降のステップについて説明する。In step 1806, the target remittance source (primary remittance destination) is selected when calculating secondary and subsequent remittance destinations. In this example, the options are "B," "D," and "F," which are listed as primary remittance destinations in the record group 2101 created in Figure 22, but the following steps will be explained assuming that "B" is selected.
ステップ1807では、ステップ1806で選択した利用者に関する送金履歴を抽出する。本ステップの処理については、ステップ1802と同様である。In step 1807, the remittance history for the user selected in step 1806 is extracted. The processing in this step is the same as in step 1802.
ステップ1808では、ステップ1807で抽出された送金履歴に基づき、作成中のオフライン送金制約情報の送金可能範囲の情報を更新する。In step 1808, the remittance range information of the offline remittance restriction information being created is updated based on the remittance history extracted in step 1807.
  図24は、本実施例のオフライン送金制約算出機能415がオフライン送金制約情報の送金可能範囲の情報を更新する処理を説明するイメージ図の例である。
  オフライン送金制約算出機能415は、ステップ1807で抽出した、送金元ID1111の値が「B」である利用者送金履歴423のレコード群2401から、送金先ID1112の値を重複排除した形で抽出する。更に、オフライン送金制約算出機能415は、作成中のオフライン送金制約2101のうち、送金可能範囲1614の一次送金先が「B」である値について、二次送金先に、前述重複排除した形で抽出した送金先IDを追加する。  FIG. 24 is an example of an image diagram illustrating the process in which the offline remittance restriction calculation function 415 of this embodiment updates the information on the remittance range in the offline remittance restriction information.
 The offline remittance constraint calculation function 415 extracts the remittance destination ID 1112 value with duplicates eliminated from the record group 2401 of the user remittance history 423 for which the remitter ID 1111 value is "B" extracted in step 1807. Furthermore, the offline remittance constraint calculation function 415 adds the remittance destination ID extracted with duplicates eliminated as described above to the secondary remittance destination for the value for which the primary remittance destination in the remittance possible range 1614 is "B" among the offline remittance constraints 2101 being created.
以上、ステップ1806からステップ1808の処理を、必要に応じ、1次送金先、また、2次以降の送金先について実施することで、オフライン送金制約の作成処理を完了する。By performing steps 1806 to 1808 as necessary for the primary remittance destination and secondary and subsequent remittance destinations, the offline remittance constraint creation process is completed.
  図6のフローチャートに戻り、決済システム100におけるオンライン決済の動作の続きを説明する。
  ステップ606では、決済サーバ110が、ステップ602、ステップ603または604、ステップ605の処理結果に関する情報を作成し、決済端末120に送信する。送信は、決済サーバ110の通信インタフェース204を介し、インターネット等によって実施される。  Returning to the flowchart of FIG. 6, the remaining operations of online payment in payment system 100 will be described.
 In step 606, the payment server 110 creates information on the processing results of step 602, step 603 or 604, and step 605, and transmits the information to the payment terminal 120. The transmission is performed via the communication interface 204 of the payment server 110, via the Internet, etc.
  図25は、決済端末120に送信する情報を説明するイメージ図の例である。
  ステップ606では、利用者残高422のうち利用者ID1011の値が送金指示800の利用者ID811の値と一致するレコード2501を送信する。また、ステップ606では、ステップ603で追加した利用者決済履歴423のレコード1303、または、ステップ604で追加した確認待ち送金指示424のレコード1502の情報を送信する。さらに、ステップ606では、利用者オフライン送金制約425のうち、ステップ605で追加したレコード群1702を送信する。  FIG. 25 is an example of an image diagram illustrating information to be transmitted to payment terminal 120. In FIG.
 In step 606, record 2501 is transmitted in which the value of user ID 1011 in user balance 422 matches the value of user ID 811 in remittance instruction 800. Also in step 606, information is transmitted for record 1303 in user payment history 423 added in step 603, or record 1502 in confirmation awaiting remittance instruction 424 added in step 604. Furthermore, in step 606, a group of records 1702 added in step 605 from user offline remittance constraints 425 is transmitted.
ステップ607は、決済端末120により実施されるステップである。ステップ607では、送金結果確認機能511、および、オフライン送金制約反映機能516が、ステップ607で決済サーバから送信された情報を元に、自己残高521、自己オフライン残高522の情報を更新する。Step 607 is a step performed by the payment terminal 120. In step 607, the remittance result confirmation function 511 and the offline remittance restriction reflection function 516 update the information in the personal balance 521 and personal offline balance 522 based on the information sent from the payment server in step 607.
  図26は、送金結果確認機能511がオンライン処理結果に反映する処理を説明するイメージ図の例である。
  送金結果確認機能511は、ステップ606で決済サーバより送信されたレコード2501の残高1012の値で、自己残高521の残高712の情報を上書きする。  FIG. 26 is an example of an image diagram illustrating the process in which the remittance result confirmation function 511 reflects the online processing result.
 The remittance result confirmation function 511 overwrites the information of the balance 712 of the own balance 521 with the value of the balance 1012 of the record 2501 sent from the settlement server in step 606 .
  図27は、自己オフライン送金残高を説明するイメージ図の例である。
  自己オフライン送金残高522は、データ属性として、利用者ID2711、資金ID2712、金額2713、送金可能範囲および送金実績2714を有する。利用者ID2711、資金ID2712、金額2713の値については、利用者オフライン送金制約の利用者ID1611、資金ID1612、金額1613の値と同様である。  FIG. 27 is an example of an image diagram illustrating the self offline remittance balance.
 The own offline remittance balance 522 has, as data attributes, a user ID 2711, a fund ID 2712, an amount 2713, a remittable range, and a remittance record 2714. The values of the user ID 2711, fund ID 2712, and amount 2713 are the same as the values of the user ID 1611, fund ID 1612, and amount 1613 of the user offline remittance constraints.
送金可能範囲及び送金実績2714の値については、利用者オフライン送金制約の送金可能範囲1614の値に相当する情報に加え、送金実績の情報を有する。図27の例では、実線および斜線の要素が送金済、点線および白抜きの要素が未送金を示しており、いずれのレコードについても、「A」まで送金済の状態となっている。The values of the remittance range and remittance history 2714 contain information equivalent to the value of the remittance range 1614 in the user offline remittance constraints, as well as information on the remittance history. In the example in Figure 27, solid and diagonal lined elements indicate remittances that have been made, while dotted and open lined elements indicate unremitted remittances. For all records, remittances have been made up to "A."
  図28は、オフライン送金制約反映機能516がオンライン処理結果を反映する処理を説明するイメージ図の例である。
  オフライン送金制約反映機能516は、利用者オフライン送金制約のレコード群2502の利用者ID1611、資金ID1612、金額1613、送金可能範囲1614の値を、それぞれ、利用者ID2711、資金ID2712、金額2713、送金可能範囲および送金実績2714として有する自己オフライン残高522のレコード群を作成し、自己オフライン残高522の情報を上書きする。  FIG. 28 is an example of an image diagram illustrating the process in which the offline remittance restriction reflection function 516 reflects the online processing result.
 The offline remittance constraint reflection function 516 creates a record group for the own offline balance 522 that has the values of the user ID 1611, fund ID 1612, amount 1613, and remittance range 1614 of the user offline remittance constraint record group 2502 as the user ID 2711, fund ID 2712, amount 2713, remittance range, and remittance record 2714, respectively, and overwrites the information in the own offline balance 522.
次に、本実施例の決済システムにおけるオフライン決済の動作を説明する。本実施例の決済システムにおけるオフライン決済では、前述したステップの中で作成した自己オフライン残高の情報を活用することで、端末間のオフライン決済であっても、決済サーバ110の送金指示検証機能411相当の厳格性を確保できる。Next, we will explain the operation of offline payments in the payment system of this embodiment. In offline payments in the payment system of this embodiment, by utilizing the information on the user's own offline balance created in the steps described above, strictness equivalent to that of the remittance instruction verification function 411 of the payment server 110 can be ensured even in offline payments between terminals.
図29は、本実施例の決済システムにおけるオフライン決済を説明するフローチャートの例である。以降、図29のフローチャートに基づき、決済システム100におけるオフライン決済の動作を説明する。本実施例では、利用者Aが利用者Bに送金するシナリオを例として用いる。Figure 29 is an example of a flowchart explaining offline payments in the payment system of this embodiment. Below, the operation of offline payments in payment system 100 will be explained based on the flowchart in Figure 29. In this embodiment, a scenario in which user A transfers money to user B will be used as an example.
ステップ2901は、利用者Aによる操作のもと、決済端末120により実施されるステップである。ステップ2901では、決済端末120のオフライン送金指示作成機能513が、利用者Aの指示のもと、自己オフライン残高522の情報を参照することでオフライン送金指示を作成するとともに、前記オフライン送金指示を決済端末130へ送信する。送信は、決済端末120の通信インタフェース304を介し、近距離無線通信等によって実施される。Step 2901 is a step performed by the payment terminal 120 under the operation of user A. In step 2901, the offline remittance instruction creation function 513 of the payment terminal 120 creates an offline remittance instruction by referencing the information in the user's own offline balance 522 under the instruction of user A, and transmits the offline remittance instruction to the payment terminal 130. The transmission is performed via short-range wireless communication or the like via the communication interface 304 of the payment terminal 120.
  図30は、本実施例のオフライン送金指示を作成する処理を説明するイメージ図の例である。
  オフライン送金指示3000は、データ属性として、利用者ID3011、資金ID3012、金額3013、送金可能範囲及び送金実績3014、送金元3015、送金先3016を有する。  FIG. 30 is an example of an image diagram illustrating the process of creating an offline remittance instruction in this embodiment.
 The offline remittance instruction 3000 has, as data attributes, a user ID 3011, a fund ID 3012, an amount 3013, a remittable range and remittance record 3014, a remittance source 3015, and a remittance destination 3016.
オフライン送金指示3000の作成にあたり、オフライン送金指示作成機能513は、入力インタフェース303を介してユーザAが入力あるいは選択した値を、利用者ID3011、資金ID3012、金額3013、送金先ID3016の値として書き込む。When creating the offline remittance instruction 3000, the offline remittance instruction creation function 513 writes the values entered or selected by user A via the input interface 303 as the values for user ID 3011, fund ID 3012, amount 3013, and remittance destination ID 3016.
また、オフライン送金指示作成機能513は、自己残高521の識別子711の値を、送金元ID3015の値として書き込む。さらに、オフライン送金指示作成機能513は、自己オフライン残高522の情報のうち、利用者ID2711、資金ID2712の値がそれぞれ、利用者ID3011、資金ID3012の値と一致するレコードを抽出し、前記レコードの金額2713の値がオフライン送金指示3000の金額3013の値以上であることを確認するとともに、前記レコードの送金可能範囲及び送金実績2714の値をオフライン送金指示3000の送金可能範囲および送金実績3014の値として転記する。The offline remittance instruction creation function 513 also writes the value of the identifier 711 of the own balance 521 as the value of the remittance source ID 3015. Furthermore, the offline remittance instruction creation function 513 extracts records from the own offline balance 522 information in which the values of the user ID 2711 and fund ID 2712 match the values of the user ID 3011 and fund ID 3012, respectively, and confirms that the value of the amount 2713 of said record is equal to or greater than the value of the amount 3013 of the offline remittance instruction 3000. It also transcribes the values of the remittance range and remittance history 2714 of said record as the values of the remittance range and remittance history 3014 of the offline remittance instruction 3000.
なお、利用者Aの残高についての送金指示を、利用者A自身が作成し送信したことを送金先の決済端末130や決済サーバ110が確認できるようにするための情報が必要となるが、本実施例では、簡単のため、これに関する処理や情報の記載を省略する。Note that information is required to enable the recipient's payment terminal 130 and payment server 110 to confirm that the remittance instruction for User A's balance was created and sent by User A himself, but for simplicity's sake, this example omits the description of the processing and information related to this.
ステップ2902および2903は、利用者Bによる操作のもと、決済端末130により実施されるステップである。Steps 2902 and 2903 are steps performed by the payment terminal 130 under the operation of user B.
ステップ2902では、決済端末130のオフライン送金指示検証機能514が、決済端末130より受信したオフライン送金指示の適格性を検証する。In step 2902, the offline remittance instruction verification function 514 of the payment terminal 130 verifies the eligibility of the offline remittance instruction received from the payment terminal 130.
  図31は、本実施例のオフライン送金指示の適格性を検証する処理を説明するイメージ図の例である。
  オフライン送金指示検証機能514は、決済端末120から受信したオフライン送金指示3000の送金先ID3016の値を参照し、自己残高521の識別子711の値と同一であることを確認する。  FIG. 31 is an example of an image diagram illustrating the process of verifying the eligibility of an offline remittance instruction in this embodiment.
 The offline remittance instruction verification function 514 references the value of the remittance destination ID 3016 in the offline remittance instruction 3000 received from the settlement terminal 120 and verifies that it is the same as the value of the identifier 711 of the own balance 521 .
ステップ2903では、決済端末130のオフライン送金指示検証機能514が、利用者Bの指示のもと、決済端末130より受信したオフライン送金指示の受け入れ可否を判断する。受け入れを承諾した場合、オフライン送金指示検証機能514は、決済端末120に対し、受け入れた旨の情報を送信し、ステップ2904へ進む。In step 2903, the offline remittance instruction verification function 514 of the payment terminal 130, under the instructions of User B, determines whether to accept the offline remittance instruction received from the payment terminal 130. If acceptance is approved, the offline remittance instruction verification function 514 sends information to the payment terminal 120 indicating acceptance, and proceeds to step 2904.
なお、オフライン送金指示3000を受け入れた結果として、最終的に決済端末130の自己オフライン残高522に加算される予定の残高の自由度は、オフライン送金指示3000の送金可能範囲及び送金実績3014の値によって異なる。ステップ2903は、前記自由度を利用者Bが受け入れの事前に確認できる必要があることから、設けられたステップとなる。Note that the degree of freedom of the balance that will ultimately be added to the payment terminal 130's own offline balance 522 as a result of accepting the offline remittance instruction 3000 varies depending on the remittance range of the offline remittance instruction 3000 and the value of the remittance record 3014. Step 2903 is provided because User B needs to be able to confirm this degree of freedom before accepting.
ステップ2904は、決済端末120および130により実施されるステップである。ステップ2094では、決済端末120および130のオフライン送金指示反映機能515が、オフライン送金指示3000の内容を、自己残高521、自己オフライン残高522、自己オフライン決済履歴523に反映する。Step 2904 is a step performed by the payment terminals 120 and 130. In step 2094, the offline remittance instruction reflection function 515 of the payment terminals 120 and 130 reflects the contents of the offline remittance instruction 3000 in the own balance 521, own offline balance 522, and own offline payment history 523.
  図32は、本実施例の自己オフライン決済履歴523を説明するイメージ図の例である。
  自己オフライン決済履歴523は、データ属性として、送金元ID3211、送金先ID3212、送金額3213、利用者ID3214、資金ID3215、送金日時3216を有する。  FIG. 32 is an example of an image diagram illustrating the own offline payment history 523 in this embodiment.
 The own offline payment history 523 has a remittance source ID 3211, a remittance destination ID 3212, a remittance amount 3213, a user ID 3214, a fund ID 3215, and a remittance date and time 3216 as data attributes.
  図33は、本実施例の送金元の決済端末120のオフライン送金指示反映機能515がオフライン送金指示3000の内容を反映する処理を説明するイメージ図の例である。
  オフライン送金指示反映機能515は、自己残高521の残高712の値を、オフライン送金指示3000の金額3013の値だけ、減算する。  FIG. 33 is an example of an image diagram illustrating the process in which the offline remittance instruction reflecting function 515 of the remittance source settlement terminal 120 of this embodiment reflects the contents of the offline remittance instruction 3000.
 The offline remittance instruction reflection function 515 subtracts the value of the balance 712 in the own balance 521 by the value of the amount 3013 of the offline remittance instruction 3000 .
さらに、オフライン送金指示反映機能515は、自己オフライン決済履歴のレコードを作成し追記する。追加するレコードにおいて、送金元ID3211、送金先ID3212、送金額3213、利用者ID3214、資金ID3215の値には、それぞれ、オンライン送金指示3000の送金元ID3015、送金先ID3016、金額3013、利用者ID3011、資金ID3012の値を入力する。また、送金日時3216の値には、現在の日時を入力する。Furthermore, the offline remittance instruction reflection function 515 creates and adds a record to its own offline payment history. In the record to be added, the values of remittance source ID 3211, remittance destination ID 3212, remittance amount 3213, user ID 3214, and fund ID 3215 are respectively entered as the remittance source ID 3015, remittance destination ID 3016, amount 3013, user ID 3011, and fund ID 3012 of the online remittance instruction 3000. In addition, the value of remittance date and time 3216 is entered as the current date and time.
また、オフライン送金指示反映機能515は、自己オフライン残高522の情報のうち、利用者ID2711、資金ID2712の値がそれぞれ、オフライン送金指示3000の利用者ID3011、資金ID3012の値と一致するレコードを抽出し、当該レコードの金額2713の値を、オフライン送金指示3000の金額3013の値だけ、減算する。なお、減算した結果、金額2713の値がゼロになった場合には、当該レコードそのものを削除する。The offline remittance instruction reflection function 515 also extracts records from the own offline balance 522 information in which the values of user ID 2711 and fund ID 2712 match the values of user ID 3011 and fund ID 3012 of the offline remittance instruction 3000, and subtracts the value of amount 2713 of the record by the value of amount 3013 of the offline remittance instruction 3000. If the value of amount 2713 becomes zero as a result of the subtraction, the record itself is deleted.
  図34は、本実施例の送金先の決済端末130のオフライン送金指示反映機能515がオフライン送金指示3000の内容を反映する処理を説明するイメージ図の例である。
  オフライン送金指示反映機能515は、自己残高521の残高712の値を、オフライン送金指示3000の金額3013の値だけ、加算する。  FIG. 34 is an example of an image diagram illustrating the process in which the offline remittance instruction reflecting function 515 of the remittance destination settlement terminal 130 of this embodiment reflects the contents of the offline remittance instruction 3000.
 The offline remittance instruction reflection function 515 adds the value of the balance 712 in the own balance 521 by the value of the amount 3013 of the offline remittance instruction 3000 .
さらに、オフライン送金指示反映機能515は、自己オフライン決済履歴のレコードを作成し追記する。追加するレコードにおいて、送金元ID3211、送金先ID3212、送金額3213、利用者ID3214、資金ID3215の値には、それぞれ、オフライン送金指示3000の送金元ID3015、送金先ID3016、金額3013、利用者ID3011、資金ID3012の値を入力する。また、送金日時3216の値には、現在の日時を入力する。Furthermore, the offline remittance instruction reflection function 515 creates and adds a record to its own offline payment history. In the record to be added, the values of remittance source ID 3211, remittance destination ID 3212, remittance amount 3213, user ID 3214, and fund ID 3215 are respectively entered as the remittance source ID 3015, remittance destination ID 3016, amount 3013, user ID 3011, and fund ID 3012 of the offline remittance instruction 3000. In addition, the value of remittance date and time 3216 is entered as the current date and time.
また、オフライン送金指示反映機能515は、自己オフライン残高522の情報のうち、利用者ID2711、資金ID2712の値がそれぞれ、オフライン送金指示3000の利用者ID3011、資金ID3012の値と一致するレコードを抽出し、当該レコードの金額2713の値を、オフライン送金指示3000の金額3013の値だけ、加算する。In addition, the offline remittance instruction reflection function 515 extracts records from the own offline balance 522 information in which the values of user ID 2711 and fund ID 2712 match the values of user ID 3011 and fund ID 3012 of the offline remittance instruction 3000, and adds the value of amount 2713 of that record by the value of amount 3013 of the offline remittance instruction 3000.
なお、前記条件に合ったレコードが見つからない場合は、オフライン送金指示反映機能515は、自己オフライン残高522のレコードを作成し追記する。追加するレコードにおいて、利用者ID2711、資金ID2712、金額2713、送金可能範囲及び送金実績2714の値には、それぞれ、オフライン送金指示3000の利用者ID3011、資金ID3012、金額3013、送金可能範囲及び送金実績3014の値を入力する。その後、入力した送金実績2714の値の中に、送金可能かつ実績のない送金経路としてオフライン送金指示3000の送金元ID3015の値から送金先ID3016の値に該当する部分がある場合(図中、「A」から「B」への点線で示された矢印がある場合)には、これを選択し、実績の情報を追記する(図中、「A」から「B」への矢印および「B」を、実線に変更する)。If no record meeting the above conditions is found, the offline remittance instruction reflection function 515 creates and adds a record to the own offline balance 522. In the record to be added, the values of User ID 3011, Funds ID 3012, Amount 2713, Remittable Range, and Remittance History 2714 are respectively entered as User ID 2711, Funds ID 3012, Amount 3013, Remittable Range, and Remittance History 3014 of the offline remittance instruction 3000. If the entered Remittance History 2714 value contains a portion that matches the value of Remitter ID 3015 to Remittee ID 3016 of the offline remittance instruction 3000 as a remittance route that is available but has no history (in the figure, if there is a dotted arrow from "A" to "B"), this is selected and the history information is added (in the figure, the arrow from "A" to "B" and "B" are changed to solid lines).
入力した送金実績2714の値の中に、前述の条件に該当する部分がない場合には、入力した送金実績2714の値の中で、オフライン送金指示3000の送金元ID3015の値を持つ部分からの送金先のない送金を示す部分(図中、「A」から終点のない矢印)を選択し、実績の情報を追記する(図中、実線に変更する)。If the entered remittance record 2714 value does not contain any part that meets the above conditions, select the part of the entered remittance record 2714 value that indicates a remittance without a remittance destination from the part with the value of remittance source ID 3015 of the offline remittance instruction 3000 (in the figure, the arrow with no end point from "A") and add the record information (change it to a solid line in the figure).
図35は、本実施例の送金先の決済端末130のオフライン送金指示反映機能515がオフライン送金指示3000の内容を反映する処理を説明するイメージ図の例である。図35の例は、図34で利用者Bが利用者Aより受け取った資金を、更に利用者Xへ送金したケースを想定している。Figure 35 is an example of an image diagram illustrating the process in which the offline remittance instruction reflection function 515 of the remittance destination payment terminal 130 in this embodiment reflects the contents of the offline remittance instruction 3000. The example in Figure 35 assumes the case in Figure 34 where user B receives funds from user A and then remits them to user X.
次に、本実施例の決済システムにおける、オフライン決済結果を決済サーバと同期する処理を説明する。本処理は、図6のステップ600に該当する。Next, we will explain the process of synchronizing offline payment results with the payment server in the payment system of this embodiment. This process corresponds to step 600 in Figure 6.
図36は、本実施例の決済システムにおけるオフライン決済結果の決済サーバと同期を説明するフローチャートの例である。以降、図36のフローチャートに基づき、決済システム100におけるオフライン決済の動作を説明する。Figure 36 is an example of a flowchart explaining the synchronization of offline payment results with the payment server in the payment system of this embodiment. Below, the offline payment operation in payment system 100 will be explained based on the flowchart in Figure 36.
本実施例では、図33および図34に示した利用者Aから利用者Bへのオフライン送金、および、図35に示した利用者Bから利用者Xへのオフライン送金の情報について、決済サーバ110と同期するシナリオを例として用いる。In this embodiment, we use as an example a scenario in which information on offline remittance from user A to user B shown in Figures 33 and 34, and offline remittance from user B to user X shown in Figure 35, is synchronized with the payment server 110.
ステップ3601は、決済端末120または130または140により実施されるステップである。ステップ3601では、決済端末120または130または140のオフライン送金結果通知機能517が、自己オフライン送金履歴523の情報を、決済サーバ110に送信する。送信は、前記決済端末の通信インタフェース304を介し、インターネット通信等によって実施される。送信が無事に完了したことが確認できた場合、オフライン送金結果通知機能517は、自己オフライン送金履歴523の情報を、すべて削除する。Step 3601 is a step performed by the payment terminal 120, 130, or 140. In step 3601, the offline remittance result notification function 517 of the payment terminal 120, 130, or 140 transmits information from its own offline remittance history 523 to the payment server 110. The transmission is performed via the communication interface 304 of the payment terminal, such as via Internet communication. When it is confirmed that the transmission has been completed successfully, the offline remittance result notification function 517 deletes all information from its own offline remittance history 523.
  ステップ3602から3611は、決済サーバ110により実施されるステップである。
ステップ3602では、決済サーバ110のオフライン送金結果検証機能413が、利用者オフライン送金制約425の情報から、情報送信元の決済端末の利用者IDを利用者ID1611の値として有するレコードを1件抽出し、当該レコードの利用者ID1611の値、および、資金ID1612の値を選択する。  Steps 3602 to 3611 are steps performed by the payment server 110 .
 In step 3602, the offline remittance result verification function 413 of the payment server 110 extracts one record from the information of the user offline remittance constraints 425 that has the user ID of the payment terminal that sent the information as the value of user ID 1611, and selects the value of user ID 1611 and the value of fund ID 1612 of that record.
  当該利用者IDの値のすべてのレコードの、すべての利用者ID・資金IDの値について、ステップ3603からステップ3606の処理を実施する。
ステップ3603では、決済サーバ110のオフライン送金結果検証機能413が、ステップ3601で受信した自己オフライン送金履歴の情報のうち、ステップ3602で選択した利用者ID、資金IDの値を、それぞれ利用者ID3214、資金ID3215の値として有するレコードを抽出し選択する。上記に該当するレコードが1件も見つからなかった場合は、ステップ3604を省略し、ステップ3605へ進む。  The processing from step 3603 to step 3606 is performed for all user ID/fund ID values of all records with the user ID value.
 In step 3603, the offline remittance result verification function 413 of the settlement server 110 extracts and selects records from the information on the own offline remittance history received in step 3601 that have the values of the user ID and fund ID selected in step 3602 as the values of the user ID 3214 and fund ID 3215, respectively. If no matching records are found, step 3604 is omitted and the process proceeds to step 3605.
ステップ3604では、決済サーバ110のオフライン送金結果検証機能413が、利用者情報421、利用者残高422、利用者送金履歴423、利用者オフライン送金制約425の情報を参照することで、ステップ3603で選択した自己オフライン送金履歴の情報の適格性を検証する。In step 3604, the offline remittance result verification function 413 of the payment server 110 verifies the eligibility of the information in the user's offline remittance history selected in step 3603 by referencing the information in the user information 421, user balance 422, user remittance history 423, and user offline remittance constraints 425.
  図37は、本実施例の受信したオフライン送金履歴の適格性を検証する処理を説明するイメージ図の例である。図37では、以下のケースを想定している。
  ステップ3601において、図33に示した利用者Aから利用者Bへのオフライン送金結果の情報を利用者Aの端末120から受信する。  37 is an example of an image diagram illustrating the process of verifying the eligibility of the received offline remittance history in this embodiment. In FIG. 37, the following cases are assumed.
 In step 3601, the information on the result of offline remittance from user A to user B shown in FIG.
ステップ3602において、利用者ID3214の値として「A」、資金ID3215の値として「A001」を選択する。In step 3602, select "A" as the value for user ID 3214 and "A001" as the value for fund ID 3215.
オフライン送金結果検証機能413は、ステップ3602で選択した利用者ID3215の値を参照し、利用者情報421、利用者残高422の情報から、それぞれ同一の利用者ID911、利用者ID1011の値を有するレコード3701、3702を抽出する。前記条件に合うレコード3701、3702が見つからない場合には、選択した利用者ID3215および資金ID3216の情報をシステム管理者へ通知した上で、ステップ3602へ進み、次の利用者ID・資金IDに関して処理を継続する。The offline remittance result verification function 413 references the value of the user ID 3215 selected in step 3602 and extracts records 3701 and 3702 having the same user ID 911 and user ID 1011 values from the user information 421 and user balance 422 information, respectively. If records 3701 and 3702 that meet the above conditions are not found, the system administrator is notified of the selected user ID 3215 and fund ID 3216 information, and then the function proceeds to step 3602 and continues processing for the next user ID and fund ID.
また、オフライン送金結果検証機能413は、抽出したレコード3701について、要注意フラグ913の値に有効な値が記載されていないことを確認する。有効な値が入っていた場合には、直ちには送金できないという判断を下し、ステップ3606へ進む。The offline remittance result verification function 413 also checks that the extracted record 3701 does not contain a valid value in the caution flag 913. If a valid value is found, it determines that the remittance cannot be made immediately and proceeds to step 3606.
また、オフライン送金結果検証機能413は、抽出したレコード3702の残高1012の値が、選択した自己オフライン決済履歴3700の送金額3213の値以上であることを確認する。残高1012の値が送金額3213の値に満たない場合には、選択した自己オフライン送金履歴3700の情報をシステム管理者へ通知した上で、ステップ3602へ進み、次の利用者ID・資金IDに関して処理を継続する。The offline remittance result verification function 413 also verifies that the value of the balance 1012 of the extracted record 3702 is equal to or greater than the value of the remittance amount 3213 of the selected own offline payment history 3700. If the value of the balance 1012 is less than the value of the remittance amount 3213, it notifies the system administrator of the information of the selected own offline remittance history 3700, then proceeds to step 3602 and continues processing for the next user ID and fund ID.
また、オフライン送金結果検証機能413は、ステップ3602で選択した利用者ID3215および資金ID3216の値を参照し、利用者オフライン制約425の情報から、同一の利用者ID1611および資金ID1612の値を有するレコード3703を抽出する。前記条件に合うレコード3703が見つからない場合には、選択した利用者ID3215および資金ID3216の情報をシステム管理者へ通知した上で、ステップ3602へ進み、次の利用者ID・資金IDに関して処理を継続する。The offline remittance result verification function 413 also references the values of the user ID 3215 and fund ID 3216 selected in step 3602, and extracts a record 3703 having the same user ID 1611 and fund ID 1612 values from the information in the user offline constraints 425. If no record 3703 that meets the above conditions is found, the system administrator is notified of the information on the selected user ID 3215 and fund ID 3216, and the function proceeds to step 3602, where it continues processing for the next user ID and fund ID.
また、オフライン送金結果検証機能413は、抽出したレコード3703の金額1613の値が、選択した自己オフライン決済履歴3700の送金額3213の値以上であることを確認する。金額1613の値が送金額3213の値に満たない場合には、選択した自己オフライン送金履歴3700の情報をシステム管理者へ通知した上で、ステップ3602へ進み、次の利用者ID・資金IDに関して処理を継続する。The offline remittance result verification function 413 also verifies that the value of the amount 1613 in the extracted record 3703 is equal to or greater than the value of the remittance amount 3213 in the selected own offline payment history 3700. If the value of the amount 1613 is less than the value of the remittance amount 3213, it notifies the system administrator of the information in the selected own offline remittance history 3700, then proceeds to step 3602 and continues processing for the next user ID and fund ID.
また、オフライン送金結果検証機能413は、抽出したレコード3703の利用者オフライン送金制約の送金可能範囲1614の値に、選択した自己オフライン決済履歴3700の送金元ID3211の値が含まれていることを確認する。送金可能範囲1614の値に、送金元ID3211の値が含まれていない場合には、選択した自己オフライン送金履歴3700の情報をシステム管理者へ通知した上で、ステップ3602へ進み、次の利用者ID・資金IDに関して処理を継続する。The offline remittance result verification function 413 also verifies that the value of the remittance possible range 1614 of the user offline remittance constraints of the extracted record 3703 includes the value of the remittance source ID 3211 of the selected own offline payment history 3700. If the value of the remittance possible range 1614 does not include the value of the remittance source ID 3211, it notifies the system administrator of the information of the selected own offline remittance history 3700, then proceeds to step 3602 and continues processing for the next user ID and fund ID.
また、オフライン送金結果検証機能413は、ステップ3603で選択した自己オフライン決済履歴3700の送金元ID3211および送金先ID3212の値を参照し、利用者決済履歴423の情報から、同一の送金元ID1111、送金先ID1112の値を有するレコード群3706を抽出する。なお、レコード群3706については、利用者決済履歴423の情報のうち送金日時1114が比較的新しいもの(例えば、直近1年分)に絞り込んでも良い。The offline remittance result verification function 413 also references the values of the remittance source ID 3211 and remittance destination ID 3212 in the own offline payment history 3700 selected in step 3603, and extracts a group of records 3706 having the same remittance source ID 1111 and remittance destination ID 1112 values from the information in the user payment history 423. Note that the group of records 3706 may be narrowed down to those with relatively recent remittance dates and times 1114 (for example, from the past year) from the information in the user payment history 423.
なお、オフライン送金結果検証機能413は、上記に加え、より高度な分析(例えば、他の利用者のデータを含めた大量データを用いた人工知能による分析)による判断をおこなっても良い。以上の、確認処理に問題がなかった場合には、ステップ3605へ進む。In addition to the above, the offline remittance result verification function 413 may also make a judgment based on more advanced analysis (for example, analysis using artificial intelligence using large amounts of data, including data from other users). If there are no problems with the above confirmation process, proceed to step 3605.
ステップ3605では、ステップ3604における確認処理で問題がなかった場合に、決済サーバ110のオフライン送金結果反映機能414が、選択した自己オフライン決済履歴3700の内容を、利用者残高422、利用者送金履歴423、利用者オフライン送金制約425へ反映する。In step 3605, if there are no problems in the confirmation process in step 3604, the offline remittance result reflection function 414 of the payment server 110 reflects the contents of the selected own offline payment history 3700 to the user balance 422, user remittance history 423, and user offline remittance constraints 425.
  図38は、本実施例の受信したオフライン送金履歴を反映する処理を説明するイメージ図の例である。図38では、以下のケースを想定している。
  ステップ3601において、図33に示した利用者Aから利用者Bへのオフライン送金結果の情報を利用者Aの端末120から受信する。
  ステップ3602において、利用者ID3214の値として「A」、資金ID3215の値として「A001」を選択する。  38 is an example of an image diagram illustrating the process of reflecting the received offline remittance history in this embodiment. In FIG. 38, the following cases are assumed.
 In step 3601, the information on the result of offline remittance from user A to user B shown in FIG.
 In step 3602, "A" is selected as the value of the user ID 3214, and "A001" is selected as the value of the fund ID 3215.
オフライン送金結果反映機能414は、選択した自己オフライン決済履歴3700のうち、送金元ID3211が「A」であるレコード群について、送金額3213の合計額を算出する。さらに、オフライン送金結果反映機能414は、選択した自己オフライン決済履歴3700のうち、送金先ID3212が「A」であるレコード群について、送金額3213の合計額を算出する。前者の合計額と後者の合計額との差をとることで、「A」から流出した金額を算出する。図38の例では、「110」という値が算出される。The offline remittance result reflection function 414 calculates the total remittance amount 3213 for the group of records in the selected own offline payment history 3700 where the remittance source ID 3211 is "A". Furthermore, the offline remittance result reflection function 414 calculates the total remittance amount 3213 for the group of records in the selected own offline payment history 3700 where the remittance destination ID 3212 is "A". The amount that has flowed out of "A" is calculated by taking the difference between the former total amount and the latter total amount. In the example of Figure 38, the value calculated is "110".
さらに、オフライン送金結果反映機能414は、利用者オフライン送金制約425の情報から、利用者ID1611の値が「A」かつ資金ID1612の値が「A001」であるレコード3803を抽出する。その処理中額1615および処理済額1616の額が「0」であることを確認した場合、その金額1613および処理中額1615の値を「110」として更新する。また、前記レコード3803の処理済額1616の値については、当初の金額1613の値である「200」から「110」を減算した値である「90」を入力する。Furthermore, the offline remittance result reflection function 414 extracts record 3803 from the information in the user offline remittance constraints 425, where the value of user ID 1611 is "A" and the value of fund ID 1612 is "A001." If it confirms that the amount in progress 1615 and processed amount 1616 are "0," it updates the values of amount 1613 and amount in progress 1615 to "110." Furthermore, for the value of processed amount 1616 of said record 3803, it enters "90," which is the value obtained by subtracting "110" from the initial amount 1613 value of "200."
さらに、オフライン送金結果反映機能414は、利用者残高422の情報から、利用者ID1011の値が「A」であるレコード3801を抽出し、その残高1012の値を「110」減算するとともに、処理中額1013の値を「110」加算する。Furthermore, the offline remittance result reflection function 414 extracts record 3801 with the value "A" in user ID 1011 from the information in user balance 422, subtracts "110" from the value of balance 1012, and adds "110" to the value of amount in process 1013.
さらに、オフライン送金結果反映機能414は、利用者決済履歴423の情報にレコード群3802を追記する。追記するレコードにおいて、送金元ID1111、送金先ID1112、送金額1113、送金日時1114の値には、それぞれ、選択したオフライン決済履歴3700の送金元ID3211、送金先ID3212、送金額3213、送金日時3216を入力する。ただし、同一のレコードが既に利用者決済履歴423が有する場合には、追記をおこなわない。Furthermore, the offline remittance result reflection function 414 adds a record group 3802 to the information in the user payment history 423. In the records to be added, the remittance source ID 3211, remittance destination ID 3212, remittance amount 3213, and remittance date and time 3216 of the selected offline payment history 3700 are entered as the values for the remittance source ID 1111, remittance destination ID 1112, remittance amount 1113, and remittance date and time 1114, respectively. However, if the same record already exists in the user payment history 423, no addition is made.
  図39は、本実施例の受信したオフライン送金履歴を反映する処理を説明するイメージ図の例である。図39では、以下のケースを想定している。
  ステップ3601において、図33に示した利用者Aから利用者Bへのオフライン送金結果の情報を利用者Aの端末120から受信する。  39 is an example of an image diagram illustrating the process of reflecting the received offline remittance history in this embodiment. In FIG. 39, the following cases are assumed.
 In step 3601, the information on the result of offline remittance from user A to user B shown in FIG.
ステップ3602において、利用者ID3214の値として「A」、資金ID3215の値として「A002」を選択する。図39のケースでは、選択した自己オフライン決済履歴3700にはレコードが1件も含まれない。In step 3602, "A" is selected as the value for user ID 3214 and "A002" is selected as the value for fund ID 3215. In the case of Figure 39, the selected self offline payment history 3700 does not contain any records.
この場合、オフライン送金結果反映機能414は、図38のケースと異なり、利用者残高422および利用者決済履歴423に対する追記や更新はおこなわない。In this case, unlike the case in Figure 38, the offline remittance result reflection function 414 does not add or update the user balance 422 or user payment history 423.
オフライン送金結果反映機能414は、利用者オフライン送金制約425の情報から、利用者ID1611の値が「A」かつ資金ID1612の値が「A002」であるレコード3901を抽出し、その処理中額1615および処理済額1616の額が「0」であることを確認した上で、その金額1613および処理中額1615の値を「0」として更新する。また、前記レコード3803の処理済額1616の値については、当初の金額1613の値である「20000」を入力する。なお、更新の前の段階で、レコード3901の処理中額1615および処理済額1616の値が「0」でなかった場合には、更新処理をおこなわず、選択した自己オフライン送金履歴3700の情報をシステム管理者へ通知した上で、ステップ3602へ進み、次の利用者ID・資金IDに関して処理を継続する。The offline remittance result reflection function 414 extracts record 3901 from the information in the user offline remittance constraints 425, where the value of User ID 1611 is "A" and the value of Funds ID 1612 is "A002." After confirming that the amounts in processing 1615 and processed amount 1616 are "0," it updates the values of Amount 1613 and Amount in Processing 1615 to "0." Furthermore, for the value of Processed Amount 1616 of record 3803, it enters the original value of Amount 1613, "20000." Note that if the values of Amount in Processing 1615 and Processed Amount 1616 of record 3901 were not "0" prior to the update, the update process is not performed. Instead, the system administrator is notified of the information in the selected self offline remittance history 3700, and the process proceeds to step 3602, where it continues processing for the next user ID and fund ID.
  図40は、本実施例の受信したオフライン送金履歴を反映する処理を説明するイメージ図の例である。図39では、以下のケースを想定している。
  事前に、利用者Xの端末140を介し、図35に示した利用者Bから利用者Xへのオフライン送金結果の情報がサーバ110に送信され、反映済(ステップ3607以降)である。  Fig. 40 is an example of an image diagram illustrating the process of reflecting the received offline remittance history in this embodiment. In Fig. 39, the following cases are assumed.
 Information on the result of offline remittance from user B to user X shown in FIG. 35 has been sent in advance to server 110 via user X's terminal 140 and has been reflected (step 3607 and subsequent steps).
ステップ3601において、図33に示した利用者Aから利用者Bへのオフライン送金結果の情報を利用者Aの端末120から受信する。In step 3601, information on the offline remittance result from user A to user B shown in Figure 33 is received from user A's terminal 120.
ステップ3602において、利用者ID3214の値として「A」、資金ID3215の値として「A001」を選択する。In step 3602, select "A" as the value for user ID 3214 and "A001" as the value for fund ID 3215.
オフライン送金結果反映機能414は、選択した自己オフライン決済履歴3700のうち、送金元ID3211が「A」であるレコード群について、送金額3213の合計額を算出する。さらに、オフライン送金結果反映機能414は、選択した自己オフライン決済履歴3700のうち、送金先ID3212が「A」であるレコード群について、送金額3213の合計額を算出する。前者の合計額と後者の合計額との差をとることで、「A」から流出した金額を算出する。図38の例では、「110」という値が算出される。The offline remittance result reflection function 414 calculates the total remittance amount 3213 for the group of records in the selected own offline payment history 3700 where the remittance source ID 3211 is "A". Furthermore, the offline remittance result reflection function 414 calculates the total remittance amount 3213 for the group of records in the selected own offline payment history 3700 where the remittance destination ID 3212 is "A". The amount that has flowed out of "A" is calculated by taking the difference between the former total amount and the latter total amount. In the example of Figure 38, the value calculated is "110".
さらに、オフライン送金結果反映機能414は、利用者オフライン送金制約425の情報から、利用者ID1611の値が「A」かつ資金ID1612の値が「A001」であるレコード4004を抽出する。その処理中額1615の値が「0」、かつ、処理済額1616の額が「0」でないことを確認した場合、前述「110」と処理済額1616の値との差額を算出する。図38の例では、「30」という値が算出される。Furthermore, the offline remittance result reflection function 414 extracts record 4004 from the information in the user offline remittance constraints 425, where the value of user ID 1611 is "A" and the value of fund ID 1612 is "A001." If it is confirmed that the value of the processing amount 1615 is "0" and the amount of processed amount 1616 is not "0," it calculates the difference between the aforementioned "110" and the value of processed amount 1616. In the example of Figure 38, the value calculated is "30."
さらに、オフライン送金結果反映機能414は、前記レコード4004の金額1613および処理中額1615の値を前述「30」として更新する。Furthermore, the offline remittance result reflection function 414 updates the values of the amount 1613 and the amount in process 1615 of the record 4004 to the aforementioned "30."
さらに、オフライン送金結果反映機能414は、前記レコード4004の処理済額1616の値に「90」を加算することで更新する。「90」という値は、更新前の金額1613の値である「120」と処理済額1616の値である「80」との和から、前述「110」を減算することで算出する。Furthermore, the offline remittance result reflection function 414 updates the value of the processed amount 1616 of the record 4004 by adding "90". The value "90" is calculated by subtracting the aforementioned "110" from the sum of the value of the amount 1613 before the update, "120", and the value of the processed amount 1616, "80".
なお、以上の処理により、金額1613および処理中額1615の値がゼロになった場合には、前記レコード4004を削除する。If the values of Amount 1613 and Amount in Process 1615 become zero as a result of the above processing, the record 4004 will be deleted.
さらに、オフライン送金結果反映機能414は、利用者残高422の情報から、利用者ID1011の値が「A」であるレコード4001を抽出し、その残高1012の値を「30」減算するとともに、処理中額1013の値を「30」加算する。Furthermore, the offline remittance result reflection function 414 extracts record 4001 where the value of user ID 1011 is "A" from the information in user balance 422, subtracts "30" from the value of balance 1012, and adds "30" to the value of amount in process 1013.
さらに、オフライン送金結果反映機能414は、利用者決済履歴423の情報にレコード群4002を追記する。追記するレコードにおいて、送金元ID1111、送金先ID1112、送金額1113、送金日時1114の値には、それぞれ、選択したオフライン決済履歴3700の送金元ID3211、送金先ID3212、送金額3213、送金日時3216を入力する。ただし、同一のレコードが既に利用者決済履歴423が有する場合には、追記をおこなわない。Furthermore, the offline remittance result reflection function 414 adds a record group 4002 to the information in the user payment history 423. In the records to be added, the remittance source ID 3211, remittance destination ID 3212, remittance amount 3213, and remittance date and time 3216 of the selected offline payment history 3700 are entered as the values for the remittance source ID 1111, remittance destination ID 1112, remittance amount 1113, and remittance date and time 1114, respectively. However, if the same record already exists in the user payment history 423, no addition is made.
ステップ3606では、ステップ3604における検証処理において直ちに送金できないという判断が下された場合に、決済サーバ110のオフライン送金結果反映機能414が、選択した自己オフライン送金結果3700の内容を、利用者残高422および確認待ち送金指示424に反映する。In step 3606, if the verification process in step 3604 determines that immediate remittance is not possible, the offline remittance result reflection function 414 of the payment server 110 reflects the contents of the selected self offline remittance result 3700 in the user balance 422 and remittance instruction waiting for confirmation 424.
  図41は、本実施例の受信したオフライン送金履歴3700を反映する処理を説明するイメージ図の例である。図41では、以下のケースを想定している。
  ステップ3601において、図33に示した利用者Aから利用者Bへのオフライン送金結果の情報を利用者Aの端末120から受信する。  Fig. 41 is an example of an image diagram illustrating the process of reflecting the received offline remittance history 3700 in this embodiment. In Fig. 41, the following cases are assumed.
 In step 3601, the information on the result of offline remittance from user A to user B shown in FIG.
ステップ3602において、利用者ID3214の値として「A」、資金ID3215の値として「A001」を選択する。In step 3602, select "A" as the value for user ID 3214 and "A001" as the value for fund ID 3215.
送金指示反映機能412は、確認待ち送金指示424にレコード4101を追加し記録する。レコード1502の送金元ID1411、送金先ID1412、送金額1413、送金依頼日時1414には、それぞれ、選択した自己オフライン送金結果412の送金元ID3211、送金先ID3212、送金額3213、送金日時3216の値を記録する。The remittance instruction reflection function 412 adds and records record 4101 to the remittance instruction waiting for confirmation 424. The remittance source ID 1411, remittance destination ID 1412, remittance amount 1413, and remittance request date and time 1414 of record 1502 respectively record the values of the remittance source ID 3211, remittance destination ID 3212, remittance amount 3213, and remittance date and time 3216 of the selected self offline remittance result 412.
さらに、送金指示反映機能412は、図39のケースと同様の方法で、利用者残高422および利用者オフライン送金制約425の情報を更新する。Furthermore, the remittance instruction reflection function 412 updates the user balance 422 and user offline remittance constraints 425 information in a manner similar to the case in Figure 39.
ステップ3607では、決済サーバ110のオフライン送金結果検証機能413が、ステップ3601で受信した自己オフライン送金履歴の情報3700から、情報送信元の決済端末の利用者IDの値を利用者ID3211の値として有さないレコードを1件抽出し、当該レコードの利用者ID3211の値、および、資金ID3212の値を選択する。In step 3607, the offline remittance result verification function 413 of the payment server 110 extracts one record from the self offline remittance history information 3700 received in step 3601 that does not have the user ID value of the payment terminal that sent the information as the value of the user ID 3211, and selects the value of the user ID 3211 and the value of the funds ID 3212 of that record.
当該利用者IDの値のすべてのレコードの、すべての利用者ID・資金IDの値について、ステップ3608からステップ36011の処理を実施する。Processing from steps 3608 to 36011 is performed for all user ID and fund ID values for all records with the user ID value.
ステップ3608では、決済サーバ110のオフライン送金結果検証機能413が、ステップ3601で受信した自己オフライン送金履歴3700の情報のうち、ステップ3607で選択した利用者ID、資金IDの値を、それぞれ利用者ID3214、資金ID3215の値として有するレコードを抽出し選択する。In step 3608, the offline remittance result verification function 413 of the payment server 110 extracts and selects records from the information in the self offline remittance history 3700 received in step 3601 that have the values of the user ID and fund ID selected in step 3607 as the values of user ID 3214 and fund ID 3215, respectively.
ステップ3609では、決済サーバ110のオフライン送金結果検証機能413が、利用者情報421、利用者残高422、利用者送金履歴423、利用者オフライン送金制約425の情報を参照することで、ステップ3608で選択した自己オフライン送金履歴の情報の適格性を検証する。In step 3609, the offline remittance result verification function 413 of the payment server 110 verifies the eligibility of the information in the user's offline remittance history selected in step 3608 by referencing the information in the user information 421, user balance 422, user remittance history 423, and user offline remittance constraints 425.
なお、ステップ3609における動作は、基本的にステップ3604と同様である。但し、確認処理に問題がなかった場合にはステップ3610へ、直ちに送金できない判断に至った場合にはステップ3611へ、その他の問題が見つかった場合にはステップ3607へ進む。The operation in step 3609 is basically the same as step 3604. However, if there are no problems with the confirmation process, proceed to step 3610; if it is determined that the remittance cannot be made immediately, proceed to step 3611; and if any other problems are found, proceed to step 3607.
ステップ3610では、ステップ3609における確認処理で問題がなかった場合に、決済サーバ110のオフライン送金結果反映機能414が、選択した自己オフライン決済履歴3700の内容を、利用者残高422、利用者送金履歴423、利用者オフライン送金制約425へ反映する。In step 3610, if there are no problems in the confirmation process in step 3609, the offline remittance result reflection function 414 of the payment server 110 reflects the contents of the selected own offline payment history 3700 to the user balance 422, user remittance history 423, and user offline remittance constraints 425.
  図42は、本実施例の受信したオフライン送金履歴を反映する処理を説明するイメージ図の例である。図42では、以下のケースを想定している。
  ステップ3601において、図35に示した利用者Bから利用者Xへのオフライン送金結果の情報を利用者Xの端末140から受信する。
  ステップ3607において、利用者ID3214の値として「A」、資金ID3215の値として「A001」を選択する。  42 is an example of an image diagram illustrating the process of reflecting the received offline remittance history in this embodiment. In FIG. 42, the following cases are assumed.
 In step 3601, the information on the result of offline remittance from user B to user X shown in FIG.
 In step 3607, "A" is selected as the value of the user ID 3214, and "A001" is selected as the value of the fund ID 3215.
オフライン送金結果反映機能414は、選択した自己オフライン決済履歴3700のうち、送金元ID3211が「X」であるレコード群について、送金額3213の合計額を算出する。さらに、オフライン送金結果反映機能414は、選択した自己オフライン決済履歴3700のうち、送金先ID3212が「X」であるレコード群について、送金額3213の合計額を算出する。後者の合計額と前者の合計額との差をとることで、「X」へ差し引きとして流入した金額を算出する。図42の例では、「80」という値が算出される。The offline remittance result reflection function 414 calculates the total remittance amount 3213 for the group of records in the selected own offline payment history 3700 where the remittance source ID 3211 is "X". Furthermore, the offline remittance result reflection function 414 calculates the total remittance amount 3213 for the group of records in the selected own offline payment history 3700 where the remittance destination ID 3212 is "X". By taking the difference between the latter total and the former total, the amount that has flowed into "X" as a net inflow is calculated. In the example of Figure 42, the value calculated is "80".
さらに、オフライン送金結果反映機能414は、利用者オフライン送金制約425の情報から、利用者ID1611の値が「A」かつ資金ID1612の値が「A001」であるレコード4204を抽出する。その処理中額1615および処理済額1616の額が「0」であることを確認した場合、その金額1613の値を「80」減算するとともに、処理済額1616の値を「80」として更新する。Furthermore, the offline remittance result reflection function 414 extracts, from the information in the user offline remittance constraints 425, record 4204 in which the value of user ID 1611 is "A" and the value of fund ID 1612 is "A001." If it confirms that the amount in process 1615 and the amount processed 1616 are "0," it subtracts "80" from the value of amount 1613 and updates the value of processed amount 1616 to "80."
さらに、オフライン送金結果反映機能414は、利用者残高422の情報から、利用者ID1011の値が「A」であるレコード4201および「X」であるレコード4202を抽出する。レコード4201の残高1012の値を「80」減算するとともに、レコード4202の残高1012の値を「80」加算する。Furthermore, the offline remittance result reflection function 414 extracts record 4201 where the value of user ID 1011 is "A" and record 4202 where the value is "X" from the information in user balance 422. It subtracts "80" from the value of balance 1012 in record 4201 and adds "80" to the value of balance 1012 in record 4202.
さらに、オフライン送金結果反映機能414は、利用者決済履歴423の情報にレコード群4203を追記する。追記するレコードにおいて、送金元ID1111、送金先ID1112、送金額1113、送金日時1114の値には、それぞれ、選択したオフライン決済履歴3700の送金元ID3211、送金先ID3212、送金額3213、送金日時3216を入力する。ただし、同一のレコードが既に利用者決済履歴423が有する場合には、追記をおこなわない。Furthermore, the offline remittance result reflection function 414 adds a record group 4203 to the information in the user payment history 423. In the records to be added, the remittance source ID 3211, remittance destination ID 3212, remittance amount 3213, and remittance date and time 3216 of the selected offline payment history 3700 are entered as the values for the remittance source ID 1111, remittance destination ID 1112, remittance amount 1113, and remittance date and time 1114, respectively. However, if the same record already exists in the user payment history 423, no addition is made.
  図43は、本実施例の受信したオフライン送金履歴を反映する処理を説明するイメージ図の例である。図42では、以下のケースを想定している。処理内容としては、基本的に図42の例と同様である。
  ステップ3601において、図34および35に示した利用者Bのオフライン送金結果の情報を利用者Bの端末130から受信する。
  ステップ3607において、利用者ID3214の値として「A」、資金ID3215の値として「A001」を選択する。  Fig. 43 is an example of an image diagram illustrating the process of reflecting the received offline remittance history in this embodiment. In Fig. 42, the following case is assumed. The process content is basically the same as the example in Fig. 42.
 In step 3601, the information on the offline remittance result of User B shown in FIGS.
 In step 3607, "A" is selected as the value of the user ID 3214, and "A001" is selected as the value of the fund ID 3215.
  図44は、本実施例の受信したオフライン送金履歴を反映する処理を説明するイメージ図の例である。図44では、以下のケースを想定している。
  事前に、利用者Aの端末120を介し、図33に示した利用者Aから利用者Bへのオフライン送金結果の情報がサーバ110に送信され、反映済(ステップ3602以降)である。  44 is an example of an image diagram illustrating the process of reflecting the received offline remittance history in this embodiment. In FIG. 44, the following cases are assumed.
 Information on the result of offline remittance from user A to user B shown in FIG. 33 has been sent in advance via user A's terminal 120 to server 110 and has been reflected (step 3602 and subsequent steps).
ステップ3601において、図35に示した利用者Bから利用者Xへのオフライン送金結果の情報を利用者Xの端末140から受信する。In step 3601, information on the offline remittance result from user B to user X shown in Figure 35 is received from user X's terminal 140.
ステップ3607において、利用者ID3214の値として「A」、資金ID3215の値として「A001」を選択する。In step 3607, select "A" as the value for user ID 3214 and "A001" as the value for fund ID 3215.
オフライン送金結果反映機能414は、選択した自己オフライン決済履歴3700のうち、送金元ID3211が「X」であるレコード群について、送金額3213の合計額を算出する。さらに、オフライン送金結果反映機能414は、選択した自己オフライン決済履歴3700のうち、送金先ID3212が「X」であるレコード群について、送金額3213の合計額を算出する。後者の合計額と前者の合計額との差をとることで、「X」へ差し引きとして流入した金額を算出する。図42の例では、「80」という値が算出される。The offline remittance result reflection function 414 calculates the total remittance amount 3213 for the group of records in the selected own offline payment history 3700 where the remittance source ID 3211 is "X". Furthermore, the offline remittance result reflection function 414 calculates the total remittance amount 3213 for the group of records in the selected own offline payment history 3700 where the remittance destination ID 3212 is "X". By taking the difference between the latter total and the former total, the amount that has flowed into "X" as a net inflow is calculated. In the example of Figure 42, the value calculated is "80".
さらに、オフライン送金結果反映機能414は、利用者オフライン送金制約425の情報から、利用者ID1611の値が「A」かつ資金ID1612の値が「A001」であるレコード4404を抽出する。その処理中額1615および処理済額1616の額が「0」でないことを確認した場合、その金額1613および処理中額1615の値を「80」減算するとともに、処理済額1616の値を「80」だけ加算して更新する。Furthermore, the offline remittance result reflection function 414 extracts record 4404 from the information in the user offline remittance constraints 425, where the value of user ID 1611 is "A" and the value of fund ID 1612 is "A001." If it confirms that the amount in processing 1615 and processed amount 1616 are not "0," it subtracts "80" from the values of amount 1613 and amount in processing 1615, and adds "80" to the value of processed amount 1616 to update it.
さらに、オフライン送金結果反映機能414は、利用者残高422の情報から、利用者ID1011の値が「A」であるレコード4401および「X」であるレコード4402を抽出する。レコード4401の処理中額1013の値がゼロでないことを確認した場合、レコード4401の処理中額1013の値を「80」減算するとともに、レコード4202の残高1012の値を「80」加算する。Furthermore, the offline remittance result reflection function 414 extracts record 4401 where the value of user ID 1011 is "A" and record 4402 where the value is "X" from the information in user balance 422. If it confirms that the value of processing amount 1013 in record 4401 is not zero, it subtracts "80" from the value of processing amount 1013 in record 4401 and adds "80" to the value of balance 1012 in record 4202.
さらに、オフライン送金結果反映機能414は、利用者決済履歴423の情報にレコード群4403を追記する。追記するレコードにおいて、送金元ID1111、送金先ID1112、送金額1113、送金日時1114の値には、それぞれ、選択したオフライン決済履歴3700の送金元ID3211、送金先ID3212、送金額3213、送金日時3216を入力する。ただし、同一のレコードが既に利用者決済履歴423が有する場合には、追記をおこなわない。Furthermore, the offline remittance result reflection function 414 adds a record group 4403 to the information in the user payment history 423. In the records to be added, the remittance source ID 3211, remittance destination ID 3212, remittance amount 3213, and remittance date and time 3216 of the selected offline payment history 3700 are entered as the values for the remittance source ID 1111, remittance destination ID 1112, remittance amount 1113, and remittance date and time 1114, respectively. However, if the same record already exists in the user payment history 423, no addition is made.
ステップ3611では、ステップ3607における検証処理において直ちに送金できないという判断が下された場合に、決済サーバ110のオフライン送金結果反映機能414が、選択した自己オフライン送金結果3700の内容を、利用者残高422および確認待ち送金指示424に反映する。本ステップの処理内容は、ステップ3606と同様である。In step 3611, if the verification process in step 3607 determines that immediate remittance is not possible, the offline remittance result reflection function 414 of the payment server 110 reflects the contents of the selected self offline remittance result 3700 in the user balance 422 and remittance instruction waiting for confirmation 424. The processing content of this step is the same as that of step 3606.
上述のように、上記実施例の決済システム100は、利用者の資金の残高を管理する決済サーバ110と、前記決済サーバ110との間で送金指示及び送金結果を送受信する複数の決済端末120、130、140とを有する。As described above, the payment system 100 of the above embodiment includes a payment server 110 that manages users' balances, and multiple payment terminals 120, 130, and 140 that send and receive remittance instructions and remittance results to and from the payment server 110.
前記決済端末120は、前記決済サーバ110に対して前記決済端末120の前記利用者の前記残高及び送金履歴の情報を要求し取得する送金結果確認部511と、前記決済サーバ110に対する送金指示電文を作成し送信する送金指示作成部512と、前記決済サーバ110を介さずに、他の前記決済端末130、140に対する端末間送金電文を作成し送信するオフライン送金指示作成部513と、前記オフライン送金指示作成部513を介して送信された前記端末間送金電文の妥当性を規定の条件に基づき検証するオフライン送金指示検証部514と、前記オフライン送金指示検証部514が妥当と判断した前記端末間送金電文を記録するオフライン送金指示反映部515と、前記オフライン送金指示反映部515によって記録された前記端末間送金電文を前記決済サーバ110に対して送信するオフライン送金結果通知部517と、を有する。The payment terminal 120 has a remittance result confirmation unit 511 that requests and obtains information on the balance and remittance history of the user of the payment terminal 120 from the payment server 110; a remittance instruction creation unit 512 that creates and sends a remittance instruction message to the payment server 110; an offline remittance instruction creation unit 513 that creates and sends an inter-terminal remittance message to the other payment terminals 130, 140 without going through the payment server 110; an offline remittance instruction verification unit 514 that verifies the validity of the inter-terminal remittance message sent via the offline remittance instruction creation unit 513 based on specified conditions; an offline remittance instruction reflection unit 515 that records the inter-terminal remittance message that the offline remittance instruction verification unit 514 determines to be valid; and an offline remittance result notification unit 517 that transmits the inter-terminal remittance message recorded by the offline remittance instruction reflection unit 515 to the payment server 110.
また、前記決済サーバ110は、前記決済端末120の前記送金指示作成部512によって送信された前記送金指示電文の妥当性を前記規定の条件に基づき検証する送金指示検証部411と、前記送金指示検証部411によって検証された前記送金指示電文に基づき前記利用者の前記残高及び前記送金履歴を更新する送金指示反映部412と、前記決済端末120の前記オフライン送金結果通知部517によって送信された前記端末間送金電文の妥当性を前記規定の条件に基づき検証するオフライン送金結果検証部413と、前記オフライン送金結果検証部413によって検証された前記端末間送金電文に基づき前記利用者の前記残高及び前記送金履歴を更新するオフライン送金結果反映部414と、を有する。The payment server 110 also has a remittance instruction verification unit 411 that verifies the validity of the remittance instruction message sent by the remittance instruction creation unit 512 of the payment terminal 120 based on the specified conditions; a remittance instruction reflection unit 412 that updates the user's balance and remittance history based on the remittance instruction message verified by the remittance instruction verification unit 411; an offline remittance result verification unit 413 that verifies the validity of the terminal-to-terminal remittance message sent by the offline remittance result notification unit 517 of the payment terminal 120 based on the specified conditions; and an offline remittance result reflection unit 414 that updates the user's balance and remittance history based on the terminal-to-terminal remittance message verified by the offline remittance result verification unit 413.
ここで、前記端末間送金電文の妥当性を検証するための前記規定の条件は、前記利用者の前記残高が前記端末間送金電文に記載された送金額に対して不足していないという条件を含む。Here, the specified conditions for verifying the validity of the terminal-to-terminal remittance message include a condition that the user's balance is sufficient to cover the remittance amount stated in the terminal-to-terminal remittance message.
また、前記端末間送金電文の妥当性を検証するための前記規定の条件は、送金元である前記利用者に対して送金先ごとに指定された送金の上限額を含む。前記決済サーバ110は、前記送金先ごとに指定された送金の前記上限額を算出するオフライン送金制約算出部415を有する。Furthermore, the specified conditions for verifying the validity of the terminal-to-terminal remittance message include the upper limit of remittance amount specified for each remittance destination for the user who is the remitter. The settlement server 110 has an offline remittance constraint calculation unit 415 that calculates the upper limit of remittance amount specified for each remittance destination.
前記決済端末120の送金結果確認部511は、前記送金先ごとに指定された送金の前記上限額の情報を、利用者の前記残高及び前記送金履歴の情報と共に前記決済サーバ110から受信する。前記決済端末120は、前記送金先ごとに指定された送金の前記上限額の情報を、利用者の前記残高の情報に対応付けると共に管理するオフライン送金制約反映部516を有する。ここで、前記端末間送金電文は、前記送金先ごとに指定された送金の前記上限額に関する情報を含む。The remittance result confirmation unit 511 of the payment terminal 120 receives information on the upper limit of remittances specified for each remittance destination from the payment server 110, along with information on the user's balance and remittance history. The payment terminal 120 has an offline remittance constraint reflection unit 516 that associates and manages the information on the upper limit of remittances specified for each remittance destination with information on the user's balance. Here, the terminal-to-terminal remittance message includes information on the upper limit of remittances specified for each remittance destination.
また、前記決済サーバ110の前記オフライン送金制約算出部415は、前記決済サーバ110の前記送金指示反映部412及び前記オフライン送金結果反映部414によって記録された前記送金履歴に基づいて、前記利用者の前記送金先及び送金実績額を算出し、前記送金先及び前記送金実績額に基づいて、前記利用者の前記送金先ごとに指定された送金の前記上限額の情報を算出する。In addition, the offline remittance restriction calculation unit 415 of the payment server 110 calculates the remittance destination and actual remittance amount of the user based on the remittance history recorded by the remittance instruction reflection unit 412 and the offline remittance result reflection unit 414 of the payment server 110, and calculates information on the upper limit of remittance amount specified for each remittance destination of the user based on the remittance destination and the actual remittance amount.
また、前記端末間送金電文の妥当性を検証するための前記規定の条件は、前記送金元である前記利用者に対する前記送金先の範囲を規定した送金可能範囲の関する条件を含む。前記決済サーバ110の前記オフライン送金制約算出部415が算出する前記送金先ごとに指定された送金の前記上限額の情報は、前記送金可能範囲に応じて決められる。前記決済端末120の前記オフライン送金指示反映部515は、前記残高を更新する際に、前記送金先ごとに指定された送金の前記上限額に関する情報を併せて更新する。The specified conditions for verifying the validity of the terminal-to-terminal remittance message also include conditions related to the remittance range, which specifies the range of remittance destinations for the user who is the remitter. The information on the upper limit of remittance amount specified for each remittance destination calculated by the offline remittance constraint calculation unit 415 of the payment server 110 is determined according to the upper limit of remittance amount. When updating the balance, the offline remittance instruction reflection unit 515 of the payment terminal 120 also updates information related to the upper limit of remittance amount specified for each remittance destination.
また、前記決済端末120の前記オフライン送金指示反映部515は、一連の前記端末間送金の前記最終受領者の前記決済端末から前記端末間送金電文を得られていない場合に、前記最終受領者が不明な状態である金額を、前記利用者の残高の情報のうち、前記最終受領者が不明な状態である金額として書き込むと共に、前記最終受領者が不明な状態である金額の情報が存在する状況下において、前記最終受領者の前記決済端末から前記端末間送金電文が得られた場合に、前記最終受領者が不明な状態である金額を、前記利用者が現在利用可能な金額に移し替える。In addition, when the offline remittance instruction reflecting unit 515 of the payment terminal 120 has not received the inter-terminal remittance message from the payment terminal of the final recipient of the series of inter-terminal remittances, it writes the amount for which the final recipient is unknown as the amount for which the final recipient is unknown in the user's balance information, and when information on the amount for which the final recipient is unknown exists, when the inter-terminal remittance message is received from the payment terminal of the final recipient, it transfers the amount for which the final recipient is unknown to the amount currently available to the user.
また、前記端末間送金電文には、一連の前記端末間送金の始点となる前記利用者を特定する情報を含む。前記決済端末120の前記オフライン送金指示反映部515は、一連の端末間送金の前記始点となる前記利用者の前記決済端末から前記端末間送金電文を得られていない場合に、前記最終受領者から前記端末間送金電文が得られた場合に、前記始点となる利用者を特定する情報に基づいて、前記始点となる利用者の残高から前記最終受領者となる利用者の残高へ資金を移動する。The terminal-to-terminal remittance message also includes information identifying the user who is the starting point of the series of terminal-to-terminal remittances. When the offline remittance instruction reflection unit 515 of the payment terminal 120 has not received the terminal-to-terminal remittance message from the payment terminal of the user who is the starting point of the series of terminal-to-terminal remittances, and has received the terminal-to-terminal remittance message from the final recipient, the offline remittance instruction reflection unit 515 transfers funds from the balance of the starting user to the balance of the final recipient user based on the information identifying the starting user.
本発明を、金融決済システムにおいて実用的な応用に組み込むことにより、オフライン決済においてもオンライン決済相当の不正リスク抑制を実現することが可能となる。By incorporating this invention into practical applications in financial payment systems, it will be possible to reduce fraud risks in offline payments to the same extent as in online payments.
100  決済システム
110  決済サーバ
120  決済端末
130  決済端末
140  決済端末100 Payment system 110 Payment server 120 Payment terminal 130 Payment terminal 140 Payment terminal
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2021101240AJP7732780B2 (en) | 2021-06-17 | 2021-06-17 | Payment System | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2021101240AJP7732780B2 (en) | 2021-06-17 | 2021-06-17 | Payment System | 
| Publication Number | Publication Date | 
|---|---|
| JP2023000431A JP2023000431A (en) | 2023-01-04 | 
| JP7732780B2true JP7732780B2 (en) | 2025-09-02 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| JP2021101240AActiveJP7732780B2 (en) | 2021-06-17 | 2021-06-17 | Payment System | 
| Country | Link | 
|---|---|
| JP (1) | JP7732780B2 (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2017513122A (en) | 2014-03-26 | 2017-05-25 | グーグル インコーポレイテッド | Secure offline payment system | 
| JP2020204883A (en) | 2019-06-17 | 2020-12-24 | LINE Pay株式会社 | Information processing method, program, and terminal | 
| JP2021036357A (en) | 2019-08-30 | 2021-03-04 | 株式会社日立製作所 | Transaction execution method and system | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2017513122A (en) | 2014-03-26 | 2017-05-25 | グーグル インコーポレイテッド | Secure offline payment system | 
| JP2020204883A (en) | 2019-06-17 | 2020-12-24 | LINE Pay株式会社 | Information processing method, program, and terminal | 
| JP2021036357A (en) | 2019-08-30 | 2021-03-04 | 株式会社日立製作所 | Transaction execution method and system | 
| Publication number | Publication date | 
|---|---|
| JP2023000431A (en) | 2023-01-04 | 
| Publication | Publication Date | Title | 
|---|---|---|
| US11734682B2 (en) | Systems and methods for creating multiple records based on an ordered smart contract | |
| US20240265007A1 (en) | Systems and methods for recording data representing multiple interactions | |
| US12316761B2 (en) | Layered recording networks | |
| US11361291B2 (en) | Enterprise resource planning (ERP) integrator system and method | |
| US20070124242A1 (en) | Funds transfer system | |
| CN101711396A (en) | Construction payment management system and method with document exchange features | |
| US20220405747A1 (en) | Computer-implemented system and method | |
| CN112785262A (en) | Mobile loan management method, system, server and storage medium | |
| JP5852636B2 (en) | Transfer management system and method for condominium management company | |
| WO2023201359A2 (en) | Method, controller, and computer readable medium for detecting expiration of a unique cryptographic identifier on a distributed transfer network | |
| JP7732780B2 (en) | Payment System | |
| US20240020648A1 (en) | Benefit administration platform | |
| JP6228651B1 (en) | Transfer system and method on the premise of receiving side approval | |
| JP2016122427A (en) | Loan transaction automatic execution system and method | |
| KR102832643B1 (en) | Method and apparatus for remittance service | |
| US20210097549A1 (en) | Methods, systems and computer program products for optimizing electronic direct benefit transfers | |
| JP2023067320A (en) | Property acquisition support method, property acquisition support program and property acquisition support system | |
| CN119599653A (en) | Order aggregation processing method, device, system and electronic equipment | |
| CN113111631A (en) | Data processing method, device, equipment, storage medium and program product | |
| CN117474549A (en) | Digital currency intelligent contract signing method based on block chain | 
| Date | Code | Title | Description | 
|---|---|---|---|
| A621 | Written request for application examination | Free format text:JAPANESE INTERMEDIATE CODE: A621 Effective date:20240130 | |
| A131 | Notification of reasons for refusal | Free format text:JAPANESE INTERMEDIATE CODE: A131 Effective date:20250212 | |
| A521 | Request for written amendment filed | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20250226 | |
| A131 | Notification of reasons for refusal | Free format text:JAPANESE INTERMEDIATE CODE: A131 Effective date:20250520 | |
| A521 | Request for written amendment filed | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20250613 | |
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) | Free format text:JAPANESE INTERMEDIATE CODE: A01 Effective date:20250819 | |
| A61 | First payment of annual fees (during grant procedure) | Free format text:JAPANESE INTERMEDIATE CODE: A61 Effective date:20250821 | |
| R150 | Certificate of patent or registration of utility model | Ref document number:7732780 Country of ref document:JP Free format text:JAPANESE INTERMEDIATE CODE: R150 |