以下に添付図面を参照しながら、本開示の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
[1.システム]
図1を参照しながら、本実施形態に係るシステムについて説明する。図1は、本実施形態に係るシステムについて説明するためのブロック図である。
図1に示すように、本実施形態に係るシステムは、加盟店端末11と、ユーザ端末12と、振分サーバ20と、X1銀行決済管理サーバ31と、X2銀行決済管理サーバ32と、振替GW(Gateway)サーバ40とを含む。また、本実施形態に係るシステムは、X1銀行システム51と、X2銀行システム52と、Y1銀行システム53と、Y2銀行システム54と、デビット決済サーバ60とを含む。
図1の例では、説明を簡単にするため、加盟店端末の数を1、ユーザ端末の数を1、銀行システムの数を4としているが、本実施形態に係る技術を適用可能な端末の数及び銀行システムの数はこれに限定されない。また、以下の説明では、加盟店端末11及びユーザ端末12を単に端末と表記する場合がある。また、X1銀行決済管理サーバ31及びX2銀行決済管理サーバ32を決済管理サーバと表記する場合がある。
以下では、説明の都合上、X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、及び振替GWサーバ40を介して提供される決済サービスを「第1の決済サービス」と称し、デビット決済サーバ60を介して提供される決済サービスを「第2の決済サービス」と称する場合がある。また、第1の決済サービスを提供するための要素群を第1のサービスグループ(SVG1)と称し、第2の決済サービスを提供するための要素群を第2のサービスグループ(SVG2)と称する場合がある。
図1の例では、X2銀行システム52が第1のサービスグループSVG1に属し、Y1銀行システム53及びY2銀行システム54が第2のサービスグループSVG2に属する。また、X1銀行システム51は、第1のサービスグループSVG1及び第2のサービスグループSVG2の両方に属する。この例において、X1銀行は、第1の決済サービス及び第2の決済サービスの両方を提供し、X2銀行は第1の決済サービスを提供し、Y1銀行及びY2銀行は第2の決済サービスを提供する。
加盟店端末11は、ユーザとの間で行った取引の代金(以下、決済金額)を受け取る側の加盟店が利用する端末である。加盟店端末11は、例えば、タブレット端末、POS(Point Of Sale)システム、PC(Personal Computer)、及びスマートフォンなどのコンピュータであってよい。
ユーザ端末12は、決済金額を支払う側のユーザが利用する端末である。ユーザ端末12は、例えば、スマートフォン、タブレット端末、PC、携帯ゲーム機、及び携帯音楽プレーヤなどのコンピュータであってよい。加盟店端末11及びユーザ端末12は、決済サービスを利用する際、ネットワークNWを介して振分サーバ20にアクセスする。ネットワークNWは、LAN(Local Area Network)及び/又はWAN(Wide Area Network)で構成される有線及び/又は無線のネットワークであってよい。
振分サーバ20は、ユーザ端末12からの決済要求をX1銀行決済管理サーバ31、X2銀行決済管理サーバ32、及びデビット決済サーバ60のいずれかに振り分ける。振分サーバ20は、例えば、PC、ワークステーション、及びサーバ装置などのコンピュータであってよい。振分サーバ20と、X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、及びデビット決済サーバ60の各々とは、外部からのアクセスが制限される専用回線網又は暗号化通信網などのセキュアネットワークを介して接続されうる。
X1銀行決済管理サーバ31は、X1銀行システム51で管理されるX1銀行の口座を持つユーザに対して第1の決済サービスを提供する。X2銀行決済管理サーバ32は、X2銀行システム52で管理されるX2銀行の口座を持つユーザに対して第1の決済サービスを提供する。X1銀行決済管理サーバ31及びX2銀行決済管理サーバ32は、例えば、PC、ワークステーション、及びサーバ装置などのコンピュータであってよい。X1銀行決済管理サーバ31及びX2銀行決済管理サーバ32の各々と、振替GWサーバ40とは、外部からのアクセスが制限される専用回線網又は暗号化通信網などのセキュアネットワークを介して接続されうる。
X1銀行決済管理サーバ31及びX2銀行決済管理サーバ32の各々は、振替GWサーバ40を介してユーザの口座から決済金額を引き落とす引落処理及び加盟店の口座に決済金額を入金する入金処理を実行する。振替GWサーバ40は、X1銀行及びX2銀行の各々に予め開設された取纏め口座を管理し、取纏め口座を利用して第1の決済サービスにおけるリアルタイム決済を実現しうる。取纏め口座を利用したリアルタイム決済の方法としては、特開2018-055669号公報に記載の方法などがある。振替GWサーバ40と、X1銀行システム51及びX2銀行システム52の各々とは、外部からのアクセスが制限される専用回線網又は暗号化通信網などのセキュアネットワークを介して接続されうる。
デビット決済サーバ60は、デビットカード決済の仕組みを利用して決済アプリによる決済を可能にする第2の決済サービスを提供する。デビット決済サーバ60は、例えば、PC、ワークステーション、及びサーバ装置などのコンピュータであってよい。デビットカード決済の仕組みを利用するため、第1の決済サービスを提供する銀行の中にも、第2の決済サービスを提供可能な銀行がある。図1の例では、X1銀行が第1の決済サービス及び第2の決済サービスの両方を提供する。この場合、デビット決済サーバ60は、Y1銀行システム53及びY2銀行システム54の他、X1銀行システム51にも接続される。デビット決済サーバ60と、X1銀行システム51、Y1銀行システム53、及びY2銀行システム54の各々とは、外部からのアクセスが制限される専用回線網又は暗号化通信網などのセキュアネットワークを介して接続されうる。
(ハードウェア)
ここで、図2に示したコンピュータ5の例を参照しながら、本実施形態に係るシステムに含まれる端末及びサーバの機能を実現可能なコンピュータのハードウェアについて説明する。図2は、本実施形態に係るシステムに含まれる端末及びサーバの機能を実現することが可能なコンピュータのハードウェアについて説明するためのブロック図である。
上記の加盟店端末11、ユーザ端末12、振分サーバ20、X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、振替GWサーバ40、及びデビット決済サーバ60の機能は、図2に示したコンピュータ5の少なくとも一部の要素又はコンピュータ5と実質的に同じ複数のコンピュータを含むコンピュータシステムを利用して実現されうる。なお、図1に例示した各銀行システムについても同様である。
図2に示すように、コンピュータ5は、プロセッサ5a、メモリ5b、表示IF(Interface)5c、通信IF5d、及び接続IF5eを有する。
プロセッサ5aは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPU(Graphic Processing Unit)などの処理回路(processing circuitry)であってよい。メモリ5bは、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリなどのストレージデバイスであってよい。
表示IF5cは、LCD(Liquid Crystal Display)、ELD(Electro-Luminescence Display)などのディスプレイデバイスを接続するためのインターフェースである。ディスプレイデバイスの表示制御は、表示IF5cに接続されるプロセッサ5a及び/又は表示IF5cに搭載されたGPUによって実施されうる。
通信IF5dは、有線及び/又は無線のネットワークに接続するためのインターフェースである。通信IF5dは、有線LAN、無線LAN、光通信ネットワーク、携帯電話ネットワークなどで構成される通信ネットワーク、上述したセキュアネットワーク、又はデバイス間をダイレクトに接続する専用回線などに接続されうる。
接続IF5eは、各種デバイスを接続するためのインターフェースである。接続IF5eは、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)などである。接続IF5eには、キーボード、マウス、タッチパネル、タッチパッドなどの入力インターフェースや、GPS(Global Positioning System)、モーションセンサ、カメラなどが接続されうる。
また、接続IF5eには、可搬性の記録媒体5fが接続されうる。記録媒体5fは、磁気記録媒体、光ディスク、光磁気ディスク、半導体メモリなどの非一時的なコンピュータ可読記録媒体(Non-transitory computer readable storage medium)である。上述したプロセッサ5aは、記録媒体5fに格納されたプログラムを読み出してメモリ5bに格納し、メモリ5bから読み出したプログラムに従ってコンピュータ5の動作を制御しうる。コンピュータ5の動作を制御するプログラムは、メモリ5bに予め格納されていてもよいし、通信IF5dを介して外部のサーバ又はシステムからダウンロードされてもよい。
(端末の機能)
次に、図3を参照しながら、本実施形態に係る加盟店端末及びユーザ端末の機能について説明する。図3は、本実施形態に係る加盟店端末及びユーザ端末の機能について説明するためのブロック図である。
まず、加盟店端末11の機能について説明する。
図3に示すように、加盟店端末11は、記憶手段111と、金額入力手段112と、決済要求手段113と、コード表示手段114と、レシート表示手段115とを有する。さらに、加盟店端末11は、リスト表示手段116と、登録要求手段117と、撮像手段118と、位置情報取得手段119とを有する。
記憶手段111の機能は、上述したメモリ5bにより実現されうる。金額入力手段112、決済要求手段113、コード表示手段114、レシート表示手段115、リスト表示手段116、登録要求手段117、撮像手段118、及び位置情報取得手段119の機能は、主に上述したプロセッサ5aにより実現されうる。
記憶手段111には、加盟店情報111a、デバイス情報111b、及び決済アプリ111cが格納される。
加盟店情報111aは、加盟店を識別するための加盟店ID(Identifier)と、加盟店の名称、所在地、及び電話番号などの管理情報とを含んでもよい。加盟店IDは、例えば、決済サービスの利用登録後に振分サーバ20から提供されうる。管理情報には、決済に利用される銀行口座の情報や、振分サーバ20が加盟店の認証に利用するパスワードの情報が含まれてもよい。デバイス情報111bは、加盟店端末11を識別するための端末IDを含む。端末IDは、例えば、決済アプリ111cに対して事前に割り当てられた識別子や、加盟店端末11のMAC(Media Access Control)アドレスなどであってよい。なお、銀行口座の情報やパスワードの情報は、加盟店情報111aに含めず、銀行側のサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、デビット決済サーバ60など)で保持してもよい。また、ここで例示する内容は、これらの情報を他のサーバ又はシステムで保持することを妨げるものではない。
決済アプリ111cは、プロセッサ5aにより実行されたとき、金額入力手段112、決済要求手段113、コード表示手段114、及びレシート表示手段115の機能を提供する。決済アプリ111cは、ネットワークNWを介して振分サーバ20から提供されてもよいし、外部システム(例えば、アプリストア)から提供されてよいし、加盟店端末11に予めインストールされていてもよい。変形例として、Webブラウザなどを利用して振分サーバ20にアクセスすることで、決済アプリ111cを利用せずに決済アプリ111cと同等の機能が加盟店に提供されるようにしてもよい。
金額入力手段112は、決済金額を入力するための入力フォームを表示して加盟店に決済金額の入力を促す。決済要求手段113は、加盟店ID、端末ID、及び決済金額を含むコード発行要求を振分サーバ20に送信してコード情報の発行を要求する。コード表示手段114は、個々の決済を識別するための決済IDを含むコード情報を振分サーバ20から受信してコード情報を画面に表示する。コード情報は、一次元又は二次元のバーコード(例えば、QRコード(登録商標)など)である。
コード表示手段114は、ユーザ端末12でコード情報を読み取るように促すメッセージを画面に表示してもよい。ユーザ端末12でコード情報が読み取られると、決済処理に利用される情報がユーザ端末12から振分サーバ20へと送信される。ユーザの口座から決済金額が引き落とされると(後述する仮決済が完了すると)、振分サーバ20から加盟店端末11及びユーザ端末12にレシートの情報が送信される。レシート表示手段115は、振分サーバ20からレシートの情報を受信して画面にレシートを表示する。なお、ここでは、仮決済の完了に応じて加盟店端末11が振分サーバ20からレシートの情報を受信する仕組みを例示したが、加盟店端末11は、対象となる銀行側のサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、デビット決済サーバ60など)から直接、仮決済の完了通知を受け取る仕組みにしてもよい。なお、ここで例示する内容は、決済完了の通知方法を限定するものではない。
リスト表示手段116は、加盟店を登録する際、決済に利用可能な銀行のリスト(以下、銀行リスト)を振分サーバ20に要求し、振分サーバ20から取得した銀行リストを画面に表示する。登録要求手段117は、加盟店が利用する銀行を銀行リストから選択すると、加盟店の口座情報及び加盟店の管理情報などの登録すべき情報を入力するための入力フォームを表示する。また、登録要求手段117は、加盟店端末11の端末IDを取得し、端末IDと、入力フォームに入力された情報とを含む登録要求を振分サーバ20に送信する。また、登録要求手段117は、振分サーバ20から登録完了の報告を受けると、登録が完了した旨のメッセージを画面に表示する。
撮像手段118は、加盟店を登録する際、特定の操作に応じて、加盟店端末11のカメラ機能を起動し、キャッシュカード又は通帳を撮像できるようにする。加盟店がキャッシュカード又は通帳を撮像すると、撮像手段118は、撮像データを解析して銀行コード、店番号、口座番号、及び口座名義人の名前を読み取る。そして、撮像手段118は、読み取った情報の少なくとも一部を含む口座情報を登録要求手段117に提供する。この場合、登録要求手段117は、撮像手段118から受け取った口座情報を入力フォームの記入欄に予め記入して加盟店の入力を補助する。
位置情報取得手段119は、GPSなどの機能を利用して加盟店端末11の現在位置を取得する。また、位置情報取得手段119は、加盟店端末11の移動履歴を示す履歴データを記憶手段111に蓄積してもよい。また、位置情報取得手段119は、銀行リストに含まれうる銀行の関連施設(以下、銀行関連施設)がある場所の情報を取得し、取得した場所の情報と履歴データとを照合して、加盟店が立ち寄った銀行関連施設を特定してもよい。銀行関連施設は、銀行店舗やATM(Automated Teller Machine)などである。
位置情報取得手段119は、加盟店端末11の現在位置を示す情報や、加盟店が立ち寄った銀行関連施設の情報(以下、施設情報)などをリスト表示手段116に提供する。
現在位置を受け取ったリスト表示手段116は、現在位置の周辺にある銀行を特定し、銀行リストを表示する際に、特定した銀行を上位に表示する。例えば、リスト表示手段116は、現在位置から近い順に銀行リストの銀行を並び替えて表示してよい。また、リスト表示手段116は、現在位置を基準とする所定範囲内の地域にある銀行のうち、その地域のメイン銀行が上位に来るように銀行の並び順を調整してもよい。また、リスト表示手段116は、施設情報を位置情報取得手段119から受け取り、立ち寄った回数が多い順、或いは、立ち寄ったタイミングが現在に近い順に並び順を調整してもよい。
振分サーバ20を介して決済サービスを提供可能な銀行の数は膨大な数になる。そのため、利用可能な全ての銀行を含む銀行リストが表示されると、加盟店は、所望の銀行を見つけるために表示領域を何度もスクロールさせたり、絞り込み検索を行ったりすることが必要になる。しかし、上記の方法を適用して銀行リストの並び順を制御することで、加盟店が登録する可能性の高い銀行が銀行リストの上位に表示されるため、加盟店は、所望の銀行を容易に見つけることができ、登録処理をスムーズに進めることが可能になる。
次に、ユーザ端末12の機能について説明する。
図3に示すように、ユーザ端末12は、記憶手段121と、コード読取手段122と、銀行選択手段123と、決済要求手段124と、レシート表示手段125とを有する。さらに、ユーザ端末12は、リスト表示手段126と、登録要求手段127と、撮像手段128と、位置情報取得手段129とを有する。
記憶手段121の機能は、上述したメモリ5bにより実現されうる。コード読取手段122、銀行選択手段123、決済要求手段124、レシート表示手段125、リスト表示手段126、登録要求手段127、撮像手段128、及び位置情報取得手段129の機能は、主に上述したプロセッサ5aにより実現されうる。
記憶手段121には、ユーザ情報121a、デバイス情報121b、及び決済アプリ121cが格納される。
ユーザ情報121aは、ユーザを識別するためのユーザIDと、ユーザの氏名、住所、及び電話番号などの管理情報とを含む。ユーザIDは、例えば、決済サービスの利用登録後に振分サーバ20から提供されうる。管理情報には、決済に利用される銀行口座の情報や、振分サーバ20がユーザの認証に利用するパスワードの情報が含まれてよい。デバイス情報121bは、ユーザ端末12を識別するための端末IDを含む。端末IDは、例えば、決済アプリ121cに対して事前に割り当てられた識別子や、ユーザ端末12のMACアドレスなどであってよい。
決済アプリ121cは、プロセッサ5aにより実行されたとき、コード読取手段122、銀行選択手段123、決済要求手段124、及びレシート表示手段125の機能を提供する。決済アプリ121cは、ネットワークNWを介して振分サーバ20から提供されてもよいし、外部システム(例えば、アプリストア)から提供されてよいし、ユーザ端末12に予めインストールされていてもよい。変形例として、Webブラウザなどを利用して振分サーバ20にアクセスすることで、決済アプリ121cを利用せずに決済アプリ121cと同等の機能がユーザに提供されるようにしてもよい。
コード読取手段122は、加盟店端末11の画面に表示されたコード情報を読み取る。例えば、コード読取手段122は、ユーザ端末12のカメラ機能を起動し、コード情報が表示された加盟店端末11の画面を撮像し、コード情報の撮像データを解析してコード情報の内容を取得する。コード情報の内容は、例えば、決済を一意に特定するための決済ID及び決済金額などである。
銀行選択手段123は、ユーザが複数の口座を決済用に登録している場合に、それら複数の口座に対応する銀行のリストを表示して決済に利用する銀行を選択させる。決済要求手段124は、選択銀行、ユーザID、端末ID、及びコード情報の内容を含む決済要求を振分サーバ20に送信して決済を要求する。振分サーバ20がパスワード認証を求める場合、決済要求手段124は、ユーザにパスワードの入力を求め、入力されたパスワードを決済要求に含めて振分サーバ20に送信する。レシート表示手段125は、振分サーバ20からレシートの情報を受信して画面にレシートを表示する。
リスト表示手段126は、ユーザを登録する際、決済に利用可能な銀行のリスト(銀行リスト)を振分サーバ20に要求し、振分サーバ20から取得した銀行リストを画面に表示する。登録要求手段127は、ユーザが利用する銀行を銀行リストから選択すると、ユーザの口座情報及びユーザの管理情報などの登録すべき情報を入力するための入力フォームを表示する。また、登録要求手段127は、ユーザ端末12の端末IDを取得し、端末IDと、入力フォームに入力された情報とを含む登録要求を振分サーバ20に送信する。また、登録要求手段127は、振分サーバ20から登録完了の報告を受けると、登録が完了した旨のメッセージを画面に表示する。
撮像手段128は、ユーザを登録する際、特定の操作に応じて、ユーザ端末12のカメラ機能を起動し、キャッシュカード又は通帳を撮像できるようにする。ユーザがキャッシュカード又は通帳を撮像すると、撮像手段128は、撮像データを解析して銀行コード、店番号、口座番号、及び口座名義人の名前を読み取る。そして、撮像手段128は、読み取った情報の少なくとも一部を含む口座情報を登録要求手段127に提供する。この場合、登録要求手段127は、撮像手段128から受け取った口座情報を入力フォームの記入欄に予め記入してユーザの入力を補助する。
位置情報取得手段129は、GPSなどの機能を利用してユーザ端末12の現在位置を取得する。また、位置情報取得手段129は、ユーザ端末12の移動履歴を示す履歴データを記憶手段121に蓄積してもよい。また、位置情報取得手段129は、銀行リストに含まれうる銀行の関連施設(以下、銀行関連施設)がある場所の情報を取得し、取得した場所の情報と履歴データとを照合して、ユーザが立ち寄った銀行関連施設を特定してもよい。銀行関連施設は、銀行店舗やATMなどである。
位置情報取得手段129は、ユーザ端末12の現在位置を示す情報や、ユーザが立ち寄った銀行関連施設の情報(施設情報)などをリスト表示手段126に提供する。
現在位置を受け取ったリスト表示手段126は、現在位置の周辺にある銀行を特定し、銀行リストを表示する際に、特定した銀行を上位に表示する。例えば、リスト表示手段126は、現在位置から近い順に銀行リストの銀行を並び替えて表示してよい。また、リスト表示手段126は、現在位置を基準とする所定範囲内の地域にある銀行のうち、その地域のメイン銀行が上位に来るように銀行の並び順を調整してもよい。また、リスト表示手段126は、施設情報を位置情報取得手段129から受け取り、立ち寄った回数が多い順、或いは、立ち寄ったタイミングが現在に近い順に並び順を調整してもよい。
振分サーバ20を介して決済サービスを提供可能な銀行の数は膨大な数になる。そのため、利用可能な全ての銀行を含む銀行リストが表示されると、ユーザは、所望の銀行を見つけるために表示領域を何度もスクロールさせたり、絞り込み検索を行ったりすることが必要になる。しかし、上記の方法を適用して銀行リストの並び順を制御することで、ユーザが登録する可能性の高い銀行が銀行リストの上位に表示されるため、ユーザは、所望の銀行を容易に見つけることができ、登録処理をスムーズに進めることが可能になる。
(決済の流れ)
ここで、図4を参照しながら、本実施形態に係る加盟店端末及びユーザ端末を利用した決済の流れについて説明する。図4は、本実施形態に係る加盟店端末及びユーザ端末を利用した決済の流れについて説明するためのシーケンス図である。
(S101)ユーザは、決済アプリ121cを起動して決済に利用する銀行を選択する。また、ユーザは、決済アプリ121cを操作してコード読取画面を表示させる。なお、銀行の選択操作は、コード読取画面の表示操作の後に行われてもよい。
(S102)加盟店は、決済アプリ111cを起動して決済金額を入力する。決済金額が入力されると、決済アプリ111cは、加盟店ID、端末ID、及び決済金額を含むコード発行要求を振分サーバ20に送信してコード情報の発行を要求する。振分サーバ20がパスワード認証を求める場合、決済アプリ111cは、加盟店のパスワードをコード発行要求に含めて振分サーバ20へと送信する。
(S103)決済アプリ111cは、振分サーバ20からコード情報を受信し、加盟店端末11の画面にコード情報を表示する。決済アプリ111cは、コード情報をユーザに提示するように加盟店を促すメッセージを表示してもよいし、ユーザ端末12でコード情報を読み取るようにユーザを促すメッセージを表示してもよい。
(S104)コード情報が表示された加盟店端末11の画面にユーザ端末12を翳すと、決済アプリ121cは、コード情報が表示された加盟店端末11の画面を撮像し、撮像データを解析してコード情報の内容を読み取る。例えば、決済を一意に特定するための決済ID及び決済金額がコード情報に含まれる場合、決済アプリ121cは、決済ID及び決済金額を読み取り、決済金額をユーザ端末12の画面に表示し、決済の内容を承認するか否かの判断を求めるメッセージを画面に表示する。
(S105)ユーザが決済の内容を承認する操作を行うと、決済アプリ121cは、コード情報の内容、選択銀行、ユーザID、及び端末IDを含む決済要求を振分サーバ20に送信して決済を要求する。振分サーバ20がパスワード認証を求める場合、決済アプリ121cは、ユーザにパスワードの入力を要求し、入力されたパスワードを決済要求に含めて振分サーバ20へと送信する。
(S106、S107)ユーザの口座から決済金額を引き落とす引落処理が完了すると(後述する仮決済が完了すると)、振分サーバ20から完了通知と共にレシートの情報が加盟店端末11及びユーザ端末12に送信される。加盟店端末11及びユーザ端末12は、完了通知及びレシートの情報を受信してレシートを画面に表示する。S106及びS107の処理が完了すると、図4に示した一連の処理は終了する。
(振分サーバの機能)
次に、図5を参照しながら、本実施形態に係る振分サーバの機能について説明する。図5は、本実施形態に係る振分サーバの機能について説明するためのブロック図である。
図5に示すように、振分サーバ20は、記憶手段201と、端末認証手段202と、コード発行手段203と、要求振分手段204と、レシート発行手段205と、加盟店登録手段206と、ユーザ登録手段207とを有する。なお、端末認証手段202、コード発行手段203、要求振分手段204、レシート発行手段205、及び加盟店登録手段206のうち対象となるサーバを特定して処理を振り分ける機能以外の機能は、振分サーバ20に搭載する代わりに、銀行側のサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、デビット決済サーバ60など)に搭載してもよい。また、ここで例示する内容は、これらの機能を他のサーバ又はシステムに搭載することを妨げるものではない。
記憶手段201の機能は、上述したメモリ5bにより実現されうる。端末認証手段202、コード発行手段203、要求振分手段204、レシート発行手段205、加盟店登録手段206、及びユーザ登録手段207の機能は、主に上述したプロセッサ5aにより実現されうる。
記憶手段201には、加盟店DB201aと、ユーザDB201bと、銀行属性情報201cと、登録事業者情報201dとが格納される。なお、加盟店DB201a、及びユーザDB201bは、振分サーバ20が保持する代わりに、銀行側の各サーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、デビット決済サーバ60など)が保持してもよい。また、ここで例示する内容は、これらのDBを他のサーバ又はシステムで保持することを妨げるものではない。
加盟店DB201aは、振分サーバ20で加盟店及び加盟店端末11を識別するための情報と、銀行側(決済管理サーバ、銀行システム、振替GWサーバ40、及びデビット決済サーバ60)で加盟店及び加盟店端末11を識別するための情報とを含む。そして、加盟店DB201aは、それら2種類の情報を対応付ける。ユーザDB201bは、振分サーバ20でユーザ及びユーザ端末12を識別するための情報と、銀行側でユーザ及びユーザ端末11を識別するための情報とを含む。そして、ユーザDB201bは、それら2種類の情報を対応付ける。
銀行属性情報201cは、X1銀行、X2銀行、Y1銀行、Y2銀行が属するサービスグループを特定するための情報を含む。図1の例においては、X1銀行、X2銀行が第1のサービスグループSVG1に属し、X1銀行、Y1銀行、Y2銀行が第2のサービスグループSVG2に属することを示す情報が銀行属性情報201cに含まれる。
登録事業者情報201dは、決済アプリ111c、121cを提供する事業者を管理するための情報を含む。例えば、少なくとも1つの銀行と決済サービスの提供契約を結んだ事業者の情報が登録事業者情報201dに登録され、登録事業者情報201dに登録されている事業者の決済アプリで、振分サーバ20を介して提供される全ての決済サービスが利用できるようになる。少なくとも1つの銀行に口座を保有する事業者の情報が登録事業者情報201dに登録され、任意の銀行が提供する決済サービスが、その事業者の決済アプリで利用できるようにしてもよい。
ここで、図6の例を参照しながら、本実施形態に係る振分サーバが管理する加盟店DBの内容について説明する。図6は、本実施形態に係る振分サーバが管理する加盟店DBの内容について説明するための図表である。
図6に示すように、加盟店DB201aには、加盟店IDと、端末IDと、加盟店情報とが含まれる。
加盟店IDの欄には、端末側の加盟店IDと、銀行側の加盟店IDとが対応付けて記載される。端末側の加盟店IDは、振分サーバ20が加盟店を識別するために利用する識別情報である。銀行側の加盟店IDは、X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、及びデビット決済サーバ60を含む銀行側で加盟店を識別するために利用される識別情報である。端末IDの欄には、加盟店端末11の端末IDが記載される。
加盟店情報の欄には、登録銀行の情報と、加盟店の管理情報とが記載される。登録銀行の情報は、加盟店の決済用口座に対応する銀行の情報(例えば、銀行名や銀行コードなど)である。管理情報は、加盟店の名称、所在地、パスワードなどの情報を含む。なお、管理情報の内容は実施の態様に応じて適宜変形可能である。
次に、図7の例を参照しながら、本実施形態に係る振分サーバが管理するユーザDBの内容について説明する。図7は、本実施形態に係る振分サーバが管理するユーザDBの内容について説明するための図表である。
図7に示すように、ユーザDB201bには、ユーザIDと、端末IDと、ユーザ情報とが含まれうる。なお、ユーザ情報は、銀行側のサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、デビット決済サーバ60)が管理し、振分サーバ20が保持しないようにしてもよい。また、ここで例示する内容は、ユーザ情報を他のサーバ又はシステムで保持することを妨げるものではない。
ユーザIDの欄には、端末側のユーザIDと、銀行側のユーザIDとが対応付けて記載される。端末側のユーザIDは、振分サーバ20がユーザを識別するために利用する識別情報である。銀行側のユーザIDは、X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、及びデビット決済サーバ60を含む銀行側でユーザを識別するために利用される識別情報である。端末IDの欄には、ユーザ端末11の端末IDが記載される。
ユーザ情報の欄には、登録銀行の情報と、ユーザの管理情報とが記載される。登録銀行の情報は、ユーザの決済用口座に対応する銀行の情報(例えば、銀行名や銀行コードなど)である。管理情報は、ユーザの氏名、パスワード、連絡先などの情報を含む。なお、管理情報の内容は実施の態様に応じて適宜変形可能である。
再び図5を参照する。端末認証手段202は、加盟店端末11から送信されるパスワード、端末側の加盟店ID、及び端末IDのセットと、加盟店DB201aに登録されているパスワード、端末側の加盟店ID、及び端末IDのセットとを照合して認証を行う。また、端末認証手段202は、ユーザ端末12から送信されるパスワード、端末側のユーザID、及び端末IDのセットと、ユーザDB201bに登録されているパスワード、端末側のユーザID、及び端末IDのセットとを照合して認証を行う。
コード発行手段203は、加盟店端末11からのコード発行要求に応じて決済IDを発行し、決済IDを含むコード情報を生成して加盟店端末11に送信する。コード情報には、例えば、決済IDの他、コード発行要求から取得される決済金額が含まれてよい。
要求振分手段204は、ユーザ端末12から決済要求を受信し、加盟店DB201aを参照して端末側の加盟店IDを銀行側の加盟店IDに置換し、ユーザDB201bを参照して端末側のユーザIDを銀行側のユーザIDに置換する。また、要求振分手段204は、ユーザDB201bを参照してユーザの登録銀行を特定し、特定した登録銀行に対応するサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、又はデビット決済サーバ60)に決済処理を依頼する。
図7の例では、端末側のユーザIDがFS101の場合、登録銀行がX2銀行であると特定される。この場合、要求振分手段204は、X2銀行決済管理サーバ32に決済処理を要求する。他の例として、登録銀行が第2のサービスグループSVG2に含まれるY1銀行の場合、要求振分手段204は、デビット決済サーバ60に決済処理を要求する。
登録銀行が、第1のサービスグループSVG1及び第2のサービスグループSVG2の両方に属するX1銀行の場合、要求振分手段204は、X1銀行決済管理サーバ31に決済処理を要求する。登録銀行がX1銀行で、第2の決済サービスの利用が予め設定されている場合、要求振分手段204は、デビット決済サーバ60に決済処理を要求する。
レシート発行手段205は、X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、又はデビット決済サーバ60に要求した決済処理の完了を受けてレシートを発行し、完了通知と共にレシートの情報を加盟店端末11及びユーザ端末12に送信する。レシートには、例えば、決済ID、決済金額、加盟店(受取人)の情報、ユーザ(支払人)の情報、及び決済の日付などが記載される。
加盟店登録手段206は、決済サービスを利用する加盟店を登録するための処理を実行する。例えば、加盟店登録手段206は、加盟店端末11からの要求に応じて登録可能な銀行のリスト(銀行リスト)を加盟店端末11に送信する。図1の例では、振分サーバ20を介してX1銀行、X2銀行、Y1銀行、及びY2銀行の口座が決済に利用できるため、これらの銀行が銀行リストに含まれる。
なお、加盟店端末11から現在位置の情報や施設情報が得られる場合、加盟店登録手段206は、現在位置の情報や施設情報に基づいて銀行リストの並び替えを実施し、並び替え後の銀行リストを加盟店端末11に提供してもよい。並び替えの方法は、例えば、加盟店端末11のリスト表示手段116による並び替えの方法と同じでよい。
また、加盟店登録手段206は、加盟店の口座情報、及び加盟店が決済に利用する端末の端末IDなどを含む登録要求を受け付ける。また、加盟店登録手段206は、加盟店が選択した銀行に対応するサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、又はデビット決済サーバ60)に登録要求を転送する。また、加盟店登録手段206は、登録要求の転送先から銀行側の加盟店IDを取得する。また、加盟店登録手段206は、端末側の加盟店IDを発行し、端末側の加盟店IDに対応付ける形で、加盟店DB201aに銀行側の加盟店ID、端末ID、登録銀行、及び管理情報を登録する。登録が完了すると、加盟店登録手段206は、登録処理の完了通知を加盟店端末11に送信する。
ユーザ登録手段207は、決済サービスを利用するユーザを登録するための処理を実行する。例えば、ユーザ登録手段207は、ユーザ端末12からの要求に応じて登録可能な銀行のリスト(銀行リスト)をユーザ端末12に送信する。なお、ユーザ端末12から現在位置の情報や施設情報が得られる場合、ユーザ登録手段207は、現在位置の情報や施設情報に基づいて銀行リストの並び替えを実施し、並び替え後の銀行リストをユーザ端末12に提供してもよい。並び替えの方法は、例えば、ユーザ端末12のリスト表示手段126による並び替えの方法と同じでよい。
また、ユーザ登録手段207は、ユーザの口座情報、及びユーザが決済に利用する端末の端末IDなどを含む登録要求を受け付ける。また、ユーザ登録手段207は、ユーザが選択した銀行に対応するサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、又はデビット決済サーバ60)に登録要求を転送する。また、ユーザ登録手段207は、登録要求の転送先から銀行側のユーザIDを取得する。また、ユーザ登録手段207は、端末側のユーザIDを発行し、端末側のユーザIDに対応付ける形で、ユーザDB201bに銀行側のユーザID、端末ID、登録銀行、及び管理情報を登録する。登録が完了すると、ユーザ登録手段207は、登録処理の完了通知をユーザ端末12に送信する。
(決済管理サーバ及び振替GWサーバの機能)
次に、図8を参照しながら、本実施形態に係る決済管理サーバ及び振替GWサーバの機能について説明する。図8は、本実施形態に係る決済管理サーバ及び振替GWサーバの機能について説明するためのブロック図である。なお、説明を簡単にするため、X1銀行決済管理サーバ31と、X2銀行決済管理サーバ32とは実質的に同じ機能を有するとしてX1銀行決済管理サーバ31の機能について説明し、X2銀行決済管理サーバ32の機能については説明を省略する。
図8に示すように、X1銀行決済管理サーバ31は、記憶手段311と、仮決済要求手段312と、分配要求手段313と、加盟店登録手段314と、ユーザ登録手段315とを有する。振替GWサーバ40は、仮決済手段401と、分配手段402とを有する。記憶手段311の機能は、上述したメモリ5bにより実現されうる。仮決済要求手段312、分配要求手段313、仮決済手段401、分配手段402、加盟店登録手段314、及びユーザ登録手段315の機能は、主に上述したプロセッサ5aにより実現されうる。
記憶手段311には、加盟店DB311aと、ユーザDB311bと、決済管理DB311cとが格納される。加盟店DB311aは、X1銀行側(X1銀行決済管理サーバ31、振替GWサーバ40、X1銀行システム51)で加盟店を識別するための情報と、加盟店がX1銀行に保有する決済用口座の情報とを対応付ける。ユーザDB311bは、X1銀行側でユーザを識別するための情報と、ユーザがX1銀行に保有する決済用口座の情報とを対応付ける。決済管理DB311cは、X1銀行決済管理サーバ31を介して行われた決済の内容を管理するためのデータベースである。
ここで、図9の例を参照しながら、本実施形態に係る決済管理サーバが管理する加盟店DBの内容について説明する。図9は、本実施形態に係る決済管理サーバが管理する加盟店DBの内容について説明するための図表である。
図9に示すように、加盟店DB311aには、X1銀行側で管理する加盟店ID(銀行側の加盟店ID)と、加盟店がX1銀行に開設した口座の口座情報と、分配日と、加盟店情報とが格納される。口座情報には、口座種別、店番号、及び口座番号が含まれる。加盟店情報には、加盟店の名称、所在地、及び連絡先などの情報が含まれる。なお、加盟店情報の内容は、実施の態様に応じて適宜変形可能である。
分配日は、振替GWサーバ40が管理する取纏め口座から加盟店口座に入金されるタイミングを示す情報である。振替GWサーバ40を利用したリアルタイム決済の場合、ユーザの決済用口座から取纏め口座に入金されるタイミングと、取纏め口座から加盟店口座に入金されるタイミングとが同期しておらず、各加盟店が設定した分配日になると、取纏め口座から加盟店口座への入金が行われる。そのため、加盟店DB311aには分配日に関する情報が含まれる。本明細書では、取纏め口座への入金に関する処理を「仮決済」と称し、取纏め口座から加盟店口座への入金に関する処理を「分配」と称する。
次に、図10の例を参照しながら、本実施形態に係る決済管理サーバが管理するユーザDBの内容について説明する。図10は、本実施形態に係る決済管理サーバが管理するユーザDBの内容について説明するための図表である。
図10に示すように、ユーザDB311bには、X1銀行側で管理するユーザID(銀行側のユーザID)と、ユーザがX1銀行に開設した口座の口座情報と、ユーザ情報とが格納される。口座情報には、口座種別、店番号、及び口座番号が含まれる。ユーザ情報には、ユーザの氏名、住所、及び連絡先などの情報が含まれる。なお、ユーザ情報の内容は、実施の態様に応じて適宜変形可能である。
次に、図11の例を参照しながら、本実施形態に係る決済管理サーバが管理する決済管理DBの内容について説明する。図11は、本実施形態に係る決済管理サーバが管理する決済管理DBの内容について説明するための図表である。
図11に示すように、決済管理DB311cには、個々の決済を識別するための決済IDと、その決済に関わる加盟店及びユーザに対応する加盟店ID及びユーザIDと、仮決済実行日と、決済金額と、分配の状況に関する情報とが格納される。仮決済実行日の欄には、仮決済が実行された日が記載される。なお、仮決済実行日の欄には、仮決済の実行完了時刻が記載されてもよい。分配の欄には、分配の完了(済)又は未了(未)を示す情報と、分配が完了している場合には分配の実行日とが記載される。
再び図8を参照する。仮決済要求手段312は、振分サーバ20からの決済要求に応じて、決済ID、加盟店ID、ユーザID、及び決済金額を含むレコードを決済管理DB311cに作成する。また、仮決済要求手段312は、ユーザの決済用口座から決済金額を引き落としてX1銀行の取纏め口座に入金する仮決済の処理を振替GWサーバ40に依頼する。仮決済要求手段312からの依頼を受けると、仮決済手段401は、X1銀行システム51にアクセスして仮決済を実行する。仮決済手段401による仮決済が完了すると、仮決済要求手段312は、決済管理DB311cに仮決済実行日を記載し、振分サーバ20に仮決済の完了を通知する。
分配要求手段313は、加盟店DB311aの分配日欄を参照して分配対象の加盟店に対応する加盟店IDを特定する。そして、分配要求手段313は、分配対象の加盟店に支払われるべき決済金額の合計額を計算し、計算した合計額を取纏め口座から加盟店口座へと入金する分配の処理を振替GWサーバ40に依頼する。分配要求手段313からの依頼を受けると、分配手段402は、X1銀行システム51にアクセスして分配を実行する。分配手段402による分配が完了すると、分配要求手段313は、決済管理DB311cの分配欄を更新し、振分サーバ20に分配の完了を通知する。分配の完了通知は、振分サーバ20を介して分配対象の加盟店に送られる。
加盟店登録手段314は、振分サーバ20から登録要求を受けると、登録要求の口座情報を銀行システム51に照会し、加盟店の口座が確認できると加盟店IDを発行して口座情報と共に加盟店DB311aに登録する。登録要求に分配日の情報が含まれている場合、加盟店登録手段314は、分配日の情報を加盟店DB311aに登録する。一方、登録要求に分配日の情報が含まれていない場合、加盟店登録手段314は、振分サーバ20を介して加盟店端末11に分配日の情報を要求する。登録が完了すると、加盟店登録手段314は、登録の完了を振分サーバ20に通知する。
ユーザ登録手段315は、振分サーバ20から登録要求を受けると、登録要求の口座情報を銀行システム51に照会し、ユーザの口座が確認できるとユーザIDを発行して口座情報と共にユーザDB311bに登録する。登録が完了すると、ユーザ登録手段315は、登録の完了を振分サーバ20に通知する。
[2.処理の流れ]
次に、本実施形態に係る決済処理及び登録処理の流れについて説明する。
(決済処理の流れ)
まず、図12を参照しながら、本実施形態に係る振分サーバが実行する決済処理の流れについて説明する。図12は、本実施形態に係る振分サーバが実行する決済処理の流れについて説明するためのフロー図である。
(S201)振分サーバ20は、加盟店ID、端末ID、パスワード、及び決済金額を含むコード発行要求を加盟店端末11から受信する。
(S202)振分サーバ20は、コード発行要求に含まれるパスワード、加盟店ID、及び端末IDのセットと、加盟店DB201aに格納されているパスワード、端末側の加盟店ID、及び端末IDのセットとを照合して認証を行う。認証が成功した場合、振分サーバ20は、決済IDを発行し、決済ID及び決済金額を含むコード情報を生成する。そして、振分サーバ20は、生成されたコード情報を加盟店端末11に送信する。
コード情報を受信した加盟店端末11は、決済アプリ111cの画面にコード情報を表示する。加盟店は、画面に表示されたコード情報をユーザに提示し、ユーザ端末12によりコード情報を読み取るように促す。ユーザ端末12でコード情報を読み取ると、決済アプリ121cに決済金額などの情報が表示される。決済を承認するユーザは、パスワードの入力及び利用する銀行を選択し、決済を進めるための操作を行う。この操作に応じて、ユーザ端末12から振分サーバ20へと決済要求が送信される。決済要求は、パスワード、選択銀行の情報、ユーザID、端末ID、及びコード情報の内容を含む。
(S203)振分サーバ20は、ユーザ端末12から決済要求を受信する。
(S204)振分サーバ20は、決済要求に含まれるパスワード、ユーザID、及び端末IDのセットと、ユーザDB201bに格納されているパスワード、端末側のユーザID、及び端末IDのセットとを照合して認証を行う。認証が成功した場合、振分サーバ20は、銀行属性情報201cを参照して、決済要求で指定された銀行(選択銀行)が属するサービスグループを特定する。
(S205)振分サーバ20は、選択銀行が第1のサービスグループSVG1及び第2のサービスグループSVG2の両方に属するか否かを判定する。選択銀行が両方のサービスグループに属する場合、処理はS206へと進む。選択銀行が一方のサービスグループだけに属する場合、処理はS207へと進む。例えば、選択銀行がX1銀行の場合には処理がS206へと進み、それ以外の銀行の場合には処理がS207へと進む。
(S206)振分サーバ20は、デビット決済サーバ60ではなく、選択銀行が管理する決済管理サーバを優先的に選択する。但し、ユーザが第2の決済サービスを優先利用するように予め設定されている場合にはデビット決済サーバ60が選択される。S206の処理が完了すると、処理はS208へと進む。
(S207)振分サーバ20は、選択銀行に対応するサーバを選択する。例えば、選択銀行がX2銀行の場合にはX2銀行に対応するX2銀行決済管理サーバ32が選択され、選択銀行がY1銀行又はY2銀行の場合にはデビット決済サーバ60が選択される。
(S208)振分サーバ20は、加盟店DB201a及びユーザDB201bを参照し、端末側の加盟店ID及び端末側のユーザIDを銀行側の加盟店ID及び銀行側のユーザIDに置換する。また、振分サーバ20は、決済ID、決済金額、銀行側の加盟店ID、及び銀行側のユーザIDを含む決済要求を、S206又はS207で選択されたサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、又はデビット決済サーバ60)に送信する。
(S209)振分サーバ20は、S206又はS207で選択されたサーバから仮決済の完了通知を受信した場合、レシートを発行し、加盟店端末11及びユーザ端末12にレシートの情報を送信する。なお、仮決済が失敗した場合、振分サーバ20は、決済処理の失敗(未了)を加盟店端末11及びユーザ端末12に通知する。S209の処理が完了すると、図12に示した一連の処理は終了する。
なお、上述したS201及びS202の処理は、加盟店端末11と、銀行側のサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、デビット決済サーバ60など)との間のやり取りを介して実行されてもよい。また、S203以降の処理のうち、対象となるサーバを選択して処理を振り分ける部分を除いた処理の一部又は全部は、振分サーバ20に代えて、銀行側のサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、デビット決済サーバ60など)が実行してもよい。また、ここで例示する内容は、これら処理の一部又は全部を他のサーバ又はシステムで実行することを妨げるものではない。
次に、図13を参照しながら、本実施形態に係る決済管理サーバが実行する処理のうち仮決済に関する処理の流れについて説明する。図13は、本実施形態に係る決済管理サーバが実行する処理のうち仮決済に関する処理の流れについて説明するためのフロー図である。なお、図13に示した処理は、主にX1銀行決済管理サーバ31の仮決済要求手段312及び振替GWサーバ40の仮決済手段401により実行される。
(S211)X1銀行決済管理サーバ31は、振分サーバ20から決済要求を受信し、その決済要求からユーザIDを取得する。また、X1銀行決済管理サーバ31は、取得されたユーザIDに対応する口座情報をユーザDB311bから抽出する。また、X1銀行決済管理サーバ31は、抽出された口座情報を振替GWサーバ40に提供し、振替GWサーバ40を介して銀行システム51に口座残高を問い合わせる。そして、X1銀行決済管理サーバ31は、取得されたユーザIDに対応するユーザの口座残高を確認する。
(S212)X1銀行決済管理サーバ31は、S211で確認された口座残高と、決済要求に含まれる決済金額とを比較し、口座残高が決済金額より多いか否かを判定する。口座残高が決済金額より多い場合、処理はS213へと進む。一方、口座残高が決済金額より多くない場合、処理はS217へと進む。
(S213)X1銀行決済管理サーバ31は、決済ID、加盟店ID、ユーザID、及び決済金額を含むレコードを決済管理DB311cに追加する。また、X1銀行決済管理サーバ31は、決済金額及び口座情報を含む振替データを生成する。
(S214)X1銀行決済管理サーバ31は、S213で生成した振替データを振替GWサーバ40に送信し、ユーザの口座から取纏め口座への振替を依頼する。この依頼に応じて、振替GWサーバ40は、振替データに基づくユーザ口座から引落処理及び取纏め口座への入金処理を実行し、仮決済の完了をX1銀行決済管理サーバ31に報告する。
(S215、S216)X1銀行決済管理サーバ31は、振替GWサーバ40から仮決済の完了報告を受けると決済管理DB311cに仮決済実行日を登録する。また、X1銀行決済管理サーバ31は、振分サーバ20に決済の完了を通知する。S216の処理が完了すると、図13に示した一連の処理は終了する。
(S217)X1銀行決済管理サーバ31は、振分サーバ20に残高不足を通知する。S217の処理が完了すると、図13に示した一連の処理は終了する。
なお、上述したS211、S212、及びS217の処理は省略されてもよい。例えば、S212の判断が銀行勘定系側のシステムで実施され、そのシステムから決済取引時に判断結果(決済取引の成立又は残高不足)が返されるようにしてもよい。この場合、S212の判断は、S214の処理とS215の処理との間で実施されうる。ここで例示する内容は、これらの処理を他のサーバ又はシステムで実行することを妨げるものではなく、また、処理のタイミングを上記の例に限定するものでもない。
(登録処理の流れ)
図14を参照しながら、本実施形態に係る振分サーバが実行する登録処理の流れについて説明する。図14は、本実施形態に係る振分サーバが実行する登録処理の流れについて説明するためのフロー図である。なお、ユーザ及び加盟店の登録処理は実質的に同じであるため、図14~図16の説明ではユーザと加盟店とを区別せず「登録者」と称し、加盟店端末11とユーザ端末12とを区別せずに「端末」と称して説明を進める。
(S301)振分サーバ20は、端末で決済アプリが起動され、登録者を登録するための登録画面に遷移した場合、決済サービスでの決済に利用可能な銀行のリスト(銀行リスト)を端末に送信する。端末が銀行リストを受信すると、決済アプリの画面は銀行リストの表示画面に遷移する。
(S302)振分サーバ20は、所定時間内(例えば、3分以内)に銀行リストから銀行が選択されたか否かを判定する。登録者により所定時間内に銀行が選択され、端末から選択銀行が通知された場合、処理はS303へと進む。一方、登録者により所定時間内に銀行が選択されず、所定時間が経過しても選択銀行が通知されない場合、銀行リストが非表示にされ、処理はS310へと進む。
(S303)振分サーバ20は、登録者DB(加盟店DB201a、ユーザDB201b)を参照し、決済用口座として選択銀行の口座を既に登録済みか否かを判定する。選択銀行の登録済み口座が既にある場合、登録者の端末IDと、選択銀行とを対応付けるレコードが登録者DBに存在する。この場合、処理はS304へと進む。一方、選択銀行の登録済み口座がない場合、処理はS305へと進む。
(S304)振分サーバ20は、決済用口座として選択銀行が複数の口座登録を許容する銀行(以下、特定銀行)であるか否かを判定する。選択銀行が特定銀行である場合、処理はS305へと進む。一方、選択銀行が特定銀行でない場合、処理はS310へと進む。なお、選択銀行が特定銀行でない場合、振分サーバ20は、選択銀行に対応する登録者DBのレコードを削除又は凍結(無効化)してもよい。
(S305)振分サーバ20は、振分サーバ20を介して決済サービスを提供する全ての銀行で共通の約款を端末に表示させる。表示された約款を登録者が確認して同意したとき、振分サーバ20は、端末の決済アプリを制御して登録者情報及び口座情報の入力画面に遷移させる。例えば、決済アプリの画面に入力フォームが表示される。
(S306)振分サーバ20は、登録者による登録者情報及び口座情報の入力が完了し、登録者情報及び口座情報を含む登録要求を端末から受信したとき、選択銀行に対応するサーバ(X1銀行決済管理サーバ31、X2銀行決済管理サーバ32、デビット決済サーバ60)に登録要求を転送する。登録要求の転送先で登録者の口座が確認できると、登録者の口座情報が登録され、銀行側ID(銀行側の加盟店ID、銀行側のユーザID)が発行される。
(S307)振分サーバ20は、登録要求の転送先から銀行側IDを取得できたか否かを判定する。銀行側IDを取得できた場合、処理はS308へと進む。一方、銀行側IDを取得できなかった場合、処理はS310へと進む。
(S308、S309)振分サーバ20は、端末側ID(端末側の加盟店ID、端末側のユーザID)を発行し、銀行側IDと紐付ける形で、端末ID及び登録者情報と共に登録者DBに格納する。そして、振分サーバ20は、登録が完了した旨の通知を登録者の端末に送信する。S309の処理が完了すると、図14に示した一連の処理は終了する。
(S310)振分サーバ20は、登録が失敗した旨の通知を登録者の端末に送信する。S310の処理が完了すると、図14に示した一連の処理は終了する。
上記のように、図14の処理フローによれば、銀行側IDが取得できなかった場合(ケース#3:S307)だけでなく、所定時間内に銀行が選択されなかった場合(ケース#1:S302を参照)、選択銀行に既に登録済み口座があり且つ選択銀行が特定銀行でない場合(ケース#2:S303、S304を参照)にも、S310の処理へ到達する。ケース#1の条件は、銀行リストの表示をワンタイム化することでセキュリティを高める。ケース#2の条件は、特定銀行を例外として1銀行1口座の登録を原則とすることで不正利用の拡大を防止してセキュリティを高める。このような処理フローにすることでセキュリティの向上に寄与しうる。
次に、図15及び図16を参照しながら、本実施形態に係る端末が実行する登録処理の流れについて説明する。図15は、本実施形態に係る端末が実行する登録処理の流れについて説明するための第1のフロー図である。図16は、本実施形態に係る端末が実行する登録処理の流れについて説明するための第2のフロー図である。
(S321)登録者が端末の決済アプリを起動し、決済アプリの表示画面を登録画面へ遷移させる操作を行うと、決済アプリは、振分サーバ20から銀行リストを取得する。
(S322)決済アプリは、端末の位置情報を取得し、現在位置の周辺にある銀行を特定する。このとき、決済アプリは、ネットワークNWを介して取得した地図情報を利用して周辺の銀行を特定してもよいし、予め端末に格納されている地図情報を利用して周辺の銀行を特定してもよい。
(S323)決済アプリは、端末に他の決済アプリがインストールされているかを確認する。端末に他の決済アプリがインストールされている場合、決済アプリは、他の決済アプリに関連する銀行を特定する。例えば、他の決済アプリがX1銀行の決済用アプリケーションプログラムである場合、決済アプリは、他の決済アプリに関連する銀行としてX1銀行を特定する。また、他の決済アプリが、複数の銀行を登録できる決済用アプリケーションプログラムである場合、決済アプリは、それら複数の銀行を他の決済アプリに関連する銀行として特定する。
(S324)決済アプリは、端末の移動履歴を示す履歴データがある場合、端末の移動履歴と銀行関連施設の場所とを照合して登録者が立ち寄った銀行関連施設を検出し、登録者が立ち寄った銀行関連施設の履歴を立ち寄り履歴として端末に保存する。立ち寄り履歴がある場合、決済アプリは、登録者が立ち寄った銀行関連施設に対応する銀行を特定する。
(S325)決済アプリは、振分サーバ20における各銀行の登録数を問い合わせ、振分サーバ20から登録数の情報を取得する。
(S326)決済アプリは、S322~S324の処理にて特定された銀行が上位に来るように銀行リストの並び順を制御する。また、決済アプリは、S322~S324の処理にて特定された銀行の下位に、登録数が多い順で残りの銀行を表示する。
なお、S322~S324のうち複数の処理で銀行が特定されている場合、予め設定された優先度に従って銀行の並び順が決定されてよい。例えば、S322、S323、S324の順に高い優先度が設定されている場合、決済アプリは、S322の処理で特定された所定数以下の銀行を最上位に表示し、その下位にS323の処理で特定された所定数以下の銀行を表示し、さらに下位にS324の処理で特定された所定数以下の銀行を表示する。このとき、決済アプリは、同じ銀行が重複して表示されないようにする。所定数は、1以上の任意の数に設定されうる。
変形例として、決済アプリは、S322~S324の処理にて特定された銀行のセットを、登録数が多い順に並べ、その下位に残りの銀行を登録数の多い順に並べてもよい。また、決済アプリは、S322~S324のうち登録者が選択した処理だけで銀行を特定してもよい。また、決済アプリは、S322~S324の処理を省略し、登録数の多い順に全ての銀行を並べ替えてもよい。なお、S322~S325の処理は順序が入れ替えられても良い。
(S327)決済アプリは、銀行リストが最下段までスクロールされた後、所定時間(例えば、1分)が経過した場合に、端末から口座開設できる銀行の広告を表示する。広告に表示される銀行は、銀行リストに含まれる銀行である。この広告表示は、登録者が銀行リストの中に自分の口座に対応する銀行を見つけられない場合に、その場で口座開設の手続きを行うことを容易にする。
(S328)決済アプリは、所定時間(例えば、3分)内に銀行リストから銀行が選択されたか否かを判定する。なお、この判定は決済アプリを介して振分サーバ20側で実施されてもよい。所定時間内に銀行が選択された場合、処理はS329へと進む。一方、所定時間内に銀行が選択されなかった場合、銀行リストが非表示にされ、処理はS335へと進む。
(S329)決済アプリは、選択銀行を振分サーバ20に通知する。選択銀行の通知を受けた振分サーバ20では、選択銀行の登録済み口座があるかが判定され、登録済み口座がある場合には選択銀行が複数口座登録を許容するかが判定される。そして、選択銀行の登録済み口座がないか、又は、選択銀行が複数口座登録を許容する場合、選択銀行の登録が可能である旨が決済アプリに通知される。
(S330)決済アプリは、振分サーバ20からの通知に基づいて、選択銀行の口座登録が可能であるか否かを判定する。選択銀行の口座登録が可能な場合、処理はS331へと進む。一方、選択銀行の口座登録が可能でない場合、処理はS335へと進む。
(S331)決済アプリは、振分サーバ20を介して決済サービスを提供する全ての銀行に共通の約款を表示する。登録者による約款の確認及び同意が得られた場合、決済アプリは、登録者情報及び口座情報を入力するための入力フォームを表示し、登録者による情報の入力を受け付ける。
(S332)決済アプリは、登録者により入力された情報を含む登録要求を振分サーバ20に送信する。この登録要求に応じて振分サーバ20側で登録処理が実行され、登録処理が完了すると決済アプリに登録が完了した旨の通知が送信される。
(S333)決済アプリは、振分サーバ20から登録完了通知を受信したか否かを判定する。登録完了通知を受信した場合、処理はS334へと進む。一方、登録が失敗した旨の通知が受信された場合、処理はS335へと進む。
(S334)決済アプリは、登録完了メッセージを画面に表示する。その後、登録者は、決済アプリを利用して登録口座による決済サービスを利用することが可能になる。S334の処理が完了すると、図15及び図16に示した一連の処理は終了する。なお、登録完了メッセージの表示後、決済アプリの所定画面(例えば、トップページ)に遷移する際、決済アプリは、選択銀行の広告を表示してもよい。また、決済アプリは、選択銀行が提供する決済用アプリケーションプログラムでも決済を行えるようにしてもよい。
(S335)決済アプリは、登録失敗メッセージを画面に表示する。S335の処理が完了すると、図15及び図16に示した一連の処理は終了する。なお、複数口座登録に起因して登録が失敗した場合、決済アプリは、複数口座登録を許容する特定銀行の利用を推薦するメッセージを表示してもよい。
(登録画面のGUI)
図17を参照しながら、本実施形態に係る登録処理に際して端末の決済アプリが提供するGUI(Graphical User Interface)について説明する。図17は、本実施形態に係る登録処理に際して端末の決済アプリが提供するGUIについて説明するための模式図である。なお、ここでは決済アプリ121cを例に説明する。図17に例示したユーザ端末12は、ディスプレイ12a及びカメラ12bを備える。
図17には、登録画面R1、R2、R3が模式的に示されている。登録画面R1には銀行リストが表示される。銀行リストには、X1銀行、X2銀行、Y1銀行、Y2銀行をそれぞれ選択するためのボタンオブジェクトBt1、Bt2、Bt3、Bt4が含まれる。例えば、X1銀行を選択する場合、ユーザは、ボタンオブジェクトBt1にタッチすればよい。ボタンオブジェクトBt1、Bt2、Bt3、Bt4のいずれかをタッチすると、選択銀行の情報が振分サーバ20に送信される。
選択銀行の口座登録が可能な場合、ディスプレイ12aには登録画面R2が表示される。登録画面R2には、約款を表示するための約款表示エリアCt1、約款の内容に同意する意思を表示するためのボタンオブジェクトBt5、及び登録画面R1に戻るためのボタンオブジェクトBt6が表示される。約款表示エリアCt1には、銀行リストにある全ての銀行に共通の約款が表示される。ボタンオブジェクトBt5をタッチすると、ディスプレイ12aの表示画面が登録画面R3へと遷移する。ボタンオブジェクトBt6をタッチすると、ディスプレイ12aの表示画面が登録画面R1へと遷移する。
登録画面R3には、口座情報を入力するための口座情報入力フォームAc1が表示される。口座情報入力フォームAc1には、口座種別の入力欄、店番号の入力欄、口座番号の入力欄、及び口座名義人の入力欄が設けられている。口座種別及び店番号の入力欄には、選択肢のリスト表示などの入力補助機構が組み込まれていてもよい。
また、登録画面R3には、キャッシュカード又は通帳を撮像して口座情報の入力を補助する機能を起動するためのボタンオブジェクトBt7が表示される。ボタンオブジェクトBt7をタッチすると、ユーザ端末12のカメラ機能(カメラ12bによる撮像機能)が起動し、ディスプレイ12aの表示画面が撮像画面に遷移する。ユーザがカメラ12bでキャッシュカード又は通帳を撮像すると、ディスプレイ12aの表示画面は登録画面R3に遷移する。このとき、決済アプリ121cは、撮像データを解析して、口座種別、店番号、口座番号、及び口座名義人の少なくとも一部を取得し、取得した情報を入力欄に編集可能な状態で表示する。これにより口座情報の入力にかかる負担が軽減される。
各入力欄に情報が入力され、ボタンオブジェクトBt8がタッチされると、決済アプリ121cは、口座情報以外のユーザ情報を入力するための入力フォームを表示し、ユーザにユーザ情報の入力を促すメッセージを表示する。ユーザ情報の入力が完了すると、決済アプリ121cは、振分サーバ20に登録要求を送信する。登録が完了すると、決済アプリ121cは、ディスプレイ12aに登録完了メッセージを表示する。なお、図17に模式的に示した登録画面は一例であり、実施の態様に応じて適宜変形可能である。
[3.変形例]
上記の説明では、所謂MPM(Merchant Presented Mode)方式の決済を想定して説明したが、本実施形態に係る技術は所謂CPM(Consumer Presented Mode)方式の決済にも適用可能である。また、上記の説明では、加盟店端末が振分サーバからコード情報を取得する動的なMPM方式(例えば、動的QRコードを利用する方式)を例示したが、加盟店が提供する固定のコード情報をユーザ端末で読み取る静的なMPM方式(例えば、静的QRコードを利用する方式)に対しても本実施形態に係る技術を適用可能である。
以下、本実施形態の一変形例としてCPM方式への適用について述べる。
図18を参照しながら、本実施形態の一変形例に係る加盟店端末及びユーザ端末を利用した決済の流れについて説明する。図18は、本実施形態の一変形例に係る加盟店端末及びユーザ端末を利用した決済の流れについて説明するためのシーケンス図である。
(S401)ユーザは、決済アプリ121cを起動して決済に利用する銀行を選択する。銀行が選択されると、決済アプリ121cは、ユーザID、及び端末IDを含むコード発行要求を振分サーバ20に送信してコード情報の発行を要求する。振分サーバ20でユーザのパスワード認証を行う場合、決済アプリ121cは、ユーザにパスワードの入力を促し、ユーザが入力したパスワードをコード発行要求に含めて振分サーバ20へと送信する。
(S402)決済アプリ121cは、振分サーバ20からコード情報を受信し、ユーザ端末12の画面にコード情報を表示する。ユーザは、画面に表示されたコード情報を加盟店に提示し、加盟店端末11でコード情報を読み取るように促す。コード情報は、一次元又は二次元のバーコード(例えば、QRコードなど)である。
(S403)加盟店は、決済アプリ111cを起動して決済金額を入力する。決済金額が入力されると、決済アプリ111cは、コード読取画面を表示する。
(S404)加盟店は、加盟店端末11でユーザ端末12の画面に表示されたコード情報を撮像する。なお、コード情報を読み取るためのデバイスが加盟店端末11に接続されている場合、加盟店は、そのデバイスを利用してコード情報を読み取る。決済アプリ111cは、読み取ったコード情報のデータを解析してコード情報の内容を取得する。
(S405)決済アプリ111cは、コード情報の内容(決済IDなど)、加盟店ID、及び端末IDを含む決済要求を振分サーバ20に送信して決済を要求する。振分サーバ20で加盟店のパスワード認証を行う場合、決済アプリ111cは、加盟店が入力したパスワードを決済要求に含めて振分サーバ20へと送信する。
(S406、S407)決済の処理が完了した場合、振分サーバ20から完了通知と共にレシートの情報が加盟店端末11及びユーザ端末12に送信される。加盟店端末11及びユーザ端末12は、各々完了通知及びレシートの情報を受信してレシートを表示する。S406及びS407の処理が完了すると、図18に示した一連の処理は終了する。
以上、添付図面を参照しながら本開示の好適な実施形態について説明したが、本開示は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属する。
例えば、上記の説明では、受取人を加盟店とし、支払人をユーザとする決済を例に説明したが、支払人が店舗、受取人が個人であってもよいし、支払人及び受取人の双方が個人、或いは、支払人及び受取人の双方が店舗であってもよい。また、上記の説明では、決済サービスの利用者を識別する情報としてIDを利用する例を示したが、アクセストークンを利用して利用者を識別する仕組みに変形することができる。この場合、振分サーバ20は、銀行側のアクセストークンと端末側のアクセストークンとを紐付ける情報を保持し、両者を置換する機能を備える。このような変形例についても当然に本実施形態の技術的範囲に属する。