以下、図面を参照して各実施形態について説明する。以下の説明において、略又は実質的に同一の機能及び構成要素については、同一符号を付し、説明を省略するか、又は、必要に応じて説明を行う。
(第1の実施形態)
本実施形態に係る決済システムは、利用者に対して現金決済と同様な安心感を与える決済サービスを提供し、現金決済の煩わしさなしにキャッシュレスで決済を実現する。
本実施形態の取引(以下、決済ともいう)は、例えば電子マネー又は仮想通貨の取引に用いられてもよい。取引は、例えば電子商取引などの電子決済でもよい。
図1は、本実施形態に係る決済システム1の構成の一例を示すブロック図である。
決済システム1は、サーバ装置2と複数のモバイル端末T1〜Tnとを具備する。
サーバ装置2とモバイル端末T1〜Tnのうちのいずれかの端末との間の通信、及び、モバイル端末T1〜Tnのうちの第1の端末と第2の端末との間の通信は、同期(ペアリング)機能によって実現されてもよい。
サーバ装置2は、例えば、決済サービスの提供者が管理する装置である。サーバ装置2は、情報処理装置の一例であり、モバイル端末T1〜Tnとネットワーク3経由で通信可能であるが、一時的にはモバイル端末T1〜Tnと通信不可となってもよい。サーバ装置2の各種の機能は、複数のサーバ装置によって実現されてもよい。
サーバ装置2は、記憶部4、通信部5、プロセッサ6を具備する。
記憶部4は、管理プログラム7、アカウント(口座)情報8、秘密情報(秘密符号)9、アプリケーションプログラム(以下、アプリという)10、その他決済処理で用いられる各種のデータを記憶する。記憶部4は、複数のメモリ装置又はストレージ装置に分割されてもよい。
通信部5は、他の装置(例えば、モバイル端末T1〜Tnのうちのいずれか)からネットワーク3経由でデータを受信し、ネットワーク3経由で他の装置へデータを送信する。
プロセッサ6は、記憶部4に記憶されている管理プログラム7を実行することにより、決済サービスを提供するための各種の管理処理を実行する管理部61として機能する。
管理部61は、記憶部4に記憶されているアプリ10を、通信部5及びネットワーク3経由でモバイル端末T1〜Tnへ送信する。なお、アプリ10は、サーバ装置2ではない他の情報処理装置からネットワーク3経由でモバイル端末T1〜Tnへ送信されてもよい。
管理部61は、所定期間(秘密情報変更期間)を経過するたびに、第三者に不知の秘密情報9を生成(更新)し、秘密情報9を記憶部4に記憶するとともに通信部5及びネットワーク3経由でモバイル端末T1〜Tnへ送信する。
管理部61は、モバイル端末T1〜Tnからネットワーク3及び通信部5経由でデータを受信し、受信したデータに基づいて記憶部4に記憶されているアカウント情報8を更新する。アカウント情報8は、モバイル端末T1〜Tnの各利用者のアカウントの状態とその取引(決済)履歴を含む。
管理部61は、必要に応じて、記憶部4に記憶されているデータに基づいて決済を管理するためのデータを生成し、決済を管理するためのデータを、通信部5、ネットワーク3経由でモバイル端末T1〜Tnのうちの宛先の装置へ送信する。例えば、管理部61は、所定期間、サーバ装置2と通信していないモバイル端末へ、サーバ装置2と通信することを促す情報を送信する。
より具体的な例を用いて説明すると、管理部61は、例えば、利用者の識別情報(以下、識別情報をIDと表記する)、利用者の氏名、モバイル端末ID、銀行システムのAPI(Application Programming Interface)を通じて利用者の銀行のアカウントにアクセスするための情報、クレジットカード会社のシステムのAPIを通じて利用者のカード情報にアクセスするための情報などを管理する。管理部61は、例えば、アカウントごとのアカウントID、利用者ID、通貨ID、残高を含むアカウント情報8を管理する。管理部61は、例えば、アカウントごとの取引ID、支払者ID、受領者ID、通貨ID、取引金額、取引時刻などを関連付けた取引履歴情報を管理する。管理部61は、例えば、利用者のアカウントの残高を増加又は減少させる入出金機能、外国為替取引の機能、秘密情報9の生成機能、ハッシュ値を算出する機能、ハッシュ値を比較する機能、他の装置との同期機能、モバイル端末T1〜Tnへ各種のデータ、情報、コマンド、リクエストを通知する機能、などを含む。
モバイル端末T1〜Tnは、情報処理装置の一例であり、例えば、スマートフォンなどのような携帯電話でもよく、又は、タブレット型コンピュータでもよい。モバイル端末T1〜Tnのうちのいくつかは、移動して利用されることが想定されていない設置型の情報処理装置でもよい。
本実施形態においては、モバイル端末T1が支払者の端末であり、モバイル端末Tnが受領者の端末であり、モバイル端末T1とモバイル端末Tnとを代表例として説明するが、モバイル端末T1〜Tnのいずれもが支払者の端末となってもよく、受領者の端末となってもよい。
支払者のモバイル端末T1は、記憶部M1、通信部12、操作受付部13、表示部14、撮影部15、プロセッサ16を具備する。
受領者のモバイル端末Tnは、記憶部Mn、通信部12、操作受付部13、表示部14、撮影部15、プロセッサ16を具備する。
支払者のモバイル端末T1の記憶部M1は、アプリ10、秘密情報9、支払者のアカウント情報A1を記憶する。
受領者のモバイル端末Tnの記憶部Mnは、アプリ10、秘密情報9、受領者のアカウント情報Anを記憶する。
通信部12は、他の装置(例えば、サーバ装置2)からネットワーク3経由でデータを受信し、ネットワーク3経由で他の装置へデータを送信する。通信部12は、例えば無線通信を行うが、有線通信を行うとしてもよい。
操作受付部13は、例えばタッチパネル又はキーボードなどであり、利用者からの操作を受け付ける。
表示部14は、例えばディスプレイ装置である。
撮影部15は、例えばカメラである。本実施形態において、撮影部15は、決済情報の一例である2次元コード17の読み取りに用いられるが、撮影部15に代えてコードリーダが2次元コード17の読み取りに用いられてもよい。
支払者のモバイル端末T1のプロセッサ16は、記憶部M1に記憶されているアプリ10を実行することにより、決済部B1として機能する。
受領者のモバイル端末Tnのプロセッサ16は、記憶部Mnに記憶されているアプリ10を実行することにより、決済部Bnとして機能する。
決済部B1,Bnは、操作受付部13から利用者の操作を受け付ける。
決済部B1,Bnは、所定期間を経過するたびに、サーバ装置2からネットワーク3及び通信部12経由で、秘密情報9を受信し、秘密情報9を記憶部M1,Mnに記憶する。
支払者の決済部B1は、支払者によって指定された取引金額(支払金額)を含む取引情報と、記憶部M1に記憶されている秘密情報9とに基づいて、取引情報の安全性が確保されている2次元コード17を生成し、生成した2次元コード17を表示部14に表示する。また、支払者の決済部B1は、2次元コード17の表示と併せて、記憶部M1に記憶されている支払者のアカウント情報A1を更新する。
受領者の決済部Bnは、支払者のモバイル端末T1の表示部14に表示された2次元コード17を撮影部15によって撮影し、撮影した2次元コード17と記憶部Mnに記憶されている秘密情報9とに基づいて安全性が確保されている取引情報を解釈し、取引情報に含まれる取引金額(受領金額)に基づいて記憶部Mnに記憶されている受領者のアカウント情報Anを更新する。
支払者の決済部B1は、記憶部M1に記憶されているアカウント情報A1に基づいて支払者の取引情報を含む支払情報を生成し、支払情報を通信部12からネットワーク3経由でサーバ装置2へ送信する。
受領者の決済部Bnは、記憶部Mnに記憶されているアカウント情報Anに基づいて受領者の取引情報を含む受領情報を生成し、受領情報を通信部12からネットワーク3経由でサーバ装置2へ送信する。
2次元コード17、支払情報、受領情報の具体的な内容については、後述する。
より具体的な例を用いて説明すると、アプリ10によって実現される決済部B1,Bnは、例えば、アカウント情報A1,An、支払画面データ、受領画面データ、入出金画面データ、外国為替取引の画面データの表示制御を行う機能、入出金機能、取引金額に応じてアカウント情報A1,Anの残高を加算又は減算する機能、ハッシュ値を計算する機能、ハッシュ値を比較する機能、2次元コード17を表示する機能、他の装置によって表示された2次元コード17を読み取る機能、2次元コード17に代えて取引情報を含むデータを近距離無線通信などにより他の装置と通信する機能、サーバ装置2と各種データを通信する機能、同期機能、アカウント情報A1,An及び秘密情報9を管理する機能、などを含む。
さらに、決済部B1,Bnは、モバイル端末T1,Tnにおいて例えばアカウント情報A1,Anに含まれている取引情報など、記憶部M1,Mnに記憶されている決済に関するデータの量が所定値を超えた場合、及び、モバイル端末T1,Tnがサーバ装置2と通信しない期間がしきい値を超えた場合に、サーバ装置2と通信することを利用者に促す機能を含む。
本実施形態において、サーバ装置2及びモバイル端末T1,Tnは、他の装置とのデータ通信を、通信部5,12を用いてネットワーク3経由で行うが、以下では簡略化のために、通信部5,12及びネットワーク3の説明は省略する。
本実施形態においては、支払者のモバイル端末T1、受領者のモバイル端末Tn、サーバ装置2のそれぞれによりアカウント情報A1,An,8が管理される。アカウント情報A1,An,8において、支払者のアカウントの残高の増減と受領者のアカウントの残高の増減は矛盾することなく、整合するよう更新される。
本実施形態に係る決済システム1では、モバイル端末T1〜Tnのそれぞれにアプリ10がインストール又はダウンロードされ、モバイル端末T1〜Tnの間で、世界中、どこでも、誰とでも、決済を行うことが可能となる。
決済部B1,Bnは、モバイル端末T1,Tn内で様々な通貨のアカウントの残高を管理する。支払者の決済部B1は、支払者のアカウント情報A1に対して支払(残高の減額)のための処理を実行する。受領者の決済部Bnは、受領者のアカウント情報Anに対して受領(残高の増額)のための処理を実行する。
本実施形態においては、支払者のモバイル端末T1の表示部14が2次元コード17を表示し、受領者のモバイル端末Tnの撮影部15が、表示された2次元コード17を読み取ることで決済処理に用いられる取引情報の提供と取得とが実現される。
決済システム1では、支払者がモバイル端末T1を操作し、受領者がモバイル端末Tnを操作し、2次元コード17の表示と読み取りとを通じて対面で決済を行う。モバイル端末T1,Tn間で取引情報をやり取りする時点で、モバイル端末T1,Tnとサーバ装置2が通信不可の状態(すなわちオフライン)でもモバイル端末T1,Tn間で取引が行われる。モバイル端末T1,Tn間の取引は、この取引の後所定期間(取引有効期間)内に、サーバ装置2が受領者のモバイル端末Tnから受領情報を受信した場合に許容され、取引の後所定期間内にサーバ装置2が受領者のモバイル端末Tnから受領情報を受信しない場合には取り消される(又は無効にされる)。
決済システム1では、特殊な付属装置又は特殊な決済用の端末が必要ではなく、モバイル端末T1,Tnにアプリ10をインストール又はダウンロードすることで、世界中どこでも、誰とでも、キャッシュレス決済を実行可能になる。
例えば、相手の電話番号又はメールアドレスなどを使ったオンライン決済が利用されているが、決済システム1で実行される処理は、このような相手の電話番号又はメールアドレスなどを使ったオンライン決済と異なり、電話番号又はメールアドレス等の個人情報をやり取りすることなく決済可能であるため、誰とでも安心して決済をすることができる。
決済部B1,Bnは、アカウント情報A1,Anに基づいて、支払情報、受領情報を生成し、生成した支払情報、受領情報をサーバ装置2へ送信する。これにより、モバイル端末T1,Tnとサーバ装置2との間で情報を共有及び整合させることができる。
また、モバイル端末T1,Tnとサーバ装置2とが通信可能(オンライン状態)な場合、決済部B1,Bnは、利用者の操作にしたがって、サーバ装置2で管理されている当該利用者の銀行アカウント等へのアクセス情報から、モバイル端末T1,Tn内のアカウント情報A1,Anによって管理されている利用者のアカウントへの入金処理を実行可能である。
さらに、モバイル端末T1,Tnとサーバ装置2とが通信可能(オンライン状態)な場合、決済部B1,Bnは、アカウント情報A1,Anによって管理されている異なる通貨のアカウント間で入出金(外国為替取引)を実行可能である。
以下で、本実施形態に係る決済システム1で実行される決済処理をより具体的に説明する。この決済処理は、モバイル端末T1,Tnに備えられているアプリ10とサーバ装置2に備えられている管理プログラム7とによって実現される。
決済システム1では、モバイル端末T1が支払者のアカウント情報A1を記憶し、モバイル端末Tnが受領者のアカウント情報Anを記憶し、サーバ装置2が支払者と受領者とのアカウント情報8を記憶する。そして、決済システム1は、サーバ装置2とモバイル端末T1とモバイル端末Tnとの間で、支払者及び受領者のアカウントに矛盾が生じないようにアカウントの整合性を確保する。
本実施形態では、まず、支払者のモバイル端末T1と受領者のモバイル端末Tnとが、取引情報をやり取りする。現金決済と同様に、モバイル端末T1とモバイル端末Tnとの間で取引情報のやり取りが行われた段階で、支払者のモバイル端末T1における支払者のアカウント情報A1と受領者のモバイル端末Tnにおける受領者のアカウント情報Anとに対して取引金額に応じた更新が行われる。ただし、受領者のモバイル端末Tnは、受領した取引金額を、サーバ装置2と通信するまで受領者のアカウント情報Anにおける仮アカウントで管理する。
次に、サーバ装置2は、モバイル端末T1又はモバイル端末Tnとサーバ装置2とが通信した場合に、モバイル端末T1から受信した支払情報又はモバイル端末Tnから受信した受領情報に基づいて、アカウント情報8における支払者又は受領者のアカウントの残高を処理する。
しかしながら、サーバ装置2は、受領者のモバイル端末Tnが取引後所定期間内(例えば、1ヶ月など)にサーバ装置2と通信しない場合、この支払者と受領者との間の取引(決済)を取り消す(又は無効とする)。サーバ装置2が支払者のモバイル端末T1から支払情報を受信しモバイル端末T1,Tn間の取引を検出し、当該取引後所定期間内に当該取引に対応する受領情報をモバイル端末Tnから受信しない場合、又は、サーバ装置2がモバイル端末T1,Tn間の取引から所定の期間経過後にモバイル端末T1,Tnのいずれかと通信したことを支払情報又は受領情報から検出した場合、サーバ装置2の管理部61、支払者のモバイル端末T1の決済部B1、受領者のモバイル端末Tnの決済部Bnは、アカウント情報8、アカウント情報A1、アカウント情報Anに対して、仮アカウントの取引金額を支払者のアカウントへ払い戻す処理を実行する。なお、本実施形態において、サーバ装置2の管理部61は、全ての受領者に対して共通の仮アカウントを用いる。
サーバ装置2は、支払者のモバイル端末T1と受領者のモバイル端末Tnとのうちのいずれか一方から、取引情報を含む支払情報又は受領情報を受信した場合に、取引情報にしたがってアカウント情報8を更新する。その後、サーバ装置2は、モバイル端末T1とモバイル端末Tnとのうちの他方から支払情報又は受領情報を受信した場合に、取引情報の確認処理(取引金額の整合性の判断など)を実行する。
図2は、本実施形態に係るモバイル端末T1,Tn間で実行される決済処理の一例を示すフローチャートである。この図2は、モバイル端末T1,Tn間で取引金額の支払と受領がなされ、その後、受領者のモバイル端末Tnとサーバ装置2との間で通信が実行されるまでの処理の例を示している。
また、図3から図5は、モバイル端末T1,Tn間で実行される決済処理における画面遷移状態の例を示す図である。
ステップS201において、支払者のモバイル端末T1は、決済部B1の動作にしたがって図3で例示するような画面i1を表示し、支払者による支払ボタンb1の指定(押下)を受け付ける。支払者のモバイル端末T1は、支払ボタンb1が指定されると、図3で例示するような取引金額(支払金額)を入力する画面i2を表示する。支払者のモバイル端末T1は、取引金額を受け付ける。
ステップS202において、支払者のモバイル端末T1は、支払者から取引金額を受け付け、支払者による決定ボタンb2の指定を受け付けた場合に、図3で例示するような2次元コード17を含む画面i3を表示する。なお、モバイル端末T1は、支払者から取引金額を受け付け、決定ボタンb2が指定された後に、さらに確認ボタンを表示し、この確認ボタンが指定された場合に、2次元コード17を含む画面i3を表示してもよい。
2次元コード17が表示されると、ステップS203において、支払者のモバイル端末T1は、支払者のアカウント情報A1で管理されている支払者のアカウントの残金から取引金額を減額する。
ステップS204において、受領者のモバイル端末Tnは、決済部Bnの動作にしたがって図4で例示するような画面i1を表示する。画面i1には、受領者の複数のアカウントに対応する複数の受領ボタンが含まれている。受領者のモバイル端末Tnは、画面i1における複数の受領ボタンのうちのいずれかの受領ボタンb3に対する受領者の指定を受け付ける。すると、受領者のモバイル端末Tnは、2次元コード17を読み取るための処理(撮影モード)を実行し、2次元コード17の読み取りを促す画面i4を表示する。受領者のモバイル端末Tnは、2次元コード17を読み取るために、例えば、受領者のモバイル端末Tnの撮影部15によって支払者のモバイル端末T1の表示部14に表示されている2次元コード17を撮影する。
ステップS205において、受領者のモバイル端末Tnは、読み取られた2次元コード17の示す取引情報を解釈し、2次元コード17の示す取引情報に含まれている取引金額(受領金額)の確認を促す確認ボタン画面を表示する。
ステップS206において、受領者のモバイル端末Tnは、受領者によって取引金額の確認ボタンの指定を受け付けた場合に、受領者のアカウント情報Anで管理されている受領者の仮アカウントの残金に取引金額を加算する。
ステップS207において、受領者のモバイル端末Tnは、取引金額の受領を成功した場合には、受領成功を示す画面を表示し、取引金額の受領を失敗した場合には、受領失敗の示す画面を表示する。
支払者は、受領者のモバイル端末Tnで表示されている画面が、受領成功を示すか、又は、受領失敗を示すか、を確認する。
ステップS208において、支払者のモバイル端末T1は、図5に例示するような完了/再表示ボタンを含む画面i3を表示し、支払者が受領者のモバイル端末Tnにおいて取引金額の受領が成功していることを確認した場合に、支払者から完了ボタンb4の指定を受け付け、2次元コード17を消去する。他方、支払者のモバイル端末T1は、支払者が受領者のモバイル端末Tnにおいて取引金額の受領が失敗したことを確認した場合に、支払者から再表示ボタンb5の指定を受け付け、図5に例示するような2次元コード17を再表示するための再表示画面i5を表示する。2次元コード17を再表示する場合、支払者のモバイル端末T1は、例えば、2次元コード17の色を変える、又は、再表示であることを明示するなど、受領者が再表示された2次元データ17に基づく取引であることを明確かつ容易に把握できるように再表示画面i5を表示する。2次元コードが再表示された場合には、処理は、ステップS204へ戻る。
ステップS209において、受領者のモバイル端末Tnは、サーバ装置2と通信を行う。
すると、ステップS210において、受領者のモバイル端末Tnは、受領者のアカウント情報Anで管理されている受領者のアカウントの残金に取引金額を加算し、受領者の仮アカウントの残金から取引金額を差し引く。
図6は、モバイル端末T1,Tn間の取引によって発生するアカウントの残高の変化の例を示す図である。
図6のパターンAは、モバイル端末T1,Tn間の取引の後、受領者のモバイル端末Tnが支払者のモバイル端末T1より先にサーバ装置2と通信する場合のアカウントの変化状態の一例を示す。
まず、ステップA−1において、支払者のモバイル端末T1の決済部B1は、取引金額がXXXであることを示す取引情報を含む2次元コード17を表示部14に表示し、支払者のアカウント情報A1によって管理されている支払者のアカウントの残金からXXXを差し引く。また、受領者のモバイル端末Tnの決済部Bnは、取引金額がXXXであることを示す取引情報を含む2次元コード17を読み取り、取引情報にしたがって受領者のアカウント情報Anによって管理されている受領者の仮アカウントの残金にXXXを加算する。
次に、ステップA−2において、受領者のモバイル端末Tnの決済部Bnは、サーバ装置2の管理部61に、取引情報を含む受領情報を送信する。すると、受領者のモバイル端末Tnの決済部Bnは、受領者のアカウント情報Anで管理されている受領者の仮アカウントの残金からXXXを差し引き、受領者のアカウントの残金にXXXを加算する。加えて、サーバ装置2の管理部61は、取引情報に基づき、アカウント情報8で管理されている支払者のアカウントの残金からXXXを差し引き、受領者のアカウントの残金にXXXを加算する。
次に、ステップA−3において、支払者のモバイル端末T1の決済部B1は、サーバ装置2の管理部61に、取引情報を含む支払情報を送信する。すると、サーバ装置2の管理部61は、例えば、先に受領者のモバイル端末Tnの決済部Bnから受信した取引情報と、支払者のモバイル端末T1の決済部B1から受信した取引情報とを比較し、整合性を判断する。
図6のパターンBは、モバイル端末T1,Tn間の取引の後、支払者のモバイル端末T1が受領者のモバイル端末Tnより先にサーバ装置2と通信する場合のアカウントの変化状態の一例を示す。
ステップB−1は、上記のステップA−1と同様である。
次に、ステップB−2において、支払者のモバイル端末T1の決済部B1は、サーバ装置2の管理部61に、取引情報を含む支払情報を送信する。すると、サーバ装置2の管理部61は、取引情報に基づき、アカウント情報8で管理されている支払者のアカウントの残金からXXXを差し引き、仮アカウントにXXXを記帳する(追加する)。
次に、ステップB−3において、受領者のモバイル端末Tnの決済部Bnは、サーバ装置2の管理部61に、取引情報を含む受領情報を送信する。すると、受領者のモバイル端末Tnの決済部Bnは、受領者のアカウント情報Anで管理されている受領者の仮アカウントの残金からXXXを差し引き、受領者のアカウントの残金にXXXを加算する。加えて、サーバ装置2の管理部61は、取引情報に基づき、アカウント情報8で管理されている仮アカウントの残金からXXXを差し引き、受領者のアカウントの残金にXXXを加算する。
この図6において、支払者のモバイル端末T1と受領者のモバイル端末Tnとの間の取引は、サーバ装置2と通信することなくモバイル端末T1,Tnの間で実行されるが、サービス提供者の運営するサーバ装置2は、支払者と受領者とのアカウントを管理するため、できるたけ速やかに、サーバ装置2で管理しているアカウント情報8に対して支払者と受領者との間の取引の内容を反映させることが好ましい。
本実施形態において、受領者は、受領者のモバイル端末Tnとサーバ装置2との間で通信を実行させるまで、仮アカウントの資金を使うことができない。また、受領者が、例えば取引から1ヶ月などの所定期間が経過するまでに、サーバ装置2と受領者のモバイル端末Tnとの間で通信を実行しない場合には、受領者の仮アカウントの残金が払い戻しとなる。したがって、受領者はできる限り早くサーバ装置2側の受領者のアカウントを更新したいと考える。
また、本実施形態において、受領者は、支払者に商品を販売した販売者又は支払者に対してサービスを提供した提供者の場合が多く、決済の取引を行った国においてビジネスをしている者の場合が多い。この場合、受領者は、モバイル端末Tnを用いてネットワーク3を通じてサーバ装置2と通信する機会が多く、通信コストも低いと考えられる。
以上のような事情から、本実施形態においては、少なくとも受領者には、速やかに受領者のモバイル端末Tnとサーバ装置2との間で通信を実行させるインセンティブを与えることができ、サーバ装置2のアカウント情報8を速やかに更新させることができる。
図7は、2次元コード17の一例を示す図である。
2次元コード17は、取引情報20、取引情報のハッシュ値21、支払者ID23を含む。
取引情報20は、通貨ID、取引金額、取引ID、タイムスタンプ22を含む。タイムスタンプ22は、支払者のモバイル端末T1の時計機能などによりモバイル端末T1,Tn間の取引時に生成される時刻情報であり、2次元コード17の生成時刻、又は、2次元コード17が支払者のモバイル端末T1から受領者のモバイル端末Tnへ提供された時刻を表す。このタイムスタンプ22は、モバイル端末T1,Tn間の取引から所定時間経過しているか否かの判断に用いられる。
取引情報のハッシュ値21は、秘密情報9をソルト(salt)として用いてハッシュ関数により取引情報20をハッシュ化した値である。
支払者ID23は、支払者を識別するための情報である。受領者のモバイル端末Tnは2次元コード17に含まれる支払者ID23を認識可能でなくてもよいため、2次元コード17に含まれる支払者ID23は暗号化されていてもよい。
図8は、受領者のモバイル端末Tnからサーバ装置2へ送信される受領情報18の一例を示す図である。
受領情報18は、取引情報20、取引情報のハッシュ値21、支払者ID23、受領者ID24を含む。受領情報18に含まれる支払者ID23は暗号化されていてもよい。
受領情報18に含まれる取引情報のハッシュ値21としては、受領者のモバイル端末Tnが支払者のモバイル端末T1から取得した2次元コード17に含まれている取引情報のハッシュ値21が用いられてもよく、受領者のモバイル端末Tnが2次元コード17に含まれている取引情報20と記憶部Mnに記憶されている秘密情報9とに基づいて算出した比較用の取引情報のハッシュ値が用いられてもよい。
サーバ装置2の管理部61は、受領者のモバイル端末Tnから受領情報18を受信すると、まず、受領情報18に含まれている取引情報20と、サーバ装置2の記憶部4に記憶されている秘密情報9とに基づいてサーバ算出のハッシュ値を算出する。そして、サーバ装置2の管理部61は、受領情報18に含まれている取引情報のハッシュ値21とサーバ算出のハッシュ値とが一致している場合に、受領情報18に含まれている取引情報20に基づいて記憶部4に記憶されているアカウント情報8を更新する。
アカウント情報8の更新において、サーバ装置2の管理部61は、アカウント情報8で管理されている受領者のアカウントの残高を計算する。そして、サーバ装置2の管理部61は、アカウント情報8で管理されている受領者のアカウントの残高と、受領者のモバイル端末Tnのアカウント情報Anで管理されている受領者のアカウントの残高とが一致する場合、正当と判断し、不一致の場合、不当と判断する。サーバ装置2の管理部61は、正当と判断された場合に、アカウント情報8を更新する。
図9は、支払者のモバイル端末Tnからサーバ装置2へ送信される支払情報19の一例を示す図である。
支払情報19は、取引情報20、取引情報のハッシュ値21、支払者ID23を含む。 支払情報19に含まれる取引情報のハッシュ値21としては、2次元コード17の生成時に算出された取引情報のハッシュ値21が用いられてもよい。
サーバ装置2の管理部61は、支払者のモバイル端末T1から支払情報19を受信すると、まず、支払情報19に含まれている取引情報20と、サーバ装置2の記憶部4に記憶されている秘密情報9とに基づいてサーバ算出のハッシュ値を算出する。そして、サーバ装置2の管理部61は、支払情報19に含まれている取引情報のハッシュ値21とサーバ算出のハッシュ値とが一致している場合に、支払情報19に含まれている取引情報20に基づいて記憶部4に記憶されているアカウント情報8を更新する。
アカウント情報8の更新において、サーバ装置2の管理部61は、アカウント情報8で管理されている支払者のアカウントの残高を計算する。そして、サーバ装置2の管理部61は、アカウント情報8で管理されている支払者のアカウントの残高と、支払者のモバイル端末T1のアカウント情報A1で管理されている受領者のアカウントの残高とが一致する場合、正当と判断し、不一致の場合、不当と判断する。サーバ装置2の管理部61は、正当と判断された場合に、アカウント情報8を更新する。
決済システム1において、利用者は支払者としてモバイル端末を使用する場合もあり、受領者としてモバイル端末を使用する場合もあると考えられる。
受領者として取引を行う場合、モバイル端末Tnの決済部Bnは、モバイル端末T1,Tn間の取引時に、受領者のアカウント情報Anで管理されている仮アカウントへ取引金額を加算し(上記図6のA−1及びB−1)、モバイル端末Tnとサーバ装置2との間で通信実行時に、受領者のアカウント情報Anで管理されている仮アカウントから、受領者のアカウント情報Anで管理されている受領者のアカウントへ取引金額を振り替える(上記図6のA−2及びB−3)。
支払者として取引を行う場合、モバイル端末T1の決済部B1は、取引の際に、支払者のアカウント情報A1で管理されている支払者のアカウントから支払金額を引いているため(上記図6のA−1及びB−1)、支払者のモバイル端末T1とサーバ装置2とが通信する際に支払者のモバイル端末T1の決済部B1は、支払者のアカウント情報A1で管理されている支払者のアカウントの変更を行う必要はない。
サーバ装置2の管理部61は、モバイル端末T1,Tn間の取引の後、受領者のモバイル端末Tnが支払者のモバイル端末T1よりも先にサーバ装置2と通信を実行した場合に、アカウント情報8で管理されている支払者のアカウントから受領者のアカウントへの取引金額を振り替える(上記図6のA−2)。
他方、サーバ装置2の管理部61は、モバイル端末T1,Tn間の取引の後、支払者のモバイル端末T1がサーバ装置2と通信を実行した場合に、アカウント情報8で管理されている支払者のアカウントから仮アカウントへ取引金額を振り替え(上記図6のB−2)、その後、受領者のモバイル端末Tnがサーバ装置2と通信を実行した場合に、アカウント情報8で管理されている仮アカウントから受領者のアカウントへ取引金額を振り替える(上記図6のB−3)。
このように、モバイル端末T1,Tnがサーバ装置2と通信すると、支払者のモバイル端末T1のアカウント残高、受領者のモバイル端末Tnのアカウント残高、サーバ装置2のアカウント残高は、不正又はエラーがない限り、整合する。
以下で、2次元コード17の安全性について説明する。
まず、2次元コード17の安全性確保の第1の例について説明する。
2次元コード17がコピーされ、当該コピーされた2次元コード17が再利用されることを防止するために、例えば、2次元コード17の取引情報20はタイムスタンプ22を含むとする。換言すると、決済部B1は、2次元コード17に生成時刻を含める。そして、受領者のモバイル端末Tnの決済部Bnは、取引情報20のタイムスタンプ22が、当該受領者のモバイル端末Tnの時計機能から得られる時刻情報を基準として定まる許容範囲に属する場合に、2次元コード17が正当と判断し、タイムススタンプ22が許容範囲に属さない場合に、2次元コード17が不当と判断する。また、タイムスタンプ22を用いる場合であっても、支払者が複数の受領者と共謀し、ほぼ同時に同じ内容の2次元コード17を提示することも考えられる。この場合、サーバ装置2は、最初にサーバ装置2と通信した受領者のモバイル端末のみが正当な受領者のモバイル端末Tnであると判断することにより、2次元コード17の重複利用を防止する。
次に、2次元コード17の安全性確保の第2の例について説明する。
2次元コード17が正当なアプリ10によって生成されていることを検出するために、例えば、2次元コード17は暗号情報を含むとする。例えば、悪意を持つ支払者が2次元コードを表示するだけのプログラムを作成し利用した場合であっても、受領者が不正に生成された2次元コードを検出し排除する必要がある。2次元コード17が、通貨ID、取引金額、取引ID、タイムスタンプ22などを含む取引情報20を含む単純な内容であり、受領者が認識可能な情報によって表示される場合に、2次元コード17が模倣されることを防止する必要がある。例えば、悪意のある利用者が過去に他の支払者が表示した2次元コード17をコピーし、取引情報20のタイムスタンプ22のみ変更して不当な2次元コード17を生成した場合に、この不当な2次元コード17を検出し、排除する必要がある。本実施形態においては、不当に生成された2次元コード17を検出するため、固有の暗号情報を使う。本実施形態においては、2次元コード17が正当なアプリ10によって生成されていることを検出するために、アプリ10しか知り得ない暗号情報を使って、支払者のアプリ10と受領者のアプリ10とが機械的に2次元コード17をチェックする。暗号情報を2次元コード17に含める場合には、表示された2次元コード17のコピーによる再利用を防ぐこと、暗号情報が模倣されないことが必要となる。前者については、タイムスタンプ22を含む取引情報20のハッシュ値を算出することにより、暗号情報を時刻とともに変化させ、再利用を防止する。後者については、まず、管理プログラム7が秘密情報9を生成し、管理プログラム7とアプリ10とが秘密情報9を共有し、この秘密情報9をソルトとして用い、通貨ID、取引金額、取引ID、タイムスタンプ22を含む取引情報20をハッシュ化した暗号情報を取引情報20に関連付ける。アプリ10は、互いに関連する取引情報20と暗号情報とに基づいて2次元コード17を生成する。これにより、2次元コード17に含まれる取引情報20が正当なアプリ10によって生成されていることを証拠づけることが可能である。
秘密情報9は、サーバ装置2で生成され、利用者のアプリ10がサーバ装置2と通信した際にアプリ10に共有される。モバイル端末T1,Tnは、利用者がアクセスできない形で秘密情報9を記憶部M1,Mnに記憶する。支払者のモバイル端末T1は、取引情報20を秘密情報9を用いてハッシュ化した取引情報のハッシュ値21を含む暗号情報を取引情報20とともに受領者のモバイル端末Tnへ渡す。受領者のモバイル端末Tnは、受けた取引情報20とモバイル端末Tnに記憶されている秘密情報9とから取引情報の比較用の取引情報のハッシュ値を算出し、比較用の暗号情報を生成する。そして、受領者のモバイル端末Tnは、支払者のモバイル端末T1から受けた2次元コード17の暗号情報と受領者のモバイル端末Tnで生成された比較用の暗号情報とが一致し、さらに、取引情報20のタイムスタンプ22が受領者のモバイル端末Tnの持つ時刻情報を基準として定まる許容範囲に属する場合に、2次元コード17を正当と判断する。他方で、受領者のモバイル端末Tnは、2次元コード17の暗号情報と受領者のモバイル端末Tnで生成された比較用の暗号情報とが不一致であるか、又は、取引情報20のタイムスタンプ22が許容範囲に属さない場合に、2次元コード17の改ざんを検出する。
ハッシュ値から秘密情報9を逆算することは極めて困難であり、もし逆算可能としてもハッシュ値から秘密情報9を算出するには時間がかかる。そこで、本実施形態においては、秘密情報9を所定時間が経過するごとに変更することで、ハッシュ値から秘密情報9が算出された場合であっても2次元コード17の正当性を確保する。例えば、秘密情報9を1ヶ月に一度変更すると、利用者のモバイル端末T1,Tnは最低月に一度はサーバ装置2と通信する必要がある。あまり頻繁にサーバ装置2と通信することが必要であると、利用者(特に支払者側)の負担となる。このため、秘密情報9の更新は例えば1ヶ月に一度程度としてもよい。
ハッシュ化された情報を解読するには膨大な時間を必要とするため、秘密情報9を所定期間経過するたびに更新させることで、十分に秘密性を確保することができる。複数の秘密情報9を用いて暗号情報を生成した場合には、さらに暗号情報の解読を困難にすることができ、2次元コード17の安全性を確保することができる。
本実施形態において、秘密情報9は、例えば、各月最初にモバイル端末T1,Tnがアプリ10(決済部B1,Bn)を用いてサーバ装置2との通信を実行した時に、サーバ装置2から送信され、モバイル端末T1,Tnに受信され、モバイル端末T1,Tnの記憶部M1,Mnのセキュリティ確保エリアに記憶される。時刻情報は、支払者のモバイル端末T1と受領者のモバイル端末Tnのズレを考慮してある程度の間隔(例えば30秒)ごとに変化するような数値としてもよい。例えば、モバイル端末T1,Tnは、時刻情報の比較において前後の所定単位の違いを許容するとしてもよい。なお、取引を行うモバイル端末T1,Tn間で時刻情報を同期する機能をアプリ10(決済部B1,Bn)が備えるとしてもよい。
次に、2次元コード17の安全性確保の第3の例について説明する。
受領者のモバイル端末Tnが2次元コード17の読み取りに失敗した場合、あるいは受領者が複数回2次元コード17の読み取りを実行した場合の対策が必要となる。本実施形態において、アプリ10は、支払者のモバイル端末T1が2次元コード17を生成する際、取引IDを発行し、必要に応じて同一の取引IDの2次元コード17を再表示する機能を持つ(上記図2のステップS208における2次元コード17の再表示に相当)。同一の取引IDの2次元コード17を再表示する場合、支払者のモバイル端末T1の決済部B1は、支払者のアカウント情報A1で管理されている支払者のアカウントから残高を減額せず、また受領者のモバイル端末Tnの決済部Bnは同一の取引IDの2次元コード17を読み取った場合、受領者のアカウント情報Anで管理されている受領者の仮アカウントの残高を変更しない。
次に、2次元コード17の安全性確保の第4の例について説明する。
上記図2のステップS203において、支払者のモバイル端末T1の決済部B1は、2次元コード17を表示部14に表示した段階で、支払者のアカウント情報A1によって管理されている支払者のアカウントから取引金額を減額する。この段階では、受領者へ資金を引き渡すことなく、支払者が単独で支払者のアカウントの残高を減額した状態となる。本実施形態においては、上述のように、受領者のモバイル端末Tnが取引から所定の期間(例、1ヶ月)内にサーバ装置2へ通信しない場合には、当該取引に対して、支払者のアカウントから減額された取引金額を払い戻す処理が実行され、支払者のアカウントの残金が復帰される。これにより、アカウント情報A1,An,8の整合を確保することができる。
以上のように、本実施形態において、2次元コード17の安全性は確保され、例えば悪意の利用者による不適切な操作が取引に影響を与えることを防止することができる。
以下で、モバイル端末T1,Tn内のデータ偽造の防止について説明する。
本実施形態においては、モバイル端末T1,Tnの記憶部M1,Mn内にアカウント情報A1,Anが記憶される。このため、アカウント情報A1,Anの保護が重要であり、アカウント情報A1,Anが偽造されることを防止する必要がある。
本実施形態において、モバイル端末T1,Tnに備えられる記憶部M1,Mnは、例えば、セキュリティ確保エリアを持つ。セキュリティ確保エリアに記憶されているデータに対するアプリ10ではない他のプログラムからの読み出しは制限される。アカウントの残高及び取引情報を含むアカウント情報A1,Anは、例えば、暗号化され、この暗号化されたアカウント情報A1,Anが、モバイル端末T1,Tnのセキュリティ確保エリアに記憶される。これにより、アカウント情報A1,Anの偽造を防止することができる。
さらに、本実施形態においては、秘密情報9を用いてモバイル端末T1,Tnのデータ偽造防止が図られる。
利用者がモバイル端末T1,Tnに記憶されているアカウント情報A1,Anの偽造(例えば残高を増加するなど)を防止するために、例えば、アプリ10(支払者の決済部B1)は、支払を行う前に、アカウント残高の正当性をチェックする機能を備える。
図10は、支払者のモバイル端末T1の記憶部M1に記憶されるアカウント情報A1の変化の一例を示すブロック図である。この図10では、上から下の順でデータが記憶されている。
記憶部M1は、セキュリティ確保エリアMS1と準セキュリティ確保エリアMS2とを含む。セキュリティ確保エリアMS1には、秘密情報9が記憶される。準セキュリティ確保エリアMS2には、アカウント情報A1が記憶される。
図10の例において、支払者の決済部B1は、まず、支払者のモバイル端末T1とサーバ装置2とが通信した際に、支払者のアカウントの残高X0と、当該残高X0と秘密情報9とを組み合わせて算出されたハッシュ値HX0とを関連付けてアカウント情報A1に記憶する。
次に、支払者の決済部B1は、モバイル端末T1,Tn間の取引(支払者の支払)直前に、支払者のアカウントの残高X0と秘密情報9とを組み合わせて比較用のハッシュ値を算出し、先に算出されたハッシュ値HX0と比較用のハッシュ値とを比較する。比較の結果が一致する場合、支払者の決済部B1は、支払者のアカウントの残高X0は正当と判断する。
支払者の決済部B1は、支払者のアカウントの残高X0が正当である場合に、取引情報Y1と秘密情報9とを組み合わせて取引情報のハッシュ値HY1を算出する。そして、支払者の決済部B1は、取引情報Y1と、取引情報のハッシュ値HY1とを関連付けてアカウント情報A1に記憶する。そして、支払者の決済部B1は、取引情報Y1、取引情報のハッシュ値HY1に基づいて生成された2次元コード17を表示部14に表示し、取引情報を受領者のモバイル端末Tnに渡す。
取引により、支払者の決済部B1は、アカウントの残高X0から取引情報Y1に含まれる取引金額を差し引いた新規の支払者のアカウントの残高X1を算出する。支払者の決済部B1は、支払者の新規のアカウントの残高X1と、当該残高X1と秘密情報9とを組み合わせて算出されたハッシュ値HX1とを関連付けてアカウント情報A1に記憶する。
その後、同様にアカウント情報A1は更新される。
例えば、アカウント情報A1において、アカウントの残高Xnとハッシュ値HXnとが関連付けられている状態で、支払者のモバイル端末T1とサーバ装置2とが通信を行うと、サーバ装置2の管理部61は、サーバ装置2のアカウント情報8で管理されている支払者の残高と、支払者のモバイル端末T1のアカウント情報A1で管理されている支払者の残高とを比較し、一致するか否か判断し、支払者のアカウントの残高が整合しているか否か判断する。
そして、支払者の決済部B1は、支払者のモバイル端末T1とサーバ装置2とが通信したため、支払者の新規のアカウントの残高Z0と、当該残高Z0と秘密情報9とを組み合わせて算出されたハッシュ値HZ0とを関連付けてアカウント情報A1に記憶する。
なお、本実施形態において、支払者の決済部B1は、支払者のアカウントの残高を超える取引金額が発生することを防止するために、支払者のアカウントの残高が取引金額よりも大きい場合に取引を許可する機能を含むとしてもよい。
上記の図10では、支払者のモバイル端末T1の記憶部M1のアカウント情報A1の変化を例にデータを保護する仕組みを説明しているが、受領者のモバイル端末Tnの記憶部Mnのアカウント情報Anについても同様の仕組みを適用可能である。ただし、受領の場合は受領者のアカウントの変化は仮アカウントのみであり、仮アカウントの状態が受領者のアカウントへ振り替えられるのは受領者のモバイル端末Tnがサーバ装置2と通信した時であり、かつ、この場合は受領者のモバイル端末Tnとサーバ装置2との間で取引及び残高の整合性チェックが実行される。したがって、アカウント残高(例えばXn)に対応するハッシュ値(例えばHXn)をチェックし、新たに算出することは、支払を行う前後だけでよい。
図11は、本実施形態の決済システム1で実行される決済処理の流れの概略を例示するブロック図である。この図11では、説明を簡略化するため、サーバ装置2、管理部61、モバイル端末T1,Tn、決済部B1,Bnを図示しており、他の構成要素については省略している。
第1の状態C−1において、モバイル端末T1,Tnの決済部B1,Bnは、所定の期間ごとに、サーバ装置2の管理部61から秘密情報9を受信する。例えば、モバイル端末T1,Tnの決済部B1,Bnは、各月において最初にサーバ装置2の管理部61と通信する際に、サーバ装置2の管理部61から秘密情報9を受信する。モバイル端末T1,Tnの決済部B1,Bnは、サーバ装置2から受信した秘密情報9を記憶部M1,Mnに記憶する。記憶部M1,Mnに記憶されている秘密情報9は同一である。上述したように、サーバ装置2の管理部61は、同じ時期に複数の秘密情報9をモバイル端末T1,Tnの決済部B1,Bnに送信し、モバイル端末T1,Tnの決済部B1,Bnは複数の秘密情報9を記憶部M1,Mnに記憶してもよいが、この図11では説明を簡略化するため、サーバ装置2の管理部61からモバイル端末T1,Tnの決済部B1,Bnへ同じ時期に送信される秘密情報9は、1つであるとする。
第2の状態C−2において、支払者のモバイル端末T1の決済部B1は、支払者から取引金額の指定を受け付けると、アカウント情報A1で管理されている支払者の現在のアカウントの残高のハッシュ値を算出する。支払者のモバイル端末T1の決済部B1は、支払者の現在のアカウントの残高のハッシュ値と、アカウント情報A1で管理されており先に算出されていたハッシュ値とが一致する場合、支払者の現在のアカウントの残高が取引金額以上か判断する。支払者のモバイル端末T1の決済部B1は、ハッシュ値が一致しない場合、又は、支払者の現在のアカウントの残高が取引金額以上ではない場合には、取引不当と判断する。
支払者のモバイル端末T1の決済部B1は、ハッシュ値が一致し、さらに、支払者の現在のアカウントの残高が取引金額以上の場合、2次元コード17を表示部14に表示する。
支払者のモバイル端末T1の決済部B1は、2次元コード17の表示とともに、支払者のアカウント情報A1で管理されている支払者のアカウントの残高から取引金額を引き算する。
受領者のモバイル端末Tnの撮影部15は、2次元コード17を読み取る。
受領者のモバイル端末Tnの決済部Bnは、2次元コード17の解釈を行い、記憶部Mnに記憶されている秘密情報9と2次元コード17に含まれていた取引情報20とに基づいて比較用の取引情報のハッシュ値を算出する。そして、受領者のモバイル端末Tnの決済部Bnは、2次元コード17に含まれていた取引情報のハッシュ値21と比較用の取引情報のハッシュ値とが一致し、さらに、取引情報20に含まれているタイムスタンプ22が受領者のモバイル端末Tnの持つ時刻情報から許容範囲内に属する場合、受領者のアカウント情報Anによって管理されている仮アカウントの残高に、2次元コード17に含まれる取引情報20の示す取引金額を加える。受領者のモバイル端末Tnの決済部Bnは、ハッシュ値が一致しない場合、又は、タイムスタンプ22が許容範囲内ではない場合、取引を中止し、取引を中止したことを示す情報を表示部14に表示する。
なお、受領者のモバイル端末Tnの決済部Bnは、サーバ装置2と通信し、取引の正当性が確認された場合に、受領者のアカウント情報Anによって管理されている受領者の仮アカウントの残高を、受領者のアカウントへ振り替える処理を実行する。
第3の状態C−3において、支払者のモバイル端末T1の決済部B1からサーバ装置2の管理部61へ支払情報19が送信されると、サーバ装置2の管理部61は、記憶部4に記憶されている秘密情報9と支払情報19に含まれていた取引情報20とに基づいて比較用の取引情報のハッシュ値を算出する。そして、サーバ装置2の管理部61は、支払情報19に含まれていた取引情報のハッシュ値21と比較用の取引情報のハッシュ値とを比較する。
同様に、受領者のモバイル端末Tnの決済部Bnからサーバ装置2の管理部61へ受領情報18が送信されると、サーバ装置2の管理部61は、記憶部4に記憶されている秘密情報9と受領情報18に含まれていた取引情報20とに基づいて比較用の取引情報のハッシュ値を算出する。そして、サーバ装置2の管理部61は、受領情報18に含まれていた取引情報のハッシュ値21と比較用の取引情報のハッシュ値とを比較する。
サーバ装置2の管理部61は、比較の結果が一致しないことを示す場合、取引を中止し、取引を中止したことを示す情報を、支払者のモバイル端末T1の決済部B1及び受領者のモバイル端末Tnの決済部Bnに送信する。
サーバ装置2の管理部61は、比較の結果が一致することを示す場合、サーバ装置2のアカウント情報8が管理している支払者のアカウントから受領者のアカウントへ取引金額を振り替える処理を実行する。振り替え処理では、支払者のアカウントから仮アカウント経由で受領者のアカウントへ、取引金額を振り替える場合もある。
さらに、サーバ装置2の管理部61は、サーバ装置2のアカウント情報8で管理されている支払者のアカウントの残高と、支払者のモバイル端末T1で管理されている支払者のアカウントの残高とを比較し、及び、サーバ装置2のアカウント情報8で管理されている受領者のアカウントの残高と、受領者のモバイル端末Tnで管理されている受領者のアカウントの残高とを比較する。
サーバ装置2の管理部61は、残高の比較の結果が一致することを示す場合、取引が正当であると判断する。
サーバ装置2の管理部61は、残高の比較の結果が一致しないことを示す場合、取引が不当であると判断し、取引を中止し、取引を中止したことを示す情報を支払者のモバイル端末T1及び受領者のモバイル端末Tnに送信する。
図12は、モバイル端末T1,Tnにおける入出金時の画面遷移状態の例を示す図である。
画面i1には、利用者の各通貨のアカウントの残金、支払ボタン、受領ボタンが含まれている。さらに、画面i1には、入出金を指示するための入出金ボタンb6が含まれている。利用者は、入出金を行う場合、この入出金ボタンb6を指定する。すると、モバイル端末T1,Tnに、例えば銀行又はクレジットカード会社などの入出金先を指定する画面i6が表示される。本実施形態において、銀行口座に対する入出金が可能であり、クレジットカードを用いた入出金が可能であり、コンビニエンスストアによって提供されるサービスを用いた入出金にも対応しているとする。このため、本実施形態の決済システム1は、銀行のシステム、クレジットカード会社のシステム、コンビニエンスストアのシステムとAPIを用いて互いに協働可能とする。
図13は、外国為替取引用の画面への遷移を例示する図である。
モバイル端末T1,Tnは、サーバ装置2と通信することで、外国為替取引を行うとしてもよい。
本実施形態において、アプリ10は、外国為替取引用のソフトウェアと連携可能としてもよい。画面i1には、外国為替取引用の画面へ移ることを指示するためのFX取引ボタンb7が含まれている。FX取引ボタンb7が利用者によって指定されると、外国為替取引の操作を受け付ける画面i7が表示される。
利用者は、モバイル端末T1,Tnのアカウント情報A1,Anで管理されている各通貨間のアカウントの残高を、外国為替取引を通じて振り替えることができる。
モバイル端末T1,Tnは、利用者の操作にしたがって売買通貨の指定を受け付け、例えば、円を米国ドルへ変換する取引、又は、米国ドルをユーロへ変換する取引などを行う。
決済システム1のバックエンドは、所定の期間(プール期間、例30分)毎の利用者の外国為替取引をまとめ、ネットポジションのみを外国為替取引のサービス提供者のシステムへ送り、サービス提供者のシステムに外国為替取引を実行させるとしてもよい。
決済システム1は、外国為替取引のマーケット状況により、利用者に提示するビッドレート、オファーレート、スプレッドを調整してもよく、ネットポジションを生成する所定の期間を調整してもよい。決済システム1による決済サービスの導入当初は利用者が少ないため、所定の期間を長く取り、スプレッドを広めとしてもよく、利用者の増加にしたがって徐々に所定の期間を短く、スプレッドを狭くしてもよい。
外国為替取引に関しては、決済システム1による決済サービスを提供する事業者を介することなく、利用者が外国為替取引のサービス提供者のシステムに直接アクセスしてもよい。
以上説明した本実施形態においては、支払者と受領者の間の金額の取引(決済)から所定の時間内に受領者のモバイル端末Tnとサーバ装置2との間で通信を行う必要があるが、支払者と受領者の間の取引時にはモバイル端末T1,Tnとサーバ装置2とが通信していない状態であっても、モバイル端末T1,Tn間で取引を行うことができる。
本実施形態においては、モバイル端末T1,Tnに備えられているアプリ10を用いて、モバイル端末T1,Tn間で決済を実現するため、特別な装置を用いる必要がない。
本実施形態においては、アカウント情報A1,An,8は複数の通貨を管理してもよく、銀行の口座又はクレジットカード等により入出金可能である。
本実施形態に係る決済システム1は、旅行者等の利用者に対して、現金又はカードを用いる決済に代えて、便利でコストの低い決済サービスを提供することができ、利用者の利便性を向上させることができる。例えば、外国に到着後にタクシー代などを決済する場合、利用者は、現金(例えば紙幣又はコイン)による決済、国際ブランド付きカードによる決済などを利用することができる。しかしながら、現金による決済は面倒かつ両替手数料などのコストが高い。カードによる決済は特殊なカード決済端末とネットワークとを必要とし、例えば加盟店などの受領者が決済用の特殊な設備を持つ必要がある。これに対して、本実施形態に係る決済システム1を用いる場合には、モバイル端末T1,Tnにアプリ10をインストールし、起動したアプリ10を操作することで、どこでも、誰とでも、簡易に決済可能である。
本実施形態に係る決済システム1においては、アカウント情報A1,An,8を更新するのみで紙幣又はコインを用いないため、キャッシュレス化を推進することができる。
本実施形態に係る決済システム1においては、モバイル端末T1,Tn間での取引情報がサーバ装置2に集約されるため、取引内容(例えば、取引相手と取引金額)をトレースすることが現金取引の場合よりも容易である。
本実施形態においては、モバイル端末T1,Tnのうちの少なくとも一方がサーバ装置2と通信不可の環境においても、モバイル端末T1,Tn間で決済を行うことができる。
なお、本実施形態においては、2次元コード17の表示と読み取り(撮影)とによりモバイル端末T1,Tn間の決済のためのデータをやり取り(提供・取得)する場合を例として説明しているが、例えば、各種の無線通信、近距離無線通信、赤外線通信、サーバ装置2ではない他のサーバ装置を用いる通信、電子メールによる送受信など他の手法を用いてモバイル端末T1,Tn間でデータをやり取りしてもよい。
本実施形態においては、2次元コード17に代えて、例えば1次元コード、暗号化された情報など他の形式のデータがモバイル端末T1,Tn間でやり取りされてもよい。
本実施形態において、支払者のモバイル端末T1は、2次元コード17を表示した後、支払者が完了ボタンb4を指定しない場合には、所定時間経過後に2次元コード17を自動で消去するとしてもよい。これにより、2次元コード17が表示された状態が維持され、受領者ではない他の第三者のモバイル端末で2次元コード17が読み取られるなどの危険を回避することができる。
本実施形態において、受領者のモバイル端末Tnが2次元コード17の読み取りを失敗し、支払者のモバイル端末T1において再表示ボタンb5の指定が受け付けられた場合、支払者のモバイル端末T1は、先に表示された2次元コード17と同じ2次元コード17を再表示してもよく、新たなタイムスタンプを含む取引情報のハッシュ値を再計算して、新たなタイムスタンプを含む取引情報と再計算されたハッシュ値とを用いて更新された2次元データを表示してもよい。新たなタイムスタンプを含む取引情報を用いて更新された2次元データを用いることにより、時間が経過して受領者のモバイル端末Tnにおいて時刻情報が変化した場合であっても決済可能とすることができる。このように、新たなタイムスタンプを含む取引情報を用いて更新された2次元データを表示する場合においても、更新された2次元データの表示に時間制限を設けることで、取引の安全性を高くすることができる。
本実施形態において、支払者のアカウント情報A1及び受領者のアカウント情報Anは、それぞれビジネス(パブリック)用のアカウントとプライベート用のアカウントとを管理するとしてもよい。例えば、決済部B1,Bnは、ビジネス用のアカウントに対して、利用者の認証が成功した場合に、入出金を自由に行うことができるとし、これにより収納代行サービスを実現してもよい。例えば、決済部B1,Bnは、プライベート用のアカウントに対して、払い戻しが認められない前払式の支払サービスを提供してもよい。利用者のプライベート用のアカウントに対して前払式の支払サービスを提供する場合、サービス提供者は、決済システム1を利用して、例えば、概算で発行保証金を計算し、また、必要であれば利用者のプライベート用のアカウントに対して残高の上限を設定してもよい。
(第2の実施形態)
本実施形態においては、上記第1の実施形態の変形例について説明する。
上記第1の実施形態では、支払者のモバイル端末T1が2次元コード17を表示し、受領者のモバイル端末Tnが表示された2次元コード17を読み取ることで取引情報20をやり取りする場合を例として説明している。
これに対して、本実施形態においては、受領者のモバイル端末Tnが2次元コード17を表示し、支払者のモバイル端末T1が2次元コード17を読み取ることで取引情報20をやり取りする場合について説明する。
受領者のモバイル端末Tnが2次元コード17を表示する場合、支払者のモバイル端末T1が表示された2次元コード17を読み取る。支払者のモバイル端末T1は、読み取った2次元コード17に含まれている取引情報20が正当か否か判断し、正当な場合に、支払者のアカウント情報A1を更新し、取引(支払)を許可する旨を示す2次元コードを表示する。受領者のモバイル端末Tnは、取引を許可する旨を示す2次元コードを読み取り、読み取った当該2次元コードが正当な場合に、受領者のアカウント情報Anを更新する。
以上説明したように、支払者のモバイル端末T1と受領者のモバイル端末Tnとの間の取引情報20のやり取りの方法は適宜変更可能である。
(第3の実施形態)
本実施形態においては、上記第1及び第2の実施形態の変形例について説明する。
上記各実施形態に係る決済システム1において、モバイル端末T1,Tnは、定期的にサーバ装置2と通信を行うことを利用者へ促す警告メッセージを発行するとしてもよい。これにより、モバイル端末T1,Tn間で取引が行われたのに、その取引情報20がサーバ装置2へ送信されず、取引が取り消しになることを防止することができる。
本実施形態において、サーバ装置2は、モバイル端末T1,Tnの間で取引が行われた時刻を、例えば、受領情報18の取引情報20に含まれているタイムスタンプ22、又は、支払情報19の取引情報20に含まれているタイムスタンプ22に基づいて検出する。
本実施形態において、取引が取り消され、取引金額を受領者のアカウントから支払者のアカウントへ払い戻す場合、決済システム1は、例えば、以下の第1から第3の払い戻し処理のいずれかを実行する。以下の第1から第3の払い戻し処理において、受領者のアカウント情報Anと管理サーバ2のアカウント情報8とは、受領者のアカウント、仮アカウントに加えて、別アカウントを管理するために用いられる。別アカウントは、受領者から支払者への取引金額の払い戻しに利用される。本実施形態において、別アカウントは、バックグラウンドで用いられるアカウントであり、利用者に存在を認識される必要はない。本実施形態において、別アカウントは、取引IDと関連付けて管理される。換言すれば、取引ごとに個別の別アカウントが用いられる。
第1の払い戻し処理は、取引後所定期間を経過するまでモバイル端末T1,Tnがサーバ装置2と通信を行わず、その後、受領者のモバイル端末Tnがサーバ装置2と通信し、さらにその後、支払者のモバイル端末T1がサーバ装置2と通信した場合に実行される。
第1の払い戻し処理においては、まず、取引から所定期間経過した時点で、受領者のモバイル端末Tnの決済部Bnが、受領者のアカウント情報Anで管理されている仮アカウントの取引金額を別アカウントへ移動する。
次に、受領者のモバイル端末Tnの決済部Bnがサーバ装置2の管理部61と通信した時点で、サーバ装置2の管理部61は、受領者のアカウント情報Anで管理されている別アカウントの取引金額が、サーバ装置2のアカウント情報8で管理されている別アカウントに反映されているか否か判断する。未反映の場合、サーバ装置2の管理部61は、受領者のアカウント情報Anで管理されている別アカウントの取引金額をサーバ装置2のアカウント情報8で管理されている別アカウントに反映し(追加し)、受領者のアカウント情報Anで管理されている別アカウントの取引金額を消去する。同時に、サーバ装置2の管理部61は、サーバ装置2のアカウント情報8で管理されている支払者のアカウントに取引金額を反映させない(減額しない)。
次に、支払者のモバイル端末T1の決済部B1がサーバ装置2の管理部61と通信した時点で、サーバ装置2の管理部61は、サーバ装置2のアカウント情報8で管理されている別アカウントに、払い戻しに対応する取引金額があるか判断する。この判断は、取引IDに基づいて行われる。支払者のモバイル端末T1の決済部B1は、払い戻しに対応する取引金額があると判断された場合に、サーバ装置2のアカウント情報8で管理されている別アカウントに基づいて、支払者のアカウント情報A1で管理されている支払者のアカウントを回復する(支払者のアカウント情報A1で管理されている支払者のアカウントに取引金額を加算する)。その後、サーバ装置2の管理部61は、サーバ装置2のアカウント情報8で管理されている別アカウントの取引金額を消去する。
第2の払い戻し処理は、取引後所定期間を経過するまでモバイル端末T1,Tnがサーバ装置2と通信を行わず、その後、支払者のモバイル端末T1がサーバ装置2と通信し、さらにその後、受領者のモバイル端末Tnがサーバ装置2と通信した場合に実行される。
第2の払い戻し処理においては、まず、取引から所定期間経過した時点で、受領者のモバイル端末Tnの決済部Bnが、受領者のアカウント情報Anで管理されている仮アカウントの取引金額を別アカウントへ移動する。
次に、支払者のモバイル端末T1の決済部B1がサーバ装置2と通信した時点で、サーバ装置2の管理部61は、取引から所定期間経過しているにもかかわらず、サーバ装置2が取引に対応するアカウント情報8の更新をしていないことを検出する。すると、サーバ装置2の管理部61は、アカウント情報8で管理されている仮アカウントではなく別アカウントに、取引金額を記帳し、アカウント情報8で管理されている支払者のアカウントから取引金額を差し引くことはしない。サーバ装置2の管理部61は、支払者のモバイル端末T1の決済部B1へアカウント情報A1で管理されている支払者のアカウントの回復を指示する。支払者のモバイル端末T1の決済部B1は、アカウント情報A1で管理されている支払者のアカウントに取引金額を加算し、支払者のアカウントを回復する。
次に、受領者のモバイル端末Tnの決済部Bnがサーバ装置2と通信した時点で、サーバ装置2の管理部61は、受領者のアカウント情報Anで管理されている別アカウントの取引金額が、サーバ装置2のアカウント情報8で管理されている別アカウントの取引金額に反映されているか否か判断する。反映済みと判断された場合、サーバ装置2の管理部61は、サーバ装置2のアカウント情報8で管理されている別アカウントの取引金額を消去し、受領者のモバイル端末Tnの決済部Bnへ別アカウントの取引金額を消去することを示す指示を送信する。受領者のモバイル端末Tnの決済部Bnは、サーバ装置2の管理部61から受信した指示にしたがって、受領者のアカウント情報Anで管理されている別アカウントの取引金額を消去する。
第3の払い戻し処理は、支払者のモバイル端末T1がサーバ装置2と通信し、その後、取引後所定期間を経過するまで受領者のモバイル端末Tnがサーバ装置2と通信を行わず、さらにその後、受領者のモバイル端末Tnがサーバ装置2と通信した場合に実行される。
第3の払い戻し処理において、サーバ装置2の管理部61は、支払者のモバイル端末T1の決済部B1から支払情報19を受信し、支払情報19に含まれる取引金額を、アカウント情報8で管理されている支払者のアカウントから仮アカウントへ振り替える。
取引から所定期間経過すると、受領者のモバイル端末Tnの決済部Bnは、受領者のアカウント情報Anで管理されている受領者の仮アカウントの取引金額を別アカウントへ振り替える。サーバ装置2の管理部61は、アカウント情報8で管理されている仮アカウントの取引金額を別アカウントへ振り替える。
次に、受領者のモバイル端末Tnの決済部Bnがサーバ装置2と通信した時点で、サーバ装置2の管理部61は、受領者のアカウント情報Anで管理されている別アカウントの取引金額が、サーバ装置2のアカウント情報8で管理されている別アカウントの取引金額に反映されているか否か判断する。反映済みと判断された場合、サーバ装置2の管理部61は、受領者のモバイル端末Tnの決済部Bnへ別アカウントの取引金額を消去することを示す指示を送信する。受領者のモバイル端末Tnの決済部Bnは、サーバ装置2の管理部61から受信した指示にしたがって、受領者のアカウント情報Anで管理されている別アカウントの取引金額を消去する。
その後、支払者のモバイル端末T1の決済部B1がサーバ装置2と通信した時点で、サーバ装置2の管理部61は、サーバ装置2のアカウント情報8で管理されている別アカウントに、払い戻しに対応する取引金額があるか判断する。払い戻しに対応する取引金額があると判断された場合に、サーバ装置2の管理部61は、支払者のアカウントを回復することを示す指示を、支払者のモバイル端末T1の決済部B1へ送信する。支払者のモバイル端末T1の決済部B1は、支払者のアカウントを回復することを示す指示を受信した場合に、サーバ装置2のアカウント情報8で管理されている別アカウントに基づいて、支払者のアカウント情報A1で管理されている支払者のアカウントを回復する(支払者のアカウントに取引金額を加算する)。その後、サーバ装置2の管理部61は、サーバ装置2のアカウント情報8で管理されている別アカウントの取引金額を消去する。
以上説明した第1から第3の払い戻し処理は、換言すると、以下の第1から第4の動作を含む処理に相当する。
第1の動作では、受領者のモバイル端末Tnの決済部Bn、及び、サーバ装置2の管理部61は、仮アカウントの取引金額を、取引から所定の期間経過した時点で別アカウントへ振り替える。
第2の動作では、支払者のモバイル端末T1の決済部B1、及び、受領者のモバイル端末Tnの決済部Bnは、サーバ装置2と通信するたびに、サーバ装置2の管理部61がアカウント情報8を用いて管理している別アカウントをチェックする。
第2の動作において、支払者のモバイル端末T1の決済部B1は、サーバ装置2の管理部61がアカウント情報8を用いて管理している別アカウントに取引金額が含まれている場合、支払者のアカウント情報A1で管理されている支払者のアカウントを回復する。サーバ装置2の管理部61も、アカウント情報8で管理されている支払者のアカウントが取引金額を支払済みとなっている場合には、アカウント情報8で管理されている支払者のアカウントを回復する。
第2の動作において、受領者のモバイル端末Tnの決済部Bnは、受領者のアカウント情報Anで管理されている別アカウントに取引金額が含まれている場合、受領者のアカウント情報Anで管理されている別アカウントに含まれている取引金額が、サーバ装置2のアカウント情報8で管理されている別アカウントに反映されているか判断し、反映されていない場合には、サーバ装置2のアカウント情報8で管理されている別アカウントに、受領者のアカウント情報Anで管理されている別アカウントに含まれている取引金額を反映する。
第3の動作では、サーバ装置2の管理部61は、アカウント情報8で管理されている別アカウントの取引金額を、支払者のモバイル端末T1に対するチェックと、受領者のモバイル端末Tnに対するチェックとの双方が終了した場合に消去する。
第4の動作では、受領者のモバイル端末Tnの決済部Bnは、受領者のアカウント情報Anで管理されている別アカウントを、上記第2の動作におけるチェックの後、消去する。
これにより、取引後所定期間を経過したが受領者のモバイル端末Tnがサーバ装置2と通信しなかった場合に、支払者のアカウントへ取引金額を適切に払い戻すことができる。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。