以下、決済端末等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、商品識別情報を受け付けた後、代金支払情報を受け付けた場合に、決済処理を行う決済端末について説明する。つまり、本実施の形態において、商品ごとに決済を行う一商品一決済を実現する決済端末について説明する。
また、本実施の形態において、第一商品識別情報を受け付けた後、続けて、第二商品識別情報を受け付けた場合、エラーとなる決済処理を行う決済端末について説明する。
また、本実施の形態において、第一商品識別情報を受け付ける前に、代金支払情報を受け付けた場合に、当該代金支払情報に対応する残高データを出力する決済端末について説明する。
また、本実施の形態において、第一商品識別情報を受け付けた後または第一商品識別情報を受け付ける前に、クーポン情報を受け付け可能な決済端末について説明する。
さらに、本実施の形態において、決済処理に対応する売上情報をサーバに送信する決済端末について説明する。
図1は、本実施の形態における決済システムAの概念図である。決済システムAは、1または2以上の決済端末1、およびサーバ2を備える。
決済端末1は、商品の販売の際に決済を行う場合に使用する端末である。決済端末1は、例えば、商品を販売する店舗に設置されている端末である。決済端末1は、例えば、セルフレジで使用される端末である。決済端末1は、例えば、決済のためにタップする必要のないタップレスの端末である。
サーバ2は、決済端末1から売上情報を受信し、管理する装置である。サーバ2は、例えば、決済端末1における決済の可否を判断する装置である。サーバ2は、例えば、決済端末1から送信されたクーポン情報に対応するクーポンが使用可能であるか否かを判断する装置である。サーバ2は、例えば、ASPのサーバ、クラウドサーバ等である。但し、サーバ2の種類は問わない。
決済端末1とサーバ2とは、インターネット、LAN等のネットワークにより通信可能である。
図2は、本実施の形態における決済システムAのブロック図である。
決済端末1は、格納部11、受付部12、処理部13、送信部14、および出力部15を備える。受付部12は、第一受付部121、および第二受付部122を備える。処理部13は、判断部131、決済処理部132、エラー処理部133、残高データ取得部134、および売上情報構成部135を備える。送信部14は、売上情報送信部141を備える。出力部15は、残高データ出力部151を備える。
サーバ2は、サーバ格納部21、サーバ受信部22、サーバ処理部23、およびサーバ送信部24を備える。
決済端末1を構成する格納部11には、各種の情報が格納される。各種の情報は、例えば、決済端末1を識別する端末識別子である。端末識別子は、例えば、ID、店舗名、IPアドレス、MACアドレス等である。各種の情報は、例えば、受付部12が受け付けた情報である。
各種の情報は、例えば、優先順位情報である。優先順位情報は、支払手段の優先順位を特定する情報である。優先順位情報は、例えば、優先順位の順番に、支払手段の種類を示す2以上の支払手段種類識別子を有する。優先順位情報は、例えば、優先順位と対になる2以上の支払手段種類識別子を有する。なお、優先順位情報は、支払手段の優先順位を特定できる情報であれば良く、そのデータ構造は問わない。また、優先順位情報は、図示しない優先順位情報格納部に格納されていても良い。また、優先順位情報は、例えば、「交通系IC,Edy(登録商標),決済アプリ」「<優先順位>1<支払手段種類識別子>交通系IC,<優先順位>2<支払手段種類識別子>Edy,<優先順位>3<支払手段種類識別子>決済アプリ」である。
また、各種の情報とは、例えば、商品データベース、クーポン管理データベースである。なお、商品データベース、クーポン管理データベースは、サーバ2に存在していることは好適である。かかる場合、格納部11には、通常、商品データベース、クーポン管理データベースは存在しない。
商品データベースは、商品に関する1または2以上のレコードを有する。商品データベースは、商品識別情報と価格情報とを有する1または2以上のレコードを有する。
クーポン管理データベースは、クーポンに関する情報である1または2以上のレコードを有する。クーポン管理データベースのレコードは、クーポンが使用可能な商品を特定する情報である。当該レコードは、例えば、クーポンを識別するクーポン識別情報と当該クーポンに対応する1または2以上の各商品の商品識別情報とを有する。当該レコードは、例えば、無料クーポンであるか否かを示す情報を有しても良い。また、当該レコードは、例えば、クーポンの価値を示す情報であるクーポン価値情報(例えば、割引価格、割引率)を有しても良い。
受付部12は、各種の情報を受け付ける。各種の情報は、例えば、後述する商品識別情報や後述する代金支払情報や後述するクーポン情報である。各種の情報の受け付け手段は、近距離無線通信、ICカードリーダー、二次元コードリーダー等が好適であるが、問わない。各種の情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等でも良い。受付部12は、例えば、近距離無線通信、ICカードリーダー、または二次元コードリーダーで実現され得る。
第一受付部121は、商品を識別する商品識別情報を受け付ける。商品識別情報は、例えば、JANコード、商品IDである。ただし、商品識別情報は、販売対象の商品を識別できる情報であれば何でも良い。なお、商品は、例えば、飲料、食品等であるが、何でも良い。また、商品は、サービスを含んでも良い。商品識別情報は、例えば、バーコード、QRコード(登録商標)、カラーコード等の二次元コードに埋め込まれていることは好適である。また、商品識別情報が埋め込まれた二次元コードは、当該商品識別情報で識別される商品の包装または商品の表面に表出していることは好適である。
第一受付部121は、例えば、コードリーダーにより実現される。第一受付部121は、例えば、バーコードリーダー、QRコードリーダーにより実現される。
ここでの受け付けは、例えば、コードの読み取りであることは好適である。ただし、商品識別情報の受け付けは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念であっても良い。
第二受付部122は、代金支払情報を受け付ける。代金支払情報は、商品の代金の支払いのための情報である。代金支払情報は、例えば、商品の代金の支払いに使用される支払手段の識別子を有する。代金支払情報は、例えば、ユーザ識別子を有する。ユーザ識別子は、例えば、ユーザID、氏名、電話番号、メールアドレス、ユーザの携帯端末のID、ユーザの携帯端末のMACアドレス等である。代金支払情報は、例えば、残高データを有する。残高データは、残高を示す情報である。商品の代金の支払手段は、例えば、ICカード(特に、非接触ICカードが好適である)、携帯端末、クレジットカード、二次元コード、決済アプリである。代金支払情報は、例えば、ICカードの識別子、非接触ICカードの識別子、携帯端末の識別子、クレジットカード番号、二次元コードに埋め込まれた識別子、決済アプリ(例えば、Paypay(登録商標)、au PAY(登録商標)等)の識別子である。携帯端末の識別子は、契約者固有ID、電話番号、メールアドレス、MACアドレス、IPアドレス等である。代金支払情報は、例えば、支払手段種類識別子を有する。支払手段種類識別子は、支払手段の識別子に埋め込まれていても良い。つまり、支払手段の識別子から支払手段種類識別子が取得可能でも良い。
第二受付部122は、2以上の代金支払情報を受け付けても良い。第二受付部122は、例えば、2以上の代金支払情報を、一緒に受け付けても良い。また、第二受付部122は、例えば、2以上の代金支払情報を、予め決められた条件を満たすほど短時間の間に受け付けても良い。
第二受付部122は、クーポン情報を受け付けても良い。第二受付部122は、代金支払情報に代えて、または代金支払情報に加えて、クーポン情報を受け付けても良い。クーポン情報は、第一商品の値引きをするクーポンを特定する情報である。値引きは、当該商品の一部の金額の値引きでも良いし、当該商品を無料とするものでも良い。クーポン情報は、例えば、クーポンを識別するクーポン識別情報を有する。クーポン情報は、例えば、ユーザ識別子を有する。
クーポン情報は、例えば、二次元コード、IDである。ただし、クーポン情報のデータ構造等は問わない。
第二受付部122は、例えば、ICカードリーダー(特に、非接触ICカードが好適である)、コードリーダー、通信手段、近距離無線通信手段で実現される。
処理部13は、各種の処理を行う。各種の処理とは、例えば、判断部131、決済処理部132、エラー処理部133、残高データ取得部134、売上情報構成部135が行う処理である。
処理部13は、例えば、第二受付部122が2以上の代金支払情報を受け付けた場合に、優先順位情報格納部に格納されている優先順位情報を参照し、受け付けられた2以上の代金支払情報の中で、優先順位が最も高い支払手段に対応する代金支払情報を決定する。
さらに具体的には、処理部13は、例えば、第二受付部122が2以上の代金支払情報を受け付けた場合に、2以上の各代金支払情報を用いて支払手段種類識別子を取得する。次に、
処理部13は、優先順位情報格納部に格納されている優先順位情報を参照し、2以上の支払手段種類識別子のうち、最も優先順位の高い支払手段種類識別子を決定する。次に、処理部13は、当該支払手段種類識別子に対応する代金支払情報を決定する。
なお、かかる代金支払情報を決定する処理は、図示しない決定部が行っても良い。また、決定部が決定した代金支払情報を用いて、後述する決済処理部132が後述する決済処理を行う。
判断部131は、各種の判断処理を行う。判断部131は、例えば、後述する第一判断、後述する第二判断、後述する第三判断、後述する第四判断を行う。
(1)第一判断について
判断部131は、例えば、第一受付部121が商品識別情報を受け付けた場合に、既に、未決済の商品識別情報が受け付けられているか否かを判断する。つまり、判断部131は、例えば、第一受付部121が商品識別情報を受け付けた場合に、未決済の商品の商品識別情報が格納部11に格納されているか否かを判断する。かかる第一判断は、一商品一決済のために必要である。
(2)第二判断について
判断部131は、例えば、第二受付部122が代金支払情報を受け付けた場合に、既に、商品識別情報を受け付けているか否かを判断する。つまり、判断部131は、例えば、第二受付部122が代金支払情報を受け付けた場合に、受け付けられた未決済の商品の商品識別情報が格納部11に格納されているか否かを判断する。
判断部131は、例えば、第二受付部122がクーポン情報を受け付けた場合に、既に、商品識別情報を受け付けているか否かを判断する。つまり、判断部131は、例えば、第二受付部122がクーポン情報を受け付けた場合に、受け付けられた未決済の商品の商品識別情報が格納部11に格納されているか否かを判断する。
(3)第三判断について
判断部131は、例えば、第二受付部122が代金支払情報を受け付けた場合に、当該代金支払情報を用いて、第一受付部121が受け付けた商品識別情報で識別される商品の決済が可能であるか否かを判断する。
つまり、判断部131は、例えば、第二受付部122が受け付けた代金支払情報が正当な情報であるか否かを判断する。判断部131は、例えば、代金支払情報を図示しない外部サーバに送信し、当該代金支払情報が正当であるか否かの判断結果を受信する。判断部131は、例えば、代金支払情報を図示しないサーバ2に送信し、当該代金支払情報が正当であるか否かの判断結果をサーバ2から受信する。
また、判断部131は、例えば、第二受付部122が受け付けた代金支払情報に対応する残高データを取得する。また、判断部131は、例えば、第一受付部121が受け付けた商品識別情報と対になる価格情報を取得する。そして、判断部131は、例えば、「取得した残高データ>=取得した価格情報」であるか否か(決済可能であるか否か)を判断する。
なお、残高データは、例えば、後述する残高データ取得部134が取得した情報である。また、判断部131は、例えば、格納部11の商品データベースから第一受付部121が受け付けた商品識別情報と対になる価格情報を取得しても良いし、第一受付部121が受け付けた商品識別情報をキーとして、サーバ2を検索し、商品識別情報と対になる価格情報を取得しても良い。
判断部131は、例えば、第二受付部122がクーポン情報を受け付けた場合に、当該クーポン情報を用いて、第一受付部121が受け付けた商品識別情報で識別される商品の決済を完了できるか否かを判断する。さらに具体的には、判断部131は、例えば、第二受付部122がクーポン情報を受け付けた場合に、当該クーポン情報が、第一受付部121が受け付けた商品識別情報で識別される商品の無料のクーポンの情報であるか否かを判断する。そして、無料のクーポンの情報であれば、判断部131は、決済を完了できると判断する。
なお、判断部131は、例えば、格納部11またはサーバ2に、第二受付部122が受け付けたクーポン情報と第一受付部121が受け付けた商品識別情報とを対応付ける情報が格納されているか否かを判断する。
判断部131は、例えば、受け付けられた代金支払情報とクーポン情報と商品識別情報とを用いて、クーポン情報に対応する割引額または割引率と商品識別情報と対になる価格情報とから、ユーザが負担する価格情報を取得する。また、残高データ取得部134は、受け付けられた代金支払情報と対になる残高データを取得する。そして、判断部131は、例えば、「残高データ>=ユーザが負担する価格情報」であるか否かを判断する。そして、判断部131は、「残高データ>=ユーザが負担する価格情報」を満たす場合に、商品の決済を完了できる、と判断する。
判断部131は、例えば、受け付けられた代金支払情報と商品識別情報とをサーバ2に送信し、サーバ2から商品識別情報で識別される商品の決済が可能であるか否かを示す判断結果を受信しても良い。
判断部131は、例えば、受け付けられた商品識別情報とクーポン情報とをサーバ2に送信し、サーバ2から商品識別情報で識別される商品の決済が可能であるか否かを示す判断結果を受信しても良い。
判断部131は、例えば、受け付けられた代金支払情報と商品識別情報とクーポン情報とをサーバ2に送信し、サーバ2から商品識別情報で識別される商品の決済が可能であるか否かを示す判断結果を受信しても良い。
つまり、商品の決済が可能であるか否かの判断結果は、サーバ2が判断した情報でも良いし、決済端末1が判断した情報でも良い。
(4)第四判断について
判断部131は、例えば、第二受付部122がクーポン情報を受け付けた場合に、当該クーポン情報が、第一受付部121が受け付けた商品識別情報で識別される商品の決済に利用できるか否かを判断する。判断部131は、例えば、クーポン管理データベースの中に、第二受付部122が受け付けたクーポン情報に対応付けて、第一受付部121が受け付けた商品識別情報が格納されているか否かを判断する。
判断部131は、例えば、第二受付部122がクーポン情報をサーバ2に送信し、当該クーポン情報が受け付けられている商品識別情報で識別される商品の決済に利用できるか否かを示す判断結果をサーバ2から受信しても良い。
決済処理部132は、第一受付部121が第一商品を識別する第一商品識別情報を受け付けた後に、引き続いて、第二受付部122が代金支払情報を受け付けた場合に、第一商品の販売のための決済処理を行う。
決済処理部132は、第二受付部122がクーポン情報を受け付けた場合、クーポン情報に対応する値引きを行った価格の決済処理を行う。決済処理部132は、第二受付部122が無料クーポンに対応するクーポン情報を受け付けた場合、無料で商品を引き渡すための処理である決済処理を行う。
決済処理部132は、判断部131が決済可能であると判断した場合に、決済処理を行うことは好適である。
なお、決済処理とは、ユーザが商品の代金を支払うための処理である。決済処理は、例えば、代金支払情報に対応する残高データから、第一商品の価格情報を減額する処理である。決済処理は、例えば、サーバ2に決済情報を送信する処理である。なお、決済処理は、決済に関連する処理であれば良い。
クーポン情報に対応する値引きに関するクーポン価値情報は、決済端末1の格納部11に格納されていても良いし、サーバ2に格納されていても良い。
エラー処理部133は、判断部131のおける第一判断または第二判断または第三判断または第四判断における判断結果が不当(エラー)である場合に、当該判断に対応するエラー処理を行う。
エラー処理は、例えば、ブザーの出力、エラーの旨の表示、エラーの旨の内容の出力、受け付けた商品識別情報のキャンセルなどである。エラー処理は、例えば、既に受け付けられている商品識別情報または代金支払情報であり、格納部11に格納されている商品識別情報または代金支払情報を削除することである。なお、エラー処理の内容は問わない。
エラー処理部133は、例えば、第一受付部121が第一商品を識別する第一商品識別情報を受け付けた後に、引き続いて、第二商品を識別する第二商品識別情報を受け付けた場合に、エラー処理を行う。なお、ここで、第一商品と第二商品とは、異なる種類の商品であっても、同じ種類の商品であっても良い。また、かかるエラー処理は、第一エラー処理という。第一エラー処理は、判断部131における第一判断に対応するエラー処理である。
ここで、「引き続いて」とは、時間間隔が閾値以内であることは好適であるが、時間間隔は問わなくても良い。「第一商品識別情報を受け付けた後に、引き続いて、第二商品識別情報を受け付ける」ことは、通常、第一商品識別情報と第二商品識別情報の受け付けの間に、他の情報が受け付けられていないことである。
エラー処理部133は、例えば、第二受付部122が受け付けた代金支払情報を用いた商品の決済が可能でないと判断された場合に、第二エラー処理を行う。第二エラー処理は、例えば、決済できない旨のエラーメッセージの出力、残高が足りない旨のエラーメッセージの出力である。なお、第二エラー処理は、判断部131における第三判断に対応するエラー処理である。
エラー処理部133は、例えば、第二受付部122が受け付けたクーポン情報が、第一受付部121が受け付けた商品識別情報で識別される商品の決済に利用できない場合に、第三エラー処理を行う。第三エラー処理は、例えば、クーポン情報に対応するクーポンが使用できない旨の出力である。なお、第二エラー処理は、判断部131における第四判断に対応するエラー処理である。
エラー処理部133は、例えば、第二受付部122がクーポン情報を受け付けた際に、未決済の商品識別情報が格納部11に存在しない場合に、第四エラー処理を行う。第四エラー処理は、例えば、購入する商品のコードを読み込ませることを促す情報の出力である。
残高データ取得部134は、第二受付部122が受け付けた代金支払情報に対応する残高データを取得する。
残高データ取得部134は、例えば、第一受付部121が第一商品識別情報を受け付ける前に、第二受付部122が代金支払情報を受け付けた場合に、当該代金支払情報に対応する残高データを取得する。
残高データ取得部134は、例えば、第二受付部122が受け付けた代金支払情報が格納されているICカードから残高データを取得する。残高データ取得部134は、例えば、第二受付部122が受け付けた代金支払情報をキーとして、図示しない外部サーバを検索し、残高データを取得する。残高データ取得部134は、例えば、受け付けられた代金支払情報をサーバ2に送信し、当該外部サーバから当該代金支払情報に対応する残高データを当該サーバ2から受信する。
売上情報構成部135は、第一受付部121が受け付けた第一商品識別情報と、代金支払情報またはクーポン情報に含まれるユーザ識別子と、決済処理に対応する金額情報とを取得し、第一商品識別情報とユーザ識別子と金額情報とを有する売上情報を構成する。金額情報は、通常、ユーザが負担した金額を特定する情報であるが、商品の価格情報でも良い。
代金支払情報またはクーポン情報は、ユーザを識別するユーザ識別子を含むことは好適である。
送信部14は、各種の情報を送付する。各種の情報は、例えば、売上情報構成部135が構成した売上情報である。
売上情報送信部141は、売上情報をサーバ2に送信する。売上情報は、売上情報構成部135が構成した情報である。売上情報は、決済処理の対応する商品の売り上げに関する情報である。売上情報は、通常、商品識別情報を含む。
出力部15は、各種の情報を出力する。各種の情報は、例えば、残高データ取得部134が取得した残高データである。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
残高データ出力部151は、残高データ取得部134が取得した残高データを出力する。ここで、残高データの出力は、通常、ディスプレイへの表示であるが、音声出力や端末への送信等でも良い。
サーバ2を構成するサーバ格納部21には、各種の情報が格納される。各種の情報とは、例えば、商品データベース、クーポン管理データベース、売上データベースである。
商品データベース、クーポン管理データベースについては、上述したので、ここでの説明は省略する。
売上データベースは、売上情報を管理するデータベースである。売上データベースの売上情報は、例えば、端末識別子と対になっていることが好適である。
サーバ受信部22は、各種の情報を受信する。サーバ受信部22は、例えば、決済端末1から各種の情報を受信する。各種の情報は、例えば、売上情報、商品識別情報、代金支払情報、クーポン情報である。
サーバ処理部23は、各種の処理を行う。各種の処理は、例えば、決済可否判断、クーポン使用可否判断、クーポン価値判断、代金支払情報判断、売上情報蓄積処理、売上情報統計処理である。
決済可否判断とは、決済端末1から受信された代金支払情報と商品識別情報とを用いて、当該商品識別情報で識別される商品の決済が可能であるか否かを判断する処理である。
サーバ処理部23は、例えば、受信された代金支払情報が支払いの媒体として使用可能であるか否かを、図示しない外部サーバに問合せ、その結果(使用可能、または使用不可)を受信する。
サーバ処理部23は、例えば、商品識別情報と対になる価格情報をサーバ格納部21の商品データベースから取得する。また、サーバ処理部23は、例えば、受信された代金支払情報をキーとして図示しない外部サーバから残高データを取得する。次に、サーバ処理部23は、例えば、「残高データ>=価格情報」であるか否か(支払可能であるか否か)を判断し、決済可能であるか否かを示す判断結果を取得する。
サーバ処理部23は、例えば、受信された商品識別情報、代金支払情報、クーポン情報を用いて、決済可能であるか否かを判断する。サーバ処理部23は、例えば、商品識別情報と対になる価格情報をサーバ格納部21の商品データベースから取得する。また、サーバ処理部23は、例えば、受信された代金支払情報をキーとして図示しない外部サーバから残高データを取得する。また、サーバ処理部23は、例えば、受信されたクーポン情報に対応する価値を、サーバ格納部21のクーポン管理データベースから取得する。そして、サーバ処理部23は、例えば、クーポン情報に対応する価値(例えば、割引価格、割引率)と価格情報とから、ユーザが支払うべき金額情報を取得する。次に、サーバ処理部23は、例えば、「残高データ>=金額情報」であるか否かを判断し、決済可能であるか否かを示す判断結果を取得する。
クーポン使用可否判断は、例えば、受信されたクーポン情報を用いて、当該クーポン情報により特定されるクーポンが使用可能であるか否かを判断する処理である。クーポン使用可否判断は、例えば、受信されたクーポン情報と商品識別情報とを用いて、当該クーポン情報により特定されるクーポンが、当該商品識別情報により識別される商品に使用可能であるか否かを判断する処理である。
クーポン価値判断とは、例えば、受信されたクーポン情報により特定されるクーポンが、商品が無料になるクーポンであるか否かを判断する処理である。クーポン価値判断とは、例えば、受信されたクーポン情報により特定されるクーポンの価値(例えば、割引価格、割引率)を取得する処理である。
代金支払情報判断とは、代金支払情報が正当であるか否かの判断である。サーバ処理部23は、受信された代金支払情報をキーとして図示しない外部サーバを検索し、代金支払情報が正当であるか否かの情報を外部サーバから受信する。
売上情報蓄積処理とは、受信された売上情報をサーバ格納部21に蓄積する処理である。
売上情報統計処理とは、2以上の売上情報に対する統計処理である。統計処理の内容は問わない。売上情報統計処理は、例えば、商品識別情報ごとの売上数、売上の総金額を算出する処理である。売上情報統計処理は、例えば、商品の属性値ごとに、売上数、売上の総金額を算出する処理である。かかる場合、商品データベースには、商品識別情報に対応する商品の属性値が管理されている。売上情報統計処理は、例えば、全商品の売上数、売上の総金額を算出する処理である。
サーバ送信部24は、各種の情報を決済端末1に送信する。各種の情報は、例えば、サーバ処理部23が取得した決済可能であるか否かを示す判断結果、クーポン情報が使用可能であるか否かを示す判断結果、残高が足りているか否かを示す判断結果である。
格納部11、およびサーバ格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
受付部12、第一受付部121、および第二受付部122は、例えば、コードリーダー、ICカードリーダー、通信手段、または近距離無線通信手段等で実現される。
処理部13、判断部131、決済処理部132、エラー処理部133、残高データ取得部134、売上情報構成部135、およびサーバ処理部23は、通常、プロセッサやメモリ等から実現され得る。処理部13の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、例えば、CPU、MPU、GPUであるが、その種類は問わない。
送信部14、売上情報送信部141、およびサーバ送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
出力部15、および残高データ出力部151は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部15等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
サーバ受信部22は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
次に、決済システムAの動作例について説明する。まず、決済端末1の動作例について、図3、図4のフローチャートを用いて説明する。
(ステップS301)第一受付部121は、商品識別情報を受け付けたか否かを判断する。商品識別情報を受け付けた場合はステップS302に行き、商品識別情報を受け付けなかった場合はステップS305に行く。なお、例えば、商品に表出している二次元コードを、ユーザがコードリーダーに読ませることにより、第一受付部121は商品識別情報を受け付ける。
(ステップS302)判断部131は、未決済の商品の商品識別情報が格納部11に格納されているか否かを判断する。格納されている場合はステップS303に行き、格納されていない場合はステップS304に行く。
(ステップS303)判断部131は、ステップS301で受け付けられた商品識別情報を格納部11に蓄積する。ステップS301に戻る。なお、この商品識別情報は、未決済の商品の商品識別情報である。
(ステップS304)エラー処理部133は、第一エラー処理を行う。つまり、エラー処理部133は、「第一受付部121が第一商品を識別する第一商品識別情報を受け付けた後に、引き続いて、第二商品を識別する第二商品識別情報を受け付けた」ことに対応するエラー処理を行う。ステップS301に戻る。
なお、エラー処理部133は、例えば、2つ目の商品の商品識別情報が受け付けられたエラーである旨のメッセージを出力する。また、エラー処理部133は、例えば、代金支払情報の受け付けを促す情報を出力する。なお、かかる出力されるエラーの情報は、格納部11に格納されている。
(ステップS305)第二受付部122は、代金支払情報を受け付けたか否かを判断する。代金支払情報を受け付けた場合はステップS306に行き、代金支払情報を受け付けなかった場合はステップS319に行く。
なお、例えば、ユーザが、非接触ICカードを第二受付部122のカードリーダーにかざすことにより、第二受付部122は代金支払情報を受け付ける。また、例えば、ユーザが、当該ユーザの携帯端末と第二受付部122とが通信することにより、第二受付部122は代金支払情報を受け付ける。その他、代金支払情報の受け付け方法は問わない。
(ステップS306)判断部131は、未決済の商品の商品識別情報が格納部11に存在するか否かを判断する。商品識別情報が存在する場合にはステップS307に行き、商品識別情報が存在しない場合にはステップS317に行く。
(ステップS307)判断部131は、商品識別情報と代金支払情報とを用いて、決済可能であるか否かを判断する。
判断部131は、例えば、サーバ2に商品識別情報と代金支払情報とを送信し、決済可能であるか否かを示す判断結果を受信する。判断部131は、例えば、「商品識別情報に対応する価格情報<=代金支払情報に含まれる残高データ」であるか否かを示す判断結果を取得する。
(ステップS308)ステップS307における判断結果が、決済可能であるとの場合はステップS309に行き、決済可能でないとの場合はステップS316に行く。
(ステップS309)決済処理部132は、決済を行うための金額情報を取得する。金額情報は、例えば、商品識別情報と対になる価格情報である。金額情報は、例えば、商品識別情報と対になる価格情報からクーポン情報に対応する減額分を引いた金額である。
(ステップS310)決済処理部132は、ステップS309で取得された金額情報を用いて決済処理を行う。
(ステップS311)決済処理部132は、商品識別情報を格納部11から削除する。なお、ここでの削除の処理は、決済完了を示すフラグを商品識別情報に対応付けて付加する処理でも良い。かかる付加する処理は、削除フラグを付加する処理と同様である。
(ステップS312)売上情報構成部135は、商品識別情報、ステップS309で取得された金額情報を有する売上情報を取得する。
(ステップS313)売上情報送信部141は、ステップS312で取得された売上情報をサーバ2に送信する。
(ステップS314)判断部131は、ステップS310における決済処理において、クーポン情報が使用されたか否かを判断する。クーポン情報が使用された場合はステップS315に行き、クーポン情報が使用されなかった場合はステップS301に戻る。なお、クーポン情報が使用されたか否かは、例えば、受け付けられたクーポン情報が格納部11に存在するか否かにより判断され得る。
(ステップS315)処理部13は、受け付けられたクーポン情報に対応する処理を行う。ステップS301に戻る。かかる処理は、当該クーポン情報を再使用させないための無効化の処理である。また、かかる処理は、例えば、当該クーポン情報を含む無効化情報をサーバ2に送信する処理である。また、かかる処理は、例えば、当該クーポン情報を格納部11から削除する処理である。なお、ステップS315における処理は、当該クーポン情報を再使用させないための無効化の処理であれば何でも良い。
(ステップS316)エラー処理部133は、第二エラー処理を行う。つまり、エラー処理部133は、決済できない場合の処理を行う。ステップS301に戻る。なお、かかる処理は、例えば、決済できない旨のエラーメッセージの出力である。
(ステップS317)残高データ取得部134は、受け付けられた代金支払情報に対応する残高データを取得する。
(ステップS318)残高データ出力部151は、ステップS317で取得された残高データを出力する。ステップS301に戻る。
(ステップS319)第二受付部122は、クーポン情報を受け付けたか否かを判断する。クーポン情報を受け付けた場合はステップS320に行き、クーポン情報を受け付けなかった場合はステップS301に戻る。
(ステップS320)判断部131は、ステップS319で受け付けられたクーポン情報に対応するクーポンが使用可能であるか否かを判断する。使用可能である場合はステップS321に行き、使用可能でない場合はステップS327に行く。判断部131は、例えば、クーポン情報と商品識別情報とをサーバ2に送信し、クーポンが使用可能であるか否かの判断結果を受信する。
(ステップS321)判断部131は、未決済の商品の商品識別情報が格納部11に存在するか否かを判断する。商品識別情報が存在する場合にはステップS322に行き、商品識別情報が存在しない場合にはステップS326に行く。
(ステップS322)判断部131は、ステップS319で受け付けられたクーポン情報が無料クーポンの情報であるか否かを判断する。無料クーポンの情報であればステップS323に行き、無料クーポンの情報でなければステップS325に行く。
(ステップS323)決済処理部132は、金額情報に0を代入する。ステップS310に行く。
(ステップS324)決済処理部132は、商品識別情報と対になる価格情報から、クーポン情報の分だけ減額した金額情報を取得する。
(ステップS325)エラー処理部133は、第四エラー処理を行う。ステップS301に戻る。なお、ここで、エラー処理部133は、例えば、クーポンを使用する商品が指定されていない旨のエラーメッセージを出力する。
(ステップS326)エラー処理部133は、第三エラー処理を行う。ステップS301に戻る。なお、ここで、エラー処理部133は、例えば、クーポン情報に対応するクーポンが使用できない旨のエラーメッセージを出力する。
なお、図4のフローチャートにおいて、ステップS323の直前または直後に、判断部131が、商品識別情報とクーポン情報と代金支払情報とを用いて、決済可能であるか否かを判断し、決済可能であれば、ステップS310に行くことは好適である。
また、図3、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、サーバ2の動作例について、図5のフローチャートを用いて説明する。
(ステップS501)サーバ受信部22は、代金支払情報等を受信したか否かを判断する。代金支払情報等を受信した場合はステップS502に行き、代金支払情報等を受信しなかった場合はステップS510に行く。なお、代金支払情報等とは、例えば、代金支払情報と商品識別情報である。また、代金支払情報等とは、例えば、クーポン情報と商品識別情報である。また、代金支払情報等とは、例えば、代金支払情報とクーポン価値情報と商品識別情報である。
(ステップS502)サーバ処理部23は、代金支払情報判断を行う。代金支払情報判断とは、代金支払情報が正当であるか否かを判断することである。
(ステップS503)ステップS502における判断の結果が「正当」であればステップS504に行き、「正当」でなければステップS510に行く。
(ステップS504)サーバ処理部23は、ステップS501で受信された情報の中に、クーポン情報またはクーポン価値情報が存在するか否かを判断する。クーポン情報またはクーポン価値情報が存在する場合はステップS506に行き、クーポン情報またはクーポン価値情報が存在しない場合はステップS505に行く。
(ステップS505)サーバ処理部23は、受信された商品識別情報と対になる価格情報を、商品データベースから取得する。ステップS507に行く。
(ステップS506)サーバ処理部23は、受信された商品識別情報と対になる価格情報を、商品データベースから取得する。また、サーバ処理部23は、クーポン情報に対応する割引額を、クーポン管理データベースを用いて取得する。サーバ処理部23は、価格情報と割引額とを用いて、ユーザが負担する金額である金額情報を算出する。
(ステップS507)サーバ処理部23は、代金支払情報に対応する残高データを取得する。サーバ処理部23は、残高データと、価格情報または金額情報を用いて、決済可能であるか否かを判断する。
(ステップS508)サーバ処理部23は、ステップS507における判断結果を取得する。
(ステップS509)サーバ送信部24は、ステップS508で取得された判断結果を決済端末1に送信する。ステップS501に戻る。
(ステップS510)サーバ処理部23は、変数「判断結果」に「代金支払情報が不当」である旨を代入する。ステップS509に行く。
(ステップS511)サーバ受信部22は、クーポン情報等を受信したか否かを判断する。クーポン情報等を受信した場合はステップS512に行き、クーポン情報等を受信しなかった場合はステップS518に行く。
(ステップS512)サーバ処理部23は、クーポン情報判断処理を行う。つまり、サーバ処理部23は、クーポン情報が使用可能(正当)であるか否かを判断する。
(ステップS513)ステップS512における判断結果が「正当」であればステップS514に行き、「正当」でなければステップS517に行く。
(ステップS514)サーバ処理部23は、クーポン情報に対応するクーポン価値情報をクーポン管理データベースから取得する。
(ステップS515)サーバ処理部23は、変数「判断結果」に、ステップS514で取得したクーポン価値情報を代入する。
(ステップS516)サーバ送信部24は、ステップS508で取得された判断結果を決済端末1に送信する。ステップS501に戻る。
(ステップS517)サーバ処理部23は、変数「判断結果」に、クーポン情報が不当である旨を代入する。ステップS516に行く。
(ステップS518)サーバ受信部22は、売上情報等を受信したか否かを判断する。売上情報等を受信した場合はステップS519に行き、売上情報等を受信しなかった場合はステップS501に戻る。
(ステップS519)サーバ処理部23は、ステップS518で受信された売上情報をサーバ格納部21に蓄積する。ステップS501に戻る。
なお、図5のフローチャートにおいて、サーバ処理部23は、売上情報統計処理を行っても良い。また、売上情報統計処理を行うタイミングは問わない。
また、図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における決済システムAの具体的な動作について説明する。決済システムAの概念図は図1である。
今、決済端末1の格納部11には、商品データベースが格納されている、とする。商品データベースは、商品識別情報と価格情報とを有する1以上のレコードを有する。価格情報は、商品識別情報で識別される商品の販売価格を示す情報である。
また、サーバ2のサーバ格納部21には、図6に示すクーポン管理データベースが格納されている、とする。クーポン管理データベースは、「ID」「クーポン識別情報」「対象商品識別情報」「クーポン価値情報」「使用フラグ」を有する1以上のレコードを有する。「対象商品識別情報」は、対象となる商品の商品識別情報である。「使用フラグ」は、クーポンが既に使用された(「1」)か使用されていない(「0」)かを示す情報である。なお、図6の「D3**」は正規表現であり、「*」には任意の文字(ここでは、数字)が入る意味である。
かかる状況において、以下の3つの具体例について説明する。具体例1は、ユーザが、決済端末1に、2つの商品の二次元コードを連続して読み込ませた場合である。具体例2は、ユーザが、決済端末1に、一の商品の二次元コードを読み込ませ、引き続き、ユーザが保有する支払手段であるICカードを決済端末1に読み込ませた場合である。具体例3は、ユーザが無料クーポンを用いて商品を得る場合である。
(具体例1)
ユーザが、缶コーヒー(図1の101)を購入するために、決済端末1のバーコードリーダーに、缶コーヒーのバーコードを読み込ませた、とする。なお、かかるバーコードには、商品識別情報「D203」が埋め込まれている、とする。
すると、決済端末1の第一受付部121は、商品識別情報「D203」を受け付ける。次に、判断部131は、未決済の商品の商品識別情報が格納部11に格納されていない、と判断する。次に、判断部131は、受け付けられた商品識別情報「D203」を格納部11に蓄積する。
次に、このユーザは、パンを購入するために、決済端末1のバーコードリーダーに、缶コーヒーのバーコードを読み込ませた、とする。なお、かかるバーコードには、商品識別情報「D301」が埋め込まれている、とする。
すると、決済端末1の第一受付部121は、商品識別情報「D301」を受け付ける。次に、判断部131は、未決済の商品の商品識別情報(ここでは「D301」)が格納部11に格納されている、と判断する。
次に、エラー処理部133は、第一エラー処理を行う。つまり、エラー処理部133は、かかるエラーに対応するメッセージ「複数の商品を一度に決済できません。決済のためにICカードをカードリーダーにかざして下さい。」を格納部11から読み出し、出力する。
以上の処理により、複数の商品の商品識別情報を連続して読み込ませることを防止できる。
(具体例2)
具体例1の処理の後、当該ユーザは、保持している非接触ICカード(残高500円)を、ICカードリーダーにかざした、とする。
すると、第二受付部122は、代金支払情報(ここでは、ICカードのID「C001」と残高データ「500円」を有する)を受け付ける。
次に、判断部131は、未決済の商品の商品識別情報「D301」が格納部11に存在する、と判断する。
次に、判断部131は、商品識別情報「D301」と対になる価格情報「100円」を、格納部11の商品データベースから取得する。次に、判断部131は、「残高データ「500円」>=価格情報「100円」」であるので、決済可能である、と判断する。
次に、決済処理部132は、決済を行うための金額情報「100円」を取得する。そして、決済処理部132は、取得された金額情報「100円」を用いて決済処理を行う。つまり、決済処理部132は、ユーザのICカードの残高データを「500円」から「100円」減額するための処理(例えば、ICカードのデータを「400円」に書き換える処理)を行う。なお、かかる処理は、例えば、図示しない外部サーバまたはサーバ2に、ICカードのID「C001」と、金額情報「100円」または残高データ「400円」とを送信する処理でも良い。かかる処理により、ユーザのICカードの残高が100円減額されれば良い。
次に、決済処理部132は、商品識別情報「D301」を格納部11から削除する。
次に、売上情報構成部135は、商品識別情報「D301」、金額情報「100円」を有する売上情報を取得する。次に、売上情報構成部135は、格納部11の端末識別子を取得する。そして、売上情報構成部135は、売上情報と端末識別子とを有する情報を構成する。
そして、売上情報送信部141は、取得された売上情報等をサーバ2に送信する。
次に、サーバ2のサーバ受信部22は、売上情報(商品識別情報「D301」、金額情報「100円」)と決済端末1の端末識別子とを有する情報を受信する。次に、サーバ処理部23は、受信された売上情報を、端末識別子に対応付けてサーバ格納部21に蓄積する。
以上の処理により、一商品一決済が実現できた。
(具体例3)
次に、ユーザは、ペットボトル(図1の103)を購入するために、決済端末1のバーコードリーダーに、ペットボトルのバーコードを読み込ませた、とする。なお、かかるバーコードには、商品識別情報「D100」が埋め込まれている、とする。
すると、決済端末1の第一受付部121は、商品識別情報「D100」を受け付ける。次に、判断部131は、未決済の商品の商品識別情報が格納部11に格納されていない、と判断する。次に、判断部131は、受け付けられた商品識別情報「D100」を格納部11に蓄積する。
次に、ユーザは、無料クーポン(図1の104)を、決済端末1のQRコードリーダーに読み込ませた、とする。なお、かかるQRコードには、クーポン識別情報「C001」が埋め込まれている、とする。
次に、第二受付部122は、クーポン識別情報「C001」を有するクーポン情報を受け付ける。
次に、送信部14は、クーポン識別情報「C001」と商品識別情報「D100」とをサーバ2に送信する。
次に、サーバ2のサーバ受信部22は、クーポン識別情報「C001」と商品識別情報「D100」とを受信する。
次に、サーバ処理部23は、図6を参照し、受信されたクーポン識別情報「C001」と商品識別情報「D100」とが対になるレコードがクーポン管理データベースに存在し、かつ使用フラグが「0」であるか否かを判断する。ここで、サーバ処理部23は、クーポン識別情報「C001」と商品識別情報「D100」とが対になるレコードがクーポン管理データベースに存在し、かつ使用フラグが「0」である、と判断する。つまり、サーバ処理部23は、当該クーポン情報が使用可能である、と判断する。
次に、サーバ処理部23は、クーポン識別情報「C001」と対になるクーポン価値情報「無料」をクーポン管理データベースから取得する。
次に、サーバ処理部23は、変数「判断結果」にクーポン価値情報「無料」を代入する。
次に、サーバ送信部24は、当該判断結果を決済端末1に送信する。
次に、決済端末1の判断部131は、クーポン価値情報「無料」を受信する。そして、判断部131は、当該クーポン情報に対応するクーポンが使用可能である、と判断する。
次に、判断部131は、未決済の商品の商品識別情報「D100」が格納部11に存在する、と判断する。
次に、判断部131は、受け付けられたクーポン情報が無料クーポンの情報である、と判断する。
次に、決済処理部132は、金額情報に0を代入する。
次に、決済端末1の決済処理部132は、取得された金額情報「0」を用いて決済処理を行う。
次に、決済処理部132は、商品識別情報「D100」を格納部11から削除する。
次に、売上情報構成部135は、商品識別情報「D100」、金額情報「0」を有する売上情報を取得する。
次に、売上情報送信部141は、取得された売上情報をサーバ2に送信する。
次に、決済端末1の処理部13は、クーポン識別情報「C001」に対応するクーポン情報が使用不可となるように、クーポン識別情報「C001」をサーバ2に送信する。
次に、サーバ2は、売上情報を受信し、蓄積する。また、サーバ2は、クーポン識別情報「C001」を受信し、当該クーポン識別情報「C001」と対になる使用フラグを「1」に書き換える。
以上により、無料クーポンを用いた処理が完了した。
以上、本実施の形態によれば、一商品一決済を行う決済端末1を提供できる。そして、かかる決済端末1により、商品の販売の際の決済のトラブルを防止できる。その結果、高速かつ確実で衛生的なセルフレジ決済が実行できる。
また、本実施の形態において、代金支払情報に対応する残高データを確認できる。
また、本実施の形態において、一商品一決済を行い得る決済端末1において、クーポンを使用できる。
さらに、本実施の形態において、一商品一決済を行い得る決済端末1における売上情報を、サーバで管理できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における決済端末1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、商品を識別する商品識別情報を受け付ける第一受付部と、前記商品の代金の支払いのための代金支払情報を受け付ける第二受付部と、前記第一受付部が第一商品を識別する第一商品識別情報を受け付けた後に、引き続いて、第二商品を識別する第二商品識別情報を受け付けた場合に、エラー処理を行うエラー処理部と、前記第一受付部が第一商品を識別する第一商品識別情報を受け付けた後に、引き続いて、前記第二受付部が前記代金支払情報を受け付けた場合に、前記第一商品の販売のための決済処理を行う決済処理部として機能させるためのプログラムである。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。