<システム概要>
図1は、本実施の形態に係る決済システムの概要を説明するための模式図である。本実施の形態に係る決済システムは、ユーザ端末装置1、販売サーバ装置3及び決済サーバ装置5を含んで構成されている。ユーザ端末装置1は、ユーザが商品の購入に際して利用する装置であり、例えばゲーム機、パーソナルコンピューター、携帯電話機、スマートフォン又はタブレット型端末等の装置である。ユーザ端末装置1は、有線又は無線のネットワークを介して、販売サーバ装置3及び決済サーバ装置5との通信をそれぞれ行うことができる。またユーザ端末装置1は、非接触通信機能によりICカード7との通信を行うことができる。
本実施の形態に係る決済システムは、販売サーバ装置3がネットワークを介して商品を販売し、ユーザ端末装置1を利用してユーザが商品の購入を行ういわゆるオンライン販売システムである。即ち本実施の形態に係る決済システムは、販売者及び購入者(消費者)が対面することなく、ユーザ端末装置1を利用して消費者がインターネットなどのネットワークを介して物品又はサービス等の購入を行うシステムである。よってユーザ端末装置1は、店舗設置型の装置ではなく、非対面型の装置である。即ちユーザ端末装置1は、商品の販売者が操作する装置ではなく、商品の購入者が操作する装置である。
販売サーバ装置3が販売する商品は、例えば後日に郵送などでユーザの自宅などへ配送される物品であってよく、また例えば購入したユーザなどに対して提供される何らかのサービスであってよく、また例えば購入によりユーザ端末装置1へダウンロードされるデジタルコンテンツであってよく、その他種々のものであってよい。
販売サーバ装置3が販売する商品がデジタルコンテンツである場合、ユーザ端末装置1は、購入したデジタルコンテンツをダウンロードして利用することができる。デジタルコンテンツには、例えば映画又はテレビジョン放送等の映像作品、ゲーム、アプリケーション、データベース、ウェブサイト、プログラムソフト、テキストデータ、コミック、音楽、アニメーション、写真、アート、コンピュータグラフィック又はキャラクタ等が挙げられる。例えばデジタルコンテンツとして映像作品を購入した場合、ユーザ端末装置1は、この映像作品の動画データを販売サーバ装置3又は他のサーバ装置等からダウンロードし、動画データを再生して表示部などに表示する処理を行うことができる。なお映像作品又は音楽等のデジタルコンテンツは、いわゆるストリーミング配信により提供されるものであってもよい。また例えばデジタルコンテンツとしてゲームを購入した場合、ユーザ端末装置1は、ゲームのプログラム及びデータ等をダウンロードして実行することができる。このようにユーザ端末装置1は、購入したデジタルコンテンツを利用するための処理を行うことができる。
また例えば、販売サーバ装置3が販売する商品を仮想通貨としてもよい。例えば仮想通貨には、特定のウェブサイトにおいて商品の購入に利用できるポイント、又は、特定のゲーム内でアイテム又は追加シナリオ等の購入に利用できるポイント等を含む。ユーザ端末装置1は、販売サーバ装置3にて仮想通貨を購入しておき、特定のウェブサイト又はゲーム内において仮想通貨を用いて商品の購入を行うことができる。
また本実施の形態に係る決済システムでは、商品を購入したユーザは、代金の支払いにICカード7を利用することができる。ユーザは、商品の購入に使用することができる電子マネー又はポイント等を、例えば店舗などにてチャージしておくことができる。ICカード7は、チャージされた電子マネー又はポイント等の残高を、内部のメモリなどに記憶している。ICカード7は、非接触通信機能を有しており、ユーザ端末装置1を介して決済サーバ装置5との間で決済処理を行うことができる。
オンライン販売を利用するユーザは、まずユーザ端末装置1を操作して販売サーバ装置3にアクセスし、本システムに対するログイン処理を行う。ログインに成功した場合、販売サーバ装置3からユーザ端末装置1へ販売している商品のリストなどの情報が送信され、ユーザ端末装置1の表示部に購入可能な商品のリストが表示される。ユーザは、ユーザ端末装置1を操作して購入する商品を選択し、販売サーバ装置3に対して購入要求を与える(図中(1)参照)。ユーザ端末装置1から購入要求が与えられた販売サーバ装置3は、購入対象の商品の合計金額などを算出し、この金額に対する支払いの要求を決済要求としてユーザ端末装置1へ送信する(図中(2a)参照)。販売サーバ装置3からの決済要求を受信したユーザ端末装置1は、受信した決済要求を決済サーバ装置5へ送信する(図中(2b)参照)。
ユーザ端末装置1から決済要求を受信した決済サーバ装置5は、ユーザ端末装置1を介してユーザが所有するICカード7との通信を行い、ICカード7に記憶された残高から商品代金に相当する金額を減額する処理を行う(図中(3)参照)。このときにユーザ端末装置1は、例えば支払いに使用するICカード7をユーザ端末装置1の所定箇所に接触させるよう促すメッセージなどを表示部に表示し、ICカード7との非接触通信を行う。ユーザ端末装置1は、決済サーバ装置5から受信した情報をICカード7へ送信すると共に、ICカード7から受信した情報を決済サーバ装置5へ送信する。ユーザ端末装置1を介した決済サーバ装置5及びICカード7の通信は、複数回行われ、これによりICカード7の残高から商品代金が減額される。
ICカード7との通信を終えた決済サーバ装置5は、決済処理の結果をユーザ端末装置1へ送信する(図中(4a)参照)。ICカード7の残高から商品代金を減額することができた場合、決済処理が成功した旨の結果が送信される。これに対して、残高が不足している又は通信に不具合が発生した等の要因により商品代金を減額することができなかった場合、決済処理が失敗した旨の結果が送信される。決済サーバ装置5から決済結果を受信したユーザ端末装置1は、受信した決済結果を販売サーバ装置3へ送信する(図中(4b)参照)。販売サーバ装置3は、ユーザ端末装置1から受信した決済結果に基づいて、商品の販売処理を行う。例えば決済処理に成功していた場合、販売サーバ装置3は販売対象の商品の代金が支払われたものと判断し、商品の発送準備又はダウンロード許可等の段階へ販売処理を進める。また例えば決済処理に失敗していた場合、販売サーバ装置3は、ユーザ端末装置1へ決済処理に失敗した旨又は決済処理を再び行う旨等を通知する。
このように本実施の形態に係る決済システムでは、販売サーバ装置3及び決済サーバ装置5は直接的に通信を行わず、ユーザ端末装置1を介して通信を行う。このため販売サーバ装置3及び決済サーバ装置5の間の通信不具合などにより決済処理に失敗するなどの虞がなく、円滑な決済処理を実現することができる。
また本実施の形態に係る決済システムでは、販売サーバ装置3が送信する決済要求は、この中に含まれている情報が暗号化され、ユーザ端末装置1では解読及び改変等を行うことができず、決済サーバ装置5で解読することが可能である。同様に、決済サーバ装置5が送信する決済結果は暗号化され、ユーザ端末装置1では解読及び改変等を行うことができず、販売サーバ装置3で解読することが可能である。このような暗号化を行うことによって、決済システムの信頼性を高めることができる。
なお本実施の形態に係る決済システムは、上記のように決済要求及び決済結果を暗号化して送受信する構成とするが、これに限るものではない。例えば販売サーバ装置3は、決済要求に対して電子署名を付して送信し、ユーザ端末装置1を介してこれを受信した決済サーバ装置5は電子署名が正当なものであるか否かを確認する構成としてもよい。この場合に決済サーバ装置5は、決済結果に対して電子署名を付して送信し、ユーザ端末装置1を介してこれを受信した販売サーバ装置3は電子署名が正当なものであるか否かを確認する構成としてもよい。
<装置構成>
図2は、ユーザ端末装置1の構成を示すブロック図である。本実施の形態に係るユーザ端末装置1は、処理部10、記憶部11、記録媒体装着部12、表示部13、操作部14、通信部15及び非接触通信部16等を備えて構成されている。ユーザ端末装置1の処理部10は、CPU(Central Processing Unit)などの演算処理装置を用いて構成されている。処理部10は、記録媒体装着部12に装着された記録媒体91に記録されたクライアントプログラム91aを読み出して実行することにより、商品の購入及び決済等に係る種々の情報処理を行う。なお記録媒体91から読み出したクライアントプログラム91aを記憶部11に記憶しておき、処理部10が記憶部11からクライアントプログラム91aを読み出す構成としてもよい。
記憶部11は、揮発性若しくは不揮発性の半導体メモリ素子、又は、ハードディスクドライブ等を用いて構成されている。記憶部11は、クライアントプログラム91aなどの種々のプログラム及びこのプログラムの実行に必要なデータを記憶する。また記憶部11は、販売サーバ装置3にて購入したデジタルコンテンツを記憶しておくことができる。記録媒体装着部12は、カード型、カセット型又はディスク型等の記録媒体91を着脱できるように構成されている。処理部10は、記録媒体装着部12に装着された記録媒体91からクライアントプログラム91a及び種々のデータを読み出すことができる。また処理部10が記録媒体91に対してプログラム又はデータ等を書き込むことが可能な構成としてもよい。
表示部13は、液晶パネルなどを用いて構成され、処理部10から与えられた画像を表示する。操作部14は、例えば押下式のボタン又は表示部13に設けられたタッチパネル等であり、ユーザによりなされた操作の内容(例えばボタンの押し下げ又は解放等)に応じた信号を処理部10へ与える。通信部15は、例えばインターネットなどのネットワーク99を介して、販売サーバ装置3、決済サーバ装置5、他のサーバ装置又は他のユーザ端末装置1等との間で情報の送受信を行う。例えばユーザ端末装置1は、通信部15にてサーバ装置との通信を行ってクライアントプログラム91aなどをダウンロードし、記憶部11に記憶することができる。
なお本実施の形態においては、決済サーバ装置5は第1決済サーバ装置5A及び第2決済サーバ装置5Bを含んで構成されている。ユーザ端末装置1は、ネットワーク99を介して第1決済サーバ装置5Aとの通信を行い、第2決済サーバ装置5Bとの通信は行わない。
非接触通信部16は、例えばISO/IEC18092(いわゆるNFC)の通信規格などに従って、ICカード7などとの間で無線による非接触のデータ送受信を行うものである。非接触通信部16の通信距離は、典型的には数mm〜数cm程度である。非接触通信部16は、ICカード7に内蔵されたICタグ70に対して、記憶したデータの読み出しを指示する信号を送信し、これに対する応答として所望のデータを受信する。非接触通信部16は、いわゆるICタグのリーダの機能を有するものである。また非接触通信部16は、書き込みデータと共に書き込みを指示する信号を送信することにより、ICタグ70にデータの書き込みを行わせることができる。即ち非接触通信部16は、ICタグのライタの機能を有する。ただし、非接触通信部16による通信方式はNFCに限らず、例えばRFIDなど、非接触通信又は近距離無線通信等として採用される種々の通信方式であってよい。
また本実施の形態に係るユーザ端末装置1は、処理部10がクライアントプログラム91aを実行することにより、決済要求中継部21、決済仲介部22、決済結果中継部23、購入処理部24及び操作受付部25等がソフトウェア的な機能ブロックとして処理部10に実現される。決済要求中継部21は、通信部15にて販売サーバ装置3から受信した決済要求を、通信部15にて第1決済サーバ装置5Aへ送信する処理を行う。決済仲介部22は、通信部15による第1決済サーバ装置5Aとの通信及び非接触通信部16によるICカード7との非接触通信により、第1決済サーバ装置5A及びICカード7の間で行われる決済処理を仲介する処理を行う。決済結果中継部23は、通信部15にて第1決済サーバ装置5Aから受信した決済結果を、通信部15にて販売サーバ装置3へ送信する処理を行う。購入処理部24は、通信部15にて販売サーバ装置3との通信を行い、購入可能な商品のリストを表示部13に表示する処理、購入する商品の選択を受け付ける処理、及び、選択された商品の購入要求を通信部15にて販売サーバ装置3へ送信する処理等を行う。操作受付部25は、操作部14からの入力信号に基づいて、ユーザの操作を受け付ける処理を行う。処理部10は、操作受付部25が受け付けた操作部14へのユーザ操作に基づいて、種々の処理を行うことができる。
図3は、ICカード7の構成を示すブロック図である。本実施の形態に係るICカード7は、例えば合成樹脂製又は紙製等のカード体の内部にICタグ70及びアンテナ77が埋め込まれた構成の記憶媒体である。ICカード7は、電子マネー又はポイント等の残高に関する情報を記憶しており、オンライン販売などにおいて商品代金の支払いに用いられる。ICカード7のアンテナ77は、例えばICカード7内に金属線を渦巻状に配し、その両端をICタグ70に接続した構成とすることができる。ICタグ70は、1つのICチップとして提供されるものであり、その内部に処理部71、非接触通信部72、記憶部73及び電力供給部74等を有している。
ICタグ70は、電池などの電源を有しておらず、アンテナ77にてユーザ端末装置1からの無線信号を受信した際に電磁誘導などによって発生する起電力により動作する。ICタグ70は、いわゆるパッシブ型のタグである。電力供給部74は、上記の起電力に基づき、ICタグ70内の処理部71、非接触通信部72及び記憶部73等への電力供給を行い、これにより各部の動作が行われる。なお本実施の形態においてはICタグ70をパッシブ型としたが、アクティブ型であってもよい。
ICタグ70の非接触通信部72は、ユーザ端末装置1から送信された信号をアンテナ77にて受信し、受信した信号に係るデータを処理部71へ与えると共に、処理部71から与えられたデータをアンテナ77からユーザ端末装置1へ送信する。記憶部73は、データ書き換え可能な揮発性又は不揮発性のメモリ素子で構成されている。記憶部73は、ICタグ70に対して個別に付されるカードID(IDentifier)73a、及び、電子マネー又はポイント等の残高の変更履歴である残高履歴情報73b等を記憶している。処理部71は、非接触通信部72から与えられたデータに応じて、記憶部73からデータを読み出し、読み出したデータをユーザ端末装置1へ送信すべく非接触通信部72へ与える。また処理部71は、非接触通信部72から与えられたデータに応じて、記憶部73へのデータ書き込みを行う。
図4は、ICカード7が記憶部73に記憶する残高履歴情報73bの一例を示す模式図である。本例の残高履歴情報73bには、更新日時、残高及び更新IDが対応付けて記憶されている。更新日時は、ICカード7の残高が更新された日時である。残高は、更新された時点においてICカード7にチャージされている電子マネー又はポイント等の金額である。更新IDは、ICカード7に対する残高の更新処理に対して付される識別情報であり、第2決済サーバ装置5Bにより与えられる。記憶部73に記憶できる残高履歴は、例えば10件又は100件等のように記憶部73の記憶容量に応じて記憶可能な件数が定められている。記憶可能な件数を超えて更新が行われた場合、更新日時が古いものが削除されて、新たな更新に関する情報が追加される。なお残高履歴情報73bに記憶される履歴は、残されている金額そのものの値であってもよく、金額の変化(即ち増減値)であってもよい。
図5は、販売サーバ装置3の構成を示すブロック図である。本実施の形態に係る販売サーバ装置3は、処理部30、記憶部31、記録媒体装着部32及び通信部33等を備えて構成されている。処理部30は、CPUなどの演算処理装置を用いて構成され、記憶部31に記憶されたサーバプログラム92aを読み出して実行することにより、商品の販売に係る種々の処理を行う。記憶部31は、不揮発性の記憶装置を用いて構成され、サーバプログラム92aなどのプログラム及び種々のデータを記憶することができる。本実施の形態において記憶部31は、商品の販売処理に係る履歴を販売履歴情報31aとして記憶している。
記録媒体装着部32は、ディスク形などの記録媒体92を着脱できるよう構成されている。処理部30は、記録媒体装着部32に装着された記録媒体92からサーバプログラム92a及びその他の種々のデータを読み出して記憶部31にインストールすることができる。通信部33は、インターネットなどのネットワーク99を介してユーザ端末装置1との間でデータの送受信を行う。なお本実施の形態において販売サーバ装置3は、第1決済サーバ装置5A及び第2決済サーバ装置5Bとの通信を行わない。
また本実施の形態に係る販売サーバ装置3は、処理部30がサーバプログラム92aを実行することにより、販売処理部41、ID生成部42、暗号処理部43及び不具合確認部44等がソフトウェア的な機能ブロックとして実現される。販売処理部41は、販売している商品のリストなどの情報をユーザ端末装置1へ送信する処理、商品の購入要求をユーザ端末装置1から受け付ける処理、要求された商品に関する決済要求をユーザ端末装置1へ送信する処理、決済処理の結果をユーザ端末装置1から受信する処理、及び、決済処理の結果に応じて商品を販売する処理等を行う。
ID生成部42は、ユーザ端末装置1から購入要求を受け付けた際に、購入を要求された商品に関する販売処理及び決済処理等の一連の処理に対する識別情報を生成する。本実施の形態においてこの識別情報を、トランザクションIDという。ID生成部42は、例えばランダムな数値を生成してこれをトランザクションIDとしてもよく、また例えば通し番号などをトランザクションIDとしてもよく、これら以外の方法でトランザクションIDを生成してもよい。販売処理部41がユーザ端末装置1へ送信する決済要求には、ID生成部42が生成したトランザクションIDが付される。販売サーバ装置3は、商品の販売処理の進行状況などをトランザクションIDを利用して管理する。
暗号処理部43は、ユーザ端末装置1へ決済要求を送信する際に、決済要求に含まれる情報を暗号化する処理を行う。例えば決済要求には、上記のトランザクションID、決済要求を行った日時情報、購入された商品の金額情報、又は、電子署名等の情報を含み得る。販売処理部41は、暗号処理部43により暗号化された決済要求をユーザ端末装置1へ送信する。なお暗号化された決済要求は、ユーザ端末装置1にて復号又は改変することはできず、第1決済サーバ装置5Aにて復号することができる。またユーザ端末装置1から受信する決済結果は同様に暗号化されており、暗号処理部43は受信した決済結果を復号する処理を行う。暗号処理部43は、例えば公開鍵暗号のアルゴリズムにより情報の暗号化及び復号を行う。
不具合確認部44は、例えば決済要求の後にユーザ端末装置1から決済結果が所定時間以上に亘って得られない場合、又は、決済失敗の結果がユーザ端末装置1から与えられた場合等に、決済処理に不具合が発生しているか否かを確認する処理、及び、決済処理の処理過程における不具合の発生個所を確認する処理等を行う。このときに不具合確認部44は、トランザクションIDを指定して決済処理の進行状況をユーザ端末装置1へ問い合わせ、これに対する応答に基づいて不具合の発生の有無及び発生個所等を確認する。また不具合確認部44は、不具合が発生して停止している決済処理又は販売処理等を再開する処理を行う。
図6は、販売サーバ装置3が記憶部31に記憶する販売履歴情報31aの一例を示す模式図である。販売履歴情報31aには、トランザクションIDに対応付けて、ユーザID、販売商品情報、合計金額、決済要求日時、決済結果及び販売処理状況等の情報が記憶されている。ユーザIDは、ユーザ端末装置1を利用して商品を購入するユーザに対して付される識別情報であり、本システムへのログイン処理を行う際にユーザ端末装置1にてユーザにより入力される。販売商品情報は、販売した(ユーザが購入を要求した)商品に関する情報であり、例えば商品名又は商品番号等の情報と販売した個数又は量等の情報とが含まれている。合計金額は、販売した商品の合計金額を示す数値情報である。決済要求日時は、このトランザクションIDに関する決済要求をユーザ端末装置1へ送信した日時である。決済結果は、決済要求に対してユーザ端末装置1から受信した決済の結果を示す情報であり、決済完了、決済失敗、処理未了又は未受信のいずれかである。決済完了は、決済サーバ装置5による決済処理が正常に終了したことが確認された状態である。決済失敗は、例えばICカード7の残高不足などにより、決済処理が正常に終了しなかったことが確認された状態である。処理未了は、ICカード7に対する情報の書き込みが正常に終了したか否かが不明確な状態である。未受信は、決済結果をユーザ端末装置1から受信していない状態である。販売処理状況は、このトランザクションIDに関する商品の販売処理を完了したか否かを示すフラグである。なお図6に示す販売履歴情報31aの構成は一例であり、これに限るものではない。
本実施の形態に係る決済システムは、上述のように決済サーバ装置5を第1決済サーバ装置5A及び第2決済サーバ装置5Bの2つの装置で構成する。第1決済サーバ装置5Aは、図1に示した決済サーバ装置5が行う決済処理において、ユーザ端末装置1を介して販売サーバ装置3との通信を行う処理、及び、決済処理に関する履歴情報を記憶する処理等を行う。第2決済サーバ装置5Bは、ICカード7から商品の代金を減額する処理などを行う。
図7は、第1決済サーバ装置5Aの構成を示すブロック図である。本実施の形態に係る第1決済サーバ装置5Aは、処理部50、記憶部51、記録媒体装着部52及び通信部53等を備えて構成されている。処理部50は、CPUなどの演算処理装置を用いて構成され、記憶部51に記憶されたサーバプログラム93aを読み出して実行することにより、決済に係る上述の処理を行う。記憶部51は、不揮発性の記憶装置を用いて構成され、サーバプログラム93aなどのプログラム及び種々のデータを記憶することができる。本実施の形態において記憶部51は、決済処理に係る履歴を決済履歴情報51aとして記憶している。
記録媒体装着部52は、ディスク形などの記録媒体93を着脱できるよう構成されている。処理部50は、記録媒体装着部52に装着された記録媒体93からサーバプログラム93a及びその他の種々のデータを読み出して記憶部51にインストールすることができる。通信部53は、インターネットなどのネットワーク99を介してユーザ端末装置1及び第2決済サーバ装置5Bとの間でデータの送受信を行う。なお本実施の形態において第1決済サーバ装置5Aは、販売サーバ装置3との通信を行わない。
また本実施の形態に係る第1決済サーバ装置5Aは、処理部50がサーバプログラム93aを実行することにより、第1決済処理部50a、暗号処理部50b及び不具合判定部50c等がソフトウェア的な機能ブロックとして実現される。暗号処理部50bは通信部53にてユーザ端末装置1から受信した決済要求を復号する処理、及び、ユーザ端末装置1へ送信する決済結果に含まれる情報を暗号化する処理を行う。
第1決済処理部50aは、ユーザ端末装置1から受信して復号された決済要求に基づき、第2決済サーバ装置5Bに適した形式の決済要求を生成し、生成した決済要求を通信部53にて第2決済サーバ装置5Bへ送信する処理を行う。即ち第1決済処理部50aは、販売サーバ装置3からの決済要求を、第2決済サーバ装置5Bに適した決済要求(第2決済サーバ装置5Bにおいて解釈可能なコマンドなど)に変換又は翻訳する処理を行う。
第1決済処理部50aは、第2決済サーバ装置5Bから受信したICカード7に対する処理要求を、ICカード7にアクセスするためのコマンドに変換してユーザ端末装置1へ送信する。第1決済処理部50aは、ユーザ端末装置1を介してICカード7からの応答を受信し、当該ICカード7からの応答に基づいて第2決済サーバ装置5Bの処理要求に対する応答を作成し、通信部53にて第2決済サーバ装置5Bへ送信する。
また第1決済処理部50aは、通信部53にて第2決済サーバ装置5Bから受信した決済処理の結果に基づき、販売サーバ装置3に適した決済結果を生成し、生成した決済結果を通信部53にて販売サーバ装置3へ送信する処理を行う。即ち第1決済処理部50aは、第2決済サーバ装置5Bからの決済結果を、販売サーバ装置3に適した決済結果(販売サーバ装置3において解釈可能な形式のコマンドなど)に変換又は翻訳する処理を行う。
このように第1決済処理部50aは、販売サーバ装置3及び第2決済サーバ装置5Bの間で送受信される情報の変換処理及び転送処理、並びに、第2決済サーバ装置5B及びICカード7の間で送受信される情報の変換処理及び転送処理を行う。このような処理を行う第1決済サーバ装置5Aを設けることにより、例えば構成が異なる複数種の販売サーバ装置3、第2決済サーバ装置5Bとはプロトコルなどが異なるユーザ端末装置1、又は、複数種のICカード7等に対して、第2決済サーバ装置5Bの決済処理を容易に対応させることができる。また販売サーバ装置3又は第2決済サーバ装置5Bのいずれか一方の仕様変更に対して、他方を容易に対応させることができる。
また第1決済処理部50aは、決済処理に係る履歴を決済履歴情報51aとして記憶部51に記憶する処理を行う。このときに第1決済処理部50aは、トランザクションIDに対応付けて決済処理の履歴を記憶する。販売サーバ装置3などからトランザクションIDを指定して決済処理の不具合確認の要求が与えられた場合、第1決済サーバ装置5Aの不具合判定部50cは、記憶部51の決済履歴情報51aを参照して決済処理に不具合が生じたか否かを判定する。不具合判定部50cは、不具合の有無及び決済処理の処理過程における不具合の発生個所等を、ユーザ端末装置1を介して販売サーバ装置3へ通知する。
図8は、第1決済サーバ装置5Aが記憶部51に記憶する決済履歴情報51aの一例を示す模式図である。決済履歴情報51aは、トランザクションIDに対応付けて、決済状態、カードID、更新ID及び決済日時等の情報が記憶されている。決済状態は、決済処理の進行状態を示す情報であり、本実施の形態において決済非成立、処理未了及び決済成立の3状態のいずれかである。決済非成立は、ユーザ端末装置1から決済要求を受信した後、ICカード7に対するデータ書き込みを行うまでの状態である。処理未了は、ICカード7に対するデータ書き込み命令を与えたが、その応答が得られておらず、書き込みが正常に行われたか否かが不明な状態である。決済成立は、ICカード7に対するデータの書き込みを正常に終えた状態である。
決済履歴情報51aのカードIDは、ユーザが決済処理に利用したICカード7に記憶されたものである。第1決済処理部50aは、ユーザ端末装置1を介して行うICカード7との通信の初回において、このICカード7のカードIDを取得することができる。更新IDは、ICカード7に対する残高の更新処理に対して付される識別情報であり、第2決済サーバ装置5Bにより与えられる。この更新IDは、ICカード7の残高履歴情報73bにも記憶されている。決済日時は、決済処理を開始した日時であり、ユーザ端末装置1から決済要求を受信した日時である。
第1決済サーバ装置5Aの第1決済処理部50aは、ユーザ端末装置1を介して販売サーバ装置3からの決済要求を受信した場合に、記憶部51の決済履歴情報51aに、受信した決済要求に付されたトランザクションIDに関する情報を追加する。このとき決済履歴情報51aに追加される情報は、決済状態が決済非成立であり、カードID及び更新IDが不明であり、決済日時が決済要求を受信した日時となる。その後、第1決済処理部50aは、第2決済サーバ装置5B及びICカード7の間の情報交換を仲介し、ICカード7からカードIDが得られた場合にこれを決済履歴情報51aに記憶し、第2決済サーバ装置5Bから更新IDが得られた場合にこれを決済履歴情報51aに記憶する。更に第1決済処理部50aは、ICカード7に対するデータの書き込み命令が与えられた場合に決済状態を処理未了に変更し、ICカード7から書込完了の応答が得られた場合に決済状態を決済成立に変更する。
図9は、第2決済サーバ装置5Bの構成を示すブロック図である。本実施の形態に係る第2決済サーバ装置5Bは、処理部60、記憶部61、記録媒体装着部62及び通信部63等を備えて構成されている。処理部60は、CPUなどの演算処理装置を用いて構成され、記憶部61に記憶されたサーバプログラム94aを読み出して実行することにより、決済に係る処理を行う。記憶部61は、不揮発性の記憶装置を用いて構成され、サーバプログラム94aなどのプログラム及び種々のデータを記憶することができる。
記録媒体装着部62は、ディスク形などの記録媒体94を着脱できるよう構成されている。処理部60は、記録媒体装着部62に装着された記録媒体94からサーバプログラム94a及びその他の種々のデータを読み出して記憶部61にインストールすることができる。通信部63は、インターネットなどのネットワーク99を介して第1決済サーバ装置5Aとの間でデータの送受信を行う。なお本実施の形態において第2決済サーバ装置5Bは、ユーザ端末装置1及び販売サーバ装置3との通信を行わない。
また本実施の形態に係る第2決済サーバ装置5Bは、処理部60がサーバプログラム94aを実行することにより、第2決済処理部60a、ID生成部60b及び履歴照会部60c等がソフトウェア的な機能ブロックとして実現される。第2決済処理部60aは、第1決済サーバ装置5Aから与えられた決済要求に基づき、ICカード7の残高から商品代金を減額する処理を行う。このときに第2決済処理部60aは、第1決済サーバ装置5A及びユーザ端末装置1を介してICカード7との間で情報交換を複数回行って、ICカード7の残高を更新する。
ID生成部60bは、第1決済サーバ装置5Aから決済要求を受け付けた際に、ICカード7との間で行う一連の決済処理に対する識別情報を生成する。本実施の形態においてこの識別情報を、更新IDという。ID生成部60bは、例えばランダムな数値を生成してこれを更新IDとしてもよく、また例えば通し番号などを更新IDとしてもよく、これら以外の方法で更新IDを生成してもよい。ICカード7の残高履歴情報73b及び第1決済サーバ装置5Aの決済履歴情報51aには、この更新IDが記憶されている。
履歴照会部60cは、第1決済サーバ装置5AからICカード7の残高履歴の照会要求が与えられた場合に、ICカード7から残高履歴情報73bを読み出す処理を行う。履歴照会部60cは、読み出した残高履歴情報73bを第1決済サーバ装置5Aへ送信する。第1決済サーバ装置5Aの不具合判定部50cは、第2決済サーバ装置5Bから受信したICカード7の残高履歴情報73bに基づいて、決済処理に不具合が生じたか否かを判定することができる。
<決済処理>
図10は、本実施の形態に係る決済システムによる決済処理の一例を示す模式図である。例えばユーザは、ユーザ端末装置1の表示部13に表示された商品のリストから購入するものを選択し、操作部14を操作して販売サーバ装置3に対する購入要求を行うことができる。ユーザ端末装置1は、操作部14に対するユーザの操作を操作受付部25にて受け付け、受け付けた操作に応じて、ユーザ端末装置1を利用しているユーザのID、購入する商品を識別する情報及び購入数等の情報を含む購入要求を、通信部15にて販売サーバ装置3へ送信する。
ユーザ端末装置1からの購入要求を通信部33にて受信した販売サーバ装置3は、受信した購入要求に係る商品の販売及び決済等の処理に対するトランザクションIDをID生成部42にて生成する。販売サーバ装置3の販売処理部41は、トランザクションID、決済日時情報、商品の金額情報及び電子署名等の情報を含む決済要求を作成し、通信部33にてユーザ端末装置1へ送信する。なお決済要求に含まれる情報は、暗号処理部43により暗号化される。また購入要求を受信した販売サーバ装置3の販売処理部41は、記憶部31の販売履歴情報31aに対する情報の追加を行う。販売処理部41は、ID生成部42が生成したトランザクションIDと、受信した購入要求に含まれる情報から生成又は取得したユーザID、商品情報及び合計金額と、決済要求を行った日時とを対応付けて販売履歴情報31aに記憶する。このとき、対応する販売履歴情報31aの決済結果は未受信であり、販売処理状況は未完了である。
販売サーバ装置3から決済要求を通信部15にて受信したユーザ端末装置1の決済要求中継部21は、受信した決済要求を通信部15にて第1決済サーバ装置5Aへ送信する。このときに決済要求中継部21は、受信した決済要求のヘッダなどの情報を変更してもよいが、暗号化された情報を変更することはない。
ユーザ端末装置1からの決済要求を受信した第1決済サーバ装置5Aは、受信した決済要求に含まれる情報を暗号処理部50bにて復号する。第1決済サーバ装置5Aの第1決済処理部50aは、復号した情報に含まれる金額情報を取得し、この金額の決済を第2決済サーバ装置5Bに依頼する。なおこのときに第1決済処理部50aは、受信した決済要求に含まれるトランザクションID、決済日時情報及び電子署名等の情報を第2決済サーバ装置5Bへ送信しなくてよい。また決済要求を受信した第1決済サーバ装置5Aの第1決済処理部50aは、記憶部51の決済履歴情報51aに対する情報の追加を行う。第1決済処理部50aは、受信した決済要求に含まれるトランザクションID及び決済日時を決済履歴情報51aに記憶する。このとき、対応する決済履歴情報51aの決済状態は決済非成立であり、カードID及び更新IDは未定である。
第1決済サーバ装置5Aから決済依頼を通信部63にて受信した第2決済サーバ装置5Bでは、第2決済処理部60aにより決済を依頼された金額をICカード7の残高から減額する決済処理が開始される。まず第2決済サーバ装置5Bでは、ID生成部60bが更新IDを生成する。第2決済処理部60aは、決済処理に用いるICカード7を特定するため、ICカード7の読出要求を第1決済サーバ装置5Aへ与える。なお第2決済処理部60aが送信する読出要求には更新IDが含まれている。読出要求を与えられた第1決済サーバ装置5Aは、第1決済処理部50aがICカード7の記憶部73に記憶された情報(例えばカードID73a)を読み出すための読出コマンドを生成してユーザ端末装置1へ送信する。また第1決済処理部50aは、与えられた読出要求に含まれる更新IDを決済履歴情報51aに登録する。
第1決済サーバ装置5Aから読出コマンドを受信したユーザ端末装置1の決済仲介部22は、非接触通信部16にてICカード7との非接触通信を行い、ICカード7へ読出コマンドを送信する。このとき決済仲介部22は、表示部13にICカード7の接触を促すメッセージの表示などを行ってよい。決済仲介部22は、非接触通信により読出コマンドに対してICカード7から得られた応答を第1決済サーバ装置5Aへ送信する。なおICカード7から得られる応答には、カードID73aなどの記憶部73から読み出した情報が含まれるが、本実施の形態において、ユーザ端末装置1及び第1決済サーバ装置5Aではこれらの情報を直接的に扱うことはできない。
ユーザ端末装置1から応答を受信した第1決済サーバ装置5Aの第1決済処理部50aは、受信した応答を第2決済サーバ装置5Bへ送信する。第1決済サーバ装置5Aからの応答を受信した第2決済サーバ装置5Bの第2決済処理部60aは、受信した応答に含まれる読出情報を取得する。第2決済処理部60aは、このようなICカード7からの情報の読み出しを複数回行って、ICカード7の記憶部73に記憶されたカードID73a及び残高等の情報を取得する。なお第2決済処理部60aはICカード7からカードID73aを取得した後、このカードID73aを指定してICカード7に対する読出要求などを第1決済サーバ装置5Aに対して行う。第1決済サーバ装置5Aの第1決済処理部50aは、読出要求にカードID73aが含まれている場合、記憶部51の決済履歴情報51aにカードIDを登録する。
ICカード7から必要な情報を取得した第2決済処理部60aは、ICカード7の残高から商品価格を減額した金額をICカード7に書き込むべく、書込要求を第1決済サーバ装置5Aへ与える。書込要求を与えられた第1決済サーバ装置5Aの第1決済処理部50aは、ICカード7の記憶部73に対する情報の書き込みを行うための書込コマンドを生成してユーザ端末装置1へ送信する。また第1決済処理部50aは、記憶部51の決済履歴情報51aの対応する決済状態を処理未了に変更する。
第1決済サーバ装置5Aから書込コマンドを受信したユーザ端末装置1の決済仲介部22は、非接触通信部16にてICカード7との非接触通信を行い、ICカード7へ書込コマンドを送信する。ICカード7の処理部71は、非接触通信によりユーザ端末装置1から受信した書込コマンドに従って記憶部73への書込処理を行う。これにより記憶部73の残高履歴情報73bが更新される。書込処理の終了後、ICカード7の処理部71は、非接触通信によりユーザ端末装置1への応答を行う。非接触通信によりICカード7からの応答を受信したユーザ端末装置1の決済仲介部22は、受信した応答を第1決済サーバ装置5Aへ送信する。ユーザ端末装置1からの応答を受信した第1決済サーバ装置5Aの第1決済処理部50aは、受信した応答を第2決済サーバ装置5Bへ送信する。
第1決済サーバ装置5Aからの応答を受信した第2決済サーバ装置5Bの第2決済処理部60aは、受信した応答からICカード7の情報書込が成功したか否かを判定する。なお、図10においては、ICカード7に対する書込処理が成功した場合を図示してある。書込処理が失敗していた場合、第2決済処理部60aは、書込処理に成功するまで書込要求を繰り返し第1決済サーバ装置5Aへ送信してもよい。書込処理が成功していた場合、第2決済処理部60aは、第1決済サーバ装置5Aへ決済処理の完了を通知する。
第2決済サーバ装置5Bからの決済完了を通知された第1決済サーバ装置5Aの第1決済処理部50aは、記憶部51の決済履歴情報51aの対応する決済状態を決済成立に変更する。また第1決済処理部50aは、決済処理が完了した旨の通知をユーザ端末装置1へ送信する。第1決済サーバ装置5Aからの完了通知を受信したユーザ端末装置1の決済仲介部22は、非接触通信部16によるICカード7との非接触通信を終了し、完了通知を受信した旨の応答を第1決済サーバ装置5Aへ送信する。ユーザ端末装置1からの応答を受信した第1決済サーバ装置5Aの第1決済処理部50aは、決済処理の完了の通知を受信した旨の応答を第2決済サーバ装置5Bへ与える。第1決済サーバ装置5Aからの応答により、第2決済サーバ装置5Bの第2決済処理部60aは、決済処理を終了する。
またユーザ端末装置1から決済処理の完了の通知を受信した旨の応答を受信した第1決済サーバ装置5Aの第1決済処理部50aは、決済処理の結果(本例では決済成功)を情報として含む決済結果を生成し、生成した決済結果をユーザ端末装置1へ送信する。なお決済結果に含まれる情報は、暗号処理部50bにより暗号化される。なお、例えばICカード7の残高が不足しているなどにより決済処理を正常に行うことができなかった場合、第1決済サーバ装置5Aは、決済失敗の結果を送信する。また例えばICカード7からの応答が得られずにタイムアウトした場合などには、第1決済サーバ装置5Aは、処理未了の結果を送信する。
第1決済サーバ装置5Aからの決済結果を受信したユーザ端末装置1では、決済結果中継部23が受信した決済結果を通信部15にて販売サーバ装置3へ送信する。ユーザ端末装置1からの決済結果を受信した販売サーバ装置3は、受信した決済結果に含まれる情報を暗号処理部43にて復号する。販売サーバ装置3の販売処理部41は、復号した情報に基づいて記憶部31の販売履歴情報31aを決済結果を決済完了、決済失敗又は処理未了に更新する。決済結果が決済成功である場合、販売処理部41は、商品販売の処理を次の過程へ進める。例えば販売処理部41は、商品がデジタルコンテンツである場合、このデジタルコンテンツのダウンロードを許可する。販売処理部41は、販売処理を行った後、販売結果をユーザ端末装置1へ送信する。販売サーバ装置3からの販売結果をユーザ端末装置1が受信することにより、本実施の形態に係る決済システムによる商品の販売及び決済の処理が終了する。
図11は、販売サーバ装置3が行う販売処理の手順を示すフローチャートである。なお本フローチャートでは、ユーザ端末装置1との間のログイン処理及び商品リストの送信処理等は説明を省略する。販売サーバ装置3の処理部30の販売処理部41は、通信部33にてユーザ端末装置1からの購入要求を受信したか否かを判定する(ステップS1)。購入要求を受信していない場合(S1:NO)、販売処理部41は、購入要求を受信するまで待機する。購入要求を受信した場合(S1:YES)、処理部30のID生成部42がトランザクションIDを生成する(ステップS2)。販売処理部41は、記憶部31の販売履歴情報31aに、ステップS2にて生成したトランザクションIDに関する項目を追加する(ステップS3)。販売処理部41は、受信した販売要求に係る商品代金の決済要求を生成する(ステップS4)。処理部30の暗号処理部43は、生成された決済要求に含まれる情報を暗号化する(ステップS5)。販売処理部41は、暗号化された決済要求を通信部33にてユーザ端末装置1へ送信する(ステップS6)。
その後、販売処理部41は、通信部33にてユーザ端末装置1から決済結果を受信したか否かを判定する(ステップS7)。決済結果を受信していない場合(S7:NO)、販売処理部41は、決済結果を受信するまで待機する。決済結果を受信した場合(S7:YES)、暗号処理部43は、受信した決済結果を復号する(ステップS8)。販売処理部41は、復号された情報に基づいて記憶部31の販売履歴情報31aの決済結果などの情報を更新する(ステップS9)。販売処理部41は、決済処理の結果が決済成功であるか否かを判定する(ステップS10)。決済処理が成功である場合(S10:YES)、販売処理部41は、購入要求された商品に係る販売処理を行い(ステップS11)、販売結果を通信部33にてユーザ端末装置1へ送信し(ステップS12)、処理を終了する。決済処理が成功でない場合(S10:NO)、販売処理部41は、販売処理を行うことなく、販売処理に成功しなかった旨の販売結果をユーザ端末装置1へ送信し(ステップS12)、処理を終了する。
図12及び図13は、ユーザ端末装置1が行う中継処理の手順を示すフローチャートである。ユーザ端末装置1の処理部10では、操作部14に対する商品購入の操作を操作受付部25が受け付け、受け付けた購入操作に応じて購入処理部24が商品の購入要求を通信部15にて販売サーバ装置3へ送信する(ステップS21)。その後、処理部10は、通信部15にて販売サーバ装置3からの決済要求を受信したか否かを判定する(ステップS22)。販売サーバ装置3から決済要求を受信した場合(S22:YES)、処理部10の決済要求中継部21は、受信した決済要求を通信部15にて第1決済サーバ装置5Aへ送信し(ステップS23)、ステップS22へ処理を戻す。
決済要求を受信していない場合(S22:NO)、処理部10は、第1決済サーバ装置5AからICカード7に対する処理のコマンドを受信したか否かを判定する(ステップS24)。コマンドを受信した場合(S24:YES)、処理部10の決済仲介部22は、受信したコマンドを非接触通信部16にてICカード7へ送信する(ステップS25)。決済仲介部22は、非接触通信部16にてICカード7からの応答を受信したか否かを判定する(ステップS26)。応答を受信していない場合(S26:NO)、決済仲介部22は、応答を受信するまで待機する。応答を受信した場合(S26:YES)、決済仲介部22は、受信した応答を通信部15にて第1決済サーバ装置5Aへ送信し(ステップS27)、ステップS22へ処理を戻す。
コマンドを受信していない場合(S24:NO)、処理部10は、第1決済サーバ装置5Aから完了通知を受信したか否かを判定する(ステップS28)。完了通知を受信した場合(S28:YES)、処理部10は、第1決済サーバ装置5Aへ応答を送信し(ステップS29)、ステップS22へ処理を戻す。完了通知を受信していない場合(S28:NO)、処理部10は、第1決済サーバ装置5Aから決済結果を受信したか否かを判定する(ステップS30)。決済結果を受信した場合(S30:YES)、処理部10の決済結果中継部23は、受信した決済結果を通信部15にて販売サーバ装置3へ送信し(ステップS31)、ステップS22へ処理を戻す。決済結果を受信していない場合(S30:NO)、処理部10は、販売サーバ装置3から販売結果を受信したか否かを判定する(ステップS32)。販売結果を受信していない場合(S32:NO)、処理部10は、ステップS22へ処理を戻す。販売結果を受信した場合(S32:YES)、処理部10は、処理を終了する。
図14及び図15は、第1決済サーバ装置5Aが行う決済処理の手順を示すフローチャートである。第1決済サーバ装置5Aの処理部50の第1決済処理部50aは、通信部53にてユーザ端末装置1からの決済要求を受信したか否かを判定する(ステップS41)。決済要求を受信していない場合(S41:NO)、第1決済処理部50aは、決済要求を受信するまで待機する。決済要求を受信した場合(S41:YES)、処理部50の暗号処理部50bは、受信した決済要求に含まれる情報を復号する(ステップS42)。第1決済処理部50aは、復号された情報に基づいて、記憶部51の決済履歴情報51aに新たな情報を追加する(ステップS43)。また第1決済処理部50aは、復号された情報に基づいて、第2決済サーバ装置5Bに対する決済依頼を作成し、通信部53にて決済依頼を第2決済サーバ装置5Bへ送信する(ステップS44)。
第1決済処理部50aは、通信部53にて第2決済サーバ装置5BからICカード7に対する読み出し又は書き込み等の処理要求を受信したか否かを判定する(ステップS45)。ICカード7に対する要求を受信した場合(S45:YES)、第1決済処理部50aは、受信した要求に基づいて、記憶部51の決済履歴情報51aの決済状態、カードID又は更新ID等の情報を必要に応じて更新する(ステップS46)。第1決済処理部50aは、受信した要求に応じたICカード7に対するコマンドを作成して通信部53にてユーザ端末装置1へ送信する(ステップS47)。第1決済処理部50aは、送信したコマンドに対する応答を通信部53にてユーザ端末装置1から受信したか否かを判定する(ステップS48)。応答を受信していない場合(S48:NO)、第1決済処理部50aは、応答を受信するまで待機する。応答を受信した場合(S48:YES)、第1決済処理部50aは、ユーザ端末装置1から受信した応答を通信部53にて第2決済サーバ装置5Bへ送信し(ステップS49)、ステップS45へ処理を戻す。
ICカード7に対する処理の要求を受信していない場合(S45:NO)、第1決済処理部50aは、通信部53にて第2決済サーバ装置5Bから決済完了通知を受信したか否かを判定する(ステップS50)。決済完了通知を受信していない場合(S50:NO)、第1決済処理部50aは、ステップS45へ処理を戻す。決済完了通知を受信した場合(S50:YES)、第1決済処理部50aは、受信した決済完了通知に基づいて、記憶部51の決済履歴情報51aの決済状態を更新する(ステップS51)。第1決済処理部50aは、通信部53にてユーザ端末装置1へ決済処理の完了通知を送信する(ステップS52)。
第1決済処理部50aは、完了通知に対するユーザ端末装置1からの応答を通信部53にて受信したか否かを判定する(ステップS53)。応答を受信していない場合(S53:NO)、第1決済処理部50aは、応答を受信するまで待機する。応答を受信した場合(S53:YES)、第1決済処理部50aは、通信部53にて第2決済サーバ装置5Bへ決済完了通知に対する応答を送信する(ステップS54)。また第1決済処理部50aは、販売サーバ装置3へ送信するための決済結果を作成する(ステップS55)。暗号処理部50bは、作成された決済結果に含まれる情報を暗号化する(ステップS56)。第1決済処理部50aは、暗号化された決済結果を通信部53にてユーザ端末装置1へ送信し(ステップS57)、処理を終了する。
図16及び図17は、第2決済サーバ装置5Bが行う決済処理の手順を示すフローチャートである。第2決済サーバ装置5Bの処理部60の第2決済処理部60aは、通信部63にて第1決済サーバ装置5Aからの決済依頼を受信したか否かを判定する(ステップS61)。決済依頼を受信していない場合(S61:NO)、第2決済処理部60aは、決済依頼を受信するまで待機する。決済依頼を受信した場合(S61:YES)、処理部60のID生成部60bは、更新IDを生成する(ステップS62)。
第2決済処理部60aは、生成した更新IDを付して、ICカード7からの情報の読出要求を通信部63にて第1決済サーバ装置5Aへ送信する(ステップS63)。第2決済処理部60aは、読出要求に対する第1決済サーバ装置5Aからの応答を通信部63にて受信したか否かを判定する(ステップS64)。応答を受信していない場合(S64:NO)、第2決済処理部60aは、応答を受信するまで待機する。応答を受信した場合(S64:YES)、第2決済処理部60aは、ICカード7からの情報の読出により、ICカード7の残高を更新するために必要な情報がそろったか否かを判定する(ステップS65)。必要な情報がそろっていない場合(S65:NO)、第2決済処理部60aは、ステップS63へ処理を戻し、ICカード7からの情報の読み出しを繰り返し行う。
必要な情報がそろった場合(S65:YES)、第2決済処理部60aは、ICカード7に対する新たな残高情報の書き込みを行うための書込要求を通信部63にて第1決済サーバ装置5Aへ送信する(ステップS66)。第2決済処理部60aは、書込要求に対する第1決済サーバ装置5Aからの応答を通信部63にて受信したか否かを判定する(ステップS67)。応答を受信していない場合(S67:NO)、第2決済処理部60aは、応答を受信するまで待機する。応答を受信した場合(S67:YES)、第2決済処理部60aは、受信した応答に基づいてICカード7に対する書込が成功したか否かを判定する(ステップS68)。書込に成功していない場合(S68:NO)、第2決済処理部60aは、ステップS66へ処理を戻し、ICカード7に対する書き込みを繰り返す。
ICカード7に対する書込に成功した場合(S68:YES)、第2決済処理部60aは、決済処理の完了を知らせる決済完了通知を通信部63にて第1決済サーバ装置5Aへ送信する(ステップS69)。第2決済処理部60aは、決済完了通知に対する第1決済サーバ装置5Aからの応答を通信部63にて受信したか否かを判定する(ステップS70)。応答を受信していない場合(S70:NO)、第2決済処理部60aは、応答を受信するまで待機する。応答を受信した場合(S70:YES)、第2決済処理部60aは、処理を終了する。
<通信不具合からの復帰処理>
本実施の形態に係る決済システムは、ネットワーク99を介した販売サーバ装置3及びユーザ端末装置1の通信、ユーザ端末装置1及び第1決済サーバ装置5Aの通信、第1決済サーバ装置5A及び第2決済サーバ装置5Bの通信、又は、非接触通信によるユーザ端末装置1及びICカード7の通信に不具合が生じる可能性がある。このような通信の不具合が発生した場合、上述の決済処理などが中断され、各装置での処理が異常終了する可能性がある。これにより例えばICカード7の残高が減少しているにも関わらず、商品の販売処理が完了していないなどの状況が発生し得るため、本実施の形態に係る決済システムは、不具合により中断された処理を復帰させる処理を行う。
例えば通信の不具合により販売処理及び決済処理が中断された場合、販売サーバ装置3の記憶部31に記憶された販売履歴情報31aでは、中断された処理に関して、決済結果が決済失敗又は未受信となり、販売処理状況が未完了となる。そこで例えば販売サーバ装置3の販売処理部41は、ユーザがユーザ端末装置1を利用してこのシステムへのログイン処理を行った場合に、ユーザIDに基づいて販売履歴情報31aを検索し、販売処理状況が未完了の処理の有無を判断する。未完了の処理が存在する場合、販売処理部41は、通信部33にてユーザ端末装置1へ未完了の処理が存在する旨を通知する。この通知を通信部15にて受信したユーザ端末装置1の購入処理部24は、表示部13に未完了の処理が存在する旨のメッセージを表示する。また操作受付部25は、この処理を再開するか否かの選択を操作部14にて受け付ける。ユーザ端末装置1によるメッセージの表示は、少なくとも次の決済処理が開始されるまでの間に行われる。ユーザ端末装置1にてユーザにより中断された処理を再開する選択がなされた場合、本実施の形態に係る決済システムの復帰処理が開始される。
復帰処理において販売サーバ装置3の処理部30の不具合確認部44は、まず不具合が決済処理の処理過程のいずれの箇所で発生したかを確認する処理を行う。本実施の形態においては、不具合確認部44は決済処理が以下の4つのいずれの状態で中断しているかを確認する。
(1)販売サーバ装置3からの決済要求が第1決済サーバ装置5Aに届いていない状態(未要求)。
(2)決済要求は届いたが、ICカード7に対する書込コマンドが第1決済サーバ装置5Aからユーザ端末装置1へ送信されていない状態(決済非成立)。
(3)書込コマンドは送信されたが、このコマンドに対する応答がユーザ端末装置1から第1決済サーバ装置5Aへ届いていない状態(処理未了)。
(4)ICカード7の残高は更新されているが、決済結果が販売サーバ装置3へ届いていない状態(決済完了)。
販売サーバ装置3の不具合確認部44は、中断された処理に係るトランザクションIDを指定して、ユーザ端末装置1を介して第1決済サーバ装置5Aへ決済処理の状態を確認する要求を送信する。この要求に応じて第1決済サーバ装置5Aの処理部30の不具合判定部50cは、記憶部51に記憶した決済履歴情報51aから指定されたトランザクションIDに対応する決済状態を取得する。指定されたトランザクションIDに対応する情報が決済履歴情報51aに記憶されていない場合、不具合判定部50cは、上記(1)の状態であると判定することができる。決済状態が決済非成立である場合、不具合判定部50cは、上記(2)の状態であると判定することができる。決済状態が処理未了である場合、不具合判定部50cは、上記(3)の状態であると判定することができる。決済状態が決済成立である場合、不具合判定部50cは、上記(4)の状態であると判定することができる。不具合判定部50cは、これらの判定結果を、ユーザ端末装置1を介して販売サーバ装置3へ送信する。
上記(1)及び(2)の状態である場合、販売サーバ装置3の処理部30は、販売処理が未完了の商品に関する決済要求を再送信することによって、決済処理を再開させることができる。上記(4)の場合、ICカード7から商品代金の減額は完了しており、決済処理は完了しているため、販売サーバ装置3の処理部30は、決済処理が完了したものとして販売処理を再開することができる。これらに対して上記(3)の場合、ICカード7に対する情報の書き込みが完了しているか否かが不明である。このため販売サーバ装置3は、ICカード7の記憶部73に記憶された残高履歴情報73bの照会を行う。
この場合に販売サーバ装置3の不具合確認部44は、ユーザ端末装置1を介して第1決済サーバ装置5Aへ、トランザクションIDを指定してICカード7の残高履歴情報の照会を要求する。この要求に応じて第1決済サーバ装置5Aの不具合判定部50cは、第2決済サーバ装置5Bに対してICカード7の残高履歴の照会を行う要求を与える。なおこのときに第1決済サーバ装置5AがICカード7から残高履歴情報73bを読み出す処理を行う構成とすることも可能であるが、本実施の形態に係る決済システムでは、ICカード7に対する情報の読出及び書込を第2決済サーバ装置5Bが行う構成とし、第1決済サーバ装置5Aが第2決済サーバ装置5Bへ残高履歴の照会を要求する構成としてある。
第1決済サーバ装置5Aからの要求に応じて、第2決済サーバ装置5Bの処理部60の履歴照会部60cは、残高履歴情報73bの読出要求を第1決済サーバ装置5A及びユーザ端末装置1を介してICカード7へ与える。読出要求に応じてICカード7から読み出された情報は、ユーザ端末装置1及び第1決済サーバ装置5Aを介して第2決済サーバ装置5Bへ与えられる。なお本実施の形態では、ICカード7から読み出された情報を第1決済サーバ装置5Aが直接的に扱うことができない構成としてある。第2決済サーバ装置5Bの履歴照会部60cは、ICカード7から読み出した残高履歴情報73bを第1決済サーバ装置5Aへ送信する。なお本実施の形態において履歴照会部60cは、ICカード7から残高履歴情報73bの全履歴を読み出して第2決済サーバ装置5Bへ送信する。
第2決済サーバ装置5Bから残高履歴情報73bを受信した第1決済サーバ装置5Aの不具合判定部50cは、記憶部51の決済履歴情報51aからトランザクションIDに対応する更新IDを取得し、この更新IDが付された履歴が残高履歴情報73bに存在するか否かを判定する。更新IDが一致する履歴が存在する場合、不具合判定部50cは、ICカード7に対する書き込みが完了していると判定する。更新IDが一致する履歴が存在しない場合、不具合判定部50cは、ICカード7に対する書き込みが完了していないと判定する。不具合判定部50cは、この判定結果を、ユーザ端末装置1を介して販売サーバ装置3へ送信する。
販売サーバ装置3の処理部30は、ICカード7の履歴照会の結果から、ICカード7に対する書き込みが完了していない場合、販売処理が未完了の商品に関する決済要求を再送信することによって、決済処理を再開させることができる。これは上記(1)及び(2)の場合と同様である。これに対してICカード7に対する書き込みが完了している場合、販売サーバ装置3の処理部30は、決済処理が完了したものとして販売処理を再開することができる。これは上記(4)の場合と同様である。
図18は、本実施の形態に係る決済システムの不具合確認処理の一例を示す模式図である。例えば販売処理及び決済処理に不具合が生じた旨のメッセージがユーザ端末装置1の表示部13に表示された場合、ユーザは操作部14を操作して不具合が生じた処理の復帰を要求することができる。ユーザ端末装置1は、例えばユーザID及び中断された処理に付されたトランザクションID等の情報を含む復帰要求を、通信部15にて販売サーバ装置3へ送信する。
ユーザ端末装置1からの復帰要求を通信部33にて受信した販売サーバ装置3の不具合確認部44は、復帰を要求された処理に付されたトランザクションIDを指定して、決済処理の中断状態を確認するための決済確認要求を作成し、通信部33にてユーザ端末装置1へ送信する。なお決済確認要求に含まれる情報は、暗号処理部43により暗号化してもよい。販売サーバ装置3から決済確認要求を通信部15にて受信したユーザ端末装置1の処理部10は、受信した決済確認要求を通信部15にて第1決済サーバ装置5Aへ送信する。
ユーザ端末装置1からの決済確認要求を受信した第1決済サーバ装置5Aの不具合判定部50cは、記憶部51の決済履歴情報51aを検索し、受信した決済確認要求に含まれるトランザクションID情報が記憶されているか否か、及び、記憶されていればその決済状態を判定する。これにより不具合判定部50cは、中断された処理の状態が(1)未要求、(2)決済非成立、(3)処理未了又は(4)決済成立のいずれであるかを判定することができる。不具合判定部50cは、この判定結果を不具合の確認結果としてユーザ端末装置1へ送信する。第1決済サーバ装置5Aから確認結果を受信したユーザ端末装置1の処理部10は、受信した確認結果を販売サーバ装置3へ送信する。
ユーザ端末装置1から確認結果を受信した販売サーバ装置3の不具合確認部44は、受信した確認結果に基づき、中断された決済処理をいずれの箇所から復帰させるかを判定する(図中の復帰判定1)。不具合確認部44は、確認結果が(1)未要求又は(2)決済非成立である場合、決済処理を最初から再開すべく決済要求を生成してユーザ端末装置1へ送信する。不具合確認部44は、確認結果が(4)決済成立である場合、決済処理は完了しているため商品の販売に係る処理から再開する。また確認結果が(3)処理未了である場合、不具合確認部44は、ICカード7の残高履歴情報73bを照会すべく、トランザクションIDを指定して履歴照会要求をユーザ端末装置1へ送信する。なお図18には、確認結果が(3)処理未了である場合を想定した処理の一例を図示してある。
販売サーバ装置3からの履歴照会要求を受信したユーザ端末装置1は、受信した履歴照会要求を第1決済サーバ装置5Aへ送信する。ユーザ端末装置1からの履歴照会要求を受信した第1決済サーバ装置5Aの不具合判定部50cは、受信した履歴照会要求に含まれるトランザクションIDに対応するカードIDを記憶部51の決済履歴情報51aから取得する。不具合判定部50cは、取得したカードIDを指定した履歴照会依頼を第2決済サーバ装置5Bへ送信する。
第1決済サーバ装置5Aから履歴照会依頼を通信部63にて受信した第2決済サーバ装置5Bの履歴照会部60cは、指定されたカードIDのICカード7から残高履歴情報73bを読み出す処理が開始される。なお第2決済サーバ装置5BによるICカード7からの残高履歴情報73bの読み出しは、第2決済サーバ装置5B及びICカード7の間で複数回の情報交換を行うことにより実現されるが、図18ではこれを簡略化して1回の情報交換で残高履歴情報73bを読み出すものとして処理を示してある。第2決済サーバ装置5Bの履歴照会部60cは、ICカード7から残高履歴情報73bを読み出すための読出要求を第1決済サーバ装置5Aへ送信する。
読出要求を与えられた第1決済サーバ装置5Aは、ICカード7から残高履歴情報73bを読み出すための読出コマンドを生成してユーザ端末装置1へ送信する。第1決済サーバ装置5Aから読出コマンドを受信したユーザ端末装置1の処理部10は、非接触通信部16にてICカード7との非接触通信を行い、ICカード7へ読出コマンドを送信する。処理部10は、読出コマンドに対してICカード7から得られた応答を第1決済サーバ装置5Aへ送信する。なおICカード7から得られる応答とは、残高履歴情報73bである。ユーザ端末装置1から応答を受信した第1決済サーバ装置5Aの不具合判定部50cは、受信した応答を第2決済サーバ装置5Bへ送信する。第1決済サーバ装置5Aからの応答を受信した第2決済サーバ装置5Bの履歴照会部60cは、受信した応答に含まれる残高履歴情報73bを取得する。履歴照会部60cは、取得した残高履歴情報73bを第1決済サーバ装置5Aへ送信する。
第2決済サーバ装置5Bから残高履歴情報73bを受信した第1決済サーバ装置5Aの不具合判定部50cは、販売サーバ装置3からの履歴照会要求にて指定されたトランザクションIDに対応する更新IDを記憶部51の決済履歴情報51aから取得し、取得した更新IDの履歴が残高履歴情報73bに含まれているか否かを判定する。残高履歴情報73bに照会対象の更新IDが含まれている場合、不具合判定部50cは、ICカード7に対する書き込みが完了していると判定する。残高履歴情報73bに紹介対象の更新IDが含まれていない場合、不具合判定部50cは、ICカード7に対する書き込みが完了していないと判定する。不具合判定部50cは、この判定結果を照会結果としてユーザ端末装置1へ送信する。第1決済サーバ装置5Aから照会結果を受信したユーザ端末装置1の処理部10は、受信した照会結果を販売サーバ装置3へ送信する。
ユーザ端末装置1から照会結果を受信した販売サーバ装置3の不具合確認部44は、受信した照会結果に基づき、中断された決済処理をいずれの箇所から復帰させるかを判定する(図中の復帰判定2)。不具合確認部44は、受信した照会結果から、ICカード7に対する書き込みが完了していないと判定した場合、決済処理を最初から再開すべく決済要求を生成してユーザ端末装置1へ送信する。不具合確認部44は、ICカード7に対する書き込みが完了していると判定した場合、決済処理は完了しているため商品の販売に係る処理から再開する。販売サーバ装置3の処理部10は、復帰判定1又は復帰判定2にて判定した方法で、中断された処理の復帰処理を開始する。
図19及び図20は、販売サーバ装置3が行う復帰処理の手順を示すフローチャートである。販売サーバ装置3の処理部30の不具合確認部44は、通信部33にてユーザ端末装置1からの復帰要求を受信したか否かを判定する(ステップS81)。復帰要求を受信していない場合(S81:NO)、不具合確認部44は、復帰要求を受信するまで待機する。復帰要求を受信した場合(S81:YES)、復帰を要求された処理のトランザクションIDを指定した決済確認要求を通信部33にてユーザ端末装置1へ送信する(ステップS82)。その後、不具合確認部44は、通信部33にてユーザ端末装置1から確認結果を受信したか否かを判定する(ステップS83)。確認結果を受信していない場合(S83:NO)、不具合確認部44は、確認結果を受信するまで待機する。
確認結果を受信した場合(S83:YES)、不具合確認部44は、受信した確認結果が決済成立であるか否かを判定する(ステップS84)。確認結果が決済成立である場合(S84:YES)、不具合確認部44は、決済処理は完了しているため、決済処理後の販売処理から処理を再開させ(ステップS85)、復帰処理を終了する。確認結果が決済成立でない場合(S84:NO)、不具合確認部44は、確認結果が未要求又は決済非成立であるか否かを判定する(ステップS86)。確認結果が未要求又は決済非成立である場合(S86:YES)、不具合確認部44は、決済処理の最初から処理を再開させ(ステップS87)、復帰処理を終了する。
確認結果が未要求及び決済非成立でない場合(S86:NO)、即ち確認結果が処理未了である場合、不具合確認部44は、決済処理に用いられたICカード7の残高履歴情報73bを照会すべく、通信部33にて履歴照会要求をユーザ端末装置1へ送信する(ステップS88)。その後、不具合確認部44は、履歴照会要求に対する照会結果を通信部33にてユーザ端末装置1から受信したか否かを判定する(ステップS89)。照会結果を受信していない場合(S89:NO)、不具合確認部44は、照会結果を受信するまで待機する。照会結果を受信した場合(S89:YES)、不具合確認部44は、受信した照会結果が書込完了であるか否かを判定する(ステップS90)。照会結果が書込完了である場合(S90:YES)、不具合確認部44は、決済処理後の販売処理から処理を再開させ(ステップS91)、復帰処理を終了する。照会結果が書込完了でない場合(S90:NO)、不具合確認部44は、決済処理の最初から処理を再開させ(ステップS92)、復帰処理を終了する。
なお復帰処理にいてユーザ端末装置1が行う処理に関するフローチャートの図示は省略する。ユーザ端末装置1は、販売サーバ装置3から受信した情報を第1決済サーバ装置5Aへ送信する処理、第1決済サーバ装置5Aから受信したコマンドを非接触通信によりICカード7へ送信する処理、及び、第1決済サーバ装置5Aから受信した情報を販売サーバ装置3へ送信する処理を行う。
図21は、第1決済サーバ装置5Aが行う不具合判定処理の手順を示すフローチャートである。第1決済サーバ装置5Aの処理部50の不具合判定部50cは、通信部53にてユーザ端末装置1からの決済確認要求を受信したか否かを判定する(ステップS121)。決済確認要求を受信した場合(S121:YES)、不具合判定部50cは、受信した決済確認要求にて指定されたトランザクションIDに対応する決済状態を判定すべく、記憶部51に記憶した決済履歴情報51aを検索する(ステップS122)。不具合判定部50cは、決済履歴情報51aを検索した結果に基づき、決済状態が未要求、決済非成立、処理未了又は決済成立のいずれであるかの確認結果を、通信部53にてユーザ端末装置1へ送信し(ステップS123)、ステップS121へ処理を戻す。
ユーザ端末装置1から決済確認要求を受信していない場合(S121:NO)、不具合判定部50cは、ユーザ端末装置1から履歴照会要求を受信したか否かを判定する(ステップS124)。履歴照会要求を受信していない場合(S124:NO)、不具合判定部50cは、ステップS121へ処理を戻す。履歴照会要求を受信した場合(S124:YES)、不具合判定部50cは、受信した履歴照会要求にて指定されたトランザクションIDに対応するカードIDを決済履歴情報51aから取得し、取得したカードIDに関する履歴照会依頼を通信部53にて第2決済サーバ装置5Bへ送信する(ステップS125)。
その後、不具合判定部50cは、通信部53にて第2決済サーバ装置5Bから、ICカード7に対する読出要求を受信したか否かを判定する(ステップS126)。読出要求を受信していない場合(S126:NO)、不具合判定部50cは、読出要求を受信するまで待機する。読出要求を受信した場合(S126:YES)、不具合判定部50cは、受信した読出要求に応じたICカード7に対する読出コマンドを作成してユーザ端末装置1へ送信する(ステップS127)。不具合判定部50cは、送信した読出コマンドに対する応答を通信部53にてユーザ端末装置1から受信したか否かを判定する(ステップS128)。応答を受信していない場合(S128:NO)、不具合判定部50cは、応答を受信するまで待機する。応答を受信した場合(S128:YES)、不具合判定部50cは、ユーザ端末装置1から受信した応答を通信部53にて第2決済サーバ装置5Bへ送信する(ステップS129)。
その後、不具合判定部50cは、通信部53にて第2決済サーバ装置5Bから残高履歴情報73bを受信したか否かを判定する(ステップ130)。残高履歴情報73bを受信していない場合(S130:NO)、不具合判定部50cは、残高履歴情報73bを受信するまで待機する。残高履歴情報73bを受信した場合(S130:YES)、不具合判定部50cは、履歴照会要求にて指定されたトランザクションIDに対応する更新IDを決済履歴情報51aから取得し、取得した更新IDにて受信した残高履歴情報73bを照会することにより(ステップS131)、この更新IDに関する履歴が残高履歴情報73bに含まれているか否かを判定する。これにより不具合判定部50cは、ICカード7に対する書き込みが完了しているか否かを判定し、この判定結果を照会結果としてユーザ端末装置1へ送信し(ステップS132)、ステップS121へ処理を戻す。
図22は、第2決済サーバ装置5Bが行う履歴照会処理の手順を示すフローチャートである。第2決済サーバ装置5Bの処理部60の履歴照会部60cは、通信部63にて第1決済サーバ装置5Aからの履歴照会依頼を受信したか否かを判定する(ステップS141)。履歴照会依頼を受信していない場合(S141:NO)、履歴照会部60cは、履歴照会依頼を受信するまで待機する。履歴照会依頼を受信した場合(S141:YES)、履歴照会依頼にて指定されたカードIDのICカード7に対する残高履歴情報73bの読出要求を生成し、通信部63にて第1決済サーバ装置5Aへ送信する(ステップS142)。
その後、履歴照会部60cは、読出要求に対する応答を通信部63にて第1決済サーバ装置5Aから受信したか否かを判定する(ステップS143)。応答を受信していない場合(S143:NO)、履歴照会部60cは、応答を受信するまで待機する。応答を受信した場合(S143:YES)、履歴照会部60cは、応答に含まれる残高履歴情報73bを取得し、取得した残高履歴情報73bを通信部63にて第1決済サーバ装置5Aへ送信し(ステップS144)、処理を終了する。
<まとめ>
以上の構成の本実施の形態に係る決済システムは、商品の販売を行う販売サーバ装置3と、販売する商品に係る決済処理を行う決済サーバ装置5(第1決済サーバ装置5A及び第2決済サーバ装置5B)と、ユーザが商品の購入に関する操作を行うユーザ端末装置とを備える構成である。本実施の形態に係る決済システムでは、商品の決済処理のために販売サーバ装置3及び決済サーバ装置5の間で行う必要がある情報交換を、ユーザ端末装置1が中継する。例えばユーザ端末装置1の決済要求中継部21は、購入した商品に係る決済要求を販売サーバ装置3から受信し、受信した決済要求を決済サーバ装置5(第1決済サーバ装置5A)へ送信する。また例えばユーザ端末装置1の決済結果中継部23は、決済処理の結果である決済結果を決済サーバ装置5(第1決済サーバ装置5A)から受信し、受信した決済結果を販売サーバ装置3へ送信する。販売サーバ装置3及び決済サーバ装置5は直接的な通信を行わない。これにより本実施の形態に係る決済システムは、決済処理に必要な情報の送受信を円滑に行うことができる。
また販売サーバ装置3及び第1決済サーバ装置5Aは、送受信する情報を暗号化及び復号するための暗号処理部43及び50bをそれぞれ有している。ユーザ端末装置1は、暗号化された情報を中継するが、この情報を解読又は改変等することはできない。これにより販売サーバ装置3及び第1決済サーバ装置5Aの間でユーザ端末装置1を介して授受される情報の信頼性を高めることができる。
なお販売サーバ装置3及び第1決済サーバ装置5Aとの間で送受信する情報を暗号化する構成としたが、これに限るものではない。販売サーバ装置3及び第1決済サーバ装置5Aは、送信する情報に対して電子署名を付してもよい。販売サーバ装置3及び第1決済サーバ装置5Aは、例えば所定のハッシュ関数を用いて送信する情報をダイジェストデータに変換し、ダイジェストデータを所定の鍵情報を用いて暗号化したものを電子署名とすることができる。電子署名付きの情報を受信した場合、販売サーバ装置3及び第1決済サーバ装置5Aは、電子署名を復号してダイジェストデータを取得すると共に、受信した情報から同じハッシュ関数を用いてダイジェストデータを作成する。販売サーバ装置3及び第1決済サーバ装置5Aは、両ダイジェストデータが一致する場合に、受信情報が正当なものであると判断することができる。
またユーザ端末装置1は、商品を購入するための電子マネー又はポイント等の金額情報を記憶したICカード7との間で非接触通信を行う非接触通信部16を有している。決済処理においては決済サーバ装置5及びICカード7の間で情報交換を行う必要があり、ユーザ端末装置1の決済仲介部22は、決済サーバ装置5及びICカード7の間の通信を仲介する。決済処理においては、決済サーバ装置5及びICカード7の間でユーザ端末装置1を介した通信が行われ、ICカード7の残高が減額される。これによりICカード7などの非接触通信機能を有する記憶媒体を用いた利便性の高い決済処理を実現することができる。
また本実施の形態に係る決済システムでは、決済サーバ装置5を第1決済サーバ装置5A及び第2決済サーバ装置5Bの2つの装置を用いて構成する。第1決済サーバ装置5Aは、ユーザ端末装置1及び第2決済サーバ装置5Bの間の通信を中継する。また第1決済サーバ装置5Aは、販売サーバ装置3及び第2決済サーバ装置5Bの間で送受信される情報の変換処理、並びに、第2決済サーバ装置5B及びICカード7の間で送受信される情報の変換処理を行う。第2決済サーバ装置5Bは、ICカード7との通信を行って、販売された商品の金額をICカード7の残高から減額する決済処理を行う。このような第1決済サーバ装置5A及び第2決済サーバ装置5Bを設けることにより、例えば構成が異なる複数種の販売サーバ装置3又はプロトコルなどが異なる複数種のICカード7等に対して、第2決済サーバ装置5Bの決済処理を容易に対応させることができる。また販売サーバ装置3又は第2決済サーバ装置5Bのいずれか一方の仕様変更に対して、他方を容易に対応させることができる。
また販売サーバ装置3は、購入された商品の販売処理及び決済処理等の一連の処理に対するトランザクションIDをID生成部42が生成し、生成したトランザクションIDを決済要求に付して、ユーザ端末装置1を介して第1決済サーバ装置5Aへ送信する。第1決済サーバ装置5Aは、受信した決済要求に付されたトランザクションIDに対応付けて、決済処理の状態などの履歴を記憶部51に決済履歴情報51aとして記憶しておく。なお第1決済サーバ装置5Aは、販売処理又は決済処理等が不具合などにより未完了で終了した場合であっても、これらの処理に関する履歴を決済履歴情報51aに記憶している。これにより通信に不具合などが発生して決済処理が中断した場合に、販売サーバ装置3の不具合確認部44は、トランザクションID及び決済履歴情報51aに基づいて不具合の有無を確認することができる。また第1決済サーバ装置5Aの不具合判定部50cは、決済履歴情報51aの決済状態に基づいて、決済処理の処理過程における不具合の発生個所を特定することができる。
また販売サーバ装置3は、販売処理の履歴を記憶部31に販売履歴情報31aとして記憶している。販売履歴情報31aには、トランザクションID、ユーザ端末装置1を使用するユーザのユーザID及び決済処理の結果等が対応付けて記憶される。これにより販売サーバ装置3は、販売する商品の決済処理が完了しているかを決済サーバ装置5へ確認すべきか否かを容易に判断することができる。また販売サーバ装置3は決済処理が完了していない処理が存在することをユーザ端末装置1へ通知することができ、これによりユーザ端末装置1は、表示部13に未完了の処理がある旨のメッセージを表示するなど、ユーザに対する通知を行うことができる。ユーザ端末装置1による通知は、例えばユーザがユーザ端末装置1にて販売サーバ装置3に対するログイン処理を行った場合に行うことができる。ユーザ端末装置1は、少なくとも次の決済処理が開始されるまでの間に通知を行う。これにより通信の不具合などにより処理が中断されたことをユーザに知らせることができ、この処理を再開するか否かをユーザに選択させることができる。
またICカード7の記憶部73には、電子マネー又はポイント等の残高の変化の履歴が残高履歴情報73bとして記憶されている。第1決済サーバ装置5Aは、ICカード7の残高の更新処理に対して付される更新IDと、決済処理に係るトランザクションIDとの対応を決済履歴情報51aに記憶している。第1決済サーバ装置5Aの不具合判定部50cは、ICカード7から取得した残高履歴情報73bと、記憶部51に記憶した決済履歴情報51aとを比較し、ICカード7に対する残高の更新処理に不具合が生じたか否かを判定する。これにより決済処理におけるICカード7への書き込みが完了したか否かを精度よく判定することができる。
また決済処理に不具合が生じたと判定された場合、販売サーバ装置3は中断された処理を再開する処理を行う。このときに販売サーバ装置3は、ユーザ端末装置1を介して決済サーバ装置5に確認した未要求、決済非成立、処理未了又は決済成立等の決済処理の状態に応じた方法で処理を再開する。即ち販売サーバ装置3は、決済処理の処理過程における中断箇所から処理を再開する。これにより本実施の形態に係る決済システムは、販売する商品に関する決済処理を確実に完了させることができる。
なお本実施の形態においては、販売サーバ装置3を1つの装置として構成したが、これに限るものではなく、販売サーバ装置3を2つ以上の装置で構成してもよい。また決済サーバ装置5を第1決済サーバ装置5A及び第2決済サーバ装置5Bの2つの装置で構成したが、これに限るものではなく、第1決済サーバ装置5A及び第2決済サーバ装置5Bの機能を統合して1つの決済サーバ装置5としてもよい。また決済サーバ装置5を3つ以上の装置で構成してもよい。またユーザ端末装置1はICカード7との非接触通信を行う非接触通信部16を備える構成としたが、これに限るものではない。ユーザ端末装置1が非接触通信部16を備えず、非接触通信機能を有する外部機器をユーザ端末装置1に有線又は無線にて接続する構成としてもよい。また金額情報を記憶する記憶媒体をICカード7としたが、記憶媒体はカード型に限らず、種々の形態であってよい。
また本実施の形態に係る決済システムでは、更新IDを第2決済サーバ装置5Bが生成する構成としたが、これに限るものではない。更新IDを第1決済サーバ装置5Aが生成して第2決済サーバ装置5Bへ通知する構成としてもよい。また販売サーバ装置3からユーザ端末装置1を介して決済要求を受信した第1決済サーバ装置5Aが、暗号化された決済要求を復号する構成としたが、これに限るものではない。第1決済サーバ装置5Aは、受信した決済要求を復号せずに第2決済サーバ装置5Bへ送信し、第2決済サーバ装置5Bが決済要求を復号して、復号した情報のうちの必要な情報を第1決済サーバ装置5Aへ送信する構成としてもよい。またユーザ端末装置を介して販売サーバ装置3及び第1決済サーバ装置5Aの間で送受信する情報と同様に、第1決済サーバ装置5A及び第2決済サーバ装置5Bの間で送受信する情報を暗号化してもよく、又は、電子署名を付して送受信してもよい。
また購入した商品代金の支払いにICカード7にチャージされた電子マネー又はポイント等を用いる構成としたが、これに限るものではない。例えば支払処理においてクレジットカードの識別情報等をユーザ端末装置1にてユーザが入力するなど、クレジットカードを支払いに用いる構成としてもよい。また電子マネー又はポイント等の金額情報をユーザ端末装置1が記憶する構成としてもよく、この場合にはICカード7などの記憶媒体を用いない構成としてよい。また本実施の形態においては、決済処理の状態を未要求、決済非成立、処理未了又は決済成立の4状態のいずれであるか判定して処理を再開する構成としたが、これは一例である。決済処理の状態を3状態以下又は5状態以上で判定してもよく、前述の4状態とは異なる4状態で判定してもよい。
また本実施の形態において示したユーザ端末装置1、販売サーバ装置3、第1決済サーバ装置5A及び第2決済サーバ装置5Bの処理の手順などは一例であって、これに限るものではない。また図4に示した残高履歴情報73b、図6に示した販売履歴情報31a、図8に示した決済履歴情報51aの構成は、一例であって、これに限るものではない。また決済システムの装置構成及び各装置における機能の分担は、本実施の形態にて説明したものに限らない。例えば本実施の形態においてユーザ端末装置1の機能として説明したものの少なくとも一部を、販売サーバ装置3又は決済サーバ装置5が有していてもよい。また逆に、販売サーバ装置3又は決済サーバ装置5の機能として説明したものの少なくとも一部を、ユーザ端末装置1が有していてもよい。