[決済システムSの概要]
図1は、本実施形態に係る決済システムS(情報処理システム)の模式図である。決済システムSは、特典提供装置1と、ユーザ端末2と、店舗端末3と、決済サーバ4とを含む。決済システムSは、その他のサーバ、端末等の機器を含んでもよい。
特典提供装置1(情報処理装置)は、ユーザに付与されている電子的なクーポンの有効性を判定し、ユーザに対してクーポンによる特典を提供するコンピュータである。ユーザは、小売店等の店舗の顧客である。特典提供装置1は、インターネット、ローカルエリアネットワーク等のネットワークを介して、ユーザ端末2、店舗端末3及び決済サーバ4と通信可能である。
ユーザ端末2は、ユーザの操作を受け付けるとともに、様々な情報を表示するコンピュータである。ユーザ端末2は、例えばスマートフォン、タブレット端末等の携帯端末である。店舗端末3は、店舗の中に設置されており、ユーザが購入する商品の情報を読み取るとともに、ユーザが提示した決済用コードを読み取るコンピュータである。店舗端末3は、例えばPOS(Point Of Sale)端末、又は店舗の店員が有する通信端末である。決済サーバ4は、ユーザが購入する商品の代金を決済するコンピュータである。商品は、ユーザが代金を支払って購入可能な物品又はサービスである。
本実施形態に係る決済システムSがクーポンを適用して決済を行う処理の概要を以下に説明する。特典提供装置1は、予めユーザに対してクーポンを付与し、ユーザを識別するためのユーザIDと、クーポンを識別するためのクーポンIDとを関連付けて、記憶部に記憶している。ユーザIDは、ユーザごとに割り振られてもよく、ユーザ端末2ごとに割り振られてもよい。クーポンは、ユーザが商品の購入時に利用することによって、ユーザに所定の特典を提供するものである。クーポンによる特典は、例えば商品の代金の値引き、景品の提供、ポイントの付与等である。ユーザは、所望のタイミングで、ユーザに付与されているクーポンを利用して商品を購入できる。
ユーザは、店舗で商品を購入する前に、ユーザが有するユーザ端末2において利用したいクーポンを選択する操作を行う。ユーザ端末2は、ユーザ端末2に関連付けられたユーザIDと、選択されたクーポンに関連付けられたクーポンIDとを含む決済用トークン要求を、特典提供装置1へ送信する(a)。
特典提供装置1は、受信した決済用トークン要求が含むユーザID及びクーポンIDに基づいて、クーポンが有効か否かを判定する(b)。このとき特典提供装置1は、例えばクーポンの有無、クーポンの利用可否及びクーポンの有効期限に基づいて、クーポンの有効性を判定する。また、特典提供装置1は、決済用トークン要求を受信すると、決済用トークンを生成する。このとき特典提供装置1は、クーポンIDとトークンとを関連付けて記憶部に記憶させる。
特典提供装置1は、生成した決済用トークンを、決済用トークン要求の送信元であるユーザ端末2へ送信する(c)。ユーザ端末2は、受信した決済用トークンに基づいて、決済用コードを生成し、表示部に表示させる(d)。決済用コードは、店舗端末3が読み取り可能な文字列又は画像である。ユーザは、店舗で商品を購入する際に、ユーザ端末2に表示された決済用コードを、店舗端末3に提示する。
店舗端末3は、ユーザ端末2に表示された決済用コードを、撮像部を用いて読み取る(e)。店舗端末3は、読み取った決済用コードを復号することによって、決済用コードが示す決済用トークンを取得する。店舗端末3は、ユーザが購入する商品の決済金額を含む決済情報と、読み取った決済用コードが示す決済用トークンとを含む決済要求を、特典提供装置1へ送信する(f)。特典提供装置1は、受信した決済要求が含む決済用トークンを記憶部から検索する。
特典提供装置1は、受信した決済要求が含む決済用トークンを記憶部上で発見した場合に、該決済用トークンに対応するクーポンIDを特定する。特典提供装置1は、特定したクーポンIDのクーポンが有効か否かを再判定する(g)。このとき特典提供装置1は、例えばクーポンの有無、クーポンの利用可否、クーポンの有効期限及び店舗を識別するための店舗IDに基づいて、クーポンの有効性を判定する。
特典提供装置1は、決済用トークンに対応するクーポンIDのクーポンが有効であると判定した場合に、クーポンによる特典をユーザに提供し、受信した決済要求が含む決済情報の決済金額を、ユーザIDに関連付けて決済サーバ4へ送信する(h)。ここで特典提供装置1は、クーポンによる特典が値引きである場合に、決済金額からクーポンによる値引き金額を減算して、決済サーバ4へ送信する。
決済サーバ4は、特典提供装置1から受信した決済金額が、ユーザが支払い可能な残高(例えばクレジット残高又はプリペイド残高)の範囲内である場合に決済処理をし、そうでない場合に決済処理をしない。決済サーバ4は、決済をしたか否かを示す決済結果を特典提供装置1へ送信する。特典提供装置1は、決済サーバ4から受信した決済結果を、店舗端末3へ通知する(i)。
このように本実施形態に係る決済システムSにおいて、店舗端末3ではなく特典提供装置1が、クーポンの有効性を判定する処理及びクーポンを適用する処理を実行する。これにより、店舗端末3の処理負担を軽減でき、店舗端末3の処理性能を向上させるためのコストが必要ない。また、店舗の管理者が店舗端末3にクーポンの情報を登録する必要がないため、店舗の管理者の管理負担を軽減できる。
[決済システムSの構成]
図2は、本実施形態に係る特典提供装置1のブロック図である。図3は、本実施形態に係るユーザ端末2及び店舗端末3のブロック図である。図2、図3において、矢印は主なデータの流れを示しており、図2、図3に示したもの以外のデータの流れがあってよい。図2、図3において、各ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図2、図3に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に分かれて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
特典提供装置1は、制御部11と、記憶部12とを有する。制御部11は、決済用トークン要求受信部111と、有効性判定部112と、トークン生成部113と、トークン送信部114と、決済要求受信部115と、特典提供部116と、決済実行部117とを有する。記憶部12は、クーポン記憶部121と、トークン記憶部122とを有する。
記憶部12は、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクドライブ等を含む記憶媒体である。記憶部12は、制御部11が実行するプログラムを予め記憶している。記憶部12は、特典提供装置1の外部に設けられてもよく、その場合にネットワークを介して制御部11との間でデータの授受を行ってもよい。クーポン記憶部121は、ユーザに付与されているクーポンに関するクーポン情報を記憶する。トークン記憶部122は、クーポンに関連付けられたトークンを示すトークン情報を記憶する。クーポン記憶部121及びトークン記憶部122は、それぞれ記憶部12上の記憶領域であってもよく、あるいは記憶部12上で構成されたデータベースであってもよい。
制御部11は、例えばCPU(Central Processing Unit)等のプロセッサであり、記憶部12に記憶されたプログラムを実行することにより、決済用トークン要求受信部111、有効性判定部112、トークン生成部113、トークン送信部114、決済要求受信部115、特典提供部116及び決済実行部117として機能する。制御部11の機能の少なくとも一部は電気回路によって実行されてもよい。また、制御部11の機能の少なくとも一部はネットワーク経由で実行されるプログラムによって実行されてもよい。
ユーザ端末2は、制御部21と、記憶部22と、操作部23と、表示部24とを有する。制御部21は、送信部211と、受信部212とを有する。操作部23は、キーボード、マウス等、ユーザの操作によって情報を入力可能な操作装置を含む。表示部24は、液晶ディスプレイ等、情報を表示可能な表示装置を含む。表示部24としてユーザによる接触の位置を検出可能なタッチスクリーンを用いることによって、操作部23と表示部24とを一体に構成してもよい。
記憶部22は、ROM、RAM、ハードディスクドライブ等を含む記憶媒体である。記憶部22は、制御部21が実行するプログラムを予め記憶している。記憶部22は、ユーザ端末2の外部に設けられてもよく、その場合にネットワークを介して制御部21との間でデータの授受を行ってもよい。
制御部21は、例えばCPU等のプロセッサであり、記憶部22に記憶されたプログラムを実行することにより、送信部211及び受信部212として機能する。制御部21の機能の少なくとも一部は電気回路によって実行されてもよい。また、制御部21の機能の少なくとも一部はネットワーク経由で実行されるプログラムによって実行されてもよい。
店舗端末3は、制御部31と、記憶部32と、撮像部33とを有する。制御部31は、商品情報取得部311と、コード読取部312と、送信部313と、受信部314とを有する。撮像部33は、所定の撮像範囲を撮像する撮像装置(カメラ、スキャナ等)を含む。撮像部33は、撮像した撮像画像を示す信号を制御部31に入力する。
記憶部32は、ROM、RAM、ハードディスクドライブ等を含む記憶媒体である。記憶部32は、制御部31が実行するプログラムを予め記憶している。記憶部32は、店舗端末3の外部に設けられてもよく、その場合にネットワークを介して制御部31との間でデータの授受を行ってもよい。
制御部31は、例えばCPU等のプロセッサであり、記憶部32に記憶されたプログラムを実行することにより、商品情報取得部311、コード読取部312、送信部313及び受信部314として機能する。制御部31の機能の少なくとも一部は電気回路によって実行されてもよい。また、制御部31の機能の少なくとも一部はネットワーク経由で実行されるプログラムによって実行されてもよい。
本実施形態に係る決済システムSは、図2及び図3に示す具体的な構成に限定されない。特典提供装置1、ユーザ端末2、店舗端末3及び決済サーバ4は、それぞれ2つ以上の物理的に分離した装置が有線又は無線で接続されることにより構成されてもよい。
[決済方法の説明]
以下、本実施形態に係る決済システムSが実行する決済方法を詳細に説明する。特典提供装置1のクーポン記憶部121は、ユーザに付与されているクーポンに関するクーポン情報を予め記憶している。
図4(a)は、クーポン記憶部121が記憶するクーポン情報D1の模式図である。クーポン情報D1は、互いに関連付けられた、ユーザを識別するためのユーザID(ユーザ識別情報)と、ユーザに付与されているクーポンを識別するためのクーポンID(クーポン識別情報)と、特典と、利用可否と、有効期限と、店舗を識別するための店舗ID(店舗識別情報)とを含む。特典は、クーポンを利用して決済をしたユーザに提供される特典を示す。例えば特典は、商品の代金の値引き、景品の提供、ポイントの付与等である。利用可否は、クーポンが利用可能か否かを示す。例えば一度のみ利用可能なクーポンについては、クーポンがまだ利用されていない場合に「可」と設定され、クーポンが利用された場合に「不可」と設定される。
有効期限は、クーポンが利用可能な期限を示す。図4(a)の例において、有効期限は終了時のみを示しているが、終了時に加えて開始時を示してもよい。店舗IDは、クーポンを利用可能な店舗を示す。店舗IDは、店舗ごとに固有の識別情報、又は複数の店舗のグループ(加盟店)に対して割り振られた識別情報である。クーポン情報D1は、複数の店舗IDを含んでもよい。店舗によらず利用可能なクーポンについては、店舗IDは省略される。
図4(a)においてクーポン情報D1は視認性のために文字列の表で表されているが、各データは任意の形式で記録されてもよく、例えば文字列データ、数値データおよびバイナリデータのいずれでもよい。クーポン情報D1は、データベースとして記録されてもよく、あるいはデータを列挙したリストとして記録されてもよい。
ユーザは、店舗で商品を購入する前に、ユーザ端末2上で、決済を行うアプリケーションソフトウェアを起動する。この時点ではユーザはクーポンをまだ選択していないため、ユーザ端末2は、ユーザIDを含んでおりクーポンIDを含まない決済用トークン要求を、特典提供装置1へ送信する。特典提供装置1は、後述のトークン生成部113により、クーポンIDに関連付けられていない決済用トークンを生成し、ユーザ端末2へ送信する。ユーザ端末2は、受信した決済用トークンを所定の方法で符号化することによって生成された文字列又は画像である決済用コードを生成する。そしてユーザ端末2は、決済を行うための決済用コードを提示する決済画面を、表示部24上に表示する。
図5(a)は、決済画面を表示しているユーザ端末2の正面図である。決済画面は、決済用コード241と、クーポン選択画面に遷移するためのボタン242とを含む。ボタン242は、ユーザが押下可能な仮想的なボタン(アイコン)である。決済用コード241は、特典提供装置1から受信した決済用トークンを示す決済用コードである。この時点の決済用コード241には、クーポンが適用されていない。ユーザは、クーポンを利用せずに決済を行う場合に、この決済用コード241を店舗端末3に提示する。ユーザは、クーポンを利用して決済を行う場合に、ユーザ端末2の操作部23を用いて、ボタン242を押下する。決済画面上でボタン242が押下された場合に、ユーザ端末2は、クーポンを選択するためのクーポン選択画面を、表示部24上に表示する。
図5(b)は、クーポン選択画面を表示しているユーザ端末2の正面図である。クーポン選択画面は、ユーザに付与されているクーポン243と、選択を確定するためのボタン244とを含む。図5(b)の例では、ユーザ端末2は、クーポン243として特典の内容を表示しているが、これに加えてクーポンの有効期限を表示してもよい。ユーザ端末2は、クーポン選択画面の表示時に予めユーザ端末2の記憶部22に記憶されたクーポン243の情報を読み出してもよく、あるいはクーポン選択画面の表示時に特典提供装置1からクーポン243の情報を受信してもよい。クーポン243は、ユーザによる操作に応じて選択又は非選択を切り替え可能である。複数のクーポン243のうち、いずれか1つのみが選択可能であってもよく、複数が選択可能であってもよい。
ボタン244は、ユーザが押下可能な仮想的なボタン(アイコン)である。ユーザは、ユーザ端末2の操作部23を用いて、利用したいクーポン243を選択した後、ボタン244を押下する。ユーザ端末2の送信部211は、ユーザ端末2に関連付けられたユーザIDと、ユーザによって選択されたクーポンに関連付けられたクーポンIDとを含む決済用トークン要求(トークン要求)を、特典提供装置1へ送信する。
クーポン選択画面は、有効なクーポン243のみを含んでもよい。この場合に、ユーザ端末2は、クーポン選択画面の表示時にクーポン243が有効であるか否かの問い合わせを特典提供装置1へ送信する。特典提供装置1において、後述の有効性判定部112はクーポン243が有効であるか否かを判定し、判定結果をユーザ端末2へ送信する。ユーザ端末2は、有効であると判定されたクーポン243を含むクーポン選択画面を表示する。
本実施形態において、ユーザ端末2は、クーポンが適用されていない決済用コード241を含む決済画面を表示した後にクーポン選択画面を表示しているが、クーポン選択画面を表示してクーポンの選択を受け付けた後に決済画面を表示してもよい。
特典提供装置1において、決済用トークン要求受信部111(第1受信部)は、決済用トークン要求をユーザ端末2から受信する。有効性判定部112は、決済用トークン要求受信部111が受信した決済用トークン要求が含むユーザID及びクーポンIDを特定する。決済用トークン要求がクーポンIDを含まない場合(すなわち、ユーザによってクーポンが選択されていない場合)に、有効性判定部112は、トークン生成部113による決済用トークンの生成に進む。決済用トークン要求がクーポンIDを含む場合に、有効性判定部112は、決済用トークン要求が含むユーザID及びクーポンIDに基づいて、クーポンが有効であるか否かを判定する。決済用トークン要求が複数のクーポンIDを含む場合には、有効性判定部112は、複数のクーポンIDそれぞれが有効であるか否かを判定する。
具体的には、有効性判定部112は、クーポン記憶部121から、決済用トークン要求が含むユーザID及びクーポンIDに関連付けられたクーポン情報を取得する。有効性判定部112は、ユーザID及びクーポンIDに関連付けられたクーポン情報がクーポン記憶部121に記憶されていない場合に、クーポンが有効でないと判定する。また、有効性判定部112は、クーポン情報が含む利用可否が、クーポンが利用可能でないと示している場合に、クーポンが有効でないと判定する。また、有効性判定部112は、現在時刻が、クーポン情報が含む有効期限の範囲外である場合に、クーポンが有効でないと判定する。
有効性判定部112は、ユーザID及びクーポンIDに関連付けられたクーポン情報がクーポン記憶部121に記憶されており、かつクーポン情報が含む利用可否が、クーポンが利用可能であると示しており、かつ現在時刻(判定時の時刻)が、クーポン情報が含む有効期限の範囲内である場合に、クーポンが有効であると判定する。ここに示したクーポンの有効性の判定基準は一例であり、有効性判定部112はその他の判定基準によってクーポンが有効であるか否かを判定してもよい。有効性判定部112は、利用可否及び有効期限のどちらか一方のみを判定に用いてもよい。
トークン生成部113は、決済用トークンを生成する。決済用トークンは、無作為なデータであってもよく、あるいは所定の規則に従って生成されたデータであってもよい。トークン生成部113は、有効性判定部112によってクーポンが有効であると判定された場合に、ユーザIDと、クーポンIDと、決済用トークンとを関連付けてトークン記憶部122に記憶させる。一方、トークン生成部113は、有効性判定部112によってクーポンが有効でないと判定された場合、又は決済用トークン要求がクーポンIDを含まない場合に、ユーザIDと、決済用トークンとを関連付けて(すなわち、クーポンIDと関連付けることなく)トークン記憶部122に記憶させる。
図4(b)は、トークン記憶部122が記憶するトークン情報D2の模式図である。トークン情報D2は、互いに関連付けられた、ユーザIDと、クーポンIDと、決済用トークンとを含む。有効性判定部112によってクーポンが有効でないと判定された場合、又は決済用トークン要求がクーポンIDを含まない場合(すなわち、ユーザによってクーポンが選択されていない場合)に、クーポンIDは空欄に設定される。この場合に、決済用トークンは、トークン記憶部122においてクーポンIDに関連付けられていない。
図4(b)においてトークン情報D2は視認性のために文字列の表で表されているが、各データは任意の形式で記録されてもよく、例えば文字列データ、数値データおよびバイナリデータのいずれでもよい。トークン情報D2は、データベースとして記録されてもよく、あるいはデータを列挙したリストとして記録されてもよい。
このようなトークン情報D2によれば、トークン記憶部122において決済用トークンがクーポンIDに関連付けられているか否かが、有効性判定部112によるクーポンが有効か否かの判定結果を表す。
図4(b)の例では、1つのトークン記憶部122は、有効性判定部112によってクーポンが有効であると判定された場合及び有効性判定部112によってクーポンが有効でないと判定された場合の両方の決済用トークンを記憶しているが、有効性判定部112によってクーポンが有効であると判定された場合の決済用トークンのみを記憶してもよい。この場合に、決済用トークンがトークン記憶部122に記憶されているか否かが、有効性判定部112によるクーポンが有効か否かの判定結果を表す。
トークン送信部114は、有効性判定部112によるクーポンが有効か否かの判定結果と、トークン生成部113が生成した決済用トークンとを、ユーザ端末2へ送信する。ユーザ端末2の受信部212は、判定結果及び決済用トークンを、特典提供装置1から受信する。
受信部212は、受信した決済用トークンを所定の方法で符号化することによって、決済用コードを生成する。決済用コードは、例えばバーコードであってもよく、二次元コードであってもよく、文字列であってもよく、それらのうち複数であってもよい。決済用コードは、店舗端末3が読み取り可能であればその他の形態であってもよい。そして受信部212は、受信した判定結果と、生成した決済用コードとを提示する決済画面を、表示部24上に表示する。
図6(a)、図6(b)は、決済画面を表示しているユーザ端末2の正面図である。決済画面は、決済用コード241と、クーポン選択画面に遷移するためのボタン242と、判定結果245とを含む。決済用コード241は、特典提供装置1のトークン生成部113が生成した決済用トークンに基づいて生成された決済用コードである。ユーザがボタン242を押下した場合には、上述のクーポンの選択を再び行う。
判定結果245は、特典提供装置1の有効性判定部112によるクーポンが有効か否かの判定結果を表す情報である。図6(a)はクーポンが有効であると判定された場合の決済画面を示しているため、判定結果245はクーポンが有効である旨を表している。一方、図6(b)はクーポンが有効でないと判定された場合の決済画面を示しているため、判定結果245はクーポンが有効でない旨を表している。
ユーザは、購入したい商品を店舗端末3に提示した後に、ユーザ端末2に表示された決済用コードを店舗端末3に提示する。店舗端末3において、商品情報取得部311は、ユーザが購入したい商品の価格を含む商品情報を取得する。例えば商品情報取得部311は、撮像部33を用いて商品に付されたバーコードを読み取ることによって、商品情報を取得する。商品情報取得部311は、店舗の店員が入力した商品情報を取得してもよい。
商品情報取得部311が商品情報を取得した後、コード読取部312は、ユーザ端末2に表示された決済用コードを、撮像部33を用いて読み取る。コード読取部312は、読み取った決済用コードを所定の方法で復号することによって、決済用コードが示す決済用トークンを取得する。送信部313は、ユーザが購入したい商品の価格を合計して決済金額を算出し、算出した決済金額を含む決済情報と、コード読取部312が取得した決済用トークンと、店舗端末3を管理する店舗の店舗IDとを含む決済要求を、特典提供装置1へ送信する。
特典提供装置1において、決済要求受信部115は、決済要求を店舗端末3から受信する。決済要求受信部115は、受信した決済要求が含む決済用トークンを、トークン記憶部122から検索する。決済要求受信部115は、受信した決済要求が含む決済用トークンをトークン記憶部122上で発見できなかった場合に、決済を実行せずに処理を終了してもよく、あるいはクーポンを適用せずに決済実行部117による決済の実行に進んでもよい。
決済要求受信部115は、決済要求が含む決済用トークンをトークン記憶部122上で発見した場合に、トークン記憶部122において決済要求が含む決済用トークンに対応するユーザID及びクーポンIDを特定する。決済要求受信部115は、決済要求が含む決済用トークンに対応するクーポンIDを特定できない場合(すなわち、トークン記憶部122において決済用トークンにクーポンIDが関連付けられていない場合)に、クーポンを適用せずに決済実行部117による決済の実行に進む。
決済要求受信部115が決済要求に基づいてクーポンIDを特定した場合(すなわち、トークン記憶部122において決済用トークンにクーポンIDが関連付けられている場合)に、有効性判定部112は、決済要求が含む決済用トークンに対応するユーザID及びクーポンIDに基づいて、クーポンが有効であるか否かを再判定する。決済要求が含む決済用トークンが複数のクーポンIDに対応する場合には、有効性判定部112は、複数のクーポンIDそれぞれが有効であるか否かを再判定する。
具体的には、有効性判定部112は、クーポン記憶部121から、決済要求が含む決済用トークンに対応するユーザID及びクーポンIDに関連付けられたクーポン情報を取得する。有効性判定部112は、ユーザID及びクーポンIDに関連付けられたクーポン情報がクーポン記憶部121に記憶されていない場合に、クーポンが有効でないと判定する。また、有効性判定部112は、クーポン情報が含む利用可否が、クーポンが利用可能でないと示している場合に、クーポンが有効でないと判定する。また、有効性判定部112は、現在時刻が、クーポン情報が含む有効期限の範囲外である場合に、クーポンが有効でないと判定する。また、有効性判定部112は、決済要求が含む店舗IDが、クーポン情報が含む店舗IDに含まれていない場合に、クーポンが有効でないと判定する。
有効性判定部112は、ユーザID及びクーポンIDに関連付けられたクーポン情報がクーポン記憶部121に記憶されており、かつクーポン情報が含む利用可否が、クーポンが利用可能であると示しており、かつ現在時刻(再判定時の時刻)が、クーポン情報が含む有効期限の範囲内であり、かつ決済要求が含む店舗IDが、クーポン情報が含む店舗IDに含まれている場合に、クーポンが有効であると判定する。ここに示したクーポンの有効性の判定基準は一例であり、有効性判定部112はその他の判定基準によってクーポンが有効であるか否かを判定してもよい。有効性判定部112は、利用可否、有効期限及び店舗IDのうち一部のみを判定に用いてもよい。
有効性判定部112は、クーポンが有効でないと判定した場合に、決済を実行せずに処理を終了してもよく、あるいはクーポンを適用せずに決済実行部117による決済の実行に進んでもよい。
このように、特典提供装置1は、ユーザ端末2から決済用トークン要求を受信した際にクーポンの有効性を判定した後、店舗端末3から決済要求を受信した際にクーポンの有効性を再判定する。そして特典提供装置1は、決済用トークン要求受信部111が決済用トークン要求を受信した際、及び、決済要求受信部115が決済要求を受信した際ともに、クーポンが有効であると有効性判定部112が判定した場合に、クーポンによる特典をユーザに提供する。これにより、例えばユーザがクーポンを選択した際にクーポンが有効であって、商品を購入する際にクーポンが無効になった場合(有効期限を徒過した場合等)であっても、特典提供装置1はクーポンの利用条件を正しく判定してクーポンを適用せずに決済を行うことができる。
決済要求を受信した際の有効性判定部112による再判定は、省略されてもよい。この場合に、有効性判定部112は、決済用トークン要求受信部111が決済用トークン要求を受信した際に、決済用トークン要求が含むユーザIDに関連付けられたユーザに付与されているクーポンが有効であるか否かを判定し、決済要求受信部115が決済要求を受信した際に、決済要求が含む決済用トークンに対応するクーポンIDに関連付けられたクーポンが有効であるか否かを判定しない。
一方、決済用トークン要求を受信した際の有効性判定部112による判定は省略され、決済要求を受信した際の有効性判定部112による判定のみが行われてもよい。この場合に、有効性判定部112は、決済用トークン要求受信部111が決済用トークン要求を受信した際に、決済用トークン要求が含むユーザIDに関連付けられたユーザに付与されているクーポンが有効であるか否かを判定せずに、ユーザIDと、クーポンIDと、決済用トークンとを関連付けてトークン記憶部122に記憶させる。そして有効性判定部112は、決済要求受信部115が決済要求を受信した際に、決済要求が含む決済用トークンに対応するクーポンIDに関連付けられたクーポンが有効であるか否かを判定する。
クーポンが有効であると有効性判定部112が判定した場合に、特典提供部116は、クーポン記憶部121から取得した、決済要求が含む決済用トークンに対応するユーザID及びクーポンIDに関連付けられたクーポン情報に含まれる特典を特定する。そして特典提供部116は、特定した特典を、決済用トークンに対応するユーザIDのユーザに提供する。クーポンによる特典が景品の提供又はポイントの付与である場合には、特典提供部116は、ユーザに対して景品の提供又はポイントの付与を行うための情報を出力する。クーポンによる特典が商品の代金の値引きである場合には、特典提供部116は、決済要求が含む決済情報の決済金額(決済対象の商品の価格)から、クーポンによる値引き金額を減算する。
決済実行部117は、決済要求が含む決済情報の決済金額(あるいはクーポンによる値引きが適用された決済金額)を、決済サーバ4へ送信することによって、決済を実行する。決済サーバ4は、特典提供装置1から受信した決済金額が、ユーザが支払い可能な残高(例えばクレジット残高又はプリペイド残高)の範囲内である場合に決済処理をし、そうでない場合に決済処理をしない。
決済サーバ4は、決済をしたか否かを示す決済結果を特典提供装置1へ送信する。特典提供装置1の決済実行部117は、決済サーバ4から決済結果を受信し、店舗端末3へ通知する。店舗端末3の受信部314は、特典提供装置1から決済結果を受信し、記憶部32に記憶させる。
さらに決済実行部117は、店舗端末3を管理する店舗に対する手数料を算出してもよい。手数料は、特典提供装置1を利用して決済を行うために、店舗端末3を管理する店舗が特典提供装置1を管理する事業者へ支払う料金である。手数料は、例えば決済金額に所定の係数を乗算することによって算出される。このとき、決済実行部117は、特典提供部116が決済金額(決済対象の商品の価格)からクーポンによる値引き金額を減算した場合に、減算後の決済金額に基づいて手数料を算出する。一方、決済実行部117は、特典提供部116が決済金額からクーポンによる値引き金額を減算していない場合に、元の決済金額に基づいて手数料を算出する。決済実行部117は、算出した手数料を示す情報を、記憶部12に記憶させること又は店舗端末3へ送信することによって、出力する。これにより特典提供装置1は、クーポンによる値引き金額を自動的に反映して、店舗が事業者へ支払う手数料を正しく算出できる。
[決済方法のシーケンス]
図7は、本実施形態に係る決済システムSが実行する決済方法(情報処理方法)のシーケンス図である。ユーザ端末2は、操作部23を用いて、ユーザによるクーポンの選択を受け付ける(S11)。ユーザ端末2の送信部211は、ユーザ端末2に関連付けられたユーザIDと、ユーザによって選択されたクーポンに関連付けられたクーポンIDとを含む決済用トークン要求を、特典提供装置1へ送信する(S12)。
特典提供装置1において、決済用トークン要求受信部111は、決済用トークン要求をユーザ端末2から受信する。有効性判定部112は、決済用トークン要求受信部111が受信した決済用トークン要求が含むユーザID及びクーポンIDを特定する。決済用トークン要求がクーポンIDを含まない場合(すなわち、ユーザによってクーポンが選択されていない場合)に、有効性判定部112は、ステップS14のトークン生成部113による決済用トークンの生成に進む。
決済用トークン要求がクーポンIDを含む場合に、有効性判定部112は、決済用トークン要求が含むユーザID及びクーポンIDに基づいて、クーポンが有効であるか否かを判定する(S13)。トークン生成部113は、決済用トークンを生成する(S14)。トークン生成部113は、有効性判定部112によってクーポンが有効であると判定された場合に、ユーザIDと、クーポンIDと、決済用トークンとを関連付けてトークン記憶部122に記憶させる。一方、トークン生成部113は、有効性判定部112によってクーポンが有効でないと判定された場合、又は決済用トークン要求がクーポンIDを含まない場合に、ユーザIDと、決済用トークンとを関連付けてトークン記憶部122に記憶させる。
トークン送信部114は、有効性判定部112によるクーポンが有効か否かの判定結果と、トークン生成部113が生成した決済用トークンとを、ユーザ端末2へ送信する。ユーザ端末2の受信部212は、判定結果及び決済用トークンを、特典提供装置1から受信する。受信部212は、受信した決済用トークンを所定の方法で符号化することによって、決済用コードを生成する。そして受信部212は、受信した判定結果と、生成した決済用コードとを提示する決済画面を、表示部24上に表示する(S15)。
店舗端末3において、商品情報取得部311は、ユーザが購入したい商品の価格を含む商品情報を取得する(S16)。商品情報取得部311が商品情報を取得した後、コード読取部312は、ユーザ端末2に表示された決済用コードを、撮像部33を用いて読み取る(S17)。図7は、決済用コードが通信ではなく光学的に授受されることを、破線で表す。
コード読取部312は、読み取った決済用コードを所定の方法で復号することによって、決済用コードが示す決済用トークンを取得する。送信部313は、ユーザが購入したい商品の価格を合計して決済金額を算出し、算出した決済金額を含む決済情報と、コード読取部312が取得した決済用トークンと、店舗端末3を管理する店舗の店舗IDとを含む決済要求を、特典提供装置1へ送信する(S18)。
特典提供装置1において、決済要求受信部115は、決済要求を店舗端末3から受信する。決済要求受信部115は、受信した決済要求が含む決済用トークンを、トークン記憶部122から検索する。決済要求受信部115は、トークン記憶部122において決済要求が含む決済用トークンに対応するユーザID及びクーポンIDを特定する。決済要求受信部115は、決済要求が含む決済用トークンに対応するクーポンIDを特定できない場合(すなわち、トークン記憶部122において決済用トークンにクーポンIDが関連付けられていない場合)に、クーポンを適用せずにステップS21の決済実行部117による決済の実行に進む。
決済要求が含む決済用トークンに対応するクーポンIDを特定した場合(すなわち、トークン記憶部122において決済用トークンにクーポンIDが関連付けられている場合)に、有効性判定部112は、決済要求が含む決済用トークンに対応するユーザID及びクーポンIDに基づいて、クーポンが有効であるか否かを再判定する(S19)。ステップS19の再判定は省略されてもよい。また、ステップS13の判定が省略され、ステップS19の判定のみが行われてもよい。有効性判定部112は、クーポンが有効でないと判定した場合に、決済を実行せずに処理を終了してもよく、あるいはクーポンを適用せずにステップS21の決済実行部117による決済の実行に進んでもよい。
クーポンが有効であると有効性判定部112が判定した場合に、特典提供部116は、クーポン記憶部121から取得した、決済要求が含む決済用トークンに対応するユーザID及びクーポンIDに関連付けられたクーポン情報に含まれる特典を特定する。そして特典提供部116は、特定した特典を、決済用トークンに対応するユーザIDのユーザに提供する(S20)。
決済実行部117は、決済要求が含む決済情報の決済金額(あるいはクーポンによる値引きが適用された決済金額)を、決済サーバ4へ送信することによって、決済を実行する(S21)。決済サーバ4は、特典提供装置1から受信した決済金額が、ユーザが支払い可能な残高(例えばクレジット残高又はプリペイド残高)の範囲内である場合に決済処理をし、そうでない場合に決済処理をしない。決済サーバ4は、決済をしたか否かを示す決済結果を特典提供装置1へ送信する。特典提供装置1の決済実行部117は、決済サーバ4から決済結果を受信し、店舗端末3へ通知する。店舗端末3の受信部314は、特典提供装置1から決済結果を受信し、記憶部32に記憶させる。
[実施形態の効果]
本実施形態に係る決済システムSによれば、特典提供装置1は、ユーザ端末2から決済用トークン要求を受信した際にクーポンの有効性を判定した上でクーポンIDに関連付けられた決済用トークンをユーザ端末2へ送信し、店舗端末3から決済用トークンを含む決済要求を受信した際に決済用トークンに対応するクーポンの特典をユーザに提供する。そのため、決済システムSは、店舗端末3の処理負担を軽減でき、店舗端末3の処理性能を向上させるためのコストが必要ない。また、店舗の管理者が店舗端末3にクーポンの情報を登録する必要がないため、店舗の管理者の管理負担を軽減できる。
[第1変形例]
特典提供装置1は、ユーザが購入する商品に基づいて、クーポンが有効であるか否かを判定してもよい。この場合に、図4(a)に示すクーポン情報D1は、クーポンの適用対象である商品を識別するための商品ID(商品識別情報)をさらに含む。商品IDは、商品ごとに固有の識別情報、又は商品の種類(品目)に対して割り振られた識別情報である。クーポン情報D1は、複数の商品IDを含んでもよい。商品によらず利用可能なクーポンについては、商品IDは省略される。
店舗端末3において、商品情報取得部311が商品情報を取得し、コード読取部312が決済用トークンを取得した後、送信部313は、決済金額を含む決済情報と、コード読取部312が取得した決済用トークンと、店舗端末3を管理する店舗の店舗IDと、決済対象の商品の商品IDとを含む決済要求を、特典提供装置1へ送信する。特典提供装置1において、決済要求受信部115は、決済要求を店舗端末3から受信すると、トークン記憶部122において決済要求が含む決済用トークンに対応するユーザID及びクーポンIDを特定する。
有効性判定部112は、決済要求が含む決済用トークンに対応するユーザID及びクーポンIDに基づいて、クーポンが有効であるか否かを判定する。ここで有効性判定部112は、上述の利用可否、有効期限及び店舗IDを用いた判定に加えて、商品IDを用いた判定を行う。具体的には、有効性判定部112は、決済要求が含む商品IDが、クーポン情報が含む商品IDに含まれていない場合に、クーポンが有効でないと判定する。
有効性判定部112は、ユーザID及びクーポンIDに関連付けられたクーポン情報がクーポン記憶部121に記憶されており、かつクーポン情報が含む利用可否が、クーポンが利用可能であると示しており、かつ現在時刻が、クーポン情報が含む有効期限の範囲内であり、かつ決済要求が含む店舗IDが、クーポン情報が含む店舗IDに含まれており、かつ決済要求が含む商品IDが、クーポン情報が含む商品IDに含まれている場合に、クーポンが有効であると判定する。有効性判定部112は、利用可否、有効期限、店舗ID及び商品IDのうち一部のみを判定に用いてもよい。このような構成により、特典提供装置1は、決済対象の商品に基づいて、クーポンの適用可否を判定することができる。
[第2変形例]
決済用トークンには、有効期限が設定されてもよい。この場合に、特典提供装置1において、トークン生成部113は、決済用トークンを生成した際に、該決済用トークンを生成した生成時刻を、記憶部12に記憶させる。
決済要求受信部115は、決済要求を店舗端末3から受信し、有効性判定部112は、決済要求が含む決済用トークンに対応するユーザID及びクーポンIDに基づいて、クーポンが有効であるか否かを再判定する。クーポンが有効であると有効性判定部112が判定した場合に、特典提供部116は、クーポン記憶部121から取得した、決済要求が含む決済用トークンに対応するユーザID及びクーポンIDに関連付けられたクーポン情報に基づいて、クーポンによる特典を特定する。また、特典提供部116は、決済要求が含む決済用トークンの生成時刻を記憶部12から取得する。
そして特典提供部116は、決済要求受信部115が決済要求を受信した時刻が、決済用トークンの生成時刻から所定時間(例えば5分)以内であることを条件として、特定した特典を、決済用トークンに対応するユーザIDのユーザに提供する。一方、特典提供部116は、決済要求受信部115が決済要求を受信した時刻が、決済用トークンの生成時刻から所定時間よりも後である場合に、特典を提供しない。これにより、決済システムSは、決済用トークンが流用されることを抑制し、セキュリティを向上できる。
特典提供装置1は、ユーザ端末2から、決済用トークンを再取得するための再取得要求を受け付けてもよい。ユーザ端末2において、受信部212が決済用トークンを受信してから所定時間が経過した場合、又はユーザが操作部23を用いて再取得のための操作を行った場合に、送信部211は、受信部212が受信した決済用トークンを含む再取得要求を特典提供装置1へ送信する。
特典提供装置1において、決済用トークン要求受信部111がユーザ端末2から再取得要求を取得した場合に、トークン生成部113は、再取得要求が含む決済用トークンに関連付けて、新たな決済用トークンを生成する。トークン生成部113は、新たな決済用トークンを生成した生成時刻を、記憶部12に記憶させる。そしてトークン送信部114は新たな決済用トークンをユーザ端末2へ送信する。
このとき有効性判定部112は、再取得要求が含む決済用トークンに対応するユーザID及びクーポンIDに基づいて、クーポンが有効であるか否かを判定してもよい。クーポンが有効でないと有効性判定部112が判定した場合に、クーポンが有効でないことを示す情報をユーザ端末2へ送信してもよい。
ユーザ端末2は、特典提供装置1が送信した新たな決済用トークンを所定の方法で符号化することによって、決済用コードを再生成し、表示部24に表示させる。このように特典提供装置1は、ユーザ端末2から再取得要求を受け付けた際に、元の決済用トークンと新たな決済用トークンとを関連付けるため、トークン記憶部122において元の決済用トークンに関連付けられたクーポン情報を維持しつつ(すなわち、ユーザID及びクーポンIDを再取得してトークン記憶部122に記憶させることなく)、有効期限を延長できる。
[第3変形例]
以上の説明において、特典提供装置1は、ユーザがユーザ端末2において選択したクーポンを決済に用いているが、特典提供装置1がユーザに付与されているクーポンを特定して決済に用いてもよい。
図8は、本変形例に係る決済方法(情報処理方法)のシーケンス図である。以下では図7のシーケンス図と異なる点を主に説明する。まずユーザ端末2の送信部211は、ユーザ端末2に関連付けられたユーザIDを含む決済用トークン要求を、特典提供装置1へ送信する(S12a)。図7とは異なり、決済用トークン要求は、ユーザによって選択されたクーポンに関連付けられたクーポンIDを含まない。
特典提供装置1において、決済用トークン要求受信部111は、決済用トークン要求をユーザ端末2から受信する。有効性判定部112は、クーポン記憶部121において、決済用トークン要求受信部111が受信した決済用トークン要求が含むユーザIDに関連付けられたクーポンID(すなわユーザに付与されているクーポン)を特定する(S12b)。クーポン記憶部121においてユーザIDに関連付けられたクーポンIDが存在しない場合に、有効性判定部112は、ステップS14aのトークン生成部113による決済用トークンの生成に進む。クーポン記憶部121においてユーザIDに関連付けられたクーポンIDが存在した場合に、有効性判定部112は、ユーザID及びクーポンIDに基づいて、クーポンが有効であるか否かを判定する(S13a)。
トークン生成部113は、決済用トークンを生成する(S14a)。トークン生成部113は、有効性判定部112によってクーポンが有効であると判定された場合に、ユーザIDと、クーポンIDと、決済用トークンとを関連付けてトークン記憶部122に記憶させる。一方、トークン生成部113は、有効性判定部112によってクーポンが有効でないと判定された場合、又はクーポン記憶部121においてユーザIDに関連付けられたクーポンIDが存在しない場合に、ユーザIDと、決済用トークンとを関連付けてトークン記憶部122に記憶させる。
トークン送信部114は、トークン生成部113が生成した決済用トークンを、ユーザ端末2へ送信する。クーポン記憶部121においてユーザIDに関連付けられたクーポンIDが存在した場合であって、有効性判定部112によって該クーポンIDのクーポンが有効であると判定された場合に、トークン送信部114は、決済用トークンに加えて、該クーポンのクーポン情報を、ユーザ端末2へ送信する。ユーザ端末2の受信部212は、決済用トークン及びクーポン情報を、特典提供装置1から受信する。
受信部212は、受信した決済用トークンを所定の方法で符号化することによって、決済用コードを生成する。そして受信部212は、生成した決済用コードを提示する決済画面を、表示部24上に表示する(S15a)。また、ユーザ端末2は、受信部212が決済用トークンとともにクーポン情報を受信した場合に、受信したクーポン情報を、表示部24上に表示する。ステップS16以降は、図7と同様である。ステップS19の再判定は省略されてもよい。また、ステップS13aの判定が省略され、ステップS19の判定のみが行われてもよい。このように本変形例に係る決済方法では、特典提供装置1は、ユーザによるクーポンの選択を受け付けることなく、ユーザに付与されているクーポンを特定して自動的に決済に適用できる。
ステップS15aにおいて、ユーザ端末2は、図5(b)に示したクーポン選択画面において、受信部212が受信したクーポン情報に対応するクーポンを適用するか否かの選択をユーザから受け付けてもよい。この場合に、ステップS20において、特典提供装置1の特典提供部116は、ユーザが適用すると選択したクーポンの特典のみをユーザに提供する。これにより、特典提供装置1は、ユーザに付与されているクーポンを特定した後、該クーポンを適用するか否かの選択をユーザから受け付けた上で、決済に適用できる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
特典提供装置1、ユーザ端末2、店舗端末3及び決済サーバ4のプロセッサは、図7及び図8に示す決済方法に含まれる各ステップ(工程)の主体となる。すなわち、特典提供装置1、ユーザ端末2、店舗端末3及び決済サーバ4のプロセッサは、図7及び図8に示す決済方法を実行するためのプログラムを記憶部から読み出し、該プログラムを実行して決済システムSの各部を制御することによって、図7及び図8に示す決済方法を実行する。図7及び図8に示す決済方法に含まれるステップは一部省略されてもよく、ステップ間の順番が変更されてもよく、複数のステップが並行して行われてもよい。