<法的事項の遵守>
本明細書に記載の開示は、通信の秘密など、本開示の実施に必要な実施国の法的事項遵守を前提とすることに留意されたい。
本開示に係る情報処理方法等を実施するための実施形態について、図面を参照して説明する。
[システム構成]
図1は、本開示の一実施形態に係る通信システム1の構成の一例を示す図である。
図1に開示されるように、通信システム1では、ネットワーク30を介してサーバ10と、端末20(端末20A,端末20B,端末20C,・・・)と、店舗POSシステム40とが接続される。
サーバ10は、ネットワーク30を介してユーザが所有する端末20に、端末20間でのメッセージ等を含むコンテンツの送受信を実現するサービスを提供する。また、サーバ10は、端末20と通信を行って電子決済(限定ではなく、決済の一例)を実現するサービス(以下、「決済サービス」と称する。)を提供する。なお、ネットワーク30に接続される端末20の数は限定されない。
ネットワーク30は、1以上の端末20と、1以上のサーバ10と、1以上の店舗POSシステム40とを接続する役割を担う。すなわち、ネットワーク30は、上記の各種の装置が接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。
ネットワーク30のうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよいし、そうでなくてもよい。ネットワーク30は、限定ではなく例として、アドホック・ネットワーク(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)の一部、携帯電話網、ISDN(integrated service digital networks)、無線LAN、LTE(long term evolution)、CDMA(code division multiple access)、ブルートゥース(Bluetooth(登録商標))、衛星通信など、または、これらの2つ以上の組合せを含むことができる。ネットワーク30は、1つまたは複数のネットワーク30を含むことができる。
端末20(端末20A,端末20B,端末20C,・・・)(限定ではなく、端末、情報処理装置の一例)は、各実施形態において記載する機能を実現できる情報処理端末であればどのような端末であってもよい。端末20は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(限定ではなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定ではなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定ではなく例として、PDA・(personal digital assistant)、電子メールクライアントなど)、ウェアラブル端末(メガネ型デバイス、時計型デバイスなど)、または他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、端末20は情報処理端末と表現されてもよい。
端末20A、端末20Bおよび端末20Cの構成は基本的には同一であるため、以下の説明においては、端末20について説明する。また、必要に応じて、ユーザXが利用する端末を端末20Xと表現し、ユーザXまたは端末20Xに対応付けられた、所定のサービスにおけるユーザ情報をユーザ情報Xと表現する。なお、ユーザ情報とは、所定のサービスにおいてユーザが利用するアカウントに対応付けられたユーザの情報である。ユーザ情報は、限定ではなく例として、ユーザにより入力される、または、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子などのユーザに対応付けられた情報を含み、これらのいずれか一つまたは、組み合わせであってもよいし、そうでなくてもよい。
サーバ10(限定ではなく、サーバ、情報処理装置、情報管理装置の一例)は、端末20に対して、所定のサービスを提供する機能を備える。サーバ10は、各実施形態において記載する機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ10は、限定ではなく例として、サーバ装置、コンピュータ(限定ではなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定ではなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定ではなく例として、PDA、電子メールクライアントなど)、あるいは他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、サーバ10は情報処理装置と表現されてもよい。サーバ10と端末20とを区別する必要がない場合は、サーバ10と端末20とは、それぞれ情報処理装置と表現されてもよいし、されなくてもよい。
以下説明する実施形態では、サーバ10は、決済アプリケーションによる決済サービスを提供する機能を有していることとして説明する。
店舗POSシステム40は、サーバ10を運用する事業者と提携している店舗に導入されて使用されるPOSシステムである。
この店舗POSシステム40には、限定ではなく例として、店舗コードリーダ装置50と、コードレジ60と、店舗サーバ70とが含まれる。
[各装置のハードウェア(HW)構成]
通信システム1に含まれる各装置のHW構成について説明する。
(1)端末のHW構成
図1には、端末20のHW構成の一例を示している。
端末20は、制御部21(CPU:central processing unit(中央処理装置))、記憶部28、通信I/F22(インタフェース)、入出力部23、表示部24、マイク25、スピーカ26、カメラ27、時計部29A、位置算出用情報検出部29Bを備える。端末20のHWの各構成要素は、限定ではなく例として、バスBを介して相互に接続される。なお、端末20のHW構成として、すべての構成要素を含むことは必須ではない。限定ではなく例として、端末20は、マイク25、カメラ27等、個々の構成要素、または複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。
通信I/F22は、ネットワーク30を介して各種データの送受信を行う。通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F22は、ネットワーク30を介して、サーバ10等の各種装置との通信を実行する機能を有する。通信I/F22は、各種データを制御部21からの指示に従って、サーバ10等の各種装置に送信する。また、通信I/F22は、サーバ10等の各種装置から送信された各種データを受信し、制御部21に伝達する。また、通信I/F22を単に通信部と表現する場合もある。また、通信I/F22が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。
入出力部23は、端末20に対する各種操作を入力する装置、および、端末20で処理された処理結果を出力する装置を含む。入出力部23は、入力部と出力部が一体化していてもよいし、入力部と出力部に分離していてもよいし、そうでなくてもよい。
入力部は、ユーザからの入力を受け付けて、入力に係る情報を制御部21に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力部は、限定ではなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含む。
出力部は、制御部21で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力部は、限定ではなく例として、 タッチパネル、タッチディスプレイ、スピーカ(音声出力)、レンズ(限定ではなく例として3D(three dimensions)出力や、ホログラム出力)、プリンターなどを含む。
表示部24は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。表示部24は、限定ではなく例として、タッチパネル、タッチディスプレイ、モニタ(限定ではなく例として、液晶ディスプレイやOELD(organic electroluminescence display))、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中など(真空であってもよいし、そうでなくてもよい)に画像やテキスト情報等を表示可能な装置を含む。なお、これらの表示部24は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。
入出力部23がタッチパネルの場合、入出力部23と表示部24とは、略同一の大きさおよび形状で対向して配置されていてもよい。
時計部29Aは、端末20の内蔵時計であり、時刻情報(計時情報)を出力する。時計部29Aは、限定ではなく例として、水晶発振器を利用したクロック等を有して構成される。時計部29Aは、限定ではなく例として、計時部や時刻情報検出部と表現することもできる。
なお、時計部29Aは、NITZ(Network Identity and Time Zone)規格等を適用したクロックを有していてもよいし、有していなくてもよい。
位置算出用情報検出部29Bは、制御部21が自己の端末20の位置を算出(測定)するために必要な情報(以下、「位置算出用情報」と称する。)を検出(計測)する機能部である。位置算出用情報検出部29Bは、限定ではなく例として、位置算出用センサ部と表現することもできる。
なお、位置算出用情報検出部29Bは必須ではなく、端末20の構成要件から除外してもよい。
位置算出用情報検出部29Bは、限定ではなく例として、GPS(Global Positioning System)等の衛星測位システムを利用して端末20の位置を算出するためのセンサやユニットである衛星測位センサ(衛星測位ユニット)や、慣性航法システムを利用して端末20の位置を算出するためのセンサやユニットである慣性計測センサ(慣性計測ユニット(IMU(Inertial Measurement Unit)))等を含む。
衛星測位ユニットは、限定ではなく例として、不図示のアンテナで受信される測位用衛星から発信されている測位用衛星信号を含むRF(Radio Frequency)信号をデジタル信号に変換するRF受信回路や、RF受信回路から出力されるデジタル信号に対して相関演算処理等を行って測位用衛星信号を捕捉し、測位用衛星信号から取り出した衛星軌道データや時刻データ等の情報を、位置算出用情報として出力するベースバンド処理回路等を有する。
慣性計測ユニットは、慣性航法演算によって端末20の位置を算出するために必要な情報を検出するセンサである慣性センサを有する。慣性センサには、限定ではなく例として、3軸の加速度センサや3軸のジャイロセンサが含まれ、加速度センサによって検出された加速度と、ジャイロセンサによって検出された角速度とを、位置算出用情報として出力する。
制御部21は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定ではなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。
制御部21は、限定ではなく例として、中央処理装置(CPU)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(application-specific integrated circuit)、FPGA(field programmable gate array)を含む。
記憶部28は、端末20が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部28は、限定ではなく例として、HDD(hard disk drive)、SSD(solid state drive)、フラッシュメモリ、RAM(random access memory)、ROM(read only memory)など各種の記憶媒体を含む。また、記憶部28は、メモリ(memory)と表現されてもよいし、されなくてもよい。
端末20は、プログラムPを記憶部28に記憶し、このプログラムPを実行することで、制御部21が、制御部21に含まれる各部としての処理を実行する。つまり、記憶部28に記憶されるプログラムPは、端末20に、制御部21が実行する各機能を実現させる。また、このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。
マイク25は、音声データの入力に利用される。スピーカ26は、音声データの出力に利用される。カメラ27は、動画像データの取得に利用される。
(2)サーバのHW構成
図1には、サーバ10のHW構成の一例を示している。
サーバ10は、制御部11(CPU)、記憶部15、通信I/F14(インタフェース)、入出力部12、ディスプレイ13、時計部19を備える。サーバ10のHWの各構成要素は、限定ではなく例として、バスBを介して相互に接続される。なお、サーバ10のHWは、サーバ10のHWの構成として、全ての構成要素を含むことは必須ではない。限定ではなく例として、サーバ10のHWは、ディスプレイ13を取り外すような構成であってもよいし、そうでなくてもよい。
制御部11は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定ではなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。
制御部11は、代表的には中央処理装置(CPU)、であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGAであってもよいし、そうでなくてもよい。本開示において、制御部11は、これらに限定されない。
記憶部15は、サーバ10が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部15は、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。ただし、本開示において、記憶部15は、これらに限定されない。また、記憶部15は、メモリ(memory)と表現されてもよいし、されなくてもよい。
通信I/F14は、ネットワーク30を介して各種データの送受信を行う。通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F14は、ネットワーク30を介して、端末20等の各種装置との通信を実行する機能を有する。通信I/F14は、各種データを制御部11からの指示に従って、端末20等の各種装置に送信する。また、通信I/F14は、端末20等の各種装置から送信された各種データを受信し、制御部11に伝達する。また、通信I/F14を単に通信部と表現する場合もある。また、通信I/F14が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。
入出力部12は、サーバ10に対する各種操作を入力する装置により実現される。入出力部12は、ユーザからの入力を受け付けて、入力に係る情報を制御部11に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入出力部12は、代表的にはキーボード等に代表されるハードウェアキーや、マウス等のポインティングデバイスで実現される。なお、入出力部12、限定ではなく例として、タッチパネルやカメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含んでいてもよいし、そうでなくてもよい。ただし、本開示において、入出力部12は、これらに限定されない。
ディスプレイ13は、代表的にはモニタ(限定ではなく例として、液晶ディスプレイやOELD(organic electroluminescence display))で実現される。なお、ディスプレイ13は、ヘッドマウントディスプレイ(HDM)などであってもよいし、そうでなくてもよい。なお、これらのディスプレイ13は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。本開示において、ディスプレイ13は、これらに限定されない。
時計部19は、サーバ10の内蔵時計であり、時刻情報(計時情報)を出力する。時計部19は、限定ではなく例として、ハードウェアクロックとしてのRTC(Real Time Clock)やシステムクロック等を有して構成される。時計部19は、限定ではなく例として、計時部や時刻情報検出部と表現することもできる。
(3)店舗POSのシステム構成
図2には、店舗POSシステム40のシステム構成の一例を示している。
店舗POSシステム40は、サーバ10を運用する事業者と提携している店舗に導入されて使用されるPOSシステムであり、限定ではなく例として、店舗コードリーダ装置50と、コードレジ60と、店舗サーバ70とを含む。
店舗コードリーダ装置50は、POS通信I/F57(限定ではなく例として、店舗内の有線通信I/Fや無線通信I/F)によってコードレジ60や店舗サーバ70と通信接続され、コードレジ60での会計の際に、端末20の表示部24に表示される端末表示用コード画像を読み取る。そして、端末表示用コード画像を読み取ったことに基づいて、決済要求情報を通信I/F54によってサーバ10に送信し、サーバ10で決済が行われた後、決済結果に関する情報(例えば、後述する店舗用決済完了通知)を通信I/F54によってサーバ10から受信する。
店舗コードリーダ装置50は、限定ではなく例として、制御部51と、入出力部52と、表示部53と、通信I/F54と、記憶部55と、音出力部56と、POS通信I/F57と、コードリーダ58、時計部59とを有する。
コードリーダ58は、二次元コードを読み取るためのコードリーダであり、本明細書では、端末20の表示部24に表示され、端末20のユーザによって提示される二次元コード(例えばQRコード(登録商標))としての端末表示用コードを読み取るための二次元コードリーダ(例えばQRコードリーダ)を含む。
コードレジ60は、限定ではなく例として、POS通信I/F57によって店舗コードリーダ装置50や店舗サーバ70と通信接続され、店舗コードリーダ装置50がサーバ10から受信した店舗用決済完了通知に基づいて、販売した商品の総額や、端末20のユーザの電子貨幣の残高等の情報を印字したレシートを発行する。また、限定ではなく例として、コードレジ60と一体として、またはコードレジ60と別体として設けられ、客側に表示面が向けられたディスプレイを構成するようにしてもよい。コードレジ60は、決済アプリケーションに対応可能に構成されたレジであり、決済アプリケーション対応の据置端末と言うこともできる。
店舗サーバ70は、限定ではなく例として、自店舗に関する店舗情報や、自店舗で販売される商品に関する情報や自店舗で提供されるサービスに関する情報、自店舗での商品の販売やサービスの提供に伴う売上げに関する情報等の各種の情報を管理する。店舗サーバ70は、POS通信I/F57によって店舗コードリーダ装置50やコードレジ60と通信可能に構成されているとともに、ネットワーク30を介してサーバ10等の外部装置と通信可能に構成されている。
なお、店舗サーバ70は、必ずしも店舗コードリーダ装置50と直接的に通信可能に構成されている必要はなく、コードレジ60を介して店舗コードリーダ装置50と通信可能に構成されていてもよい。例えば、店舗コードリーダ装置50がサーバ10から受信した店舗用決済完了通知はコードレジ60に送られ、その後、コードレジ60から店舗サーバ70に送られるようにするなどすることもできる。
(4)その他
サーバ10は、プログラムPを記憶部15に記憶し、このプログラムPを実行することで、制御部11が、制御部11に含まれる各部としての処理を実行する。つまり、記憶部15に記憶されるプログラムPは、サーバ10に、制御部11が実行する各機能を実現させる。このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。
他の装置についても同様である。
本開示の各実施形態においては、端末20および/またはサーバ10のCPUがプログラムPを実行することにより、実現するものとして説明する。
他の装置についても同様である。
なお、端末20の制御部21、および/または、サーバ10の制御部11は、制御回路を有するCPUだけでなく、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各処理を実現してもよいし、そうでなくてもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよいし、そうでなくてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。
他の装置についても同様である。
また、本開示の各実施形態のプログラムP(限定ではなく例として、ソフトウェアプログラム、コンピュータプログラム、またはプログラムモジュール)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよいし、されなくてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムPを記憶可能である。また、プログラムPは、本開示の各実施形態の機能の一部を実現するためのものであってもよいし、そうでなくてもよい。さらに、本開示の各実施形態の機能を記憶媒体にすでに記録されているプログラムPとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよいし、そうでなくてもよい。
記憶媒体は、1つまたは複数の半導体ベースの、または他の集積回路(IC)(限定ではなく例として、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カード、またはドライブ、任意の他の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムPを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。また、記憶媒体をメモリ(memory)と表現されてもよいし、されなくてもよい。
サーバ10および/または端末20は、記憶媒体に記憶されたプログラムPを読み出し、読み出したプログラムPを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。
他の装置についても同様である。
また、本開示のプログラムPは、プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ10および/または端末20に提供されてもよいし、されなくてもよい。サーバ10および/または端末20は、限定ではなく例として、インターネット等を介してダウンロードしたプログラムPを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
他の装置についても同様である。
また、本開示の各実施形態は、プログラムPが電子的な伝送によって具現化されたデータ信号の形態でも実現され得る。
サーバ10および/または端末20における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよいし、そうでなくてもよい。
端末20における処理の少なくとも一部を、サーバ10により行う構成としてもよいし、そうでなくてもよい。この場合、端末20の制御部21の各機能部の処理のうち少なくとも一部の処理を、サーバ10で行う構成としてもよいし、そうでなくてもよい。
サーバ10における処理の少なくとも一部を、端末20により行う構成としてもよいし、そうでなくてもよい。この場合、サーバ10の制御部11の各機能部の処理のうち少なくとも一部の処理を、端末20で行う構成としてもよいし、そうでなくてもよい。
明示的な言及のない限り、本開示の実施形態における判定の構成は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしてもよいし、そうでなくてもよい。
なお、本開示のプログラムは、限定ではなく例として、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのコンパイラ言語、HTML5などのマークアップ言語などを用いて実装される。
また、本明細書では、適宜「通信I/Fによって」という表現を使用する。これは、装置が、限定ではなく例として、制御部(プロセッサー等)の制御に基づいて、通信I/Fを介して(通信部を介して)、各種の情報やデータを送受信することを示す。
また、本明細書では、「期限」の用語は、一定の期間を示すものとして説明する。ただし、「期限」の用語に代えて、「期間」の用語を用いるようにしてもよい。
また、「期限」の用語を、期間が終了する時刻や日時(一定の時刻や一定の日時)の意味で用いるようにしてもよい。
<第1実施例>
近年、ネットワークサービスに関連するアプリケーション(アプリケーションソフトウェア)として、電子貨幣による電子決済用のアプリケーション(決済アプリケーション)、電子貨幣の送金用のアプリケーション(送金アプリケーション)といったアプリケーションや、これらのアプリケーションの一部の機能または全部の機能を集約した決済アプリケーションが普及しつつあり、端末20のユーザが、これらのアプリケーションを用いて、電子貨幣に関する各種のサービスを受けることが可能になってきている。
以下説明する実施例は、限定ではなく例として、端末20のユーザが、端末20に記憶されて実行される決済アプリケーションを利用して、決済を行う実施例である。具体的には、オンライン状態と、オフライン状態とにおいて、共通に決済を行うための手法を提案する。
以下では、決済アプリケーションによる決済サービスを提供する事業者のことを「決済サービスの事業者」と称する。なお、決済サービスの事業者は、決済アプリケーションを提供する事業者や、サーバ10の事業者と表現してもよいし、しなくてもよい。
また、以下では、決済サービスの事業者によって、サーバ10が運用・管理されることとして説明する。また、以下では、決済アプリケーションの名称を、適宜「Payment App」と称して図示・説明する。
また、決済アプリケーションは、いわゆるメッセージングサービス(MS:Messaging Service)の機能を有さない単体のアプリケーションとしてサーバ10によって提供されるようにしてもよいし、MSの機能を有する複合的なアプリケーションとしてサーバ10によって提供されるようにしてもよい。また、メッセージングサービスには、端末20間での簡単なメッセージ等のコンテンツの送受信を可能とするインスタントメッセージングサービス(IMS:Instant Messaging Service)を含めてもよいし、含めなくてもよい。
また、決済アプリケーションは、いわゆるソーシャルネットワーキングサービス(SNS:Social Networking Service)の機能を有さない単体のアプリケーションとしてサーバ10によって提供されるようにしてもよいし、SNSの機能を有する複合的なアプリケーションとしてサーバ10によって提供されるようにしてもよい。
なお、MS(IMSを含む。)は、SNSの1つの形態(一形態)と考えることもできる。このため、MSとSNSとは区別してもよいし、区別しなくてもよい。
また、決済サービスの事業者と提携している店舗を「加盟店(加盟店舗)」と称し、図1では「加盟店S1」、「加盟店S2」、・・・、のように示している。
また、「電子貨幣」とは、物理的貨幣と区別される電子的な貨幣であって、決済アプリケーションにおいて管理される端末20または端末20のユーザが所有する電子的な貨幣を意味し、「決済」とは、この電子貨幣を利用した電子決済を意味する。
なお、電子貨幣は、「電子マネー」や「デジタル通貨(デジタル貨幣)」と表現してもよいし、そのようにしなくてもよい。
また、「電子貨幣(電子マネー)」や「デジタル通貨(デジタル貨幣)」として、法定通貨を用いてもよいし、仮想通貨を用いてもよい。
また、「電子貨幣(電子マネー)」や「デジタル通貨(デジタル貨幣)」には、暗号通貨(暗号資産)を含めてもよい。
また、仮想通貨には、クーポンなどの物的貨幣を含めてもよい。
<決済方法>
(1)オンライン決済
まず、一態様として、オンライン決済の手法についてフローチャートを参照して説明する。
以下では、「オンライン」とは、端末20がサーバ10と通信可能であることを示し、「オンライン状態」とは、このオンラインの状態を示すものとする。また、「オンライン決済」とは、オンライン状態でサーバ10によって決済が行われることを示すものとする。
なお、以下では、端末20とサーバ10との通信は、限定ではなく例として、通信会社(通信キャリア)が設置する基地局等を介在して実現される、無線LAN通信とは異なる周波数帯を用いた第1通信方式によって実現されることとする。第1通信方式には、限定ではなく例として、パケット通信(いわゆる端末20におけるモバイルデータ通信)が含まれる。
また、通信方式として、第1通信方式とは異なる第2通信方式を用いてもよいし、そのようにしなくてもよい。第2通信方式には、限定ではなく例として、無線LAN(例えばWiFi(登録商標))が含まれる。
また、第1通信方式と第2通信方式とのうちの少なくともいずれか一方の通信方式により端末20とサーバ10とが通信可能であることを「オンライン状態」と定義してもよいし、しなくてもよい。
図3−1は、この場合における各装置が実行する処理の流れの一例を示すフローチャートである。左側から順に、端末20の制御部21が実行する処理、店舗コードリーダ装置50の制御部51が実行する処理、サーバ10の制御部11が実行する処理の一例をそれぞれ示している。
各処理における各ステップをアルファベットの大文字と数字の組み合わせで示し、本明細書では「ステップ」の用語は省略する。
また、以下説明するフローチャートは、あくまでも本実施例における処理を例示するものであり、以下説明するフローチャートにおいて、一部のステップを実行しなくてもよいし、追加のステップを挿入してもよい。
これらは、本明細書における他のフローチャートについても同様である。
まず、制御部21は、端末表示用コードの生成を依頼するためのコード生成依頼情報を、通信I/F22によって(通信I/F22を介して)サーバ10に送信する(A110)。
以下では、限定ではなく例として、「コード情報」とは、符号化(エンコード)等によってコード画像に格納される情報やコード画像に格納されている情報(以下、元の情報という意味で「元情報」と称する。)と、元情報が格納された「コード画像」とを含む概念として説明する。つまり、「コード情報」には、「元情報」と「コード画像」とが含まれる。
「元情報」は、「エンコード情報」や「格納情報」等のように表現してもよいし、そのように表現しなくてもよい。
また、以下では、限定ではなく例として、「コード」といった場合、「コード情報」と実質的に同じ意味合いであるものとする。
ただし、これらの定義はあくまでも一例に過ぎず、これらに限定されるものではない。
例えば、「コード情報」の用語を「元情報」の意味で用いるようにしてもよいし、そのようにしなくてもよい。
また、例えば、「コード」の用語を「コード画像」の意味で用いるようにしてもよいし、そのようにしなくてもよい。
本実施例では、上記の元情報の一例として、サーバ10によってコード生成依頼情報の送信元の端末20毎、または端末20のユーザ毎にユニークに生成される番号であって、所定の桁数のランダムな番号である「決済用番号」を例示する。決済用番号は、端末20、または端末20のユーザと関連付けられた情報であって、サーバ10による決済に用いられる情報とも言える。
以下では、コード生成依頼情報に基づきサーバ10によって生成される決済用のコードを「端末表示用コード」と称し、この端末表示用コードのコード画像を「端末表示用コード画像」と称する。
詳細は後述するが、端末表示用コード画像には、上記の決済用番号が格納される。
端末表示用コード画像や決済用番号は、コード画像による決済を行うための「第1情報」の一例であり、サーバ10から送信される。
以下では、上記の端末表示用コード画像の生成をサーバ10に依頼する情報をコード生成依頼情報とする場合を例示する。つまり、本処理では、限定ではなく例として、端末表示用コード画像の生成を端末20からサーバ10に依頼することとし、A110では、端末表示用コード画像の生成を依頼するコード生成依頼情報をサーバ10に送信する。
また、本明細書において、「端末表示用コード」とは、決済種別「端末コード表示」での決済に使用されるコードとして説明する。
決済種別「端末コード表示」では、端末20のユーザが店舗等で支払いを行う際に、端末20に記憶されている決済アプリケーションを用いて、端末20で表示される端末表示用コード画像を店舗のコードレジ60で店員に提示する。そして、この端末表示用コード画像を店舗コードリーダ装置50等で読み取ってもらうことで決済を実現する。
端末表示用コードは、端末20のユーザによって店舗等の店員に提示されるコード(コード画像)であるため、「提示用コード」や「ユーザ提示用コード」と表現することもできる。
A110で送信するコード生成依頼情報には、限定ではなく例として、端末20、または端末20のユーザを識別するための識別情報を含めることができる。例えば、自己の端末20を識別するための端末識別情報(例えば端末ID)、自己の端末20のユーザを識別するためのユーザ識別情報(例えばユーザID)、決済アプリケーションのアカウント情報(例えばアプリケーションID)等の情報がこれに含まれる。
通信I/F14によって端末20からコード生成依頼情報を受信すると(C110)、制御部11は、端末表示用コード生成処理を行う(C120)。
具体的には、限定ではなく例として、所定の桁数(例えば10桁〜12桁程度の桁数)のランダムな数字を発生させる手法(アルゴリズム)を用いて、所定の桁数のランダムな数字を決済用番号として発生させる。そして、限定ではなく例として、少なくとも決済用番号を元情報として含む端末表示用コード画像を生成する。より具体的には、少なくとも決済用番号をエンコード(符号化)し、図形化(画像化)して、二次元コード(例えばQRコード)の画像で表される端末表示用コード画像を生成する。また、受信したコード生成依頼情報に含まれる端末20または端末20のユーザの識別情報と、発生させた決済用番号とを関連付けて記憶部15に記憶させる。
次いで、制御部11は、生成された端末表示用コード(この例では端末表示用コード画像)を、通信I/F14によって端末20に送信する(C130)。端末20は、通信I/F22によってサーバ10から端末表示用コード(この例では端末表示用コード画像)を受信する(A130)。この場合、制御部21は、限定ではなく例として、受信された端末表示用コード画像を表示部24に表示させる。
その後、表示部24に表示された端末表示用コード画像が、端末20のユーザによって店舗の店員等に提示されると、制御部51は、端末20の表示部24に表示された端末表示用コード画像をコードリーダ58に読み取らせる制御を行う(B150)。
その後、制御部51は、決済サービスの事業者によって提供(配布)される、決済アプリケーションと関連付けられたアプリケーションインターフェイス(API)等を用いて通信I/F54によってサーバ10にアクセスし、少なくとも、読み取った端末表示用コード画像からデコードによって取得した決済用番号と、店舗または店舗コードリーダ装置50を識別するための識別情報(以下、「店舗識別情報」と称する。)と、決済予定の金額(以下、「決済予定金額」と称する。)とを含む決済要求情報を、通信I/F54によってサーバ10に送信する(B160)。
通信I/F14によって店舗コードリーダ装置50から決済要求情報を受信すると(C160)、制御部11は、決済処理を行う(C170)。具体的には、受信した決済要求情報に含まれる決済用番号が、端末20または端末20のユーザの識別情報と関連付けて記憶部15に記憶されているか否かを判定する。そして、記憶されている場合は「決済可能」と判定し、その決済用番号と関連付けて記憶されている識別情報から識別される端末20または端末20のユーザの電子貨幣の残高(決済アプリケーションのアプリケーションIDに関連付けられた電子貨幣の残高)(以下、単に「残高」と称する。)から決済予定金額を減算して決済する。
その後、制御部11は、店舗用の決済完了通知(以下、「店舗用決済完了通知」と称する。)を、通信I/F14によって店舗コードリーダ装置50に送信する(C180)。店舗用決済完了通知には、限定ではなく例として、決済が完了(成功)した旨と、決済した日時(決済日時)と、決済した金額(決済金額)等の店舗用決済情報とが含まれる。
また、制御部11は、端末用の決済完了通知(以下、「端末用決済完了通知」と称する。)を、通信I/F14によって端末20に送信する(C190)。端末用決済完了通知には、限定ではなく例として、決済が完了(成功)した旨と、決済した日時(決済日時)、決済した店舗の店舗識別情報(決済店舗識別情報)、決済した金額(決済金額)等の端末用決済情報とが含まれる。そして、制御部11は、処理を終了する。
なお、ここでは、サーバ10による決済が成功した場合に、店舗用決済完了通知と端末用決済完了通知とがサーバ10から送信されることとするが、残高の不足等により、サーバ10が決済を行うことができない場合がある。この場合は、決済を行うことができなかった旨の通知(例えば決済エラー通知、決済NG通知)を、店舗コードリーダ装置50と端末20とに送信するようにすればよい。
他の処理においても同様である。
通信I/F54によってサーバ10から店舗用決済完了通知を受信すると(B180)、制御部51は、処理を終了する。
また、通信I/F22によって端末用決済完了通知をサーバ10から受信すると、制御部21は、受信された端末用決済完了通知に基づき、決済アプリケーションのデータとして端末20で記憶している残高を更新する。また、制御部21は、決済結果を表示部24に表示させる(A190)。そして、制御部21は、処理を終了する。
図3−2は、端末20で実行される決済アプリケーションで表示されるトップ画面の一例を示す図である。
このトップ画面は、決済アプリケーションを起動した際に表示される表示画面であり、画面上部に、決済アプリケーションの名称である「Payment APP」が表示されている。その下の枠内には、残高(ここでは「3000円」)が表示されており、その横には、電子貨幣をチャージ(追加)するためのチャージボタンが表示されている。また、その下には、決済アプリケーションの各種の機能に対応する複数の機能アイコンが表示されている。
これらの機能アイコンのうち、「コード」と示されたアイコンは、限定ではなく例として、表示部24にコード表示画面を表示させるための「コードアイコン」である。このコードアイコンが端末20のユーザによりタッチ操作されると、限定ではなく例として、端末20からサーバ10にコード生成依頼情報が送信され、サーバ10によって端末表示用コードが生成される。そして、生成された端末表示用コードがサーバ10から端末20に送信されて、図3−3に示すコード表示画面が端末20の表示部24に表示される。
図3−3は、コード表示画面の一例を示す図である。
このコード表示画面には、画面上部に「コード」の文字が表示され、その下に、決済方法と、ユーザが所有しているポイントと、そのポイントを利用して決済を行うか否かを設定するためのポイントタブとが表示されている。
また、その下には、サーバ10から取得した端末表示用コードのコード画像として、バーコードで表される一次元の端末表示用コード画像と、QRコードで表される二次元の端末表示用コード画像QC0とが、表示画面内の異なる領域にそれぞれ表示されている。また、限定ではなく例として、一次元の端末表示用コード画像の下には、12桁の決済用番号が表示されている。
また、この例では、コード表示画面に表示される端末表示用コードには、そのコードを表示する期限(以下、「コード表示期限」と称する。)がある。
コード表示期限は、限定ではなく例として、端末20で端末表示用コードが表示される期間である。コード表示期限は、限定ではなく例として、「端末で端末表示用コードが表示された(表示が開始された)時刻(日時)からコード表示時間が経過するまでの期間」とすることができる。コード表示時間は、適宜設定変更可能であるが、限定ではなく例として「5分」とすることができる。
なお、コード表示期限を、端末20で端末表示用コードが表示される期間と定義するのではなく、端末20で端末表示用コードが表示される期間が終了(満了)する時刻(日時)と定義するようにしてもよいし、そのようにしなくてもよい。
そして、二次元の端末表示用コード画像QC0の下には、更新のマークおよび更新の文字とともに、コード表示期限の残り時間がカウントダウン形式で表示されている。この残り時間は、端末20の時計部29Aによって計時される情報に基づき表示される。
残り時間が「0」になると、コード表示画面は閉じられ、端末表示用コードは非表示とされる。その後に端末20のユーザが決済を行いたい場合は、サーバ10から端末表示用コードを再取得することが必要となる。
端末20のユーザは、コード表示期限内に、図3−3のコード表示画面をコードレジ60で店舗の店員に提示し、店舗コードリーダ装置50で端末表示用コード画像を読み取ってもらうことで決済を行う。この場合、店舗コードリーダ装置50は、前述したAPI等を用いて通信I/F54によってサーバ10にアクセスして、決済に必要な情報をサーバ10に送信する。これにより、サーバ10によって決済処理が行われる。
ここまで、オンライン決済を実現するための処理を例示した。この処理では、サーバ10によって生成されて端末20に送信された端末表示用コードが、限定ではなく例として、すぐに決済に利用される。
しかしながら、ユーザによっては、サーバ10から受信された端末表示用コードをすぐに利用して決済を行うのではなく、後から利用して決済を行うことを希望するような場合もある。
また、上記の処理を適用するためには、端末20とサーバ10とが通信可能な状態(オンライン状態)であることが必要となる。勿論、店舗コードリーダ装置50とサーバ10とが通信可能な状態であることも必要である。
しかしながら、地下などの電波状況が悪い場所で決済を行う場合や、イベント会場などの回線が混雑している状況で決済を行う場合、端末20の一定期間(例えばひと月)における通信量が一定量を超えるなどして通信制限や通信の速度制限かかけられている場合等において、端末20とサーバ10とが通信不能(または通信困難)となった結果、決済を行うのが困難になる場合が想定される。
そこで、以下では、これらの場合であっても決済を実現するための手法を例示する。
なお、以下説明する決済の手法は、オンライン状態と、オフライン状態とのいずれについても同様に適用可能であるが、ここでは、オフライン状態における決済を実現するための手法として説明する。
(2)オフライン決済
本開示の手法の一態様としてのオフライン決済の手法について、フローチャートを参照して説明する。
以下では、「オフライン」とは、端末20がサーバ10と通信することができないことをを示し、「オフライン状態」とは、このオフラインの状態を示すものとする。また、「オフライン決済」とは、オフライン状態においてサーバ10によって決済が行われることを示すものとする。また、前提として、店舗コードリーダ装置50はサーバ10と通信することができるものとする。
図3−4は、この場合における各装置が実行する処理の流れの一例を示すフローチャートである。図の見方は、前述したフローチャートと同様である。
図3−4のフローチャートは、図3−1のフローチャートをオフライン仕様に書き換えたものである。図3−1のフローチャートとは、限定ではなく例として、オンライン状態での処理ステップ(例えばA240)、オフライン状態での処理ステップ(例えばA250、B250、B280)、オフライン状態からオンライン状態に復帰した場合の処理ステップ(例えばA290、C290)が異なる。
A130の後、制御部21は、受信された端末表示用コード(この例では端末表示用コード画像)を記憶部28にストックする(A240)。
ここで、「ストック」とは、受信された端末表示用コードを後で利用可能とするために、記憶部28に記憶させることを意味する。
なお、本明細書では、「ストック」のことを、単に「記憶」と表現することもある。また、端末表示用コードをストックすることを、「端末表示用コードを端末表示用コードストックデータに記憶させる」と表現することもある。
この処理では、オフライン決済を可能とするために、オンライン状態においてサーバ10から取得した端末表示用コード(この例では端末表示用コード画像)を端末20の記憶部28にストック(記憶)させておく。そして、オフライン状態での決済が必要となった場合に、ストックされた端末表示用コードを用いて、サーバ10と通信する必要なく決済ができるようにする。
具体的に説明する。A240の後、オフライン状態になったとする。
ここで、端末20は、限定ではなく例として、以下のいずれかの手法によってオフライン状態となったことを検出する。
(A)端末20での決済アプリケーションの実行中、定期的なタイミングや特定のタイミングで、サーバ10から接続確認要求が端末20に送信され、端末20からは、その接続確認要求に対して、識別情報(例えばアプリケーションID)を含む接続応答がサーバ10に送信されるようにする。この場合、端末20の制御部21は、サーバ10から接続確認要求を受信しなくなった場合に、オフライン状態になったと判定する。
(B)端末20での決済アプリケーションの実行中、定期的なタイミングや特定のタイミングで、端末20から識別情報(例えばアプリケーションID)を含む接続通知がサーバ10に送信され、サーバ10からは、その接続通知に対して、接続確認が端末20に送信されるようにする。オフライン状態では、端末20からサーバ10に接続通知を送信することができない。このため、限定ではなく例として、端末20の制御部21は、接続通知の送信エラーの発生を検知した場合に、オフライン状態となったと判定する。
なお、端末20が、限定ではなく例として、ネットワークの接続状況を取得するライブラリやアプリケーション等を用いて、自己の端末20の通信状況に関する情報を取得して、オフライン状態となったか否かを判定するようにしてもよいし、そのようにしなくてもよい。
オフライン状態において、限定ではなく例として、端末20のユーザによってコード表示操作がなされると、制御部21は、コード表示処理を行う(A250)。具体的には、A240でストックされた端末表示用コード画像を表示部24に表示させる。そして、表示された端末表示用コード画像が端末20のユーザによって店舗の店員等に提示されると、制御部51は、端末20の表示部24に表示された端末表示用コード画像を、コードリーダ58に読み取らせる制御を行う(B250)。そして、制御部51は、B160へと処理を移す。
B160の後、通信I/F54によってサーバ10から店舗用決済完了通知を受信すると(B280)、受信された店舗用決済完了通知に基づき、店舗の店員等はオフライン決済が完了(成功)したことを端末20のユーザに口頭で通知する。
C180の後、制御部11は、端末用決済完了通知を端末20に送信する(C290)。しかし、オフライン状態では、端末20は端末用決済完了通知を受信できない。端末20がオンライン状態に復帰すると、サーバ10から送信された端末用決済完了通知が端末20で受信される。そして、通信I/F22によって端末用決済完了通知をサーバ10から受信すると、制御部21は、受信された端末用決済完了通知に基づき、決済結果を表示部24に表示させる(A290)。
以上説明した処理が、オフライン決済を行うための処理の一例である。
なお、コード生成依頼情報は、1個の端末表示用コードの生成を依頼する情報としてもよいが、複数(2以上)の端末表示用コードの生成を依頼する情報としてもよい。具体的には、限定ではなく例として、端末表示用コードを1つ1つ追加するようにするのではなく、端末20側またはサーバ10側で、端末20が一度に生成を依頼するコードの数(サーバ10が一度に生成するコードの数)の上限を設定しておく。そして、この上限の数の端末表示用コードを、端末20のユーザが1回の操作で一気に取得するようにしてもよい。この場合、サーバ10によって複数の端末表示用コードが生成され、生成された複数の端末表示用コードが端末20に送信されて、受信された複数の端末表示用コードを端末20でストックするようにすればよい。
上記の処理は、オンライン状態においても同様に適用可能である。つまり、
(1)オンライン状態において後から端末表示用コードを利用して決済を行う場合
(2)オフライン決済を行う場合
のいずれかの場合に、上記のように、オンライン状態においてサーバ10によって生成されて送信された端末表示用コードを端末20でストックしておく。そして、端末20でストックしておいた端末表示用コードを用いて決済を行う。
しかしながら、ユーザによっては、端末表示用コードを端末20にストックさせたことを忘れてしまう場合がある。
また、例えば複数の端末表示用コードを端末20にストックさせるような場合、既に決済に利用された端末表示用コードの数や、未だ決済に利用されていない端末表示用コードの数を、ユーザが把握することが困難な場合がある。
<機能構成>
(1)サーバの機能構成
図4−1は、本実施例におけるサーバ10の制御部11により実現される機能の一例を示す図である。
以下では、端末20のユーザが、端末20に記憶されている決済アプリケーションを用いて、限定ではなく例として、前述した決済種別「端末コード表示」による決済を行う場合を例示する。
サーバ10は、制御部11により実現される機能として、決済管理処理部111を有する。
決済管理処理部111は、記憶部15に記憶されている決済管理処理プログラム151に従って、端末20で実行される決済アプリケーションに関する各種の情報やデータの管理や、端末20または端末20のユーザの電子貨幣による決済を管理するための決済管理処理を実行する機能を有している。
本実施例において、決済管理処理部111は、記憶部15に記憶されている決済管理処理プログラム151に従って、例えば図3−4に示した処理を決済管理処理として実行する。
決済管理処理部111は、限定ではなく例として、端末表示用コード生成処理によって端末表示用コードを生成する端末表示用コード生成処理部1111と、決済処理によって決済を実行する決済処理部1113とを機能部として含む。
端末表示用コード生成処理部1111は、限定ではなく例として、二次元コードで表される端末表示用コード画像を生成する。二次元コードとは、水平方向と垂直方向とに情報を持つ表示方式のコードであり、小さな正方形を上下左右に配列させたマトリックス式のコード(以下、「マトリックスコード」と称す。)や、一次元コード(限定ではなく例としてバーコード)を上下に複数重ねたスタック式のコード(以下、「スタックコード」と称す。)等がある。
本実施例では、説明の簡明化のため、広く用いられているマトリックスコードの一例であるQRコード(登録商標)を、端末表示用コードの一例として説明する。
なお、本実施例とは異なり、QRコード以外のマトリックスコードとして、SPコードやベリコード、マキシコード、CPコード、カメレオンコード等のコードを用いてもよいし、用いなくてもよい。また、マトリックスコードではなく、各種のスタックコードを用いてもよいし、用いなくてもよい。
また、端末表示用コード生成処理部1111が、端末表示用コードとして、二次元コード(限定ではなく例として、QRコード)に加えて、一次元コード(限定ではなく例として、バーコード)を生成するようにしてもよいし、そのようにしなくてもよい。これは、店舗によっては、二次元コードの読み取りには対応していないが、一次元コードの読み取りには対応可能な場合があるためである。
決済処理部1113は、限定ではなく例として、店舗POSシステム40から送信される情報や、端末20から送信される情報に基づいて、決済処理を行う機能を有している。
図4−2は、本実施例におけるサーバ10の記憶部15に記憶される情報の一例を示す図である。
記憶部15には、限定ではなく例として、プログラムとして、制御部11により読み出され、決済管理処理として実行される決済管理処理プログラム151が記憶される。
また、記憶部15には、限定ではなく例として、データとして、ユーザ登録データ153と、店舗登録データ155と、決済管理データベース157と、コード管理データベース159とが記憶される。
ユーザ登録データ153は、決済サービスを利用する端末20および端末20のユーザの登録データであり、そのデータ構成の一例を図4−3に示す。
ユーザ登録データ153には、限定ではなく例として、ユーザ名と、端末電話番号と、端末メールアドレスと、アプリケーションIDと、認証パスワードと、その他登録情報とが関連付けて記憶される。
ユーザ名は、決済サービスを利用する端末20のユーザの名称であり、端末20のユーザが決済サービスを利用する際に登録する名称が記憶される。
端末電話番号は、このユーザ名のユーザの端末20の電話番号であり、端末20のユーザが決済アプリケーションを利用する際に登録する端末20の電話番号が記憶される。
端末メールアドレスは、このユーザ名のユーザの端末20のメールアドレスであり、端末20のユーザが決済アプリケーションを利用する際に登録する端末20のメールアドレスが記憶される。
端末電話番号や端末メールアドレスは、端末20を識別するための識別情報(以下、「端末識別情報」と称す。)の一例である。
アプリケーションIDは、決済アプリケーションのアカウント(アカウント情報)であって、端末20、または端末20のユーザを識別可能とするIDである。このアプリケーションIDは、限定ではなく例として、サーバ10によって固有のIDが設定されて記憶される。
認証パスワードは、このユーザ名のユーザの端末20において、決済用の認証処理(以下、単に「認証処理」と称す。)を行う際にユーザに入力を要求する認証用のパスワードであり、ユーザによって設定されたパスワードが記憶される。
なお、決済用の認証処理は、必ずしも行わなければならないわけではなく、行わないようにすることも可能である。この場合は、認証パスワードをユーザ登録データ153に記憶させておく必要はない。
その他登録情報は、このユーザ名のユーザのその他の登録情報であり、限定ではなく例として、決済アプリケーションにおいてユーザが使用するアイコンの画像データであるユーザアイコン画像やユーザのプロフィール等がこれに含まれる。
店舗登録データ155は、決済アプリケーションを提供する事業者(サーバ10の事業者)と提携している店舗の登録データである。この店舗登録データ155の一例である店舗登録データ155Aのデータ構成例を、図4−4に示す。
店舗登録データ155Aには、限定ではなく例として、業種と、店舗名と、店舗位置情報と、店舗POSシステム情報と、店舗IDとが店舗情報として関連付けて記憶される。
業種には、店舗の業種が記憶される。この業種には、限定ではなく例として、「コンビニエンスストア」、「スーパーマーケット」、「薬局」、「居酒屋」、「百貨店」、「レストラン」、「本屋」、「時計店」といった各種の業種が含まれる。
店舗名には、各業種それぞれについて、その業種に含まれる(属する)店舗の店舗名が記憶される。
店舗位置情報には、この店舗名の店舗の所在地の位置情報(以下、「店舗位置情報」と称す。)が記憶される。この店舗位置情報は、店舗の所在地を2次元または3次元の位置座標で表したものとしてもよいし、店舗の所在地を経緯度(緯度、経度、場合によっては高度)で表したものとしてもよい。
店舗POSシステム情報には、この店舗で使用される店舗POSシステム40に関する情報が記憶される。この店舗POSシステム情報には、限定ではなく例として、サーバ10が、店舗コードリーダ装置50や店舗サーバ70と通信を行うために必要な情報が含まれる。
店舗POSシステム40は、サーバ10と連携して処理を行うため、限定ではなく例として、サーバ10から提供(配布)される決済アプリケーション用のソフトウェアパッケージをあらかじめ取得して店舗コードリーダ装置50や店舗サーバ70に記憶させておき、このソフトウェアパッケージを、店舗での決済処理用のプログラムから呼び出して使用するようにすることができる。アプリケーションプログラミングインターフェース(API)が一例であり、店舗コードリーダ装置50は、例えばAPIを起動して、サーバ10への情報の送信と、サーバ10からの情報の受信とを実現する。
また、サーバ10は、限定ではなく例として、店舗の業種、店舗名、店舗位置情報、店舗POSシステム情報等の情報を、その店舗の店舗サーバ70から受信して、店舗登録データ155に記憶させておくようにすることができる。
店舗IDは、この店舗名の店舗を識別するための識別情報として機能するIDである。この店舗IDは、限定ではなく例として、サーバ10によって店舗ごとに固有のIDが設定されて記憶される。
店舗IDは、店舗識別情報の一例である。
決済管理データベース157は、各端末20のユーザの決済に関する情報を管理するためのデータを蓄積的に記憶したデータベースであり、その一例である決済管理データベース157Aの構成例を図4−5に示す。
決済管理データベース157Aには、端末20毎、または端末20のユーザ毎に生成される決済管理データが記憶される。
各決済管理データには、限定ではなく例として、アプリケーションIDと、残高と、ポイントと、1日上限設定金額と、オートチャージ設定と、決済履歴データとが記憶される。
アプリケーションIDには、ユーザ登録データ153に記憶されているアプリケーションIDが記憶される。
残高には、このアプリケーションIDに関連付けられている残高が記憶される。
ポイントには、決済アプリケーションと関連付けられた各種のサービスや、決済アプリケーションの事業者と提携している加盟店舗で貯めることのできるポイントが記憶される。ポイントは、限定ではなく例として、1ポイントあたり1円相当の価値を有し、ギフト券や商品等に交換することができる他、決済アプリケーションにおいて現金化して決済に利用することもできる。
1日上限設定金額には、このアプリケーションIDを所有する端末20、または端末20のユーザが決済に使用可能な金額の1日あたりの上限金額が記憶される。
オートチャージ設定は、残高が残り少ない金額(例えば「500円」)や「0円」となった場合に、電子貨幣を自動的に補充(オートチャージ)するか否かの設定であり、端末20のユーザによってオートチャージの設定がなされた場合は「ON」が記憶され、それ以外の場合は「OFF」が記憶される。オートチャージは、限定ではなく例として、端末20のユーザが登録している銀行口座等から行われるようにすることができる。
決済履歴データは、このアプリケーションIDのユーザの決済の履歴に関するデータであり、限定ではなく例として、このアプリケーションIDについて、サーバ10によって決済が行われた日時である決済日時と、決済した店舗のIDである店舗IDと、その店舗IDの店舗の名称である決済店舗名と、決済した金額である決済金額とが関連付けて時系列に記憶される。
なお、上記の決済管理データには、必ずしも上記の全ての情報を記憶させるようにする必要はない。限定ではなく例として、ポイント、1日上限設定金額、オートチャージ設定のうちの一部または全部は、決済管理データに記憶させないようにしてもよい。
また、決済を行う度に、決済履歴の情報を端末20に送信して端末20に記憶させるようにして、サーバ10には決済履歴データを記憶させないようにしてもよい。
コード管理データベース159は、コード(本実施例では端末表示用コード)を管理するためのデータベースであり、そのデータ構成の一例を図4−6に示す。
コード管理データベース159には、限定ではなく例として、決済アプリケーションのアプリケーションIDごとに生成されるデータとして、アプリケーションIDとともに、コード生成日時と、コードNoと、決済用番号とが関連付けて時系列に記憶されたコード管理データが含まれる。
コード生成日時には、時計部19によって計時される情報に基づいて、その端末表示用コードを生成した日時が記憶される。
コードNoには、そのコードを識別するための番号が記憶される。例えば、古い順に通し番号が設定されて記憶される。
決済用番号には、その端末表示用コードを生成する際に発行した決済用番号が記憶される。
コード管理データに記憶される端末表示用コードのデータは、限定ではなく例として、その端末表示用コードを利用して決済処理を行った後、コード管理データから削除するようにすることができる。
なお、上記のように、利用不可となった端末表示用コードのデータをコード管理データから削除するのではなく、限定ではなく例として、端末表示用コードのデータと関連付けて、その端末表示用コードの利用可否を示すフラグ「利用可能/利用不可」を設定する。そして、利用不可となった端末表示用コードについては、フラグを「利用不可」に設定するようにしてもよいし、そのようにしなくてもよい。
また、上記のうち、例えばコード生成日時は、コード管理データに記憶させないようにしてもよい。
また、アプリケーションIDに代えて、または、これに加えて、ユーザ登録データ153に記憶されている端末電話番号等の端末識別情報を、コード管理データに記憶させるようにしてもよいし、しなくてもよい。
(2)端末の機能構成
図4−7は、本実施例において端末20の制御部21により実現される機能の一例を示す図である。
端末20は、制御部21により実現される機能として、決済アプリケーション処理部211を有する。
決済アプリケーション処理部211は、記憶部28に記憶されている決済アプリケーションソフトウェア281に基づいて、決済に関する処理を行うための処理の一例である決済アプリケーション処理を実行する機能を有している。
本実施例において、決済アプリケーション処理部211は、記憶部28に記憶された決済アプリケーションプログラム282に従って、例えば図3−4に示した処理を決済アプリケーション処理として実行する。
本実施例において、決済に関する処理とは、限定ではなく例として、端末表示用コードをサーバ10から取得する処理(端末表示用コードの生成をサーバ10に依頼する処理や、生成された端末表示用コードをサーバ10から受信する処理を含む。)、サーバ10から取得した端末表示用コードをストックする処理、ストックした端末表示用コード画像を表示する処理(コード表示処理)、表示した端末表示用コード画像を店舗コードリーダ装置50に読み取らせるようにユーザに指示(案内)する処理、サーバ10によって決済が行われた後に端末用決済完了通知をサーバ10から受信(取得)する処理などの、決済を行う上で何らかの関連のある処理、より具体的には、決済を行う上で関連のある処理として端末20で実行される処理全般を含む概念である。
決済アプリケーション処理部211は、限定ではなく例として、コード表示処理を実行するコード表示処理部2113を機能部として含む。
本実施例において、コード表示処理部2113は、端末表示用コード画像を含むコード表示画面を表示させる処理を行う他、端末表示用コードストックデータ2831に記憶されている端末表示用コードの数によって特定される「コード残数」に関する情報(以下、「コード残数関連情報」と称する。)を表示させる処理を行う。コード残数関連情報には、種々の情報が含まれるが、これについては詳細に後述する。
本実施例では、端末表示用コードストックデータ2831に記憶されている端末表示用コードの総数を「コード残数」としてカウントすることとして説明する。端末表示用コードストックデータ2831に端末表示用コードが1個も記憶されていない場合は「コード残数=0」となる。
なお、コード残数は、ストックされているコードの数という意味で「ストックコード数」や「ストック数」と表現することもできる。
図4−8は、本実施例における端末20の記憶部28に記憶される情報の一例を示す図である。
記憶部28には、限定ではなく例として、サーバ10からあらかじめダウンロードするなどして取得されるアプリケーションソフトウェアとして、決済アプリケーションソフトウェア281が記憶される。
決済アプリケーションソフトウェア281には、限定ではなく例として、決済アプリケーションプログラム282と、決済アプリケーションデータ283とが含まれる。
決済アプリケーションプログラム282は、制御部21によって読み出され、決済アプリケーション処理として実行されるプログラムであり、限定ではなく例として、コード表示処理として実行されるコード表示処理プログラム2823をサブルーチンプログラムとして含む。
決済アプリケーションデータ283には、決済アプリケーションソフトウェアで用いられる各種のデータが記憶される。この決済アプリケーションデータ283には、限定ではなく例として、端末表示用コードストックデータ2831と、決済用データ2832と、店舗データ2833と、コード残数関連情報表示設定データ2835とが記憶される。
端末表示用コードストックデータ2831には、オンライン状態においてサーバ10から取得した端末表示用コードがストックされたデータであり、そのデータの一例である第1の端末表示用コードストックデータ2831Aのデータ構成例を図4−9に示す。
第1の端末表示用コードストックデータ2831Aには、限定ではなく例として、コード受信日時と、コードNoと、コードデータとが関連付けて時系列に記憶される。
コード受信日時には、限定ではなく例として、端末20がその端末表示用コードをサーバ10から受信した日時が記憶される。
コードNoには、端末20がその端末表示用コードとともにサーバ10から受信したコードNoが記憶される。
コードデータには、限定ではなく例として、端末20がサーバ10から受信した端末表示用コードのコード画像のデータが記憶される。
第1の端末表示用コードストックデータ2831Aに記憶される端末表示用コードのデータは、限定ではなく例として、その端末表示用コードを利用してサーバ10によって決済処理が行われ、サーバ10から端末用決済完了通知を受信した後(オフライン決済を行った場合は、オンライン状態に復帰してサーバ10から端末用決済完了通知を受信した後)、第1の端末表示用コードストックデータ2831Aから削除するようにすることができる。
なお、上記のように、利用不可となった端末表示用コードのデータを端末表示用コードストックデータ2831から削除するのではなく、例えば図4−10の第2の端末表示用コードストックデータ2831Bのように、限定ではなく例として、端末表示用コードのデータと関連付けて、その端末表示用コードの使用状況の情報を関連付けて記憶しておくようにすることもできる。そして、未だ使用していない端末表示用コードには「未使用」を、使用済みの端末表示用コードには「使用済み」をそれぞれ関連付けて記憶させるようにしてもよいし、そのようにしなくてもよい。
また、上記のうち、例えばコード受信日時は、端末表示用コードストックデータ2831(第1の端末表示用コードストックデータ2831Aや第2の端末表示用コードストックデータ2831B)に記憶させないようにしてもよい。
また、コード受信日時に代えて、または、これに加えて、限定ではなく例として、サーバ10から受信した端末表示用コードを端末表示用コードストックデータ2831(第1の端末表示用コードストックデータ2831Aや第2の端末表示用コードストックデータ2831B)に記憶させた日時(以下、「コード記憶日時」と称する。)を記憶させるようにしてもよいし、そのようにしなくてもよい。
また、詳細は後述するが、コードデータには、必ずしも端末表示用コードのコード画像のデータを記憶させなければならないわけではなく、これに代えて、または、これに加えて、端末表示用コードの元情報(本実施例では決済用番号)を記憶させるようにしてもよいし、そのようにしなくてもよい。
また、端末表示用コードストックデータ2831に、オンライン状態においてサーバ10から取得した1個のコードを記憶させることとしてもよいし、そのようにしなくてもよい。
決済用データ2832は、端末20で記憶される決済用のデータであり、その一例である決済用データ2832Aの構成を図4−11に示す。
決済用データ2832Aには、限定ではなく例として、アプリケーションIDと、ポイントと、残高と、1日上限設定金額と、オートチャージ設定と、決済履歴データとが記憶される。
制御部21は、オンライン状態に復帰した後にサーバ10から受信した端末用決済完了通知に基づき、限定ではなく例として、サーバ10によって決済された日時である決済日時と、サーバ10によって決済された店舗のIDである店舗IDと、その店舗IDの店舗の名称である決済店舗名と、サーバ10によって決済された金額である決済金額とを関連付けて決済履歴データに時系列に記憶させる。
店舗データ2833には、限定でなく例として、サーバ10の店舗登録データ155Aに記憶されている各種の店舗情報が記憶される。
店舗データ2833は、限定ではなく例として、決済アプリケーションソフトウェア281のアップデートのタイミングで、サーバ10から最新の店舗情報が端末20に配信されて更新されるようにすることができる。
コード残数関連情報表示設定データ2835は、コード残数関連情報の表示に関する設定(以下、「表示設定」と称する。)の情報が記憶されたデータである。
表示設定には、限定ではなく例として、表示態様の設定が含まれる。また、表示態様には、表示形式や表示位置、表示色といった、各種の表示態様が含まれる。
本実施例では、コード表示処理部2113が、コード残数関連情報の一例として、コード残数(ストック数)がゼロであることを示す「コード残数ゼロ情報」を表示させる。
コード残数ゼロ情報は、コード残数がゼロであることを示す情報、またはコード残数がゼロであることを示唆する情報である。このコード残数ゼロ情報には、限定ではなく例として、端末表示用コードが端末表示用コードストックデータ2831に記憶されていないことを示すメッセージや画像等が含まれる。コード残数関連情報表示設定データ2835には、コード残数ゼロ情報の表示設定の情報が記憶されている。
コード残数ゼロ情報は、第1情報が記憶部に記憶されていないことに関する第2情報の一例であるとともに、第1情報が記憶部に記憶されていないことを端末のユーザに通知する情報の一例である。
また、コード残数ゼロ情報は、ストック数がゼロであるという意味で「ストック数ゼロ情報」と表現することもできる。
また、記憶部28には、限定ではなく例として、端末データ289が記憶される。
端末データ289は、この端末20に関するデータであり、限定ではなく例として、端末電話番号や端末メールアドレス等の端末識別情報や、端末20側での各種の設定情報等がこれに含まれる。
<表示画面例>
図4−12は、本実施例において端末20の表示部24に表示される決済アプリケーションのトップ画面の一例を示す図である。
このトップ画面の構成は、図3−2と同様であり、ここでは、端末20のユーザによって「コードアイコン」がタッチ操作された状態が示されている。
図4−13は、本実施例において端末20の表示部24に表示されるコード表示画面の一例を示す図である。このコード表示画面は、限定ではなく例として、図4−12のように「コードアイコン」がタッチ操作されることで表示される画面であって、端末表示用コードストックデータ2831に端末表示用コードが1個も記憶されていない場合に表示されるコード表示画面の一例である。
このコード表示画面では、限定ではなく例として、コード残数ゼロ情報の一例として、「コード残数がありません 現在利用可能なコードがストックされていません」というメッセージが、「OK」のアイコンとともに表示されている。「OK」のアイコンは、端末20のユーザが、コード残数ゼロ情報を承認する場合に操作するためのアイコンであり、「OK」のアイコンがタッチ操作されると、コード残数ゼロ情報の表示は消去される。
一方、図4−12の決済アプリケーションのトップ画面において「コードアイコン」がタッチ操作された場合であって、端末表示用コードストックデータ2831に端末表示用コードが少なくとも1個記憶されている場合は、限定ではなく例として、図3−3と同様の端末表示用コード画像を含むコード表示画面が表示される。
オフライン決済を行う場合、端末20のユーザは、上記の端末表示用コード画像を含むコード表示画面をコードレジ60で店舗の店員に提示し、端末表示用コード画像を店舗コードリーダ装置50で読み取ってもらうことで決済を行う。この場合、店舗コードリーダ装置50は、限定ではなく例として、読み取った端末表示用コード画像からデコードによって取得した情報(この例では決済用番号)や、端末表示用コード画像を読み取った時刻の情報等を含む決済要求情報をサーバ10に送信して、サーバ10に決済を行わせる。
上記の表示画面例では、端末20のユーザが、オンライン状態/オフライン状態のいずれであるかを意識することなく、例えばコードアイコンをタッチすることでコード表示画面を表示させることができるため、ユーザの利便性を向上させることができる。
なお、端末20でストックされる端末表示用コードは、オフライン決済のみならず、オンライン決済にも使用可能とすることができる。つまり、端末20側でオフライン状態であるか否かを判定(検出)することは必須ではなく、オンライン状態/オフライン状態を問わず、端末20でストックされる端末表示用コードを用いて決済を行うようにすることが可能である。
<処理>
図4−14は、本実施例において、端末20のコード表示処理部2113が、コード表示処理プログラム2823の一例である第1のコード表示処理プログラムに従って実行する第1のコード表示処理の流れの一例を示すフローチャートである。この第1のコード表示処理は、限定ではなく例として、図3−4の処理のA250のステップで実行される。
ここで、図3−4の処理では、A290の後、処理が終了するように示しているが、実際には、処理はループされる。
具体的には、限定ではなく例として、A290の後、端末20のユーザによるコード取得操作を検出した場合、制御部21は、A110に処理を戻す。一方、A290の後、端末20のユーザによるコード表示操作を検出した場合、制御部21は、A250に処理を戻す。
前述したように、端末表示用コードストックデータ2831に記憶される端末表示用コードのデータは、限定ではなく例として、その端末表示用コードを利用してサーバ10によって決済処理が行われ(C170)、A290においてサーバ10から端末用決済完了通知を受信した後(オフライン決済を行った場合は、オンライン状態に復帰してサーバ10から端末用決済完了通知を受信した後)、端末表示用コードストックデータ2831から削除される。従って、A290の後にA250に処理を戻した場合、ストックされている端末表示用コードを使い切ってしまっており、コード残数がゼロとなっている場合がある。
第1のコード表示処理では、コード表示処理部2113は、コード残数をカウントする(D110)。そして、コード表示処理部2113は、カウントしたコード残数がゼロであるか否かを判定する(D120)。
コード残数がゼロであると判定した場合(D120:YES)、コード表示処理部2113は、コード残数関連情報表示設定データ2835に記憶されているコード残数ゼロ情報の表示設定を取得する(D130)。
その後、コード表示処理部2113は、D130で取得した表示設定(例えば、表示態様の設定を含む。)に基づいて、コード残数ゼロ情報を含むコード表示画面を表示部24に表示させる(D140)。
その後、コード表示処理部2113は、第1表示終了条件が成立したか否かを判定する(D180)。第1表示終了条件は、例えば、端末20のユーザによるコード残数ゼロ情報の承認操作を検出したことや、端末20のユーザによるコード表示画面の非表示操作を検出したこと等であってもよいし、そうでなくてもよい。
第1表示終了条件が成立しないと判定した場合(D180:NO)、コード表示処理部2113は、そのまま待機する。一方、第1表示終了条件が成立したと判定した場合(D180:YES)、コード表示処理部2113は、第1のコード表示処理を終了する。
一方、コード残数がゼロではないと判定した場合(D120:NO)、コード表示処理部2113は、端末表示用コードストックデータ2831に記憶されている端末表示用コードのコード画像(例えば、取得が最も古い端末表示用コードのコード画像)を含むコード表示画面を表示部24に表示させる(D150)。
その後、コード表示処理部2113は、第2表示終了条件が成立したか否かを判定する(D190)。第2表示終了条件は、例えば、端末20のユーザによるコード表示画面の非表示操作を検出したことや、前述したコード表示期限が経過したこと等であってもよいし、そうでなくてもよい。
第2表示終了条件が成立しないと判定した場合(D190:NO)、コード表示処理部2113は、そのまま待機する。一方、第2表示終了条件が成立したと判定した場合(D190:YES)、コード表示処理部2113は、第1のコード表示処理を終了する。
なお、前述したように、本開示の手法は、端末20で端末表示用コードがストックされていれば適用可能である。このため、上記の第1のコード表示処理は、オンライン状態/オフライン状態を問わず、同様に適用することができる。
<コード>
上記の処理では、端末20が、端末表示用コード画像の生成をサーバ10に依頼することとし、サーバ10によって生成された端末表示用コード画像が、端末20に送信される例を示したが、これに限定されない。例えば、端末20が、元情報(この例では決済用番号)の生成をサーバ10に依頼することとし、サーバ10によって生成された元情報が、端末20に送信されるようにしてもよいし、そのようにしなくてもよい。
具体的には、図3−1の処理では、A110において、制御部21は、元情報(この例では決済用番号)の生成をサーバ10に依頼するコード生成依頼情報を送信する。そして、このコード生成依頼情報に基づき、C120において、制御部11は元情報を生成し、C130において、生成した元情報を端末20に送信する。A130において元情報をサーバ10から受信すると、制御部21は、受信された元情報(この例では決済用番号)に基づいて端末表示用コード画像を生成する。そして、制御部21は、生成した端末表示用コード画像を表示部24に表示させる。
同様に、図3−4の処理では、A130において元情報(この例では決済用番号)をサーバ10から受信すると、A240において、制御部21は、受信された元情報(この例では決済用番号)を端末表示用コードストックデータ2831に記憶させる。そして、制御部21は、ストックされている元情報を端末表示用コードストックデータ2831から読み出し、読み出した元情報に基づいて端末表示用コード画像を生成する。そして、A250において、制御部21は、生成した端末表示用コード画像を表示部24に表示させる。
また、上記とは異なり、端末20が、端末表示用コード画像の生成をサーバ10に依頼し、サーバ10によって生成された端末表示用コード画像が端末20に送信されるが、端末20側では、サーバ10から受信した端末表示用コード画像をストックするのではなく、サーバ10から受信した端末表示用コード画像からデコードによって取得した元情報をストックするようにしてもよいし、そのようにしなくてもよい。
<第1実施例の効果>
第1実施例は、端末20が、サーバ10から送信された端末表示用コードのコード画像や元情報(限定ではなく、第1情報の一例)を、通信I/F22を介して受信する。そして、端末20は、受信された端末表示用コードのコード画像や元情報を、制御部21によって記憶部28の端末表示用コードストックデータ2831に記憶する。
また、端末20は、記憶された端末表示用コードのコード画像や元情報に基づく端末表示用コード画像(限定ではなく、第1コード画像の一例)を、コード表示画面(限定ではなく、端末の表示領域の一例)に表示する。
また、端末20は、端末表示用コード画像のコード表示画面への表示に基づき、サーバ10によって決済が行われた後に端末用決済完了通知をサーバ10から受信(取得)する処理(限定ではなく、決済に関する処理の一例)を実行する。
そして、端末20は、端末用決済完了通知を受信した後、端末表示用コードのコード画像や元情報が端末表示用コードストックデータ2831に記憶されていない場合に、コード残数ゼロ情報(限定ではなく、第2情報の一例)を表示する構成を示している。
このような構成により得られる効果の一例として、決済に関する処理に基づき、第1情報が記憶部に記憶されていないことに関する第2情報を端末の表示領域に表示することで、第1情報が記憶されていないことをユーザに報知することができ、ユーザの利便性を向上させることができる。
また、第1実施例は、端末20が、プログラムを記憶するメモリから決済アプリケーションプログラム282を読み出し、読み出した決済アプリケーションプログラム282に基づく決済アプリケーション処理を実行するプロセッサーを備える。そして、プロセッサーは、サーバ10から送信された端末表示用コードのコード画像や元情報(限定ではなく、第1情報の一例)を、通信I/F22を介して受信することと、受信された端末表示用コードのコード画像や元情報を、記憶部28の端末表示用コードストックデータ2831に記憶することと、記憶された端末表示用コードのコード画像や元情報に基づく端末表示用コード画像(限定ではなく、第1コード画像の一例)を、コード表示画面(限定ではなく、端末の表示領域の一例)に表示することと、端末表示用コード画像のコード表示画面への表示に基づき、サーバ10による決済完了後に、端末用決済完了通知をサーバ10から受信する処理(限定ではなく、決済に関する処理の一例)を実行することと、端末用決済完了通知を受信した後、端末表示用コードのコード画像や元情報が端末表示用コードストックデータ2831に記憶されていない場合に、コード残数ゼロ情報(限定ではなく、第2情報の一例)を表示することとを実行する構成を示している。
このような構成によっても、上記と同様の効果を得ることができる。
また、第1実施例は、端末表示用コードストックデータ2831には、複数の端末表示用コードのコード画像や元情報が記憶される。そして、コード残数ゼロ情報は、端末表示用コードストックデータ2831に記憶された複数の端末表示用コードのコード画像や元情報の数(コード残数)に対する条件の判定結果に基づいて、コード表示画面に表示される構成を示している。
このような構成により得られる効果の一例として、複数の第1情報を端末の記憶部に記憶させておくことができるため、ユーザの利便性を向上させることができる。また、記憶部に記憶された複数の第1情報に基づいて、適切なタイミングで第2情報が端末の表示領域に表示されるようにすることができる。
また、第1実施例は、コード残数ゼロ情報(限定ではなく、第2情報の一例)は、端末表示用コードのコード画像や元情報が端末表示用コードストックデータ2831に記憶されていないことを端末20のユーザに通知する情報である構成を示している。
このような構成により得られる効果の一例として、第1情報が記憶部に記憶されていないことを端末のユーザに通知することができるため、ユーザの利便性を向上させることができる。
<第1変形例(1)>
第1実施例において、緊急時に利用可能な端末表示用コード画像として、少なくとも1個の端末表示用コード画像が端末表示用コードストックデータ2831に記憶されるようにすることもできる。この場合は、限定ではなく例として、端末表示用コードストックデータ2831において、緊急時用の端末表示用コードには、緊急時用であることを示すフラグを関連付けて設定しておくようにすることができる。
また、この場合、緊急時用の端末表示用コードは、例えば端末20のユーザが選択操作を行って、端末20に設定させるようにすることができる。限定ではなく例として、決済アプリケーション内で、端末表示用コードストックデータ2831に記憶されている端末表示用コードの一覧を表示させる。そして、緊急時用としたい端末表示用コードをユーザに選択(例えばタッチ操作によって選択)させ、選択された端末表示用コードに関連付けて緊急時用であることを示すフラグを設定するようにすることができる。
なお、複数(2以上)の端末表示用コードを、緊急時用の端末表示用コードとして設定可能としてもよいし、そのようにしなくてもよい。
また、この場合、複数(2以上)の端末表示用コードを緊急時用の端末表示用コードとしてユーザに選択させるようにしてもよいし、そのようにしなくてもよい。
この場合、上記のD110のコード残数のカウントでは、緊急時用であることを示すフラグが設定された端末表示用コード画像をコード残数のカウントから除外して、コード残数(ストック数)がゼロであるか否かを判定するようにすることができる。
本変形例は、端末表示用コードストックデータ2831に記憶される端末表示用コードのコード画像や元情報のうち、緊急時に利用可能なものを除き、端末表示用コードストックデータ2831に端末表示用コードのコード画像や元情報が記憶されていない場合、コード残数ゼロ情報がコード表示画面に表示される構成を示している。
このような構成により得られる効果の一例として、緊急時に利用可能な第1情報を確保しつつ、第1情報が記憶されていないことをユーザに報知することができ、ユーザの利便性を向上させることができる。
<第1変形例(2)>
第1実施例において、コード表示画面に表示される端末表示用コードは、コード残数のカウントから除外するようにしてもよいし、そのようにしなくてもよい。
具体的には、限定ではなく例として、端末表示用コードストックデータ2831に記憶されている端末表示用コードから1個の端末表示用コードを読み出して表示する際に、その端末表示用コードのデータを記憶部28のアクティブな記憶領域(以下、「アクティブ記憶領域」と称する。)に保存して、端末表示用コードストックデータ2831からは削除する。その後、端末表示用コードストックデータ2831に記憶されている端末表示用コードの総数をコード残数としてカウントする。このようにすることで、コード表示画面に表示される端末表示用コードは、コード残数のカウントから除外される。
図4−15は、本変形例におけるコード表示画面の一例を示す図である。
このコード表示画面は、限定ではなく例として、図4−12のように「コードアイコン」がタッチ操作されることで表示される画面であって、端末表示用コードストックデータ2831に端末表示用コードが1個記憶されている場合に表示されるコード表示画面の一例である。
このコード表示画面には、アクティブ記憶領域に記憶された端末表示用コードのコード画像として、バーコードで表される一次元の端末表示用コード画像と、QRコードで表される二次元の端末表示用コード画像QC1とが、表示画面内の異なる領域にそれぞれ表示されている。また、限定ではなく例として、一次元の端末表示用コード画像の下には、12桁の決済用番号が表示されている。
また、このコード表示画面の下部には、コード残数ゼロ情報の一例として、「表示中のコード以外に、利用可能なコードがありません。」というメッセージが表示されている
このような表示を行うことで、端末は、表示領域に表示している第1情報以外に第1情報が記憶部に記憶されていないことを、端末のユーザに報知することができる。
<第1変形例(3)>
第1実施例では、本開示における「第1情報(コード情報)」を、決済用番号や、決済用番号を含む端末表示用コード画像としたが、これに限定されない。例えば、認証情報の一種であるトークンや、トークンを含む端末表示用コード画像を、本開示における「第1情報(コード情報)」とすることもできる。
この場合、決済用番号を端末表示用コード画像に含めるのではなく、限定ではなく例として、ランダムなトークンを発生させる手法(アルゴリズム)を用いて発行したトークンを端末表示用コード画像に含めるようにしてもよいし、そのようにしなくてもよい。この場合は、サーバ10側で、端末20、または端末20のユーザを識別するための識別情報と、発行したトークンとを関連付けて記憶部15のコード管理データベース159のコード管理データに記憶させておくようにすればよい。
「トークン」は、限定ではなく例として、サーバ10が、端末20、または端末20のユーザが、正規の端末20、または正規の端末20のユーザであることを認証するための認証情報の一種である。「認証情報」は、認証局が発行する情報であり、上記のトークンは、サーバ10が認証局となって、端末20、または端末20のユーザを認証するために発行する認証情報として機能する。
なお、トークンは、例えば、「ランダムトークン」、「アクセストークン」、「決済用トークン」などのように表現することもできる。トークンは、上記のようにランダムに発行されるため、端末表示用コードが生成される毎に異なるトークンとなる。このため、トークンは、いわばワンタイムパスワードとして機能する。
また、決済用番号やトークンの他に、端末表示用コード画像を読み取った店舗コードリーダ装置50が、サーバ10が提供するウェブサイトやウェブページにアクセスするためのアクセス情報の一例として、サーバ10が提供するウェブページの一種である決済用ページにアクセスするためのURL(Uniform Resource Locator)等の情報を含めるようにしてもよいし、そのようにしなくてもよい。
<第1変形例(4)>
第1実施例において、端末20が端末表示用コード画像を表示部24に表示させる場合に、限定ではなく例として、制御部21が、表示した端末表示用コード画像を店舗コードリーダ装置50に読み取らせるようにユーザに指示(案内)する処理を行うようにしてもよいし、そのようにしなくてもよい。この処理は、決済に関する処理の一例である。
具体的には、限定ではなく例として、端末表示用コード画像を表示するコード表示画面において、端末表示用コード画像を表示させる領域とは異なる領域に、「表示されているコード画像を店舗のコードリーダで読み取ってもらってください。」といったメッセージを表示させるようにすることができる。
<第1変形例(5)>
第1実施例では、コード残数がゼロの場合に、コード残数ゼロ情報を表示させることとしたが、これに限定されない。例えば、コード残数が一定数(例えば「1個」〜「3個」のいずれかの数)以下または未満となった場合に、端末20が、コード残数が不足していることを示す情報、またはコード残数が不足していることを示唆する情報を表示部24に表示させるようにしてもよいし、そのようにしなくてもよい。
<第1変形例(6)>
第1実施例で説明した決済アプリケーションの表示画面は、あくまでも一例に過ぎず、適宜設計変更可能である。例えば、決済アプリケーションのトップ画面に、前述した「コードアイコン」とは別に、「コード(オフライン)」と示された「コード(オフライン)アイコン」を表示させる。そして、端末20がオンライン状態であると判定した場合は、「コードアイコン」が操作された場合に端末表示用コードを表示させるようにし、端末20がオフライン状態であると判定した場合は、「コード(オフライン)アイコン」が操作された場合に端末表示用コードを表示させるようにしてもよいし、そのようにしなくてもよい。
<第1変形例(7)>
図3−4の処理のA130において、端末20がサーバ10から端末表示用コードを受信したタイミングで、A240およびA250の処理を行って、端末表示用コードを表示部24に表示させるようにしてもよいし、そのようにしなくてもよい。
この場合、限定ではなく例として、決済アプリケーションのトップ画面(例えば図3−2)においてコードアイコンがタッチ操作された後、そのまま端末表示用コードのコード表示画面に表示が切り替わるようにすることができる。
<第2実施例>
第2実施例は、コード残数関連情報の別例として、コード残数を示す情報、またはコード残数を示唆する情報(以下、包括的に「コード残数情報」と称する。)を端末20の表示部24に表示させる実施例である。
第2実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
本実施例におけるコード残数情報には、限定ではなく例として、
・コード残数を数字で表したもの
・コード残数を色の違いで表したもの
・コード残数を色の濃さで表したもの
・コード残数を大きさで表したもの
・コード残数を画像で表したもの
の少なくとも一つ、またはこれらの組み合わせなどを含めることができる。
また、コード残数を画像で表したものには、限定ではなく例として、
・コード残数をマークやアイコン、絵等で表したもの
・コード残数をゲージで表したもの(ゲージ形式)
・コード残数をカードで表したもの(カード形式)
・コード残数をグラフで表したもの(グラフ形式)
の少なくとも一つ、またはこれらの組み合わせなどを含めることができる。
例えば、図4−12の決済アプリケーションのトップ画面において「コードアイコン」がタッチ操作された場合であって、端末表示用コードストックデータ2831に端末表示用コードが少なくとも1個記憶されている場合、コード表示処理部2113は、限定ではなく例として、以下のようなコード表示画面を表示させるようにすることができる。
<表示画面例>
図5−1は、本実施例におけるコード表示画面の一例を示す図である。
このコード表示画面では、一次元の端末表示用コードが表示される領域の上に、コード残数を画像で表したコード残数情報の一例として、カウントされたコード残数分の、例えば矩形で表されるコード残数画像が表示されている。この表示例では、コード残数が5個であるため、5個のコード残数画像が並べて表示されている。この表示例では、コード残数を端末20のユーザが一見して把握することができる。
図5−2は、本実施例におけるコード表示画面の別例を示す図である。
このコード表示画面では、一次元の端末表示用コードが表示される領域の上に、コード残数を画像と数字の組み合わせで表したコード残数情報の一例として、二次元コードの画像と、コード残数を示す数字「×1,×2,×3,・・・」とを組み合わせた情報が表示されている。この表示例でも、コード残数を端末20のユーザが一見して把握することができる。
図5−3は、本実施例におけるコード表示画面の別例を示す図である。
このコード表示画面では、一次元の端末表示用コードが表示される領域の上に、コード残数を画像で表したコード残数情報の一例として、横方向に構成されたゲージで表されるコード残数ゲージが表示されている。
コード残数ゲージは、複数の領域に分割されており、コード残数に相当する数の領域に色が付されて表示されている。この表示例では、コード残数ゲージが5つの領域に分割されており、コード残数が「4個」とカウントされたことで、左から4つ分の領域に色が付されて表示されている。この表示例でも、コード残数を端末20のユーザが一見して把握することができる。
図5−4は、本実施例におけるコード表示画面の別例を示す図である。
このコード表示画面では、図5−3と同様に、一次元の端末表示用コードが表示される領域の上に、コード残数ゲージが表示されている。この表示例では、コード残数が「5個」とカウントされたことで、左から5つ分の領域(全ての領域)に色が付されて表示されている。また、コード残数ゲージの右側には、コード残数が満タンであることを示す「FULL」の文字が表示されている。
図5−5は、本実施例におけるコード表示画面の別例を示す図である。
このコード表示画面では、一次元の端末表示用コードが表示される領域の上に、コード残数を画像で表したコード残数情報の一例として、顔の画像で表されるコード残数マークが表示されている。この表示例では、コード残数に関わらず同じ表情(例えば笑顔)のコード残数マークが表示されるが、コード残数に応じてその色(顔の色)が異なるように表示される。具体的には、限定ではなく例として、コード残数が少ないほど色が濃くなり、逆に、コード残数が多いほど色が薄くなるように表示される。
なお、コード残数マークの色の濃さを変えるのではなく、コード残数マークの色を変えるようにしてもよいし、そのようにしなくてもよい。
例えば、コード残数が最も少ない状態を「赤色」、コード残数が最も多い状態を「青色」とし、「赤色→橙色→黄色→緑色→青色」のようにコード残数マークの色を変化させて表示するようにしてもよいし、そのようにしなくてもよい。
図5−6は、本実施例におけるコード表示画面の別例を示す図である。
このコード表示画面では、上記のコード表示画面と同様に、一次元の端末表示用コードが表示される領域の上に、顔の画像で表されるコード残数マークが表示されるが、この表示例では、コード残数に応じて異なる表情のコード残数マークが表示される。具体的には、限定ではなく例として、コード残数が多いほど表情が明るくなり、逆に、コード残数が少ないほど表情が暗くなるように表示される。
なお、図5−5の態様と、図5−6の態様とを組み合わせた態様で、コード残数マークを表示させるようにすることもできる。つまり、コード残数に応じて異なる表情、かつ、異なる顔の色のコード残数マークが表示されるようにすることもできる。
<処理>
図5−7は、本実施例において、端末20のコード表示処理部2113が、コード表示処理プログラム2823の一例である第2のコード表示処理プログラムに従って実行する第2のコード表示処理の流れの一例を示すフローチャートである。この第2のコード表示処理は、限定ではなく例として、図3−4の処理のA250のステップで実行される。
なお、第1のコード表示処理(図4−14)と同一のステップについては同一の符号を付して、再度の説明を省略する。
図5−7の処理は、第1のコード表示処理(図4−14)のD110の後の処理を書き換えたものである。
D110の後、コード表示処理部2113は、コード残数関連情報表示設定データ2835に記憶されているコード残数情報の表示設定を取得する(E130)。その後、コード表示処理部2113は、E130で取得した表示設定(例えば表示態様の設定を含む。)に基づいて、コード残数情報と、端末表示用コード画像とを含むコード表示画面を表示部24に表示させる(E140)。
その後、コード表示処理部2113は、第3表示終了条件が成立したか否かを判定する(E190)。第3表示終了条件は、例えば、端末20のユーザによるコード表示画面の非表示操作を検出したことや、前述したコード表示期限が経過したこと等であってもよいし、そうでなくてもよい。
第3表示終了条件が成立しないと判定した場合(E190:NO)、コード表示処理部2113は、そのまま待機する。一方、第3表示終了条件が成立したと判定した場合(E190:YES)、コード表示処理部2113は、第2のコード表示処理を終了する。
<第2実施例の効果>
第2実施例は、端末表示用コードのコード画像や元情報(限定ではなく、第1情報の一例)が端末表示用コードストックデータ2831に記憶されている数、つまりコード残数(ストック数)を示すコード残数情報(限定ではなく、第1情報が記憶部に記憶されている数に関する情報の一例)をコード表示画面に表示する構成を示している。
このような構成により得られる効果の一例として、端末は、第1情報が記憶部に記憶されている数に関する情報を表示領域に表示することで、第1情報が記憶部に記憶されている数をユーザに報知することができる。
また、この場合、第1実施例で示したコード残数ゼロ情報は、コード残数情報のうち、端末表示用コードストックデータ2831に記憶された端末表示用コードのコード画像や元情報の数がゼロであることを示す情報である構成を示している。
このような構成により得られる効果の一例として、端末は、第1情報が記憶部に記憶されている数とともに、記憶部に記憶された第1情報の数がゼロであることをユーザに報知することができる。
また、第2実施例は、コード残数情報は、端末表示用コードストックデータ2831に記憶された端末表示用コードのコード画像や元情報の数に基づいて表示態様を異ならせて表示される構成を示している。
このような構成により得られる効果の一例として、端末は、記憶部に記憶された第1情報の数をユーザが容易に把握可能(一見して把握可能)に表示することができる。
また、第2実施例は、端末20は、端末表示用コード画像をコード表示画面に表示することに基づき、コード残数情報の表示態様を変更する制御を制御部21によって実行する構成を示している。
このような構成により得られる効果の一例として、端末は、第1コード画像を表示領域に表示することに基づき、数に関する情報の表示態様を変更する制御を行うことで、第1コード画像の表示に応じて、記憶部に記憶された第1情報の数を適切にユーザに報知することができる。
<第2変形例(1)>
第2実施例において、コード残数が比較的多い場合、コード残数情報の表示方法によっては、コード残数情報を画面内に表示しきれなかったり、見栄えが悪くなる可能性がある。そこで、表示するコード残数情報の上限数を設定するようにしてもよいし、そのようにしなくてもよい。
また、この場合、コード残数が上限数を超えている場合、コード残数が上限数と同数である場合と同じ態様で、コード残数情報を表示するようにしてもよいし、そのようにしなくてもよい。例えば、上限数を「5個」と設定するのであれば、コード残数が5個を超えている場合、コード残数が5個である場合と同じ態様で、コード残数情報を表示させるようにすることができる。
例えば、前述した図5−4のコード表示画面は、コード残数が「5個」の場合であり、コード残数ゲージの5つの領域(全ての領域)に色が付されて表示されるとともに、コード残数ゲージの右側に「FULL」の文字が表示されている。この場合、コード残数が5個を超える場合にも、図5−4のコード表示画面と同じ態様でコード残数情報を表示するようにしてもよいし、そのようにしなくてもよい。
また、これとは異なり、コード残数が5個の場合は、コード残数ゲージの5つの領域(全ての領域)に色を付して表示するが「FULL」の文字は表示させないようにし、コード残数が5個を超える場合に「FULL」の文字を表示させるようにしてもよいし、そのようにしなくてもよい。
また、ここでは、図5−3、図5−4のゲージ形式でコード残数情報を表示する場合を例示したが、他の方式でコード残数情報を表示する場合も同様である。
具体的には、例えば、コード残数を数字で表すのであれば、コード残数が上限数を超えている場合の数字を、コード残数が上限数と同数である場合と同じ数字で表すようにすればよい。
また、例えば、コード残数を色の濃さで表すのであれば、コード残数が上限数を超えている場合の色の濃さを、コード残数が上限数と同数である場合と同じ色の濃さで表すようにすればよい。
<第2変形例(2)>
第1変形例(2)で説明したように、コード表示画面に表示される端末表示用コードは、コード残数のカウントから除外するようにすることもできる。
この場合は、前述したように、端末表示用コードストックデータ2831に記憶されている端末表示用コードから1個の端末表示用コードを読み出して表示する際に、その端末表示用コードのデータを記憶部28のアクティブ記憶領域に移して、端末表示用コードストックデータ2831から削除する。
その後、端末表示用コードストックデータ2831に記憶されている端末表示用コードの総数をコード残数としてカウントする。このようにすることで、コード表示画面に表示される端末表示用コードは、コード残数のカウントから除外される。そして、このようにしてカウントされたコード残数に基づき、例えば図5−1〜図5−6に示したような態様でコード残数情報が表示されるようにすることができる。
<第2変形例(3)>
第1実施例で説明したコード残数ゼロ情報の表示と、第2実施例で説明したコード残数情報の表示とを組み合わせた処理を実行するようにしてもよいし、そのようにしなくてもよい。
図5−8は、本変形例において、端末20のコード表示処理部2113が、コード表示処理プログラム2823の一例である第3のコード表示処理プログラムに従って実行する第3のコード表示処理の流れの一例を示すフローチャートである。この第3のコード表示処理は、限定ではなく例として、図3−4の処理のA250のステップで実行される。
なお、既出の処理と同一のステップについては同一の符号を付して、再度の説明を省略する。
図5−8の処理は、第1のコード表示処理(図4−14)と、第2のコード表示処理(図5−7)とを組み合わせたものである。
D110の後、カウントしたコード残数がゼロであると判定した場合(D120:YES)、コード表示処理部2113は、D130〜D180の処理を行った後、第3のコード表示処理を終了する。
一方、カウントしたコード残数がゼロではないと判定した場合(D120:NO)、コード表示処理部2113は、E130〜E190の処理を行った後、第3のコード表示処理を終了する。
<第2変形例(4)>
サーバ10によって生成される端末表示用コードに、その端末表示用コードを利用して決済を行うことのできる期限(以下、「コード有効期限」と称する。)を設定しておき、このコード有効期限の情報を端末20のユーザが認識可能な態様で表示させるようにすることもできる。
コード有効期限は、生成した端末表示用コード毎にサーバ10側で管理される期限とすることができる。例えば、サーバ10が端末表示用コードを生成した日時を「コード生成日時」とし、サーバ10によって設定されるコードの有効時間を「コード有効時間」とする。この場合、限定ではなく例として、「コード生成日時からコード有効時間が経過するまでの期間」がコード有効期限として設定される。
図5−9は、本変形例において各装置が実行する処理の流れの一例を示すフローチャートである。左側から順に、端末20の制御部21が実行する処理、店舗コードリーダ装置50の制御部51が実行する処理、サーバ10の制御部11が実行する処理の一例をそれぞれ示している。
図5−9のフローチャートは、図3−4のフローチャートを一部書き換えたものである。図3−4のフローチャートとは、限定ではなく例として、A330〜A350、B350、B360、C320、C330、C370等のステップが異なる。
この処理では、一例として、端末20、または端末20のユーザを識別するための識別情報を、前述したアプリケーションIDとして説明する。
C110の後、サーバ10の制御部11は、端末表示用コード生成処理を行う(C320)。具体的には、限定ではなく例として、所定の桁数(例えば10桁〜12桁程度の桁数)のランダムな数字を発生させる手法(アルゴリズム)を用いて、所定の桁数のランダムな数字を決済用番号として発生させる。そして、限定ではなく例として、少なくとも決済用番号を元情報として含む端末表示用コード画像を生成する。より具体的には、少なくとも決済用番号をエンコード(符号化)し、図形化(画像化)して、二次元コード(例えばQRコード)の画像で表される端末表示用コード画像を生成する。
また、制御部11は、コード管理データベース159のうち、受信されたコード生成依頼情報に含まれるアプリケーションIDのコード管理データに、限定ではなく例として、時計部19の計時情報に基づくコード生成日時と、コードNoと、発生させた決済用番号と、生成した端末表示用コードについて設定したコード有効期限とを関連付けて記憶させる。
次いで、制御部11は、限定ではなく例として、コードNoとともに、生成した端末表示用コード(この例では端末表示用コード画像)と、その端末表示用コードについて設定したコード有効期限とを、通信I/F14によって端末20に送信する(C330)。
通信I/F22によってサーバ10から端末表示用コード(この例では端末表示用コード画像)と、コード有効期限とを受信すると(A330)、端末20の制御部21は、受信された端末表示用コード(この例では端末表示用コード画像)をストックする(A340)。具体的には、受信された端末表示用コードのコードデータと、受信されたコード有効期限とを、コード受信日時やコードNoと関連付けて、端末表示用コードストックデータ2831に記憶させる。
オフライン状態において、限定ではなく例として、端末20のユーザによってコード表示操作がなされると、コード表示処理部2113が、コード表示処理を行う(A350)。
具体的には、コード表示処理部2113は、限定ではなく例として、端末表示用コードストックデータ2831に記憶されている端末表示用コードのコードデータを読み出して、端末表示用コード画像を含むコード表示画面を表示部24に表示させる。この際、コード表示処理部2113は、限定ではなく例として、コード残数情報と、コード有効期限の情報とを関連付けてコード表示画面に表示させる。
その後、表示部24に表示された端末表示用コード画像が端末20のユーザによって店舗の店員等に提示されると、制御部51は、端末20の表示部24に表示された端末表示用コード画像を、コードリーダ58に読み取らせる制御を行う(B350)。
その後、制御部51は、前述したアプリケーションインターフェイス(API)等を用いて通信I/F54によってサーバ10にアクセスし、少なくとも、読み取った端末表示用コード画像からデコードによって取得した決済用番号と、店舗識別情報と、決済予定金額と、端末表示用コード画像を読み取った時刻(以下、「コード読み取り時刻」と称する。)とを含む決済要求情報を、通信I/F54によってサーバ10に送信する(B360)。
店舗コードリーダ装置50から通信I/F14によって決済要求情報を受信すると(C160)、制御部11は、決済処理を行う(C370)。
具体的には、受信された決済要求情報に含まれる決済用番号が、アプリケーションIDと関連付けてコード管理データベース159に記憶されているか否かを判定する。そして、記憶されていると判定した場合、受信された決済要求情報に含まれるコード読み取り時刻が、そのアプリケーションIDのコード管理データにおける、その決済用番号と関連付けて記憶されているコード有効期限内であるか否かを判定する。そして、この条件を満たす場合は「決済可能」と判定し、決済管理データベース157Aのうち、そのアプリケーションIDの決済管理データに記憶されている残高から決済予定金額を減算して決済する。
図5−10は、本変形例におけるコード表示画面の一例を示す図である。このコード表示画面は、限定ではなく例として、図5−9の処理のA350で表示される。
このコード表示画面では、図5−1のコード表示画面と同様に、一次元の端末表示用コードが表示される領域の上に、カウントされたコード残数分の、例えば矩形で表されるコード残数画像が表示されている。ただし、図5−1のコード表示画面とは異なり、それぞれの端末表示用コードに対応するコード残数画像の色の濃さが、対応する端末表示用コードに関連付けられたコード有効期限に基づく濃さで表示されている。
この場合、コード表示処理部2113は、限定ではなく例として、コード有効期限の残り時間が短い端末表示用コードに対応するコード残数画像ほど、色を薄くして表示させる。逆に、コード有効期限の残り時間が長い端末表示用コードに対応するコード残数画像ほど、色を濃くして表示させる。
なお、コード有効期限に基づいてコード残数画像の色の濃さを変えるのではなく、コード有効期限に基づいてコード残数画像の色を変えるようにしてもよいし、そのようにしなくてもよい。例えば、コード有効期限の残り時間が短い順に「赤色→橙色→黄色→緑色→青色」のようにコード残数画像の色を変えるようにすることができる。
このようにすることで、端末は、記憶部に記憶されている第1情報(コード情報)の数とともに、それぞれの第1情報(コード情報)に関連付けられている有効期限の情報(例えば有効期限の残り時間)を端末のユーザに報知することができる。
この手法は、例えば、端末表示用コードを時間をずらしてサーバ10から取得した場合や、端末表示用コードを時間をずらしてサーバ10から補充したような場合に、それぞれの端末表示用コードの有効期限の情報を端末のユーザが一見して把握可能となるため、有用である。
なお、上記の処理では、サーバ10から、端末表示用コードと、コード有効期限(限定ではなく、有効期限に関する情報の一例)とが端末20に送信され、これを端末20で受信することとしたが、これに限定されない。
具体的には、限定ではなく例として、端末20の決済アプリケーションデータ283に、あらかじめコード有効時間を記憶させておく。そして、限定ではなく例として、コード生成日時(限定ではなく、有効期限に関する情報の一例)がサーバ10から送信されるようにし、端末20が、サーバ10からコード生成日時を受信するようにしてもよいし、そのようにしなくてもよい。この場合、端末20は、受信されたコード生成日時と、決済アプリケーションデータ283に記憶されているコード有効時間とに基づいて、コード有効期限を特定することができる。
また、コード有効期限が開始する日時をコード生成日時とするのではなく、サーバ10から端末20に端末表示用コードが送信された日時(以下、「コード送信日時」と称する。)とすることもできる。この場合、端末20は、限定ではなく例として、コード送信日時と、決済アプリケーションデータ283に記憶されているコード有効時間とに基づいて、コード有効期限を特定することができる。
また、この他にも、限定ではなく例として、コード有効期限が終了する日時の情報が、有効期限に関する情報としてサーバ10から端末20に送信されるようにする。そして、端末20が、コード有効時間と、受信されたコード有効期限が終了する日時とに基づいて、コード有効期限を特定するようにすることもできる。
また、端末表示用コードに関連付けられたコード有効期限はサーバ10から端末20に送信されないようにし、端末20側では、サーバ10で設定されたコード有効期限が分からないようにしてもよい。この場合、端末表示用コードストックデータ2831には、コード有効期限を記憶させず、限定ではなく例として、コード受信日時と、コードNoと、コードデータとを関連付けて記憶させるようにすることができる。
また、この場合、端末20側で、仮のコード有効期限(以下、「仮コード有効期限」と称する。)を設定するようにしてもよいし、そのようにしなくてもよい。具体的には、限定ではなく例として、「コード受信日時(またはコード記憶日時)からコード有効時間が経過するまでの期間」を仮コード有効期限として設定するようにしてもよいし、そのようにしなくてもよい。
<第3実施例>
第2実施例では、コード表示画面にコード残数情報を表示させたが、前述したように、コード残数のカウント方法には2通りがある。このため、ユーザにとっては、コード表示画面に表示されている端末表示用コードが、コード残数情報から認識されるコード残数に含まれているのか、それとも含まれていないのか、分かりにくいという問題がある。
第3実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
図6−1は、本実施例におけるコード表示画面の一例を示す図である。
このコード表示画面では、一次元の端末表示用コード画像が表示される領域の上に、カウントされたコード残数分の、例えば内部に数字が付された矩形で表される第1のガイド画像が表示されている。
この表示例では、5個の第1のガイド画像が表示されており、限定ではなく例として、一番左に表示された第1のガイド画像の色が黒色に変化し、手前側に浮き上がった状態として強調表示されている。また、残りの4個の第1のガイド画像はデフォルトの状態で表示されている。残りの4個の第1のガイド画像のいずれかをタッチ操作すると、その第1のガイド画像に対応する端末表示用コード画像が画面中央に表示される。
図6−2は、本実施例におけるコード表示画面の別例を示す図である。
このコード表示画面では、一次元の端末表示用コード画像が表示される領域の上に、カウントされたコード残数分の、例えば二次元コードを模式化(模擬)した第2のガイド画像が表示されている。
この表示例では、5個の第2のガイド画像が表示されており、いずれかの第2のガイド画像がユーザによってタッチ操作されると、限定ではなく例として、タッチ操作された第2のガイド画像に対応する端末表示用コードのデータに基づき、アニメーションによって、端末表示用コード画像が画面中央に表示される。
この表示例では、一番左の第2のガイド画像がタッチ操作されたことで、この一番左の第2のガイド画像の表示位置を基準として、端末表示用コード画像を含む画像全体が、表示部24の表示画面のサイズに基づく規定サイズとなるように徐々に拡大処理されていき、最終的に、規定サイズとなった時点で拡大処理が終了して、図6−2の図面右に示した状態で表示される。また、拡大処理が終了すると、対応する第2のガイド画像の表示は消去された上で、残りの4個の第2のガイド画像が左に詰めて表示される。
なお、この例のように、表示させた端末表示用コード画像に対応するガイド画像の表示を消去した上で、残りのガイド画像を詰めて表示させるのではなく、表示させた端末表示用コード画像に対応するガイド画像の表示は消去するが、残りのガイド画像は詰めずにそのまま同じ位置に表示させるようにしてもよいし、そのようにしなくてもよい。
図6−3は、本実施例におけるコード表示画面の別例を示す図である。
このコード表示画面では、図6−2のコード表示画面と同様に、一次元の端末表示用コード画像が表示される領域の上に、カウントされたコード残数分の、例えば矩形で表される第3のガイド画像が表示されているが、この例では、タッチ操作された第3のガイド画像はそのままの状態(アクティブ状態)で表示され、残りの第3のガイド画像は非アクティブ状態に変化して表示される点が異なる。
具体的には、この表示例では、5個の第3のガイド画像が表示されており、いずれかの第3のガイド画像がユーザによってタッチ操作されると、図6−2と同様に、タッチ操作された第3のガイド画像に対応する端末表示用コードのデータに基づき、アニメーションによって、端末表示用コード画像が画面中央に表示される。
この表示例では、一番左の第3のガイド画像がタッチ操作されたことで、この一番左の第3のガイド画像の表示位置を基準として、端末表示用コード画像を含む画像全体が、表示部24の表示画面のサイズに基づく規定サイズとなるように徐々に拡大処理されていき、最終的に、規定サイズとなった時点で拡大処理が終了して、図6−3の図面右に示した状態で表示される。また、タッチ操作された一番左の第3のガイド画像はそのままの状態(アクティブ状態)で表示され、残りの4個の第3のガイド画像は非アクティブ状態に変化して表示される。
なお、上記の第2のガイド画像や第3のガイド画像は、あくまでも二次元のコード画像(例えばQRコードの画像)を模擬したアイコン(マーク)であって、本物のコード画像ではない。このため、当然ではあるが、これらのガイド画像をコードリーダで読み取ることはできず、決済に利用することはできない。
図6−4は、本実施例におけるコード表示画面の別例を示す図である。
このコード表示画面では、端末表示用コードストックデータ2831に記憶されている複数の端末表示用コード(端末表示用コード画像)を、限定ではなく例として、端末20のユーザがスワイプ操作を行うことによって、スライド式に切替表示可能に構成されている。
具体的には、限定ではなく例として、一次元の端末表示用コード画像が表示される領域の上に、端末表示用コードストックデータ2831に記憶されている端末表示用コードと同数(つまりコード残数(ストック数)と同数)の、例えば丸(○)で表される第4のガイド画像が横方向に並べて表示されている。
第4のガイド画像は、限定ではなく例として、左から順に、1番目の端末表示用コード、2番目の端末表示用コード、3番目の端末表示用コード、・・・、にそれぞれ対応しており、対応する端末表示用コードのコード画像が画面中央に表示された際に、白色で表されていた第4のガイド画像が黒色に変化して表示される。
この表示例では、コード残数(ストック数)が5個であることにより、5個の端末表示用コードがスライド式に切替表示可能に構成されており、それぞれに対応する5個の丸で表される第4のガイド画像が表示されている。
図面左は、二次元の端末表示用コード画像QC1を含む1個目のコード画像が表示された状態を示しており、左から1番目の第4のガイド画像が黒丸で表示され、その他の第4のガイド画像は白丸で表示されている。
図面中央は、端末20のユーザが表示画面をタッチ操作した後、その位置から左方向にスワイプ操作した状態を示している。左方向にスワイプ操作することで、二次元の端末表示用コード画像QC1を含む1番目のコード画像の表示が、二次元の端末表示用コード画像QC2を含む2つ目の端末表示用コードの表示に切り替わる。
図面右は、このスワイプ操作によって二次元の端末表示用コード画像QC2を含む2つ目の端末表示用コードが表示された状態を示しており、左から2番目の第4のガイド画像が黒丸で表示され、その他の第4のガイド画像は白丸で表示されている。
上記に例示した各種のガイド画像は、コード残数情報(限定ではなく、第1情報が記憶部に記憶されている数に関する情報の一例)であるとともに、表示される端末表示用コード画像や元情報(限定ではなく、第1情報の一例)との対応関係を端末20のユーザに案内する(知らせる)ための案内情報(ガイド情報)の一例である。
なお、上記の表示例におけるガイド画像・端末表示用コード画像の表示の順序は、限定ではなく例として、左から順に、端末表示用コードストックデータ2831に記憶されている端末表示用コードのうち、その取得が古い順とすることができる。
ただし、表示の順序はこれに限定されるわけではなく、例えば、左から順に、端末表示用コードストックデータ2831に記憶されている端末表示用コードのうち、その取得が新しい順に表示させるようにしてもよいし、そのようにしなくてもよい。
また、完全にランダムな順序で表示させるようにしてもよいし、そのようにしなくてもよい。
<第3実施例の効果>
第3実施例は、端末20の表示部24に表示されるコード表示画面において、コード残数に基づくガイド画像(限定ではなく、数に関する情報の一例)が表示され、このガイド画像の表示位置を基準として、端末表示用コード画像を含む全体的な画像が、表示部24の表示画面いっぱいのサイズとなるように徐々に拡大され(限定ではなく、数に関する情報が表示領域に表示された位置に近い第1領域に第1コード画像を表示することの一例)、最終的に、表示部24の表示画面いっぱいのサイズとなった時点で拡大が終了して端末表示用コード画像が表示される(限定ではなく、第1領域に第1コード画像が表示された後、数に関する情報が表示領域に表示された位置から第1領域よりも遠い第2領域に第1コード画像を表示することの一例)構成を示している。
このような構成により得られる効果の一例として、端末は、第1情報が記憶部に記憶されている数に関する情報と、表示される第1情報との対応関係を端末のユーザが容易に把握可能(認識可能)に表示することができる。
<第3変形例(1)>
第3実施例では、コード表示画面に表示される端末表示用コードが、コード残数のカウントに含まれる場合の表示方法を例示したが、コード表示画面に表示される端末表示用コードをコード残数のカウントから除外する場合も同様である。
第2変形例(2)で説明したように、コード表示画面に表示される端末表示用コードをコード残数のカウントから除外して、コード残数情報を表示させる手法も考えられる。
この場合、コード表示画面に表示されている端末表示用コード(コード画像)がコード残数に含まれていないことをユーザに報知する必要がある。そこで、限定ではなく例として、以下のような表示を行うようにすることができる。
例えば図6−1のように、矩形のガイド画像を表示させる手法を適用するのであれば、制御部21は、限定ではなく例として、ストックされている一の端末表示用コードのコード画像をコード表示画面の画面中央に表示させるとともに、表示させた一の端末表示用コードを除外してカウントしたコード残数分のガイド画像を表示させる。この際、制御部21は、ガイド画像を、全てデフォルトの状態で表示させる(いずれのガイド画像も強調表示させない)。
また、例えば図6−2や図6−3のように、二次元コードを模擬したガイド画像を表示させる手法を適用するのであれば、制御部21は、限定ではなく例として、一の端末表示用コードのコード画像をコード表示画面の画面中央に表示させるとともに、表示させた一の端末表示用コードを除外してカウントしたコード残数分のガイド画像を表示させる。この際、制御部21は、ガイド画像を、全て非アクティブ状態で表示させる(いずれのガイド画像もアクティブ状態で表示させない)。
より具体的には、例えば、コード表示画面に表示させた端末表示用コードを除外してカウントしたコード残数が「5個」である場合、上記のような表示態様で「5個」のガイド画像をコード表示画面に表示させるようにする。
このようにすることで、表示されている端末表示用コード画像がガイド画像とは対応していないこと(対応関係にないこと)をユーザが認識可能となり、その結果、表示中のコード(コード画像)はコード残数に含まれていないことをユーザは把握することができる。
<第3変形例(2)>
本開示における端末表示用コードは、前述したように、オンライン状態ばかりでなく、オフライン状態でも利用することができる。オンライン状態であれば、端末20は、サーバ10によって決済が行われた後、すぐにサーバ10から端末用決済完了通知を受信することができる。このため、端末20は、限定ではなく例として、端末用決済完了通知を受信した後、決済に利用した端末表示用コードのデータを端末表示用コードストックデータ2831から削除することができる。
しかしながら、オフライン状態では、端末20は、オンライン状態に復帰するまでは、サーバ10から端末用決済完了通知を受信することができないため、サーバ10によって決済が行われたかどうかを知ることができない。このため、オフライン状態において、例えば端末20のユーザが、コード表示画面に表示された一の端末表示用コードを決済に使用したとしても(店舗コードリーダ装置50に読み取らせたとしても)、端末20は、その端末表示用コードを削除することはできない。よって、例えば、端末20のユーザが、一度決済に使用した端末表示用コードをコード表示画面に再表示させて、再び決済に使用しようとするおそれがある。
そこで、例えば図6−4に示したコード表示画面において、端末20の制御部21が、ユーザのスワイプ操作を検知し、次の端末表示用コード画像に表示を切り替えた場合、切り替える前に表示していた端末表示用コードのデータを削除(破棄)するなどして、再表示することができないようにしてもよいし、そのようにしなくてもよい。
なお、これは、他の表示方法(例えば図6−1〜図6−3の表示方法)についても同様である。つまり、一旦表示して非表示とした端末表示用コードについては、そのデータを削除するなどして、再表示することができない(つまり決済に使用することができない)ようにすることができる。
また、他の手法として、次のようにすることもできる。
端末20は、オンライン状態であることを検出した場合、一旦表示して非表示とした端末表示用コードは削除せずに再表示することを可能とする。
それに対し、端末20は、オフライン状態であることを検出した場合、一旦表示して非表示とした端末表示用コードは削除して再表示することができないようにする。
<第3変形例(3)>
前述した各種のコード残数情報の表示方法の他にも、限定ではなく例として、いわゆる日めくりカレンダーのように、一の端末表示用コードが表示されたページを端末20のユーザがスワイプ操作(例えば下から上へのスワイプ操作)によってめくる操作を行うと、次の端末表示用コードが表示されたページが現れるような表示方法を適用することもできる。
また、この場合、第3変形例(2)と同様に、一旦ページをめくると、前のページに表示させていた端末表示用コードのデータは削除するなどして再表示することができないようにしてもよいし、そのようにしなくてもよい。
<第3変形例(4)>
第3実施例では、ガイド画像に対するタッチ操作をトリガーとして、端末表示用コード画像を表示させる例を示したが、これに限定されない。具体的には、前述した各種のガイド画像を、あくまでもコード残数(ストック数)を示す情報(コード残数情報)とし、ガイド画像に対するタッチ操作とは異なる操作をトリガーとして、端末表示用コード画像を表示させるようにしてもよいし、そのようにしなくてもよい。
端末20は、限定ではなく例として、決済アプリケーションのトップ画面に表示されるコードアイコンがタッチ操作されたことに基づいて、コード残数分のコード画像を含むコード表示画面を表示させる。この際、限定ではなく例として、コード情報(コード画像や元情報を含む。)の表示・切替を行うボタンや、ページの表示・切替を行うボタン等の操作用画像も、コード表示画面に表示させる。
そして、端末20は、上記の操作用画像に対する操作(例えばタッチ操作)を検知する度に、限定ではなく例として、ガイド画像に対応する端末表示用コードの中から、ランダムな順や取得が古い順に端末表示用コード画像を表示させるとともに、ガイド画像の表示態様を変更する。
<第4実施例>
第4実施例は、端末20でストックされた端末表示用コードのストックの補充、及び、そのユーザインターフェイスに関する実施例である。
第4実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
<処理>
図7−1は、本実施例における各装置が実行する処理の流れの一例を示すフローチャートである。左側に、端末20の制御部21が実行する第1の端末側コード補充処理を示し、右側に、サーバ10の制御部11が実行する第1のサーバ側コード補充処理を示す。
これらの処理は、限定ではなく例として、前述した端末20の決済アプリケーション処理と、前述したサーバ10の決済管理処理とのそれぞれのサブ処理として実行される(例えばバックグラウンドで実行される)処理である。
最初に、制御部21は、コード補充条件判定処理を行う(F110)。コード補充条件としては、例えば以下のような条件を定めておくことができる。
(1)コード残数ゼロ情報を表示&承認操作を検知したこと。
(2)コード補充操作を検知したこと。
(3)端末の電磁波環境(通信環境)が変化したこと。
(4)コードの更新タイミングや更新時刻となったこと。
(1)の条件は、制御部21がコード残数ゼロ情報を表示部24に表示させた後、そのコード残数ゼロ情報に対する端末20のユーザによる承認操作を検知した場合に、コードを補充することを示す条件である。
なお、承認操作の検知を条件に含めないようにしてもよい。具体的には、制御部21がコード残数ゼロ情報を表示部24に表示させた場合に、自動的にコードを補充するようにしてもよいし、そのようにしなくてもよい。
(2)の条件は、端末20のユーザによるコードを補充するための操作(以下、「コード補充操作」と称する。)を検知した場合に、コードを補充することを示す条件である。
(3)の条件は、端末20の電磁波環境(通信環境)が変化した場合に、コードを補充することを示す条件である。なお、一般的に通信には電波が使用されるため、電磁波環境の変化ではなく、電波環境の変化としてもよい。
限定ではなく例として、電磁波の強さに基づき、端末20の電磁波環境が「中電磁波環境」から「弱電磁波環境」に変化したことを検知した場合に、オフライン状態となる可能性があるため、端末表示用コードを補充するようにすることができる。
(4)の条件は、例えば定期的なタイミング(例えば12時間や24時間に1回)や、特定の時刻(例えば深夜0時)となった場合に、コードを補充することを示す条件である。
F110では、制御部21は、限定ではなく例として、例えば上記の複数のコード補充条件のうちの少なくともいずれか1つの条件が成立したか否かを判定する。
なお、上記のコード補充条件は、あくまでも一例を示したものに過ぎず、これら以外の条件を定めておくようにすることもできる。
また、限定ではなく例として、上記のコード補充条件のうちの2以上の条件を組み合わせた条件を、コード補充条件として定めておくようにすることもできる。
また、限定ではなく例として、上記のコード補充条件のうちのいずれの条件を適用するかを、端末20のユーザに選択させるなどして設定しておくようにすることもできる。
コード補充条件が成立したと判定したならば(F120:YES)、制御部21は、オンライン状態であるか否かを判定する(F130)。そして、オンライン状態であると判定したならば(F130:YES)、制御部21は、限定ではなく例として、少なくともアプリケーションIDを含むコード補充依頼情報を、通信I/F22によってサーバ10に送信する(F140)。
なお、コード補充依頼情報に代えて、先に説明したコード生成依頼情報を端末20からサーバ10に送信するようにしてもよいし、そのようにしなくてもよい。
サーバ10の制御部11は、端末20からコード補充依頼情報を受信したか否かを判定する(G110)。そして、受信したと判定したならば(G110:YES)、端末表示用コード生成処理を行う(G120)。そして、制御部21は、生成した端末表示用コードを、通信I/F14によって端末20に送信する(G150)。
その後、制御部11は、処理を終了するか否かを判定し(G190)、処理を継続すると判定したならば(G190:NO)、G110に処理を戻す。また、処理を終了すると判定したならば(G190:YES)、第1のサーバ側コード補充処理を終了する。
また、端末20からコード生成依頼情報を受信しなかった場合(G110:NO)、制御部11は、G190へと処理を移す。
通信I/F22によってサーバ10から端末表示用コードを受信すると(F150)、制御部21は、受信された端末表示用コードを端末表示用コードストックデータ2831に追加・記憶させる(F160)。
その後、制御部21は、コード補充通知処理を行う(F170)。このコード補充通知処理では、端末表示用コードのストックが補充されたことを通知する情報(以下、「コード補充通知情報」と称する。)を表示部24に表示させる処理を行う。
具体的には、限定ではなく例として、決済アプリケーションを実行中ではない場合は、コード補充通知情報を、決済アプリケーションと関連付けられたプッシュ通知によって表示部24に表示する。
一方、決済アプリケーションを実行中である場合は、コード補充通知情報を、決済アプリケーション内の画面(例えばコード表示画面)に表示させる。
その後、制御部21は、処理を終了するか否かを判定し(F190)、処理を継続すると判定したならば(F190:NO)、F110に処理を戻す。また、処理を終了すると判定したならば(F190:YES)、第1の端末側コード補充処理を終了する。
また、コード補充条件が成立しないと判定された場合(F120:NO)、または、オンライン状態ではないと判定された場合(F130:NO)、制御部11は、F190へと処理を移す。
なお、コード補充依頼情報は、1個の端末表示用コードの補充を依頼する情報としてもよいが、複数(2以上)の端末表示用コードの補充を依頼する情報としてもよい。具体的には、限定ではなく例として、端末表示用コードを1つ1つ補充するようにするのではなく、端末20側またはサーバ10側で、端末20が一度に補充を依頼するコードの数(サーバ10が補充用に一度に生成するコードの数)の上限を設定しておく。そして、この上限の数の端末表示用コードを、端末20のユーザが1回の操作で一気に補充するようにしてもよい。この場合、サーバ10によって複数の端末表示用コードが生成され、生成された複数の端末表示用コードが端末20に送信されて、受信された複数の端末表示用コードを端末20で補充するようにすればよい。
<表示画面例>
図7−2は、本実施例におけるコード表示画面の一例を示す図である。
このコード表示画面には、図6−3のコード表示画面と同様に、一次元の端末表示用コード画像が表示される領域の上に、コード残数情報の一例として、二次元コードを模式化したガイド画像が表示されている。また、ガイド画像が表示される領域の右には、端末20のユーザがコード補充操作を行うための操作用画像の一例として、「+」の文字が内部に描かれた丸で示されるコード補充アイコンが表示されている。このコード補充アイコンが端末20のユーザによってタッチ操作されると、上記の処理によって、端末表示用コードのストックが補充される。
図7−3は、本実施例におけるコード補充通知の一例を示す図である。
このコード表示画面では、コード補充通知の一例として、「コードストック追加 コードのストックが1個追加されました。」というメッセージが、OKのアイコンとともに画面中央にポップアップ表示されている。
図7−4は、図7−3においてOKのアイコンがタッチ操作された場合に表示される画面の一例を示す図である。
このコード表示画面では、端末表示用コードのストックが1個補充されたことで、図7−1のコード表示画面で表示されていたガイド画像の右側に、補充された1個の端末表示用コードに対応する1個のガイド画像が追加表示されている。また、追加表示された1個の端末表示用コードに対応するガイド画像は、非アクティブ状態で表示されている。
これは、コード補充依頼情報として、1個の端末表示用コードの補充を依頼する情報が端末20からサーバ10に送信され、サーバ10によって1個の端末表示用コードが生成され、生成された1個の端末表示用コードが端末20に送信されて、受信された1個の端末表示用コードが端末20で補充された場合の表示画面例である。
図7−5は、本実施例におけるコード補充通知の一例を示す図である。
このコード表示画面では、コード補充通知の一例として、「コードストック追加 コードのストックが4個追加されました。」というメッセージが、OKのアイコンとともに画面中央にポップアップ表示されている。
図7−6は、図7−5においてOKのアイコンがタッチ操作された場合に表示される画面の一例を示す図である。
このコード表示画面では、端末表示用コードのストックが4個補充されたことで、図7−1のコード表示画面で表示されていたガイド画像の右側に、補充された4個の端末表示用コードに対応する4個のガイド画像が追加表示されている。また、追加表示された4個の端末表示用コードに対応するガイド画像は、非アクティブ状態で表示されている。
これは、コード補充依頼情報として、4個の端末表示用コードの補充を依頼する情報が端末20からサーバ10に送信され、サーバ10によって4個の端末表示用コードが生成され、生成された4個の端末表示用コードが端末20に送信されて、受信された4個の端末表示用コードが端末20で補充された場合の表示画面例である。
なお、この他にも、例えば端末20のユーザがコード補充操作を行ってコードを補充する場合に、補充するコード数を端末20のユーザに選択させるようにすることもできる。
図7−7は、この場合におけるコード表示画面の一例を示す図である。
このコード表示画面では、「コードストック追加 ストックするコード数を選択してください。」というメッセージとともに、補充するコード数を端末20のユーザが選択するための「選択してください。」の文字が入力されたボックスとが表示されている。
「選択してください。」の文字が入力されたボックスをタッチ操作すると、例えば図7−8に示すように、限定ではなく例として、補充するコード数をドラムロール式で選択可能とする、複数のコード数の候補を含むドラムロールが表示される。例えば、端末20のユーザによって「2個」が選択されると、例えば図7−9に示すようにボックス内に「2個」が入力されて表示され、「OK」のアイコンがタッチ操作されることで、2個のコードが補充される。
図7−10は、図7−9においてOKのアイコンがタッチ操作された場合に表示される画面の一例を示す図である。
このコード表示画面では、端末表示用コードのストックが2個補充されたことで、図7−1のコード表示画面で表示されていたガイド画像の右側に、補充された2個の端末表示用コードに対応する2個のガイド画像が追加表示されている。また、追加表示された2個の端末表示用コードに対応するガイド画像は、非アクティブ状態で表示されている。
<第4実施例の効果>
第4実施例は、端末20が、通信I/F22を介した端末表示用コードの受信に基づいて、コード残数情報の表示態様を制御部21によって変更する構成を示している。
このような構成により得られる効果の一例として、端末は、第1情報が記憶部に記憶されている数に関する情報の表示態様を変更することで、例えば、通信部を介して第1情報が補充されたことを端末のユーザに報知することができる。
また、第4実施例は、端末20が、通信I/F22を介した端末表示用コードの受信に基づいて、コード補充通知(限定ではなく、第1情報を受信したことを示す通知の一例)を端末20のユーザに制御部21によって行う構成を示している。
このような構成により得られる効果の一例として、端末は、第1情報を受信したことを端末のユーザに対して通知することができる。
また、第4実施例は、端末20が、コード残数関連情報(限定ではなく、第2情報の一例)の表示部24への表示に基づき、コード生成依頼情報またはコード補充依頼情報(限定ではなく、第1情報の送信に関するリクエストの一例)を、通信I/F22を介してサーバ10に送信する構成を示している。
このような構成により得られる効果の一例として、端末は、第2情報の表示に基づき、第1情報の送信に関するリクエストをサーバに送信して、サーバから第1情報を取得することができる。
<第5実施例>
第5実施例は、オフライン状態からの端末表示用コードのストックの補充を実現する実施例である。
第5実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
本実施例では、前述した第1通信方式により端末20とサーバ10とが通信不能であることを「オフライン状態」とする。また、前述した第2通信方式を利用することで、端末20はサーバ10と通信することができることとする。
<処理>
図8−1、図8−2は、本実施例における各装置が実行する処理の流れの一例を示すフローチャートである。左側に、端末20の制御部21が実行する第2の端末側コード補充処理を示し、右側に、サーバ10の制御部11が実行する第1のサーバ側コード補充処理を示す。
これらの処理は、限定ではなく例として、前述した端末20の決済アプリケーション処理と、前述したサーバ10の決済管理処理とのそれぞれのサブ処理として実行される(例えばバックグラウンドで実行される)処理である。
図8−1、図8−2のフローチャートは、図7−1のフローチャートに、F130:NOの場合における処理(F210〜F280)を追加したものである。
F130においてオンライン状態ではないと判定したならば(F130:NO)、制御部21は、コード残数がゼロであるか否かを判定する(F210)。
コード残数がゼロであると判定したならば(F210:YES)、制御部21は、コード残数ゼロ通知と、オフライン通知とを行う(F220)。具体的には、限定ではなく例として、コード残数ゼロ情報とともに、第1通信方式によるサーバ10との通信が不能(オフライン状態)であることを示す情報を表示部24に表示させる。
一方、コード残数がゼロではないと判定したならば(F210:NO)、制御部21は、オフライン通知とを行う(F230)。具体的には、限定ではなく例として、第1通信方式によるサーバ10との通信が不能(オフライン状態)であることを示す情報を表示部24に表示させる。
F220またはF230の後、制御部21は、第2通信方式によるコード補充確認通知を行う(F240)。具体的には、限定ではなく例として、第2通信方式で通信を行って、端末表示用コードの補充を行うか否かを端末20のユーザに意思確認するための情報を表示部24に表示させる。
次いで、制御部21は、第2通信方式によるコード補充を行うことが端末20のユーザによって選択されたか否かを判定し(F250)、選択されたと判定したならば(F250:YES)、第2通信方式による通信を試行する(F260)。
第2通信方式による通信に成功したならば(F270:YES)、制御部21は、コード補充処理を行う(F280)。具体的には、前述したコード補充依頼情報をサーバ10に送信して、サーバ10から端末表示用コードを取得して、端末表示用コードストックデータ2831に記憶させて補充する。そして、制御部21は、F190へと処理を移す。
なお、第2通信方式によるコード補充を行うために、限定ではなく例として、決済アプリケーションと連携可能なアプリケーションとして、例えば第2通信方式の一例である無線LAN(例えばWiFi(登録商標))を利用可能な店舗や施設等の場所(スポット)を検索するための検索アプリケーションを、あらかじめ端末20でダウンロードして記憶部28に記憶しておく。
そして、例えば、F240の第2通信方式によるコード補充確認通知を行った結果、第2通信方式によるコード補充を行うことが端末20のユーザによって選択された場合に、制御部21が、端末20に記憶されている検索アプリケーションを起動し、第2通信方式を利用可能なスポットを検索する処理を行うようにしてもよいし、そのようにしなくてもよい。
<表示画面例>
図8−3は、本実施例におけるコード表示画面の一例を示す図である。このコード表示画面では、限定ではなく例として、図8−2のF220で表示される。
このコード表示画面では、コード残数ゼロ情報の一例として「コード残数がありません」というメッセージと、第1通信方式によるサーバ10との通信が不能であることを示す情報の一例として「現在オフラインです。オンラインになるとストックが補充されます。」というメッセージとが、コード残数ゼロ通知及びオフライン通知として、画面中央にポップアップ表示されている。また、この通知内容に承認の意思を示すための「OK」のアイコンが表示されている。
図8−4は、図8−3のコード表示画面において「OK」のアイコンがタッチ操作された場合に表示される画面の一例を示す図である。この画面は、限定ではなく例として、図8−2のF240で表示される。
この画面では、第2通信方式で通信を行って端末表示用コードの補充を行うか否かを端末20のユーザに意思確認するための情報の一例として「ワイヤレスネットワークに接続してコードを取得しますか?」というメッセージが、第2通信方式によるコード補充確認通知として画面中央にポップアップ表示されている。また、この通知内容に承認の意思を示すための「OK」のアイコンと、この通信内容に今は承認しない意思を示すための「今はしない」のアイコンとが表示されている。
図8−4において「OK」のアイコンがタッチ操作されると、例えば図8−5に示すような画面が表示される。
この画面では、ワイヤレスネットワークを選択するための選択ボックスが画面中央に表示されており、端末20のユーザは、この選択ボックス内に表示されたワイヤレスネットワークの候補の中から一の候補を選択する。
図8−5においてワイヤレスネットワークが選択されると、選択されたワイヤレスネットワークによる通信が試行される。そして、通信OKとなると、サーバ10から端末表示用コードが取得され、例えば図8−6に示すような画面が表示される。
この表示例では、コード補充依頼情報として、5個の端末表示用コードの補充を依頼する情報が端末20からサーバ10に送信され、サーバ10によって5個の端末表示用コードが生成され、生成された5個の端末表示用コードが端末20に送信されて、受信された5個の端末表示用コードが端末20で補充された場合を示しており、「コードストック追加 コードのストックが5個追加されました。」というメッセージが画面中央にポップアップ表示されている。
図8−7は、図8−6においてOKのアイコンがタッチ操作された場合に表示される画面の一例を示す図である。
このコード表示画面では、端末表示用コードのストックが5個補充されたことで、補充された5個の端末表示用コードに対応する5個のガイド画像が表示されている。また、一番左のガイド画像に対応する端末表示用コード画像が画面中央に表示されており、一番左のガイド画像以外の4個のガイド画像は、非アクティブ状態で表示されている。
<第5実施例の効果>
第5実施例は、端末20が、オフライン状態であることを示す情報(限定ではなく、端末による通信ができないことを示す情報の一例)をコード表示画面に表示する。そして、端末20は、このオフライン状態であることを示す情報に対する端末20のユーザのタッチ操作(限定ではなく、端末のユーザの入力の一例)に基づいて、第2通信方式によってコード補充を行うための情報(限定ではなく、端末の通信の設定に関する情報)をコード表示画面に表示する構成を示している。
このような構成により得られる効果の一例として、端末による通信ができないことを端末のユーザに報知することができるとともに、端末のユーザの入力に基づいて、端末の通信の設定を行うことができる。これにより、例えば、第1通信方式による通信が不能な場合であっても、第2通信方式の設定を行って、第2通信方式によってサーバと通信を行うといったことが可能となる。