<法令遵守>
本明細書に記載の開示は、実施される場合、本開示を実施する各国の法令を遵守のうえで実施される。また、本明細書に記載の開示は、各国の法令を遵守するために必要な、当業者が成し得る全ての変更、置換、変形、改変、および修正をもって実施される。
本開示に係る通信システム1を実施するための形態について、図面を参照して説明する。
<システム構成>
図1は、本開示の一実施形態に係る通信システム1の構成を示す。図1に開示されるように、通信システム1では、ネットワークNを介してサーバ110A,サーバ110Bと、端末120A,端末120B,端末120Cと、POS端末130Aと、POS端末130Bとが接続される。
本開示において、サーバ110Aと、サーバ110Bとをそれぞれ区別する必要がない場合は、サーバ110Aとサーバ110Bとは、それぞれサーバ110と表現されてもよい。
本開示において、端末120Aと、端末120Bと、端末120Cとをそれぞれ区別する必要がない場合は、端末120Aと端末120Bと端末120Cとは、それぞれ端末120と表現されてもよい。
本開示において、POS端末130Aと、POS端末130Bとをそれぞれ区別する必要がない場合は、POS端末130Aと、POS端末130Bとは、それぞれPOS端末130と表現されてもよい。
本開示において、サーバ110と、端末120とをそれぞれ区別する必要がない場合は、サーバ110と端末120とは、それぞれ情報処理装置200と表現されてもよい。なお、ネットワークNに接続される情報処理装置200の数は限定されない。
サーバ110は、ネットワークNを介してユーザが利用する端末120に、所定のサービスを提供する。所定のサービスは、限定でなく例として、決済サービス、電子商取引サービス、インスタントメッセンジャーを代表とするSNS(Social Networking Service)、楽曲・動画・書籍などのコンテンツ提供サービス、決済サービス、クーポン提供サービス等を含む。ユーザが端末120を介して所定のサービスを利用することで、サーバ110は1以上の端末120に所定のサービスを提供することができる。
必要に応じて、ユーザXが利用する端末を端末120Xと表現し、ユーザXまたは端末120Xに対応づけられた、所定のサービスにおけるユーザ情報をユーザ情報Xと表現する。なお、ユーザ情報とは、所定のサービスにおいてユーザが利用するアカウントに対応付けられたユーザの情報である。ユーザ情報は、限定でなく例として、ユーザにより入力される、または、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子などのユーザに対応づけられた情報を含み、これらのいずれか一つまたは、組み合わせであってもよい。
ネットワークNは、2以上の情報処理装置200を接続する役割を担う。ネットワークNは、端末120がサーバ110に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。また、サーバ110とPOS端末130とは、ネットワークNにより接続される。
ネットワークNのうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよい。ネットワークNは、限定でなく例として、アドホック・ネットワーク(Ad Hoc Network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(Virtual Private Network:VPN)、ローカル・エリア・ネットワーク(Local Area Network:LAN)、ワイヤレスLAN(Wireless LAN:WLAN)、広域ネットワーク(Wide Area Network:WAN)、ワイヤレスWAN(Wireless WAN:WWAN)、大都市圏ネットワーク(Metropolitan Area Network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDNs(Integrated Service Digital Networks)、無線LANs、LTE(Long Term Evolution)、CDMA(Code Division Multiple Access)、ブルートゥース(Bluetooth(登録商標))、衛星通信など、または、これらの2つ以上の組合せを含むことができる。ネットワークNは、1つまたは複数のネットワークNを含むことができる。また、サーバ110とPOS端末130との間には、決済事業者が提供するゲートウェイ装置が含まれていてもよい。
情報処理装置200は、本開示に記載される機能、および/または、方法を実現できる情報処理装置であればどのような情報処理装置であってもよい。
情報処理装置200は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、サーバ装置、メディアコンピュータプラットホーム(限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダなど)、ハンドヘルドコンピュータデバイス(限定でなく例として、PDA(Personal Digital Assistant)、電子メールクライアントなど)、ウェアラブル端末(限定でなく例として、メガネ型デバイス、時計型デバイスなど)、他種のコンピュータ、またはコミュニケーションプラットホームを含む。
POS端末130は、店舗にて、ユーザ(顧客)からの支払いを受け取るユーザ(店員等)が利用する端末であり、二次元コードリーダーを備えており、読み取った二次元コードをサーバ110に送信する機能を有している。
<ハードウェア(HW)構成>
図2を用いて、通信システム1に含まれる情報処理装置200及びPOS端末130のHW構成について説明する。
情報処理装置200及びPOS端末130は、プロセッサ201と、メモリ202と、ストレージ203と、入出力インタフェース(入出力I/F)204と、通信インタフェース(通信I/F)205とを含む。情報処理装置200及びPOS端末130のHWの各構成要素は、限定でなく例として、バスBを介して相互に接続される。
情報処理装置200及びPOS端末130は、プロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により、本開示に記載される機能、および/または、方法を実現する。
プロセッサ201は、ストレージ203に記憶されるプログラムに含まれるコードまたは命令によって実現する機能、および/または、方法を実行する。プロセッサ201は、限定でなく例として、中央処理装置(CPU)、MPU(Micro Processing Unit)、GPU(Graphic s Processing Unit)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含み、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各実施形態に開示される各処理を実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。
メモリ202は、ストレージ203からロードしたプログラムを一時的に記憶し、プロセッサ201に対して作業領域を提供する。メモリ202には、プロセッサ201がプログラムを実行している間に発行される各種データも一時的に格納される。メモリ202は、限定でなく例として、RAM(Random Access Memory)、ROM(Read Only Memory)などを含む。
ストレージ203は、プログラムを記憶する。ストレージ203は、限定でなく例として、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリなどを含む。
通信I/F205は、ネットワークNを介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F205は、ネットワークNを介して、他の情報処理装置との通信を実行する機能を有する。通信I/F205は、各種データをプロセッサ201からの指示に従って、他の情報処理装置に送信する。また、通信I/F205は、他の情報処理装置から送信された各種データを受信し、プロセッサ201に伝達する。
入出力I/F204は、情報処理装置200及びPOS端末130に対する各種操作を入力する入力装置、および、情報処理装置200及びPOS端末130で処理された処理結果を出力する出力装置を含む。入出力I/F204は、入力装置と出力装置が一体化していてもよいし、入力装置と出力装置とに分離していてもよい。
入力装置は、ユーザからの入力を受け付けて、当該入力に係る情報をプロセッサ201に伝達できる全ての種類の装置のいずれか、または、その組み合わせにより実現される。入力装置は、限定でなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(画像を介した操作入力)、マイク(音声による操作入力)を含む。POS端末130の場合、入力装置には、二次元コードリーダーを含む。
出力装置は、プロセッサ201で処理された処理結果を出力することができる全ての種類の装置のいずれか、または、その組み合わせにより実現される。当該処理結果を映像、および/または、動画像として出力する場合、出力装置は、フレームバッファに書き込まれた表示データに従って、当該表示データを表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力装置は、限定でなく例として、タッチパネル、タッチディスプレイ、モニタ(限定でなく例として、液晶ディスプレイ、OELD(Organic Electroluminescence Display)など)、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中など(真空であってもよい)に画像やテキスト情報等を表示可能な装置、スピーカ(音声出力)、プリンターなどを含む。なお、これらの出力装置は、3Dで表示データを表示可能であってもよい。
本開示の各実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。プログラムは、限定でなく例として、ソフトウェアプログラムやコンピュータプログラムを含む。
記憶媒体は適切な場合、1つまたは複数の半導体ベースの、または他の集積回路(IC)(限定でなく例として、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。
また、本開示のプログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、情報処理装置200に提供されてもよい。
また、本開示の各実施形態は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
なお、本開示のプログラムは、限定でなく例として、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective−C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装される。
情報処理装置200おける処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
情報処理装置200における処理の少なくとも一部を、他の情報処理装置により行う構成としてもよい。この場合、プロセッサ201により実現される各機能部の処理のうち少なくとも一部の処理を、他の情報処理装置で行う構成としてもよい。
<その他>
明示的な言及のない限り、本開示の実施形態における判定の構成は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしてもよい。
本開示では、明記されない限り、または文脈によって示されない限り、「または」は排他的ではなく包含的な意味である。したがって、本開示では、明記されていない限り、または文脈によって示されない限り、「AまたはB」は「A、B、またはその両方」を意味する。さらに、明記されない限り、または文脈によって示されない限り、「および」は協同(joint)および個々(several)の両方の意味である。したがって、本明細書では、明記されない限り、または文脈によって 示されない限り、「AおよびB」は、「AおよびBが一緒に、または個別に(A and B, jointly or severally)」を意味する。さらに、明記されない限り、または文脈によって示されない限り、「a」、「an」、または「the」は「1つまたは複数」を意味するものとする。したがって、本明細書では、別段に明記されない限り、または文脈によって示されない限り、「an A」または「the A」は「1つまたは複数のA」を意味する。
本開示は、本開示の実施形態、および/または、実施例に対して、当業者が成し得る全ての変更、置換、変形、改変、および修正を包含する。同様に、適切な場合、添付の特許請求の範囲は、本開示の実施形態、および/または、実施例に対して、当業者が成し得る全ての変更、置換、変形、改変、および修正を包含する。さらに、本開示は、当業者が成し得る、本開示における実施形態、および/または、実施例の1つまたは複数の特徴と、本開示における他の実施形態、および/または、実施例の1つまたは複数の特徴との任意の組合せを包含する。
加えて、特定の機能を実施するように適合される、配置される、能力を有する、構成される、使用可能である、動作可能である、または動作できる装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲での参照は、その装置、システム、または構成要素がそのように適合される、配置される、能力を有する、構成される、使用可能にされる、動作可能にされる、または動作できる限り、その装置、システム、構成要素またはその特定の機能がアクティベートされ、オンにされ、またはロック解除されているか否かに関わらず、その装置、システム、構成要素を包含する。
<第1実施形態>
第1実施形態は、店舗等における支払い時において、クーポンの適用と一次元コード又は二次元コードによる決済との両方が行われる場合に、クーポンの適用による減算処理と決済処理をまとめて行う実施形態である。なお、一次元コードは、限定ではなく例示として、バーコードであってもよい。また、二次元コードは、限定ではなく例示として、QRコード(登録商標)、AztecCode、PDF417等であってもよい。以下の説明では、説明の便宜上、二次元コードによる決済を行う前提で説明するが、第1実施形態(第2実施形態〜第4実施形態も同様)は、一次元コードによる決済にも適用することが可能である。
クーポンには、所定の特典が付与されている。所定の特典は、決済時に支払い額から減額される特典である。特典は、限定ではなく例示として、値引額又は値引率(例えば10%OFF等)であってもよい。以下の説明では、説明の便宜上、クーポンに付与されている特典は値引額である前提で説明するが、第1実施形態(第2実施形態〜第4実施形態も同様)は、決済時に支払い額から減額される特典であればどのような特典にも適用することが可能である。
第1実施形態において、サーバ110及び端末120が行う二次元コードによる決済処理を、「二次元コード決済」と言う。また、決済処理に用いられる二次元コードを生成するためのデータを、「ワンタイムコード」と言う。
第1実施形態では、クーポンを適用して決済を行うことが可能な二次元コードを発行するようにする。これにより、二次元コードによる支払い時に、クーポンの適用と決済処理を別々に行うのではなく、クーポンの適用と決済処理をまとめて行うことが可能になる。
また、クーポンの適用と決済処理をまとめて行うようにすることで、クーポンを適用することによる値引き処理と決済処理とを実行する際の処理速度が向上すると共に、クーポンを画面に表示させてから二次元コードを画面に表示させるといった煩わしい画面操作が不要になり、支払い処理がなめらかであるという効果が得られる。
また、従来は店舗に設置されているPOSやクーポン発行システム側でクーポン利用による減額処理を行った上で二次元コード決済を行う必要があったが、第1実施形態によれば、クーポンの減額処理及び決済処理をサーバ110でまとめて行うことができることから、POS端末130が行う通信回数を削減することが可能になる。
また、従来のようにPOSやクーポン発行システム側で減額処理を行った上で二次元コード決済を行う場合、仮に二次元コード決済に失敗した場合、POSやクーポン発行システム側にてクーポン利用による減額処理を元に戻す(ロールバック)する必要があり処理手順が複雑であった。しかしながら、第1実施形態によれば、クーポンの減額処理及び決済処理をサーバ110でまとめて行うことから、同様の状況が生じた場合であっても、簡易な手順でロールバックを行うことが可能になる。
また、端末120に表示される決済画面において、クーポンを適用せずに支払いを行うのか、クーポンを適用して支払いを行うのかを明示的に表示する。これにより、ユーザは、一旦決済画面に二次元コードを表示させた後でクーポンを適用するようにした場合、クーポンが適用されていることを視覚的に認識することが可能になる。
<第1実施形態の機能構成>
(1)サーバの機能構成
図3を用いてサーバ110の機能構成を説明する。図3に開示の機能部は、情報処理装置200が備えるプロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により実現される。
サーバ110は、入出力部311と、通信部312と、クーポン管理部313と、発行部314と、決済処理部315と、記憶部316とを有する。入出力部311と、通信部312と、クーポン管理部313と、発行部314と、決済処理部315とは、プロセッサ201が、記憶部316に格納されているプログラムを読み出して実行することで実現される。記憶部316は、メモリ202及び/又はストレージ203を用いて実現される。
記憶部316は、第1の実施形態に係るサーバ110が実行するプログラムと、二次元コード決済を利用するユーザを管理するユーザ管理DB(DataBase)と、ユーザが所持するクーポンを管理するクーポン管理DBと、ユーザが行った決済処理の履歴を管理する決済管理DBとを格納する。
図4(a)に、ユーザ管理DBの一例を示す。「ユーザID」には、サーバ110がユーザを一意に識別するためのID(Identifier)が格納される。「残高」には、ユーザが保有する金銭の残高が格納される。「ワンタイムコード」には、二次元コード決済を行うためにサーバ110が発行したワンタイムコード、又は、クーポンの適用と二次元コード決済の両方を行うためにサーバ110が発行したワンタイムコードが格納される。支払いが完了した場合又は有効期限が切れた場合、ワンタイムコードは無効となり削除される。「有効期限」には、ワンタイムコードが有効である期限が格納される。
図4(b)に、クーポン管理DBの一例を示す。「ユーザID」には、サーバ110がユーザを特定するためのIDが格納される。「クーポンID」には、サーバ110がクーポンを特定するためのIDが格納される。「値引額」には、クーポンを適用することで支払い額から差し引かれる金額が格納される。「利用可能店舗ID」には、クーポンを利用可能な店舗を示す店舗IDが格納される。なお、店舗IDは、サーバ110が管理する店舗を特定するためのIDである。「有効期限」には、クーポンを使用可能な期限が格納される。「ワンタイムコード」には、クーポンの適用と二次元コード決済の両方を行うためにサーバ110が発行したワンタイムコードが格納される。「使用済フラグ」は、クーポンが使用済みであることを示すフラグが格納される。フラグがセットされている場合はクーポンが使用済みであることを示し、フラグがセットされていない場合はクーポンが未使用であることを示す。
図4(c)に、決済管理DBの一例を示す。「日時」には、二次元コード決済が完了した日時が格納される。「店舗ID」には、二次元コード決済が行われた店舗の店舗IDが格納される。「支払額」には、二次元コード決済が行われた際の支払い額が格納される。なお、クーポン適用による値引きが行われた場合、支払い額には、値引後の金額が格納される。
入出力部311は、入出力I/F204を介して各種データの入力を受け付ける処理、及び、入出力I/F204を介して各種のデータを出力する処理を行う機能を有する。
通信部312は、通信I/F205を介して端末120及びPOS端末130から各種データを受信する処理、及び、通信I/F205を用いて各種のデータを端末120及びPOS端末130に送信する処理を行う機能を有する。
また、通信部312は、端末120からワンタイムコードの要求を受信する受信部(第1受信部)として機能する。また、通信部312は、発行部314が特定のユーザ向けに発行したワンタイムコードを、当該特定のユーザの端末120に送信する送信部として機能する。また、通信部312は、POS端末130から、POS端末130で読み取ったワンタイムコードと支払い額とを受信する受信部(第2受信部)として機能する。
クーポン管理部313は、ユーザが所持するクーポンを管理する機能を有する。例えば、クーポン管理部313は、クーポン管理DBを用いて、新たなクーポンの発行及び利用済みクーポンの破棄等の処理を行う。
発行部314は、通信部312が端末120から受信したワンタイムコードの要求に応答して、ユーザに対してワンタイムコード(第1ワンタイムコード)を発行する機能を有する。より具体的には、発行部314は、クーポンを適用せずに支払い(つまり通常の支払い)を行うためのワンタイムコード、又は、クーポンを適用した支払いを行うためのワンタイムコードの発行を行う。
また、発行部314は、クーポンを適用せずに支払いを行うためのワンタイムコードを発行した場合、発行したワンタイムコードを、ユーザ管理DBうち、ワンタイムコードを発行したユーザのレコードにおける「ワンタイムコード」フィールドに格納する。
一方、発行部314は、クーポンを適用して支払いを行うためのワンタイムコードを発行した場合、発行したワンタイムコードを、ユーザ管理DBのうち、ワンタイムコードを発行したユーザの「ワンタイムコード」フィールドと、クーポン管理DBのうち、適用予定のクーポンの「ワンタイムコード」フィールドとの両方に格納する。すなわち、発行部314は、発行したワンタイムコードを、支払い時に適用されるクーポンを示すクーポンID(クーポン情報)と支払いを行うユーザとに対応づけてクーポン管理DB(データベース)に格納する。
なお、発行部314は、クーポンを適用した支払いを行うためのワンタイムコードを発行する前に、クーポンを適用せずに支払いを行うためのワンタイムコードを既に発行済みである場合、発行済みのワンタイムコードを破棄し、破棄したワンタイムコードのコードとは異なる新たなワンタイムコードを発行するようにしてもよい。若しくは、発行済みのワンタイムコードを破棄せずにそのまま使いまわすようにしてもよい。
また、発行部314は、通信部312がワンタイムコードの変更要求を端末120から受信した場合、当該ワンタイムコードの変更要求に応答して、発行済みのワンタイムコードとは異なるワンタイムコードを再度発行するようにしてもよい。発行済みのワンタイムコードが、クーポンを適用せずに支払いを行うためのワンタイムコードである場合、発行部314は、クーポンを適用せずに支払いを行うためのワンタイムコードを再発行する。一方、発行済みのワンタイムコードが、クーポンを適用した支払いを行うためのワンタイムコードである場合、発行部314は、クーポンを適用した支払いを行うためのワンタイムコードを再発行する。
また、発行部314は、支払い時に適用されるクーポンのクーポンIDを含むワンタイムコードを発行するようにしてもよい。つまり、ワンタイムコードの中にクーポンIDを埋め込むようにしてもよい。
決済処理部315は、二次元コード決済を実行するための各種の処理を行う機能を有する。具体的には、決済処理部315は、通信部312がPOS端末130から受信したワンタイムコード(第2ワンタイムコード)が、発行部314により発行されたワンタイムコード(第1ワンタイムコード)と同一である場合、POS端末130から受信したワンタイムコードに対応づけられるクーポンID(クーポン情報)をクーポン管理DB(データベース)に問い合わせることで、支払い時に適用されるクーポンを特定する。また、決済処理部315は、クーポン管理DB(データベース)から、支払い時に適用されるクーポンについての値引額を取得し、取得した値引額を支払い額から減算した額を、ユーザが支払う支払い額として決済処理する。
また、決済処理部315は、通信部312がPOS端末130から受信したワンタイムコード(第2ワンタイムコード)が、発行部314により発行されたワンタイムコード(第1ワンタイムコード)と同一である場合、POS端末130から受信したワンタイムコードの中からクーポンID(クーポン情報)を取得することで、支払い時に適用されるクーポンを特定するようにしてもよい。
(2)端末の機能構成
図5を用いて端末120の機能構成を説明する。図5に開示の機能部は、情報処理装置200が備えるプロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により実現される。
端末120は、入出力部321と、通信部322と、表示制御部323と、検出部324と、記憶部325とを有する。入出力部321と、通信部322と、表示制御部323と、検出部324とは、プロセッサ201が、記憶部325に格納されているプログラムを読み出して実行することで実現される。記憶部325は、メモリ202及び/又はストレージ203を用いて実現される。
入出力部321は、入出力I/F204を介して各種データの入力を受け付ける処理、及び、入出力I/F204を介して各種のデータを出力する処理を行う機能を有する。
通信部322は、通信I/F205を介してサーバ110から各種データを受信する処理、及び、通信I/F205を用いて各種のデータをサーバ110に送信する処理を行う機能を有する。より具体的には、通信部322は、ユーザの指示に応答して、サーバ110に、ワンタイムコードの発行要求を送信する送信部として機能する。また、通信部322は、サーバ110から、発行されたワンタイムコードを受信する受信部として機能する。
通信部322は、検出部324から指示を受けた場合、ワンタイムコードの変更要求をサーバ110に送信するようにしてもよい。
表示制御部323は、通信部322が受信したワンタイムコードから二次元コードを生成し、二次元コード表示画面(以下、「決済画面」と言う。)に表示する。なお、表示制御部323は、決済画面に二次元コードを表示している際に、通信部322が新たなワンタイムコードを受信した場合(つまり、ワンタイムコードが変更された場合)、決済画面において既に表示している二次元コードを、新たなワンタイムコードから生成した二次元コードに置き換えて表示する。このとき、表示制御部323は、二次元コードを置き換えたことをユーザに通知するために、二次元コードを置き換えたことを示す情報を決済画面に表示するようにしてもよい。また、新たなワンタイムコードが、クーポンが適用されたワンタイムコードである場合、表示制御部323は、クーポンを適用した支払いを行うための二次元コードであることを示す情報を決済画面に表示するようにしてもよい。
検出部324は、決済画面に表示している二次元コードを変更すべきトリガを検出する機能を有する。二次元コードを変更すべきトリガは、決済画面に表示している二次元コードが外部に流出する可能性のある行為を検出できた場合が好ましい。
記憶部325は、第1の実施形態に係るサーバ110が実行するプログラムを格納する。
<第1実施形態の動作処理>
図6を参照し、第1実施形態に係る通信システム1の処理について説明する。図6は、第1実施形態に係る通信システム1が行う処理手順のシーケンスの一例を示す。図6の例は、ユーザが、一旦クーポンを適用せずに支払いを行う予定で二次元コード(つまり通常の支払いに用いられる二次元コード)を表示させたものの、その後、クーポンを適用した支払いを行うことに切り替えた場合を想定したシーケンスである。もし、ユーザが最初からクーポンを適用して支払いを行うように端末120を操作した場合、ステップS100乃至ステップS104の処理手順は省略される。
ステップS100で、端末120の入出力部321は、ユーザから、二次元コード決済の開始を受け付ける。例えば、入出力部321は、ユーザが二次元コード決済を行うアプリケーションにおいて決済画面を表示するボタンの押下を受け付ける。
ステップS101で、端末120の通信部322は、クーポンを適用せずに支払いを行うためのワンタイムコードをサーバ110に要求するメッセージを送信する。当該メッセージには、支払いを行うユーザのユーザIDが含まれる。
ステップS102で、サーバ110の発行部314は、ワンタイムコードを発行し、発行したワンタイムコードを、ユーザ管理DBのうち、支払いを行うユーザの「ワンタイムコード」に格納する。
ステップS103で、サーバ110の通信部312は、発行したワンタイムコードと、ワンタイムコードの有効期限を端末120に送信する。
ステップS104で、端末120の表示制御部323は、受信したワンタイムコードから二次元コードを生成して決済画面に表示する。決済画面には、ワンタイムコードの有効期限が表示される。ワンタイムコードの有効期限は、有効期限をそのまま表示するようにしてもよいし、有効期間が満了するまでの残り時間を表示するようにしてもよい。
なお、ステップS102の処理手順で、発行部314は、ワンタイムコードと共に二次元コード(二次元コード画像)を発行するようにしてもよい。発行された二次元コードは、ステップS103の処理手順でサーバ20から端末120に送信され、ステップS104の処理手順で、端末120の表示制御部323は、受信した二次元コードをそのまま決済画面に表示するようにしてもよい。つまり、サーバ110がワンタイムコードを発行して端末120に送信することには、サーバ110が二次元コードを発行して端末120に送信することを含むこととしてもよい。同様に、端末120が受信したワンタイムコードから二次元コードを生成して決済画面に表示することには、端末120が受信した二次元コードを決済画面に表示することを含むこととしてもよい。
ステップS105で、端末120の入出力部321は、ユーザから、ユーザが所有しているクーポンの一覧を表示する画面(以下、「クーポン一覧画面」と言う。)の表示を受け付ける。
ステップS106で、端末120の通信部322は、クーポン一覧を表示するための情報を要求するメッセージを送信する。当該メッセージには、ユーザのユーザIDが含まれる。
ステップS107で、サーバ110のクーポン管理部313は、受信したユーザIDをキーにクーポン管理DBを検索することで、ユーザが所有しているクーポンを抽出する。
ステップS108で、サーバ110の通信部312は、抽出されたクーポンのクーポンID、値引額、有効期限及び利用可能店舗IDを端末120に送信する。
ステップS109で、端末120の表示制御部323は、ユーザが所有しているクーポンをクーポン一覧画面に表示する。クーポン一覧画面には、利用可能店舗、値引額及び有効期限等がクーポンごとに表示される。
ステップS110で、端末120の入出力部321は、ユーザから、支払い時に適用するクーポンの選択を受け付ける。
ステップS111で、端末120の通信部322は、クーポンを適用して支払いを行うためのワンタイムコードをサーバ110に要求するメッセージを送信する。当該メッセージには、支払いを行うユーザのユーザIDと、ステップS110の処理手順でユーザにより選択されたクーポンのクーポンIDとが含まれる。
ステップS112で、サーバ110の発行部314は、新たなワンタイムコードを発行する。また、発行部314は、発行したワンタイムコードを、ユーザ管理DBのうち、支払いを行うユーザの「ワンタイムコード」に格納し、「有効期限」に定められた所定の期限を格納する。
ステップS113で、サーバ110の発行部314は、発行したワンタイムコードを、クーポン管理DBのうち、ステップS112で通知された(すなわちユーザにより選択された)クーポンの「ワンタイムコード」に格納する。
ステップS114で、サーバ110の通信部312は、発行したワンタイムコードと、ワンタイムコードの有効期限とを含むメッセージを端末120に送信する。
ステップS115で、端末120の表示制御部323は、受信したワンタイムコードから二次元コードを生成して決済画面に表示する。このとき、表示制御部323は、決済画面に、クーポンを適用した支払いを行うための二次元コードであることを示す情報を表示するようにしてもよい。なお、ステップS114の処理手順で受信したメッセージには、ワンタイムコードが、クーポンを適用した支払いを行うためのワンタイムコードであることを示す情報が明示的に含まれていてもよい。若しくは、表示制御部323は、ステップS111の処理手順で送信したメッセージに対応する応答メッセージであることをもって、ワンタイムコードが、クーポンを適用した支払いを行うためのワンタイムコードであることを暗示的に認識するようにしてもよい。
なお、ステップS112の処理手順で、サーバ110の発行部314は、新たなワンタイムコードを発行すると共に新たな二次元コードを生成するようにしてもよい。生成された新たな二次元コードは、ステップS114の処理手順でサーバ20から端末120に送信され、端末120の表示制御部323は、受信した新たな二次元コードをそのまま決済画面に表示するようにしてもよい。このとき、サーバ110の発行部314は、クーポンを適用した支払いを行うためのワンタイムコードに対応付けられる表示態様(つまり、クーポンを適用した二次元コードが表示される決済画面の表示態様)と、クーポンを適用しない支払いを行うためのワンタイムコードに対応付けられた表示態様(クーポンを適用しない二次元コードが表示される決済画面の表示態様)とが異なるように、クーポンを適用した支払いを行うためのワンタイムコードを発行するようにしてもよい。例えば、発行部314は、クーポンを適用した支払いを行うためのワンタイムコードに、表示態様を端末120に指示する情報を含めるようにしてもよい。
ステップS116で、POS端末130は、端末120の決済画面に表示されている二次元コードを読み取り、読み取った二次元コードの画像をデコードすることでワンタイムコードに変換する。
ステップS117で、POS端末130は、デコードしたワンタイムコードと、ユーザが購入する商品等の支払い額とを含む決済情報をサーバ110に送信する。
ステップS118で、サーバ110の決済処理部315は、決済情報に含まれるワンタイムコードをキーにユーザ管理DBにアクセスし、決済情報に含まれるワンタイムコードと同一であるワンタイムコードが格納されているレコードが存在するか否かを確認する。同一であるワンタイムコードが格納されている場合、当該ワンタイムコードに対応するユーザIDを取得する。また、決済処理部315は、決済情報に含まれるワンタイムコードをキーにクーポン管理DBにアクセスすることで、適用されるクーポンのクーポンIDを取得する。
ステップS119で、サーバ110の決済処理部315は、取得したクーポンIDをキーにクーポン管理DBにアクセスすることで、値引額と有効期限と使用済フラグとを取得する。決済処理部315は、有効期限が切れておらず、かつ、使用済フラグにフラグがセットされていない場合、決済情報に含まれる支払い額から値引額を減算する。
ステップS120で、サーバ110の決済処理部315は、値引額を引いた支払い額を、ユーザ管理DBのうち特定したユーザIDのレコードの「残高」から減算する。続いて、決済処理部315は、クーポン管理DBの「使用済フラグ」にフラグをセットする。また、決済処理部315は、決済情報に含まれるワンタイムコードを、ユーザ管理DB及びクーポン管理DBから削除する(すなわち、決済に使われたワンタイムコードを無効にする)。
ステップS121で、サーバ110の決済処理部315は、POS端末130に決済が完了したことを通知する。
ステップS122で、サーバ110の決済処理部315は、端末120に決済が完了したことを通知する。当該通知には、値引後の支払い額が含まれる。
ステップS123で、端末120の表示制御部323は、決済画面に決済完了及び支払い額を表示する。
<第1実施形態の端末に関する表示態様>
図7は、第1実施形態に係る端末120に表示される決済画面の一例を示す。図7(a)は、クーポンを適用せずに支払いを行う場合の決済画面の例を示している。当該決済画面は、図6のステップS104の処理手順で表示される決済画面に該当する。
図7(b)及び図7(c)は、クーポンを適用して支払いを行う場合の決済画面の例を示している。当該決済画面は、例えば、図6のステップS115の処理手順で表示される決済画面に該当する。図7(b)及び図7(c)の決済画面では、クーポンが適用されていることを示すメッセージが表示されることから、クーポンが適用されていることをユーザに対して明示的に通知することが可能である。なお、クーポンが適用されていることを示すメッセージに代えて又は加えて、二次元コードの色を、クーポンを適用せずに支払いを行う場合の二次元コードの色とは異なる色で表示するようにしてもよい。図7(d)は、決済完了時における決済画面の例を示している。当該決済画面には、値引後の支払い額が表示される。
<第1実施例>
図6を用いて説明した処理手順において、クーポンを適用して支払いを行うためのワンタイムコードを発行する前に、クーポンを適用せずに支払いを行うためのワンタイムコードが発行済みである場合、ワンタイムコード(二次元コード)を変更しない(使いまわす)ようにしてもよい。この場合、サーバ110は、ステップS112の処理手順を省略し、ステップS113及びステップS114において以下に示す処理手順を行う。
ステップS113で、サーバ110の発行部314は、ステップS102の処理手順で発行したワンタイムコードを、クーポン管理DBのうち、選択されたクーポンの「ワンタイムコード」に格納する。また、サーバ110の発行部314は、ユーザ管理DBに格納されている有効期限を更新する。
ステップS114で、サーバ110の通信部312は、ステップS102の処理手順で発行したワンタイムコードと、更新された有効期限を端末120に送信する。
また、以上説明した処理手順において、支払い時に適用するクーポンのクーポンIDを、ワンタイムコードに埋め込むようにしてもよい。この場合、ステップS112の処理手順において、サーバ110の発行部314は、クーポンIDを埋め込んだ新たなワンタイムコードを発行する。また、ステップS118の処理手順において、サーバ110の決済処理部315は、ステップS117の処理手順でPOS端末130から受信したワンタイムコードからクーポンIDを取得することで、適用されるクーポンのクーポンIDを特定する。
<第2実施例>
第1実施形態において、クーポン適用時とは異なるタイミングで、端末120の画面に表示されている二次元コードの変更を可能とするようにしてもよい。図8は、端末120の画面に表示されている二次元コードの変更を行う際の処理手順を示すシーケンスの一例である。図8に示すシーケンスは、端末120の検出部324が、決済画面に表示している二次元コードを変更すべきトリガを検出した場合に行われる。
ステップS200で、端末120の検出部324は、決済画面に表示している二次元コードを変更すべきトリガを検出する。当該トリガは、例えば、限定ではなく例示として、スクリーンショットの取得、所定のボタン操作、端末120において特定のアプリが動作した場合、及び、端末120が備えるマイクを介して特定の音(例えば他人のスマートフォンから発せられた撮影音など)が検出された場合を含んでもよい。
ステップS201で、端末120の通信部322は、二次元コードの変更を要求するメッセージをサーバ110に送信する。当該メッセージにはユーザIDが含まれる。
ステップS202で、サーバ110の発行部314は、新たなワンタイムコードを発行し、ユーザ管理DBのうち、ステップS201で通知されたユーザIDのレコードの「ワンタイムコード」に格納されているワンタイムコードを、新たなワンタイムコードに更新する。このとき「有効期限」を更新するようにしてもよいし、更新しないようにしてもよい。また、発行部314は、クーポン管理DBの「ワンタイムコード」にも更新前のワンタイムコードが格納されている場合、当該ワンタイムコードを、新たなワンタイムコードに更新する。
ステップS203で、サーバ110の通信部312は、新たなワンタイムコードと有効期限を端末120に送信する。
ステップS204で、端末120の表示制御部323は、受信したワンタイムコードから二次元コードを生成し、既に決済画面に表示している二次元コード決済を、生成した二次元コードに置き換える。
これにより、二次元コードが外部に流出する可能性のある行為等が検出された場合、ワンタイムコードが更新されることになるため、二次元コードが外部に流出し、他人に不正利用される等のセキュリティリスクを抑止することが可能になる。
<第3実施例>
第1実施形態において、二次元コードを周期的に変更するようにしてもよい(つまり動的な二次元コードにしてもよい)。
<第4実施例>
第1実施形態において、クーポンを適用する際に二次元コードを変更しない(使いまわす)ようにした場合において、端末120の検出部324が、決済画面に表示している二次元コードを変更すべきトリガを検出した場合、当該トリガを検出したタイミングで図8のステップS201乃至ステップS204の処理手順を実行することで、決済画面に表示している二次元コードを、クーポンを適用して支払いを行うための二次元コードに変更するようにしてもよい。これにより、二次元コードを不正に使用されるリスクがある場合等に限って二次元コードを変更する処理手順が行われることになるため、クーポン適用時に二次元コードの変更が行われる場合と比較して、処理負荷を軽減することが可能になる。
<第2実施形態>
第2実施形態では、サーバ110は、端末120を利用するユーザが保持している1以上のクーポンのうち、端末120の位置情報で示される位置の周辺に存在する店舗で利用可能なクーポンを抽出し、クーポンを端末120に通知する。端末120は、サーバ110から通知されたクーポンを画面に表示することで、ユーザに対して、近隣の店舗でクーポンを使用可能であることを促す。なお、第2実施形態は、第1実施形態を組み合わせることが可能である。つまり、第2実施形態におけるクーポンは、二次元コード決済に利用可能なクーポンであってもよい。以下の説明では、第2実施形態は第1実施形態と組み合わせる前提で説明する。
将来、QRコード(登録商標)決済の普及により決済行為が容易になると、決済時に利用可能なオンラインクーポンの提供も盛んになることが想定される。オンラインクーポンの提供が盛んになると、ユーザは、端末内に多数のクーポンを保有することになり、利用可能なクーポンを探すことが手間になることが想定される。第2実施形態によれば、ユーザが保持するクーポンのうち近隣の店舗で利用可能なクーポンをユーザに通知することが可能になるので、ユーザの利便性を向上させることが可能になる。
また、第2実施形態によれば、近隣の店舗で利用可能なクーポンのうち所定の条件を満たすクーポンを支払い時に自動的に適用することが可能になるので、ユーザの利便性を更に向上させることが可能になる。
また、クーポンの自動適用と決済処理をまとめて行うことで、クーポンの選択から決済処理までを実行する際の処理速度が向上すると共に、クーポンを選択して画面に表示させてから二次元コードを画面に表示させるといった煩わしい画面操作が不要になることから、支払い処理がなめらかであるという効果が得られる。
<第2実施形態の機能構成>
(1)サーバの機能構成
図9を用いてサーバ110の機能構成を説明する。図9に開示の機能部は、情報処理装置200が備えるプロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により実現される。サーバ110の機能構成において、特に言及しない点は第1実施形態と同一でよい。
記憶部316は、第2の実施形態に係るサーバ110が実行するプログラムと、ユーザ管理DBと、クーポン管理DBと、決済管理DBと、店舗の位置に関する情報を格納する店舗管理DBとを格納する。
図10に、店舗管理DBの一例を示す。「店舗ID」には、店舗を特定するIDが格納される。「店舗位置」には、店舗が存在する位置を示す情報が格納される。図10の例では、店舗が存在する位置は、限定ではなく例示として、緯度及び経度で表現されていてもよいし、又は、店舗に設置された無線装置が送信する無線信号に含まれる無線識別子で表現されていてもよい。なお近距離無線識別子は、限定ではなく例示として、BLE(Bluetooth Low Energy)装置が送信するビーコンに含まれるビーコンID、WiFi(登録商標)装置が送信する無線信号に含まれるSSID、超音波に含まれる任意の識別情報を含んでもよい。
通信部312は、端末120から、端末120の位置情報を受信する受信部として機能する。また、通信部312は、クーポン管理部313にて抽出された、ユーザの近隣で利用可能なクーポンを示す情報を端末120に送信する送信部として機能する。また、通信部312は、端末120の位置情報として、端末120が受信した近距離無線識別子を受信する。
位置特定部317は、端末120から通知された端末120の位置情報に基づいて、端末120の位置を特定する。例えば、端末120から、端末120の位置を直接示す位置情報(例えば緯度及び経度)を取得した場合、位置特定部317は、当該位置情報で示される位置を、端末120の位置として特定する。一方、端末120から、端末120の位置を間接的に示す位置情報(具体的には近距離無線の識別子)を取得した場合、位置特定部317は、店舗管理情報から取得した近距離無線の識別子に対応する店舗を検索し、検索された店舗の位置を、端末120の位置として特定する。
クーポン管理部313は、ユーザが保持している1以上のクーポンのうち、位置特定部317で特定された端末120の位置から所定の範囲内で利用可能なクーポンを抽出する抽出部として機能する。クーポン管理部313は、特定された端末120の位置から所定の範囲内に存在する店舗で利用可能なクーポンを抽出するようにしてもよい。端末120から通知された端末120の位置情報が、端末120の位置を間接的に示す位置情報(近距離無線の識別子)である場合、クーポン管理部313は、端末120の位置として特定された店舗で利用可能なクーポンを、「端末120の位置から所定の範囲内で端末120が利用可能なクーポン」とするようにしてもよい。
(2)端末の機能構成
図11を用いて端末120の機能構成を説明する。図11に開示の機能部は、情報処理装置200が備えるプロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により実現される。端末120の機能構成において、特に言及しない点は第1実施形態と同一でよい。
端末120は、更に、位置情報測定部326と、無線受信部327とを有する。位置情報測定部326と、無線受信部327とは、プロセッサ201が、記憶部325に格納されているプログラムを読み出して実行することで実現される。
通信部322は、位置情報測定部326で測定した端末120の位置情報、又は、無線受信部327が検出した近距離無線識別子をサーバ110に送信する送信部として機能する。また、通信部322は、サーバ110から、ユーザが保持している1以上のクーポンのうち、端末120の位置情報で示される位置から所定の範囲内に存在する店舗において利用可能なクーポンを示す情報を受信する受信部として機能する。
記憶部325は、更に、クーポン管理DBと店舗管理DBを格納する。クーポン管理DBには、サーバ110に格納されているクーポン管理DBのうち、端末120を利用するユーザが保持するクーポンに関するレコードと同一のレコードが格納される。店舗管理DBは、サーバ110に格納されている店舗管理DBと同一である。なお、位置情報に基づくクーポンの抽出処理をサーバ110が行う場合、記憶部325には、クーポン管理DB及び店舗管理DBは格納されていなくてもよい。
表示制御部323は、通信部322で受信した、利用可能なクーポンを示す情報を画面に表示する機能を有する。
位置情報測定部326は、端末120の現在位置の位置情報を測定する機能を備える。位置情報測定部326は、限定でなく例として、GPS(Global Positioning System)を用いて、端末120の現在位置の位置情報として、該端末120の緯度および経度を測定する。なお、位置情報測定部326による端末120の位置情報の計測は、GPSに限られず、どのような方法を用いてもよい。限定でなく例として、位置情報測定部326は、Wi−Fiなどの無線LANを利用して、端末120の位置情報を測定してもよい。その他にも、位置情報測定部326は、限定でなく例として、IMES(Indoor MEssaging System)やRFID(Radio Frequency Identifier)、BLE(Bluetooth Low Energy)などの通信方式を用いて、端末120の位置情報を測定してもよい。また、位置情報測定部326は、限定でなく例として、LTEやCDMAなどの移動体通信システムを用いて、端末120の位置情報を測定してもよい。
無線受信部327は、近距離無線信号を受信した場合に、受信した近距離無線信号から近距離無線識別子を取り出す(検出する)機能を有する。
クーポン管理部328は、ユーザが保持している1以上のクーポンのうち、端末120の位置から所定の範囲内で利用可能なクーポンを抽出する抽出部として機能する。また、クーポン管理部328は、店舗管理DBから、近距離無線識別子に対応する店舗を検索することで、端末120の位置から所定の範囲内に存在する店舗を特定するようにしてもよい。なお、位置情報に基づくクーポンの抽出処理をサーバ110が行う場合、端末120はクーポン管理部328を備えていなくてもよい。
<第2実施形態の動作処理>
図12を参照し、第2実施形態に係る通信システム1の処理について説明する。図12は、第2実施形態に係る通信システム1が行う処理手順のシーケンスの一例を示す。
ステップS300で、端末120の入出力部321は、ユーザから、クーポン一覧画面を表示するボタンの押下(タップ)を受け付ける。当然に、ステップS300は省略されてもよい。
ステップS301で、端末120の位置情報測定部326は、自身の位置情報を測定する。なお、端末120の無線受信部327が、近距離無線信号をサーチすることで、近距離無線識別子を検出するようにしてもよい。
ステップS302で、端末120の通信部322は、利用可能なクーポンを要求するメッセージをサーバ110に送信する。当該メッセージには、ユーザIDと、ステップS301の処理手順で取得した位置情報(端末120の位置情報又は近距離無線識別子)が含まれる。
ステップS303で、サーバ110の位置特定部317は、端末120から受信した位置情報に基づいて、端末120の位置を特定する。続いて、クーポン管理部313は、店舗管理DBにアクセスし、特定された端末120の位置から所定の範囲内に存在する店舗を抽出する。所定の範囲は任意であるが、限定ではなく例示として、100m以内、500m以内、1km以内等であってもよい。もし、ステップS302の処理手順で通知された位置情報が近距離無線識別子の場合、クーポン管理部313は、位置特定部317により特定された端末120の位置に対応する店舗を、「特定された端末120の位置から所定の範囲内に存在する店舗」とみなすようにしてもよい。続いて、クーポン管理部313は、クーポン管理DBにアクセスすることで、ユーザが所持している各クーポンにおいて、利用可能店舗IDの中に抽出された店舗の店舗IDが含まれるクーポンを抽出する。
ステップS304で、サーバ110の通信部312は、抽出されたクーポンを端末120に送信する。具体的には、通信部312は、抽出されたクーポンのクーポンID、値引額、有効期限及び利用可能店舗IDを端末120に送信する。
ステップS305で、端末120の表示制御部323は、クーポン一覧画面を表示する。クーポン一覧画面には、利用可能店舗、値引額及び有効期限等がクーポンごとに表示される。
なお、図12のステップS300乃至ステップS305の処理手順は、図6のステップS105乃至ステップS109の処理手順に組み込むことが可能である。すなわち、ステップS305の処理手順の後、図6のステップS110以降の処理手順が行われてもよい。
図13は、第2実施形態に係る通信システム1が行う処理手順のシーケンスの一例を示す。図13に示すように、第2実施形態では、位置情報に基づくクーポンの抽出処理を、サーバ110ではなく端末120が行うようにしてもよい。
ステップS400で、端末120のクーポン管理部328は、端末120のクーポン管理DBを更新するため、クーポンの情報を要求するメッセージをサーバ110に送信する。当該メッセージにはユーザIDが含まれている。
ステップS401で、サーバ110のクーポン管理部313は、クーポン管理DBにアクセスし、受信したユーザIDに対応するレコードを全て検索する。
ステップS402で、サーバ110の通信部312は、クーポン管理DBのうち検索されたレコードに含まれるデータを端末120に送信する。
なお、ステップS400乃至ステップS402の処理手順は、ユーザが保持するクーポンが更新された場合に実行されるようにしてもよいし、周期的に行われるようにしてもよい。
ステップS403及びステップS404の処理手順は、図12のステップS300及びステップS301の処理手順と同一であるため説明は省略する。
ステップS405で、端末120のクーポン管理部328は、店舗管理DBにアクセスし、端末120の位置から所定の範囲内に存在する店舗を抽出する。もし、ステップS302の処理手順で通知された位置情報が近距離無線識別子の場合、端末120のクーポン管理部は、店舗管理DBにアクセスし、通知された近距離無線識別子と同一の近距離無線識別子に対応する店舗を抽出する。続いて、端末120のクーポン管理部328は、クーポン管理DBにアクセスし、ユーザが所持している各クーポンにおいて、抽出された店舗の店舗IDが利用可能店舗IDの中に含まれるクーポンを抽出する。
ステップS406で、端末120の表示制御部323は、抽出したクーポンをクーポン一覧画面に表示する。クーポン一覧画面には、利用可能店舗、値引額及び有効期限等がクーポンごとに表示される。
なお、図13のステップS403乃至ステップS406の処理手順は、図6のステップS105乃至ステップS109の処理手順に組み込むことが可能である。すなわち、ステップS406の処理手順の後、図6のステップS110以降の処理手順が行われてもよい。
<第1実施例>
以上説明した第2実施形態において、表示制御部323は、図12のステップS305又は図13のステップS406の処理手順において、使用可能なクーポンが複数存在する場合、使用するクーポンの選択をユーザから受け付けるようにしてもよいし、表示制御部323が、所定の条件を満たすクーポンを1つ選択するようにしてもよい。所定の条件とは、限定ではなく例示として、最も値引額(又は値引率)が高い(又は低い)クーポン、有効期限が所定の期間内であるクーポンであってもよい。有効期限が所定の期間内であるクーポンとは、有効期限が1か月以内や3か月先など、有効期限が近い(又は遠い)クーポンであってもよい。その後、図6のステップS111乃至ステップS114の処理手順が実行され、表示制御部323は、選択されたクーポンを適用して支払いを行うための二次元コードを表示する(S115)。これにより、使用可能なクーポンが複数存在する場合に、クーポンを自動的に選択することが可能になる。
<第2実施例>
以上説明した第2実施形態において、図12のステップS303で検索されたクーポンが複数存在する場合(つまり、使用可能なクーポンが複数存在する場合)、サーバ110の発行部314は、上述の所定の条件を満たすクーポンを1つ選択し、選択したクーポンを自動的に適用して第1実施形態における支払い処理を実行するようにしてもよい。具体的には、発行部314は、選択したクーポンをユーザにより選択されたクーポンとみなして、図6のステップS113の処理手順を行うようにしてもよい。若しくは、決済処理部315は、選択したクーポンを適用して支払い処理を行うものとして、図6のステップS119及びステップS120の処理手順を行うようにしてもよい。クーポンを自動的に適用するか否かをユーザが任意に設定可能としてもよい。クーポンが自動的に選択されることで、ユーザは、クーポンを無駄にすることなく利用することが可能になる。
<第3実施形態>
第3実施形態は、ユーザが所有する(ユーザに対応づけられている)複数のクーポンの中に有効期限の近いクーポンが存在する場合、有効期限の近いクーポンを所定の関係が設定されている他のユーザに譲渡することを可能にする実施形態である。所定の関係が設定されているとは、サーバ110においてユーザ同士が所定の関係を構築している状態として登録されている状態を意味する。限定でなく例として、所定の関係を構築している状態は、相互に関係構築を承認した状態、少なくとも一方が関係構築を申し入れた状態、ユーザ情報に基づき関係構築がなされた状態、所定の条件により関係構築がなされた状態を含んでもよい。以下の説明では、ユーザ間に所定の関係が設定されていることを、便宜上、友達関係にあると表現する。なお、第2実施形態は、第1実施形態又は第2実施形態と組み合わせることが可能である。つまり、第3実施形態におけるクーポンは、二次元コード決済に利用可能なクーポンであってもよい。以下の説明では、第3実施形態は少なくとも第1実施形態と組み合わせる前提で説明する。
QRコード(登録商標)決済の普及により決済行為が容易になると、決済時に利用可能なオンラインクーポンの提供も盛んになることが想定される。オンラインクーポンの提供が盛んになると、ユーザは、所持しているクーポンを有効期限内に利用することができず、クーポンが無駄になることが想定される。第3実施形態によれば、ユーザが保持するクーポンのうち有効期限が近いクーポンを、友達関係にあるユーザに譲渡することができることから、クーポンが利用されずに無駄になる可能性を低下させることが可能になる。
<第3実施形態の機能構成>
(1)サーバの機能構成
図14を用いてサーバ110の機能構成を説明する。図14に開示の機能部は、情報処理装置200が備えるプロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により実現される。サーバ110の機能構成において、特に言及しない点は第1実施形態又は第2実施形態と同一でよい。また、サーバ110の機能構成において、図14には図示しないが第2実施形態には含まれる機能部を有していてもよい。
記憶部316は、更に、ユーザ間の友達関係を管理する友達管理DBと、クーポンがどのユーザからどのユーザに譲渡されたのかを記録する譲渡履歴DBとを格納する。
図15(a)に、友達管理DBの一例を示す。「ユーザID」には、ユーザを特定するIDが格納される。「友達ユーザリスト」には、友達関係にあるユーザのユーザIDが1以上格納される。
図15(b)に、譲渡履歴DBの一例を示す。「クーポンID」にはクーポンを特定するIDが格納される。「譲渡日時」には、クーポンが譲渡された日時が格納される。「譲渡元ユーザ」及び「譲渡先ユーザ」には、それぞれ、譲渡元ユーザのユーザID、譲渡先ユーザ(現所有者)のユーザIDが格納される。
通信部312は、所定の期間内に有効期限を迎える(所定の期間内に有効期限が設定されている)クーポンを示す情報を端末120に送信する送信部(第1送信部)と、端末120を利用するユーザと友達関係にあるユーザを示す情報を、端末120に送信する送信部(第2送信部)として機能する。また、通信部312は、端末120から、所定の期間内に有効期限を迎えるクーポンの譲渡先を示す譲渡先のユーザを示す情報を受信する受信部として機能する。
クーポン管理部313は、端末120を利用するユーザが所有する1以上のクーポンのうち、所定の期間内に有効期限を迎えるクーポンと、当該ユーザと友達関係にあるユーザとを抽出する、抽出部としての機能を有する。また、クーポン管理部313は、所定の期間内に有効期限を迎えるクーポンの所有者を、端末120を利用するユーザから譲渡先のユーザに変更する管理部としての機能を有する。また、クーポン管理部313は、所定の期間内に有効期限を迎えるクーポンの所有者を変更する場合、譲渡元ユーザと譲渡先ユーザとを譲渡履歴DB(変更履歴)に記録する。
(2)端末の機能構成
図16を用いて端末120の機能構成を説明する。図16に開示の機能部は、情報処理装置200が備えるプロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により実現される。端末120の機能構成において、特に言及しない点は第1実施形態又は第2実施形態と同一でよい。また、端末120の機能構成において、図16には図示しないが第2実施形態には含まれる機能部を有していてもよい。
端末120は、更に、クーポン管理部328を有する。
記憶部325は、更に、クーポン管理DBを格納する。クーポン管理DBには、サーバ110に格納されているクーポン管理DBのうち、端末120を利用するユーザが保持するクーポンに関するレコードと同一のレコードが格納される。
クーポン管理部328は、端末120を利用するユーザが所有する1以上のクーポンのうち、所定の期間内に有効期限を迎えるクーポンを抽出する、抽出部としての機能を有する。
なお、クーポン管理DB及びクーポン管理部328は、端末120が自ら所定の期間内に有効期限を迎えるクーポンの抽出処理を行わない場合には不要である。
<第3実施形態の動作処理>
図17を参照し、第3実施形態に係る通信システム1の処理について説明する。図17は、第3実施形態に係る通信システム1が行う処理手順のシーケンスの一例を示す。なお、端末120Aは、クーポンの譲渡元であるユーザが利用する端末120であり、端末120Bは、クーポンの譲渡先であるユーザが利用する端末120である。
ステップS500で、サーバ110のクーポン管理部313は、クーポン管理DBを検索することで、所定の期間内に有効期限を迎えるクーポンを抽出する。
ステップS501で、サーバ110の通信部312は、抽出されたクーポンのクーポンID、値引額、有効期限及び利用可能店舗IDを端末120Aに送信する。
ステップS502で、端末120の表示制御部323は、サーバ110から通知された、所定の期間内に有効期限を迎えるクーポンが存在することを示すメッセージを表示する。なお、表示制御部323は有効期限から所定時間前である予め定められた通知タイミングで当該メッセージを表示するようにしてもよい。ユーザから、クーポンの譲渡を希望する旨の指示を受けた場合、ステップS503の処理手順に進む。
ステップS503で、端末120Aの通信部312は、友達関係にあるユーザの一覧を要求するメッセージをサーバ110に送信する。当該メッセージには、端末120Aを利用するユーザのユーザIDが含まれる。
ステップS504で、サーバ110のクーポン管理部313は、友達管理DBにアクセスし、端末120Aを利用するユーザと友達関係にあるユーザのユーザIDを抽出する。
ステップS505で、サーバ110の通信部312は、抽出された友達関係にあるユーザのユーザIDを含むメッセージを端末120Aに送信する。
ステップS506で、端末120Aの入出力部321は、友達一覧画面に表示されるユーザの中から、クーポンを譲渡するユーザの選択を受け付ける。
ステップS507で、端末120Aの通信部312は、クーポンの譲渡を依頼するメッセージをサーバ110に送信する。当該メッセージには、クーポンIDと、譲渡元ユーザのユーザIDと、譲渡先ユーザのユーザIDとが含まれる。
ステップS508で、サーバ110のクーポン管理部313は、クーポン管理DBのうち、譲渡されるクーポンの「ユーザID」を、譲渡先ユーザのユーザIDに書き換える。また、クーポン管理部313は、譲渡履歴DBに、現在日時と、ステップS507の処理手順で受信したクーポンIDと、譲渡元ユーザのユーザIDと、譲渡先ユーザのユーザIDとを記録する。
ステップS509で、サーバ110の通信部312は、クーポンが譲渡されたことを、譲渡先ユーザの端末120Bに通知する。
図18は、第3実施形態に係る通信システム1が行う処理手順のシーケンスの一例を示す。図18に示すように、第3実施形態では、有効期限が近いクーポンの抽出処理を、サーバ110ではなく端末120が行うようにしてもよい。
ステップS600乃至ステップS602の処理手順は、それぞれ、図13のステップS400乃至ステップS402と同一であるため説明は省略する。
ステップS603で、端末120のクーポン管理部328は、クーポン管理DBを検索することで、所定の期間内に有効期限を迎えるクーポンを抽出する。
ステップS604乃至ステップS611の処理手順は、それぞれ、図17のステップS502乃至ステップS509の処理手順と同一であるため説明は省略する。
<第1実施例>
サーバ110のクーポン管理部313は、クーポンの所有者を変更する際、クーポンの値引額を減額又は増額(クーポンの特典を減少又は増加)するようにしてもよい。また、クーポン管理部313は、クーポンの所有者を変更する際、クーポンの有効期限を短縮または延長するようにしてもよい。なお、クーポンの値引額を減額又は増額および、クーポンの有効期限を短縮または延長はどのように設定されてもよく、限定でなく例として、クーポン発行者によって設定される、クーポン発行者ごとに設定される、一律に設定される、譲渡取引を行うユーザ間の信用度や親密度により設定される場合が含まれてもよい。第1実施例により、クーポン発行者はより多くのユーザにクーポンを配布することができ、ユーザは保有するクーポンを無駄にしてしまうことを防ぐことができる。
<第2実施例>
サーバ110のクーポン管理部313は、所定の期間内に有効期限を迎えるクーポンの所有者を変更する際、譲渡履歴DBを参照することで、当該クーポンの過去の所有者を検索し、譲渡先ユーザが当該クーポンの過去の所有者に含まれている場合、所有者を変更しないようにしてもよい。これにより、複数のユーザの中でクーポンを譲渡しあうことで、クーポンの有効期間を不正に延長したり、値引額を不正に増額したりといった不正行為が行われることを抑止することが可能になる。
<第3実施例>
サーバ110のクーポン管理部313は、クーポンの所有者の友達ユーザを検索する際、友達のクーポン使用履歴に基づいて譲渡先候補のユーザを選択し、選択したユーザをクーポンの所有者であるユーザの端末120に通知するようにしてもよい。限定でなく例として、クーポン管理部313は、クーポンの所有者の友達ユーザの中で、クーポンを最も多く利用しているユーザを、譲渡先候補のユーザとして選択するようにしてもよい。
<第4実施形態>
第4実施形態は、ユーザが所有する複数のクーポンの中で、有効期限が近く、かつ、端末120の位置情報で示される位置の周辺に存在する店舗で利用可能なクーポンを抽出し、クーポンを端末120に通知する。
ここで、世の中のあらゆる店舗でクーポンが提供されるような場合、常にどこかの店舗でクーポンの有効期限が来てしまい、端末120に常時クーポンが通知されるような事態が生じることが想定される。そのため、第4実施形態では、有効期限が近く、かつ、端末120の位置情報で示される位置の周辺に存在する店舗で利用可能なクーポンのうち、予めユーザにより設定された抽出条件を満たすクーポンに限定して端末120に通知するようにしてもよい。
第4実施形態によれば、ユーザが保持するクーポンのうち有効期限が近く、かつ近隣の店舗で利用可能なクーポンの中で、ユーザにより設定された抽出条件を満たすクーポンに限定してユーザに通知することが可能になることから、端末120に常時クーポンが通知されるような事態を回避することが可能になる。
第4実施形態は、第1実施形態乃至第3実施形態と組み合わせることが可能である。つまり、第4実施形態におけるクーポンは、二次元コード決済に利用可能なクーポンであってもよい。以下の説明では、第4実施形態は少なくとも第1実施形態と組み合わせる前提で説明する。
<第4実施形態の機能構成>
(1)サーバの機能構成
図19を用いてサーバ110の機能構成を説明する。図19に開示の機能部は、情報処理装置200が備えるプロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により実現される。サーバ110の機能構成において、特に言及しない点は第1実施形態、第2実施形態又は第3実施形態と同一でよい。また、サーバ110の記憶部316において、図19には図示しないが第3実施形態には含まれるデータベースを保持していてもよい。
通信部312は、クーポン管理部313により抽出されたクーポンを端末120に送信する送信部として機能する。
クーポン管理部313は、ユーザが保持している1以上のクーポンのうち、所定の期間内に有効期限を迎えるクーポンであって、端末120の位置から所定の範囲内で利用可能なクーポンを抽出する抽出部として機能する。なお、クーポン管理部313は、更に、予めユーザにより設定された抽出条件(所定の条件)を満たすクーポンを抽出するようにしてもよい。抽出条件の具体例については後述する。
位置情報管理部318は、端末120の位置を示す位置情報を、通信部312を介して受信することで、端末120の位置を管理する機能を有する。位置情報管理部318は、受信した端末120の位置情報を、ユーザ管理DBに格納する。
図20に、第4実施形態に係るユーザ管理DBの一例を示す。「位置情報」には、ユーザの位置情報(より具体的にはユーザが利用する端末120の位置情報)が格納される。位置情報には、具体的な位置を示す情報(例えば緯度及び経度)が格納されていてもよい。「抽出条件」には、ユーザにより設定された、クーポン管理部313が抽出対象とするクーポンの条件が設定される。
(2)端末の機能構成
端末120の機能構成図は、図16と同一であるため説明は省略する。
<第4実施形態の動作処理>
図21を参照し、第4実施形態に係る通信システム1の処理について説明する。図21は、第4実施形態に係る通信システム1が行う処理手順のシーケンスの一例を示す。図21において、ステップS700乃至ステップS702は、サーバ110が端末120の位置情報を管理する際の処理手順を示す。ステップS700乃至ステップS702の処理手順は、所定の期間ごと又は端末120の移動に応じて繰り返し行われる。ステップS710乃至ステップS712は、ユーザが、抽出条件を設定する際の処理手順を示す。ステップS720乃至ステップS722は、ユーザに通知すべきクーポンが抽出された場合に行われる処理手順を示す。これら3つの処理手順は非同期で行われる。
ステップS700で、端末120の位置情報測定部326は、自身の位置情報を取得する。
ステップS701で、端末120の通信部322は、位置情報を通知するメッセージをサーバ110に送信する。当該メッセージには、ユーザID及び端末120の位置情報が含まれる。
ステップS702で、サーバ110の位置情報管理部318は、ユーザ管理DBの「位置情報」を、受信した位置情報に更新する。
ステップS710で、端末120の入出力部321は、抽出条件を設定する画面において、抽出条件の設定をユーザから受け付ける。
ステップS711で、端末120の通信部322は、設定された抽出条件を通知するメッセージをサーバ110に送信する。
ステップS712で、サーバ110のクーポン管理部313は、受信した抽出条件を、ユーザ管理DBの「抽出条件」に格納する。
ステップS720で、サーバ110のクーポン管理部313は、クーポン管理DBを検索することで、所定の期間内に有効期限を迎えるクーポンを抽出する。クーポンが抽出された場合、クーポン管理部313は、ユーザ管理DBにアクセスし、抽出されたクーポンを所有しているユーザの位置情報を取得する。続いて、クーポン管理部313は、店舗管理DBにアクセスし、抽出されたクーポンを所有しているユーザの位置情報に基づいて、当該ユーザの位置(端末120の位置)から所定の範囲内に存在し、かつ、所定の期間内に有効期限を迎えるとして抽出されたクーポンが利用可能な店舗を抽出する。所定の範囲は任意であるが、限定ではなく例示として、100m以内、500m以内、1km以内等であってもよい。
利用可能なクーポンが抽出された場合、クーポン管理部313は、更に、当該クーポンが、ユーザ管理DBに設定されている「抽出条件」を満たすか否かを確認する。「抽出条件」を満たす場合、クーポン管理部313は、ステップS721の処理手順に進む。
ここで、抽出条件とは、クーポンにおける所定のランクが最も高いことであってもよい。所定のランクとは、クーポンを提供する企業に付与されたランクであってもよいし、使用頻度の高いクーポンであってもよいし、クーポンを提供する企業が金銭を入札することで決定されるランクを含んでもよい。
また、抽出条件とは、クーポンが、ユーザにより指定される範囲で利用可能であることであってもよい。例えば、ユーザは、自身の行動範囲を抽出条件として設定しておくことで、普段の行動範囲内では利用することができないクーポンが通知されることを抑止することが可能になる。
また、抽出条件とは、ユーザが受信するクーポン数が、ユーザにより指定される日ごとの最大クーポン受信数で定められる数を下回ることであってもよい。受信数が定められることで、大量のクーポンが端末120に届いてしまうことを抑止することが可能になる。
また、抽出条件とは、ユーザが過去にクーポンを使用した店舗又は当該店舗と所定の関係を有する店舗で利用可能であることであってもよい。所定の関係を有する店舗とは、例えば、チェーン店や類似の業種の店舗であってもよい。
ステップS721で、サーバ110の通信部312は、抽出されたクーポンのクーポンID、値引額、有効期限及び利用可能店舗IDを端末120に送信する。
ステップS722で、端末120の表示制御部323は、クーポン通知画面を表示する。クーポン一覧画面には、利用可能店舗、値引額及び有効期限等が表示される。