(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-10-02
(45)【発行日】2023-10-11
(54)【発明の名称】決済サーバ、決済制御方法、およびプログラム
(51)【国際特許分類】
G06Q 20/38 20120101AFI20231003BHJP
【FI】
G06Q20/38 340
(21)【出願番号】P 2023081768
(22)【出願日】2023-05-17
【審査請求日】2023-05-17
【早期審査対象出願】
(73)【特許権者】
【識別番号】519110124
【氏名又は名称】PayPay株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100154852
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100181124
【氏名又は名称】沖田 壮男
(74)【代理人】
【識別番号】100194087
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】タンネルー ドルヴァ
(72)【発明者】
【氏名】チェン ジョナサン
【審査官】深津 始
(56)【参考文献】
【文献】特許第7237224(JP,B1)
【文献】特開2021-021991(JP,A)
【文献】特開2022-158871(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 -G06Q 99/00
(57)【特許請求の範囲】
【請求項1】
利用者の端末装置において動作するアプリケーションプログラムと協働して電子決済サービスを前記利用者に提供する決済サーバであって、
店舗に設置された店舗端末装置と通信し、前記店舗端末装置が、前記端末装置が表示するコード画像から読み取った情報の少なくとも一部と決済金額とを含む決済情報を前記店舗端末装置から受信する通信部と、
前記通信部を介して、ワンタイムコードを前記アプリケーションプログラムに提供する
と共に、前記利用者を識別可能な情報と共に前記ワンタイムコードを記憶部に記憶させる提供部と、
前記決済情報に基づいて電子決済を行う決済処理部であって、
前記決済情報に、
前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれる場合は、前記ワンタイムコードを用いて
前記利用者を特定して電子決済を進行させ、
前記決済情報に、
予め前記利用者に付与され前記記憶部に記憶された利用者識別トークンが含まれ、
且つ前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれない場合は、
前記利用者識別トークンを用いて
前記利用者を特定して電子決済を進行させる決済処理部と、
を備え、
前記決済処理部は、
前記決済情報に、前記利用者識別トークンが含まれ、且つ前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれない場合、前記決済情報に、
前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれる場合に比して、
一回の電子決済における決済額の上限を低く設定する、
決済サーバ。
【請求項2】
前記決済処理部は、
前記決済情報に、前記利用者識別トークンが含まれ、且つ前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれない場合における
一回の電子決済における決済額の上限を、前記決済情報に
前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれる場合の
一回の電子決済における決済額の上限よりも低い固定額とする、
請求項1記載の決済サーバ。
【請求項3】
前記決済処理部は、
前記決済情報に、前記利用者識別トークンが含まれ、且つ前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれない場合における
一回の電子決済における決済額の上限を、前記利用者の決済履歴に基づいて決定する、
請求項1記載の決済サーバ。
【請求項4】
利用者の端末装置において動作するアプリケーションプログラムと協働して電子決済サービスを前記利用者に提供する決済サーバが、
店舗に設置された店舗端末装置と通信し、前記店舗端末装置が、前記端末装置が表示するコード画像から読み取った情報の少なくとも一部と決済金額とを含む決済情報を前記店舗端末装置から受信し、
通信によって、ワンタイムコードを前記アプリケーションプログラムに提供する
と共に、前記利用者を識別可能な情報と共に前記ワンタイムコードを記憶部に記憶させ、
前記決済情報に基づいて電子決済を行う際に、
前記決済情報に、
前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれる場合は、前記ワンタイムコードを用いて
前記利用者を特定して電子決済を進行させ、
前記決済情報に、
予め前記利用者に付与され前記記憶部に記憶された利用者識別トークンが含まれ、
且つ前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれない場合は、
前記利用者識別トークンを用いて
前記利用者を特定して電子決済を進行させ、
前記決済情報に、前記利用者識別トークンが含まれ、且つ前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれない場合、前記決済情報に、
前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれる場合に比して、
一回の電子決済における決済額の上限を低く設定する、
決済制御方法。
【請求項5】
利用者の端末装置において動作するアプリケーションプログラムと協働して電子決済サービスを前記利用者に提供する決済サーバに、
店舗に設置された店舗端末装置と通信し、前記店舗端末装置が、前記端末装置が表示するコード画像から読み取った情報の少なくとも一部と決済金額とを含む決済情報を前記店舗端末装置から受信し、
通信によって、ワンタイムコードを前記アプリケーションプログラムに提供する
と共に、前記利用者を識別可能な情報と共に前記ワンタイムコードを記憶部に記憶させ、
前記決済情報に基づいて電子決済を行う際に、
前記決済情報に、
前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれる場合は、前記ワンタイムコードを用いて
前記利用者を特定して電子決済を進行させ、
前記決済情報に、
予め前記利用者に付与され前記記憶部に記憶された利用者識別トークンが含まれ、
且つ前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれない場合は、
前記利用者識別トークンを用いて
前記利用者を特定して電子決済を進行させ、
前記決済情報に、前記利用者識別トークンが含まれ、且つ前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれない場合、前記決済情報に、
前記記憶部を参照して得られる前記ワンタイムコードに基づく情報が含まれる場合に比して、
一回の電子決済における決済額の上限を低く設定する、
処理を行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、決済サーバ、決済制御方法、およびプログラムに関する。
【背景技術】
【0002】
スマートフォン等の端末装置において動作する決済アプリがコード画像を表示し、店舗側の装置でコード画像から情報を読み取ることで行われる態様の電子決済が普及している(特許文献1)。この態様の電子決済では、コード画像に表示させる元の情報として、決済サーバが利用者のアカウントに対応付けて発行するワンタイムコードが使用される。ワンタイムコードを使用することで、コード画像に個人情報等を入れ込む必要が無くなるため、セキュリティ性の向上が実現されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の態様の電子決済においては、電子決済が行われようとする際に決済アプリから決済サーバにワンタイムコードのリクエストが送信され、それに対してワンタイムコードが発行される。従って、従来の技術では、電子決済の時点において端末装置と決済サーバの通信が困難な状況において、有効なワンタイムコードが取得できないことで、電子決済が不可になってしまう場合があった。そして、従来の技術では、そのような場合に代替的な手法で電子決済を行う際に、セキュリティ性の低下が懸念される場合があった。
【0005】
本発明は、このような事情を考慮してなされたものであり、より安全な電子決済を実現することができる決済サーバ、決済制御方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0006】
本発明の一態様は、利用者の端末装置において動作するアプリケーションプログラムと協働して電子決済サービスを前記利用者に提供する決済サーバであって、店舗に設置された店舗端末装置と通信し、前記店舗端末装置が、前記端末装置が表示するコード画像から読み取った情報の少なくとも一部と決済金額とを含む決済情報を前記店舗端末装置から受信する通信部と、前記通信部を介して、ワンタイムコードを前記アプリケーションプログラムに提供する提供部と、前記決済情報に基づいて電子決済を行う決済処理部であって、前記決済情報に、前記ワンタイムコードに基づく情報が含まれる場合は、前記ワンタイムコードを用いて電子決済を進行させ、前記決済情報に、前記アプリケーションプログラムが前記ワンタイムコードを用いずに生成したオフラインコード画像から得られた情報が含まれる場合は、前記オフラインコード画像から得られた情報を用いて電子決済を進行させる決済処理部と、を備え、前記決済処理部は、前記決済情報に、前記アプリケーションプログラムが前記ワンタイムコードを用いずに生成したオフラインコード画像から得られた情報が含まれる場合、前記決済情報に、前記ワンタイムコードに基づく情報が含まれる場合に比して、決済額の上限を低く設定する、決済サーバである。
【発明の効果】
【0007】
本発明の一態様によれば、より安全な電子決済を実現することができる決済サーバ、決済制御方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【0008】
【
図1】電子決済サービスが実現されるための構成の一例を示す図である。
【
図2】電子決済(オンライン決済)の大まかな流れを例示したシーケンス図(その1)である。
【
図3】電子決済の(オンライン決済)大まかな流れを例示したシーケンス図(その2)である。
【
図4】第1実施形態に係る決済サーバ100の構成図である。
【
図5】利用者情報172の内容の一例を示す図である。
【
図6】加盟店/店舗情報176の内容の一例を示す図である。
【
図7】決済アプリ20のトップ画面IM1の一例を示す図である。
【
図8】オフライン決済のために行われる処理の流れを例示したシーケンス図である。
【
図9】決済アプリ20による画面制御に係る処理の流れの一例を示すフローチャートである。
【
図11】ハーフシートIM3の一例を示す図である。
【
図12】詳細説明画面IMeの一例を示す図である。
【
図13】第1オフラインコード画像が表示される第1オフラインモード画面IM4の一例を示す図である。
【
図14】第2オフラインコード画像が表示される第2オフラインモード画面IM5の一例を示す図である。
【
図15】決済方法選択画面IM6の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照し、本発明のアプリケーションプログラム、決済制御方法、決済サーバ、プログラム、および決済システムを提供することの実施形態について説明する。アプリケーションプログラムと決済サーバは、協働して電子決済サービスを提供する。以下の説明ではアプリケーションプログラムを決済アプリと称する。電子決済サービスは、店舗における商品やサービスの購買に係る決済をサポートするサービスである。店舗とは、例えば、現実空間に存在する物理的な店舗(実店舗)であるが、電子商取引の仮想店舗を含んでもよい。仮想店舗は、電子決済サービスの運営者とは異なる主体によって提供されるものを含んでもよい。その場合、仮想店舗における買い物の決済の際に、電子決済サービスのインターフェース画面に遷移するように制御される。電子決済サービスにおいて、店舗は、例えば加盟店(ブランド)に属するものとして扱われ、店舗において購買行動が行われた際の決済などの処理は、主として利用者と加盟店の間で行われる。これに代えて、決済などの処理が利用者と店舗との間で行われてもよい。
【0010】
[電子決済サービス]
図1は、電子決済サービスが実現されるための構成の一例を示す図である。電子決済サービスは、決済サーバ100を中心として実現される。決済サーバ100は、例えば、一以上の利用者端末装置10、一以上の第1店舗端末装置50、及び一以上の第2店舗端末装置70のそれぞれとネットワークNWを介して通信する。ネットワークNWは、例えば、インターネット、LAN(Local Area Network)、無線基地局、プロバイダ装置などを含む。
【0011】
利用者端末装置10は、例えば、スマートフォンやタブレット端末等の可搬型端末装置である。利用者端末装置10は、少なくとも、光学読取機能、通信機能、表示機能、入力受付機能、プログラム実行機能を有するコンピュータ装置である。以下の説明では、これらの機能を実現するための構成をそれぞれカメラ、通信装置、タッチパネル、CPU(Central Processing Unit)等と称する。利用者端末装置10では、CPU等のプロセッサにより決済アプリ20が実行されることで、決済サーバ100と連携して電子決済サービスを利用者に提供するように動作する。決済アプリ20は、例えば、アプリケーションストアから利用者端末装置10にインストールされ、カメラ、通信装置、タッチパネルなどを制御する。
【0012】
第1店舗端末装置50は、例えば、店舗に設置される。第1店舗端末装置50は、少なくとも、商品価格取得機能、光学読取機能、プログラム実行機能、通信機能を有するコンピュータ装置である。第1店舗端末装置50は、いわゆるPOS(Point of Sale)装置を含み、POS装置によって商品価格取得機能や光学読取機能を実現してもよい。店舗コード画像60は、店舗に置かれ、QRコード(登録商標)等のコード画像が紙やプラスチックの媒体に印刷されたものである。なお、店舗コード画像60は、店舗に置かれたディスプレイ(スマートフォンなどの端末装置のディスプレイでもよい)によって表示されてもよい。
【0013】
第2店舗端末装置70は、加盟店の運営者によって使用される。第2店舗端末装置70は、スマートフォンやタブレット端末、パーソナルコンピュータ等である。第2店舗端末装置70では、加盟店向けインターフェース72が動作する。加盟店向けインターフェース72は、加盟店向けアプリであってもよいし、ブラウザであってもよい。加盟店向けインターフェース72は、加盟店の運営者によるクーポンの設定等を受け付け、決済サーバ100に送信する。スマートフォンである第2店舗端末装置70は、加盟店向けアプリを実行することで、店舗コード画像に相当するコード画像を表示したり、利用者端末装置10が表示するコード画像を読み取ったりする機能を有する。
【0014】
決済サーバ100は、利用者端末装置10または第1店舗端末装置50から受信した決済情報に基づいて電子決済を実現する。第1店舗端末装置50は、POS装置、POSゲートウェイ、加盟店サーバなどを含む場合があり、その場合、POS装置から各種装置を介して決済情報が決済サーバ100に送信される。以下の説明では、これを特に区別せず、第1店舗端末装置50から決済情報が送信されるものとする。
【0015】
図2および
図3は、電子決済(オンライン決済)の大まかな流れを例示したシーケンス図である。電子決済には、パターン1とパターン2の二つが存在してよい。
【0016】
図2に示すパターン1(以下、ユーザスキャンと称する)の場合、決済アプリ20が起動した状態の利用者端末装置10が、光学読取機能によって店舗コード画像60をデコードする(S1)。店舗コード画像60には、店舗URL(Uniform Resource Locator)の情報が含まれている。この店舗URLは、電子決済サービスのドメインに対して店舗を識別可能な情報が付加されたものであり、決済サーバ100において加盟店IDや店舗ID等との対応付けがなされている(後述)。決済アプリ20は、店舗URLとアカウントIDを含む第1決済情報を決済サーバ100に送信する(S2)。決済サーバ100は、店舗URLに対応する加盟店ID、店舗IDから、店舗情報(後述)を検索して加盟店名と店舗名の情報を取得し(S3)、決済アプリ20に送信する(S4)。利用者は、加盟店名や店舗名が表示された画面において、決済金額を利用者端末装置10に入力する(S5)。そして、利用者端末装置10は、少なくとも決済金額を含む第2決済情報を生成し、決済サーバ100に送信する(S6)。決済サーバ100は、受信した第2決済情報に基づいて電子決済を行う(S7)。そして、決済サーバ100は、決済完了通知(決済完了画面を表示するための情報)を決済アプリ20に送信し(S8)、決済アプリ20は決済完了画面を表示する(S9)。なお、店舗コード画像60が店舗に置かれたディスプレイによって表示される場合、店舗コード画像60には、店舗URLだけでなく決済金額の情報が含まれる場合がある。この場合、利用者が決済金額を入力する手順が省略され、第1決済情報に決済金額の情報が含められて決済サーバ100に送信される。加盟店名や店舗名の情報は、決済完了画面に含めて表示されてよい。
【0017】
図3に示すパターン2(以下、ストアスキャンと称する)の場合、決済アプリ20の起動時、決済アプリ20において支払う操作が行われたとき、自動更新のタイミング(例えば1分おき)になったとき、およびその他のタイミングで、決済アプリ20はワンタイムコードの発行要求を決済サーバ100に送信する(S11)。決済サーバ100(後述する決済コンテンツ提供部120)はワンタイムコードを生成し(S12)、決済アプリ20に送信する(S13)。決済アプリ20は、ワンタイムコードに基づいて生成した、QRコードやバーコード等のコード画像(オンラインコード画像)を表示する(S14)。利用者は利用者端末装置10の表示面を第1店舗端末装置50に翳し(提示し)、第1店舗端末装置50は、光学読取機能によってコード画像をデコードし、ワンタイムコード等を取得する(S15)。そして、第1店舗端末装置50は、ワンタイムコード、決済金額、加盟店ID、店舗ID等を含む決済情報を生成し、決済サーバ100に送信する(S16)。決済金額の情報は、予めバーコード読み取りや手入力等によって取得されている。決済サーバ100は、受信した情報に基づいて、ワンタイムコードに対応する利用者を特定し、電子決済を行う(S17)。そして、決済サーバ100は、決済完了通知を決済アプリ20に送信し(S18)、決済アプリ20は決済完了画面を表示する(S19)。なお、これと並行して第1店舗端末装置50にも決済完了を通知する情報が送信される。
【0018】
なお、上記のいずれか一方のみのパターンで電子決済が行われてもよい。また、
図2で説明した「アカウントID」は、利用者の識別情報として用いられ得る他の情報(例えば電話番号)であってもよい。
【0019】
[決済サーバ]
図4は、第1実施形態に係る決済サーバ100の構成図である。決済サーバ100は、例えば、通信部110と、決済コンテンツ提供部120と、決済処理部130と、情報管理部140と、記憶部170とを備える。通信部110および記憶部170以外の構成要素は、例えば、CPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることで記憶装置にインストールされてもよい。
【0020】
記憶部170は、HDDやフラッシュメモリ、RAM(Random Access Memory)などである。記憶部170は、決済サーバ100がネットワークを介してアクセス可能なNAS(Network Attached Storage)装置であってもよい。記憶部170には、利用者情報172、決済コンテンツ情報174、加盟店/店舗情報176などの情報が格納される。
【0021】
通信部110は、ネットワークNWに接続するための通信インターフェースである。通信部110は、例えばネットワークインターフェースカードである。
【0022】
決済コンテンツ提供部120は、例えば、Webサーバの機能を有し、電子決済サービスの各種画面を表示するための情報(コンテンツ)を利用者端末装置10に提供する。決済コンテンツ提供部120は、決済コンテンツ情報174から適宜、必要なコンテンツを読み出して利用者端末装置10に提供する。利用者端末装置10は、決済アプリ20によってコンテンツが再生された状態で利用者による各種入力を受け付け、前述した決済情報などを決済サーバ100に送信する。
【0023】
決済処理部130は、利用者端末装置10または第1店舗端末装置50により送信された決済情報に基づいて、決済処理を行う。決済処理部130は、利用者情報172を参照しながら決済処理を行う。
【0024】
図5は、利用者情報172の内容の一例を示す図である。利用者情報172は、利用者の登録情報の一例である。利用者情報172は、例えば、利用者URL、アカウントID、電話番号、パスワードの他、メールアドレス、利用者ID、氏名・住所・生年月日、登録日、チャージ残高、後払い設定、後払い枠、後払い利用額、後払い利用可能額、決済方法設定、銀行口座、クレジットカード番号、発行済ワンタイムコード、後述するオフライン決済のための利用者識別トークン、シークレットキー(チャージ残高用)、およびシークレットキー(後払い用)、オフライン決済の上限額、チャージ履歴情報、決済履歴情報などの情報が対応付けられたものである。
【0025】
利用者URLは、利用者間の送金処理に使用される。電子決済サービスへの新規登録時には、電話番号およびパスワードの登録が必須となる。アカウントIDは、決済サーバ100によって利用者に発行されるものであり、利用者IDは、利用者が任意に設定できる(設定しなくてもよい)IDである。メールアドレス、および氏名・住所・生年月日も同様に、利用者が任意に設定できる(設定しなくてもよい)情報である。登録日とは利用者が電子決済サービスに登録した日(アカウントを作成した日)である。以下、これらの情報が対応付けられた利用者のインスタンス(電子決済口座)のことをアカウントと称する。
【0026】
チャージ残高は、利用者が予めアカウントに送金することで設定された電子マネーの残高を示す情報である。送金の手段としては、指定業者(銀行)のATM(Automatic Teller Machine)からの送金、登録された銀行口座からの送金などがある。後払い設定は、後払いによる電子決済を可能とするための設定が済んでいるか否かを示す情報であり、「済」と「未」のいずれかに設定される。決済方法設定は、その時点において利用者がチャージ残高による電子決済を行うのか、後払いによる決済を行うのかを示す設定情報である。銀行口座とクレジットカード番号のそれぞれは、電子決済サービスに入金可能な銀行口座またはクレジットカード番号の情報(口座番号、カード番号)である。チャージ履歴情報は、利用者が予め電子決済サービスに送金してチャージ残高を増加させた履歴である。決済履歴情報は、利用者が行った決済の内訳(日時、購買行動が行われた店舗の店舗ID、決済金額、決済方法など)を、決済ごとに示す情報である。
【0027】
図6は、加盟店/店舗情報176の内容の一例を示す図である。加盟店/店舗情報176は、例えば、店舗URLに対して加盟店IDと店舗IDが対応付けられた第1テーブル176Aと、加盟店IDに対して加盟店名と売上金(前述)が対応付けられた第2テーブル176Bと、店舗IDに対して店舗IDが対応付けられた第3テーブル176Cとを含む。加盟店/店舗情報176には、これらの情報の他、加盟店または店舗のカテゴリ、店舗の所在地、決済パターン等の情報が含まれてもよい。
【0028】
情報管理部140は、利用者端末装置10や第2店舗端末装置70から取得した情報に基づいて、利用者情報172および加盟店/店舗情報176を管理する。情報管理部140は、利用者情報172および加盟店/店舗情報176について新規レコードの追加、編集、削除などを行う。
【0029】
[電子決済]
決済処理部130は、利用者端末装置10または第1店舗端末装置50から決済情報が取得されると、利用者情報172を参照して当該利用者の「決済方法設定」を取得する。決済処理部130は、「決済方法設定」が「チャージ残高」に設定されている利用者に関して、以下のように電子決済を行う。決済処理部130は、例えば、利用者IDに対応付けて管理しているチャージ残高を減少させ、加盟店の売上金の項目値を増加させることで、電子決済を行う。加盟店の売上金の項目値は、例えば、それ自体が電子マネーとして使用されるものでは無く、加盟店と電子決済サービスとの取り決めに応じたサイクルで、売上金の項目値に対応する金額が銀行口座に送金される。
【0030】
決済処理部130は、「設定情報」が「後払い」に設定されている利用者に関して、以下のように電子決済を行う。後払いとは、電子決済サービスの運営者とは別主体であるクレジットカード会社との連携による「クレジット払い」とは別枠で設定されるものであり、電子決済サービスの運営者が与信者となって、後払い枠の範囲内でチャージ残高に依存しない電子決済を許容するものである。なお後払いサービスを受けるために、電子決済サービスの運営者が提供するクレジットカードの取得が要求されてよい。後払いで利用された金額は、一か月分まとめて翌月の支払日に、例えば銀行口座からの引き落としによって決済される。この場合、決済処理部130は、後払い利用額に決済金額を加算し、後払い利用可能額から同額を差し引くことで暫定決済を行い、締め日になると上記のように当月分の決済を翌月の支払い日に引き落とすための処理を行う、或いはクレジットカード会社の運営者に当該処理を依頼する。なお暫定決済の時点で決済金額が後払い利用可能額を超える場合は、エラー通知が決済アプリ20に返信される。
【0031】
[チャージ残高と後払いの切り替え(オンライン決済時)]
図7は、決済アプリ20のトップ画面IM1の一例を示す図である。なお図示する状態は、決済アプリ20と決済サーバ100の通信が困難でない第1状態(オンライン決済可能な状態)であることを前提とする。第1状態においては、有効なワンタイムコードが決済サーバ100から決済アプリ20に提供されている。「有効な」とは、直近に発信されたワンタイムコードの発行要求に応じたものであることを意味する。トップ画面IM1には、コード画像CDが表示される。コード画像CDは、例えばバーコードとQRコードを含む。また、コード画像CDと共に、チャージ残高による電子決済を行うか、後払いによる電子決済を行うかを示すテキスト(図では「残高で支払う」)が表示される。このテキストは、切替スイッチ(トグルスイッチ)SWが操作される度に決済アプリ20が更新する情報に基づいて決済アプリ20が描画する。また、トップ画面IM1は、切替スイッチSWを含む操作領域CAと、遷移ボタンTB1とを含む。なお、「スイッチ」、「ボタン」とはタッチパネルと協働して実現されるGUI(Graphical User Interface)である。切替スイッチSWは、チャージ残高による電子決済を行うか、後払いによる電子決済を行うかを切り替える操作を受け付けるものである。切替スイッチSWは、デフォルトではチャージ残高による電子決済を行う設定になっており、利用者によって操作される度に、チャージ残高による電子決済を行う設定と、後払いによる電子決済を行う設定との間で設定が切り替わる。図では「残高払い」と説明表示がされているが、これはチャージ残高による電子決済を行う設定になっていることを意味する。操作領域CAには、スキャン(ユーザスキャンの開始)を指示するボタンやチャージを指示するボタンなど、電子決済における主要な操作を指示するボタンが設けられている。遷移ボタンTB1が操作されると、電子決済に用いられるコード画像と利用可能額を表示する支払い画面に遷移する。
【0032】
[オフライン決済]
以下、決済アプリ20と決済サーバ100との通信が困難であることで、有効なワンタイムコードが取得されない第2状態における電子決済(オフライン決済)について説明する。本実施形態のオフライン決済は、前述したストアスキャンの店舗において実施可能なものである。
【0033】
決済アプリ20は、決済サーバ100との通信が正常な第1状態にあるか、通信が困難な第2状態にあるかに応じて、オンライン決済を行うかオフライン決済を行うかを決定する。例えば、決済アプリ20は、ワンタイムコード発行要求に対する応答が既定時間内に届かない事象がn回以上発生した場合、第2状態であると判断する(nは1以上の整数)。決済アプリ20は、決済サーバ100との通信が第2状態にあると判断した場合、利用者端末装置10が計時している時刻やシークレットキーを用いてオフラインコードを生成し、オフラインコードに基づいてオフラインコード画像を生成し、オフラインコード画像を利用者端末装置10の表示部に表示させる。つまり、決済アプリ20は、ワンタイムコードを用いずに自身が生成したオフラインコードに基づいてオフラインコード画像を生成する。
【0034】
シークレットキーは、決済サーバ100から決済アプリ20に、ワンタイムコードよりも低頻度に取得されるものである。例えば、起動中の決済アプリ20は、1週間に1回程度の頻度でシークレットキーを取得する。この取得処理においてシークレットキー発行要求が決済アプリ20から決済サーバ100に送信されてもよいし、決済サーバ100から自発的にシークレットキーが決済アプリ20に提供されてもよい。
【0035】
決済アプリ20は、時刻とシークレットキーに加えて、利用者識別トークンを用いてオフラインコードを生成してもよい。利用者識別トークンは、固定的に利用者に割り当てられるものであってもよいし、シークレットキー発行要求に併せて決済サーバ100から送信されるものであってもよい。なお、シークレットキーと利用者識別トークンの一方または双方を含むものがオフラインキーの一例である。
【0036】
例えば、決済アプリ20は、シークレットキーと時刻を所定の関数に入力して得られたデータと、利用者識別トークンを結合して得られるデータに基づいて、オフラインコードを生成する。係る手法はあくまで一例であり、決済アプリ20は、シークレットキー、時刻、利用者識別トークンのうち一部または全部に基づいて、復号可能な任意の手法でオフラインコードを生成してよい。
【0037】
また、決済アプリ20は、所定のタイミングで(例えばシークレットキー発行要求の度に)、利用者端末装置10の計時する時刻と決済サーバ100の計時する時刻との同期を利用者端末装置10に行わせてもよい。このとき、決済アプリ20は、決済サーバ100と略同時に電波時計などの時刻に合わせる処理を行ってよい。
【0038】
オフラインコード画像が第1店舗端末装置50によって読み取られ、読み取られた情報の少なくとも一部と決済金額とを含む決済情報決済情報を取得すると(決済アプリ20が時刻を用いて生成したオフラインコード画像に基づく情報が含まれる場合は)、決済サーバ100の決済処理部130は、オフライン認証条件が満たされる場合に、決済情報に基づく電子決済を進行させる。つまりオフライン決済を進める。「読み取られた情報の少なくとも一部」とは「オフラインコードの少なくとも一部」であり、以下では単にオフラインコードと称する。オフライン認証条件は、決済アプリ20がオフラインコードに基づいて生成したオフラインコード画像に関連するものである。例えば、オフライン認証条件は、オフラインコード画像から読み取られた時刻(以下、アプリ時刻)が、決済サーバ100の計時する時刻(以下、サーバ時刻)と比較して所定範囲内にあることを含む。オフライン認証条件は、オフラインキー(シークレットキーと利用者識別トークンの一方または双方)が、決済アプリ20に提供されたものとして記憶部170に保持されたものであることを含んでもよい。オフライン決済において扱われる時刻は、例えば分単位で計時されるものであるが、これに限られない。決済処理部130は、決済情報を取得すると、決済情報に含まれるオフラインコードに含まれる利用者識別トークンからシークレットキーを特定し、特定したシークレットキーと、決済サーバ100が計時する現在の時刻とを用いて、決済アプリ20と同じ手法でオフラインコードを生成し、第1店舗端末装置50から取得したオフラインコードと自身で生成したコードが一致した場合、オフラインコードが正当なものであると判断する。決済処理部130は、例えば、利用者端末装置10と決済サーバ100の間で時刻がずれる場合に備え、決済サーバ100の計時する現在時刻プラスマイナス所定時間(例えば1分)の所定範囲で複数のコードを生成し、いずれかが店舗端末装置から取得したオフラインコードと一致した場合、オフライン認証条件が満たされる、つまりは正当な決済情報であると判断する。
【0039】
決済処理部130は、オフライン決済を行う場合(決済情報にオフラインコード画像から得られた情報が含まれる場合)、オンライン決済を行う場合(決済情報にワンタイムコードに基づく情報が含まれる場合)に比して、一回の電子決済における決済額の上限を低く設定してよい。決済処理部130は、オフライン決済を行う場合の決済額の上限を、オンライン決済時よりも低い固定額としてもよいし(
図5の例では5000円に設定されている)、利用者の決済履歴等に基づいて動的に決定してもよい。後者の場合、決済処理部130は、過去の利用者の電子決済の頻度、一回あたりの決済額、決済対象のカテゴリの傾向等に基づいて上限額を決定する。決済処理部130は、オフライン決済を行う場合において上限を超える決済額の決済情報が決済アプリ20から取得された場合、エラーメッセージを第1店舗端末装置50に送信すると共に、利用者端末装置10との通信が回復した後、エラーメッセージを利用者端末装置10にも送信する。
【0040】
図8は、オフライン決済のために行われる処理の流れを例示したシーケンス図である。まず、電子決済とは無関係なタイミングで、決済アプリ20はオフラインキーの発行要求を決済サーバ100に送信する(S21)。決済サーバ100はオフラインキーを生成し(S22)、決済アプリ20に送信する(S23)。決済アプリ20は、受信したオフラインキーを利用者端末装置10のメモリに記憶させておく。
【0041】
別のタイミングで、ストアスキャンが行われる店舗において利用者が決済アプリ20を起動させ、或いは決済アプリ20において支払う操作が行われた場合、決済アプリ20はワンタイムコードの発行要求を決済サーバ100に送信する(S31)。ワンタイムコード発行要求に対する応答が既定時間内に届かない事象がn回以上発生した場合、決済アプリ20は、オフラインコードを生成し、オフラインコードに基づいて生成したオフラインコード画像を表示する(S32)。利用者は利用者端末装置10の表示面を第1店舗端末装置50に翳し(提示し)、第1店舗端末装置50は、光学読取機能によってコード画像をデコードし、オフラインキー等を取得する(S33)。
【0042】
そして、第1店舗端末装置50は、オフラインキー、決済金額、加盟店ID、店舗ID等を含む決済情報を生成し、決済サーバ100に送信する(S33)。決済サーバ100は、受信した情報に基づいて、利用者識別トークンに対応する利用者を特定し、上記の通りオフライン認証条件が満たされるか否かを判定し(S34)、オフライン認証条件が満たされる場合に電子決済を進める(S35)。この場合、専ら第1店舗端末装置50にも決済完了を通知する情報が送信される。
【0043】
係る処理によれば、ストアスキャンを行う店舗が電波の弱い場所にある場合など、決済アプリ20と決済サーバ100の通信が困難な場合でも電子決済を可能にすることができるため、より柔軟に電子決済を実現可能にすることができる。また、オフライン決済においてもアカウントIDなどの利用者識別情報をオフラインコードに含めずに電子決済を進めることで、利用者の個人情報の保護度合いが低下しないようにすることができる。
【0044】
更に、時刻とオフラインキーの双方を用いてオフラインコード画像を生成し、オフライン決済を行うことで、正当な決済であることの蓋然性を高めることができる。オフラインキーのみを用いてオフラインコード画像を生成し、オフライン決済を行うと、オフラインコード画像がいつ生成されたのか分からなくなるため、決済の正当性が低下してしまう。また、時刻のみを用いてオフラインコード画像を生成し、オフライン決済を行うと、オフラインコード画像の生成ロジックが暴かれてしまった場合に誰でもオフラインコード画像を生成できてしまう。これらの両者を用いてオフラインコード画像を生成することで、オフラインコード画像の生成タイミングを知ることができ、またオフラインキーがオフラインコード画像に含められることで、決済サーバ100が発行した情報に基づいていることが保証される。この結果、正当な決済であることの蓋然性を高めることができる。
【0045】
また、オフライン決済の上限額をオンライン決済よりも低く設定することで、より安全な電子決済を実現することができる。
【0046】
以下、決済アプリ20による画面制御について説明する。
図9は、決済アプリ20による画面制御に係る処理の流れの一例を示すフローチャートである。本フローチャートの処理は、決済サーバ100との通信が発生する各種場面において開始される。
【0047】
まず、決済アプリ20は、決済サーバ100から通知が届かない状態であるか否かを判定する(S100)。通知とは、例えば前述したワンタイムパスワード発行要求に対して返信されるワンタイムパスワードなどである。決済サーバ100から通知が届いている場合、決済アプリ20は、オンラインモード画面(例えば
図7に示すもの)を表示し、通常動作を継続する(S102)。
【0048】
決済サーバ100から通知が届かない状態である場合、決済アプリ20は、決済サーバ100から情報の読み込みが困難であることを示す待機画面IM2を利用者端末装置10に表示させる(S104)。
図10は、待機画面IM2の一例を示す図である。待機画面IM2には、有効なコード画像は表示されず、利用者に対して決済サーバ100との接続状態を示すテキストTX1が表示される。
【0049】
次に、決済アプリ20は、第2状態であることが確定したか否かを判定する(S106)。前述したように、第2状態であることが確定するための条件は、「ワンタイムコード発行要求に対する応答等の通知が既定時間内に届かない事象がn回以上発生した場合」である。第2状態が確定していない場合、S100に処理が戻される。
【0050】
第2状態が確定すると、決済アプリ20は、有効なオフラインキー(シークレットキーおよび利用者識別トークン)が取得され、利用者端末装置10のメモリに保存されているか否かを判定する(S108)。有効なオフラインキーとは、例えば、取得時刻からの経過時間が上限時間(オフラインキーの発行周期と同程度の時間)を超えていないオフラインキーである。
【0051】
有効なオフラインキーが取得されていない場合、決済アプリ20は、エラー画面を利用者端末装置10に表示させる(S110)。エラー画面には、インターネット接続が困難であること等を説明するテキスト等が含まれる。
【0052】
有効なオフラインキーが取得されている場合、決済アプリ20は、カウンタ値kが閾値Th以上であるか否かを判定する(S112)。カウンタ値kは、例えば、決済アプリ20が利用者端末装置10にインストールされたときにゼロに設定され、S116で判定される承諾操作が行われるごとに1インクリメントされる値である。つまり、S112の判定処理は、承諾操作が所定回数(=閾値Th)以上行われたか否かを判定するものである。閾値Thは、例えば1~3程度の値である。
【0053】
カウンタ値kが閾値Th未満である場合、決済アプリ20は、
図11により例示されるハーフシートを利用者端末装置10に表示させる(S114)。
図11は、ハーフシートIM3の一例を示す図である。ハーフシートIM3は、トップ画面IM1などのオンラインコード画像が表示される画面よりも小さいサイズで表示される。ハーフシートIM3は、「インターフェース画面」の一例である。ハーフシートIM3には、オフライン決済について説明するテキストテキストTX2が表示される。また、ハーフシートIM3には、オフラインモードでの決済に関する詳細説明画面への遷移を指示する第1操作部B1と、オフラインモードでの決済を承諾することを指示するための第2操作部B2とが設けられている。
図12は、詳細説明画面IMeの一例を示す図である。詳細説明画面IMeには、オフライン決済について説明するテキストTXeが表示される。また、詳細説明画面IMeには、オフラインモードでの決済に関するヘルプページへの遷移を指示する第1操作部Be1と、ハーフシートIM3に戻ることを指示するための第2操作部Be2とが設けられている。ヘルプページは、決済サーバ100により随時更新されるものであり、決済アプリ20は、利用者端末装置10と決済サーバ100との通信が正常に行われている任意のタイミングでヘルプページをダウンロードし、利用者端末装置10のメモリに格納しておく(キャッシュする)。これによって、決済サーバ100との通信が困難な状況においても、オフラインモードでの決済に関する詳細情報を記載したヘルプページを利用者に提供することができる。なおヘルプページもハーフシートIM3と同様にトップ画面IM1などのオンラインコード画像が表示される画面よりも小さいサイズで表示されてよい。
【0054】
決済アプリ20は、ハーフシートIM3において第2操作部B2に対する操作、つまりオフラインモードでの決済を承諾する操作がなされたか否かを判定する(S116)。
【0055】
オフラインモードでの決済を承諾する操作がなされた場合、決済アプリ20は、オフラインモード画面を利用者端末装置10に表示させる(S118)。また、S112においてカウンタ値kが閾値Th以上であると判定された場合も、決済アプリ20は、オフラインモード画面を利用者端末装置10に表示させる(S118)。オフラインモード画面は、オフラインコード画像が表示された画面である。このように、オフラインモード画面への遷移条件は例えば、有効なオフラインキーが決済サーバ100から取得されていることを含み、基本的には承諾する操作がなされたことを含むが、承諾する操作が所定回数以上行われた場合は、承諾する操作がなされたことが除外される。
【0056】
係る処理を行うことで、利用者をスムーズにオフラインコード画像を用いたオフライン決済に誘導することができる。
【0057】
以下、オフラインモード画面について説明する。オフラインモード画面には、第1決済方法でオフライン決済が可能な第1オフラインコード画像が表示される第1オフラインモード画面と、第2決済方法でオフライン決済が可能な第2オフラインコード画像が表示される第2オフラインモード画面とがあり、それらを利用者の操作によって互いに切り替え可能にしてもよい。つまり、電子決済システムが提供するオフラインモードでの決済において、第1決済方法と、第2決済方法とが選択的に実施可能であってよい。例えば、オンライン決済と同様に、第1決済方法はチャージ残高による電子決済を行う方法であり、第2決済方法は後払いによる電子決済を行う方法である。第1決済方法と第2決済方法のそれぞれは、これらとは異なる方法、例えばデビットカード機能を利用した決済方法、ポイント払い、クレジットカード払いなどの方法であってもよい。
【0058】
この場合、決済アプリ20は、ワンタイムコードよりも低頻度で、第1オフラインコード画像を生成するための第1オフラインキーと、第2オフラインコード画像を生成するための第2オフラインキーとを取得しておく。第1オフラインキー、第2オフラインキーのそれぞれは、前述したオフラインキーと同じ情報を含み、更に、第1オフラインキーであるか、第2オフラインキーであるかを示す識別情報が付与されたものである。決済アプリ20は、第1オフラインキーを用いて第1オフラインコードを生成し、それに基づいて第1オフラインコード画像を生成して利用者端末装置10に表示させる。また、決済アプリ20は、第2オフラインキーを用いて第2オフラインコードを生成し、それに基づいて第2オフラインコード画像を生成して利用者端末装置10に表示させる。第1オフラインキーと第2オフラインキーに含まれる利用者識別トークンは共通でもよいし、異なってもよい(
図5では共通になっている)。
【0059】
図13は、第1オフラインコード画像が表示される第1オフラインモード画面IM4の一例を示す図であり、
図14は、第2オフラインコード画像が表示される第2オフラインモード画面IM5の一例を示す図である。第1オフラインモード画面IM4には、第1コード画像CD#1が表示される。第1オフラインモード画面IM4には、現在の決済方法を表示すると共に、決済方法選択画面IM6への遷移を指示するための第3操作部B3が設定される。また、第1オフラインモード画面IM4には、リロードボタンB5が設けられる。リロードボタンB5が操作されると、決済サーバ100に対して通信要求が送信され、
図9のフローチャートの処理が開始される。一方、第2オフラインモード画面IM5には、第2コード画像CD#2が表示される。第2オフラインモード画面IM5には、現在の決済方法を表示すると共に、決済方法選択画面IM6への遷移を指示するための第4操作部B4が設定される。また、第2オフラインモード画面IM5にも、リロードボタンB5が設けられる。
【0060】
図15は、決済方法選択画面IM6の一例を示す図である。決済方法選択画面IM6には、決済方法(支払い方法)として選択可能なものを記載した第6操作部B6~第8操作部B8が設定される。第6操作部B6が操作されると第1オフラインモード画面IM4に遷移し、第7操作部B7が操作されると第2オフラインモード画面IM5に遷移する。第8操作部が選択された場合の処理については任意に定められてよい。
【0061】
決済アプリ20は、オンライン決済における決済方法の設定を、オフライン決済の初期設定として引き継いでもよい。例えば、決済アプリ20は、オフライン決済を行うと決定された場合に最初に表示される画面を第1オフラインモード画面IM4とするのか、第2オフラインモード画面IM5とするのかを、オンライン決済時の設定に合わせて決定してもよい。この場合、決済アプリ20は、オンライン決済における決済方法の設定を利用者端末装置10のメモリに記憶させておく。
【0062】
決済サーバ100は、オフライン決済において取得される決済情報に、第1オフラインコード画面から得られた情報すなわち第1オフラインキーが含まれる場合は第1決済方法で電子決済を進行させ、第2オフラインコード画面から得られた情報すなわち第2オフラインキーが含まれる場合は第2決済方法で電子決済を進行させる。
【0063】
係る処理を行うことで、オフラインコード画像を用いたオフライン決済において利用者の選択の幅を広げ、利便性を向上させることができる。
【0064】
なお、上記においてオフライン処理として説明したものが、第1状態においても実行されてよい。つまり、利用者端末装置10と決済サーバ100との通信状態に関わらず常時、オフライン処理として説明した処理が実行されてもよい。
【0065】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0066】
10 利用者端末装置
20 決済アプリ
100 決済サーバ
120 決済コンテンツ提供部
130 決済処理部
140 情報管理部
【要約】 (修正有)
【課題】より安全な電子決済を実現する決済サーバ、決済制御方法およびプログラムを提供する。
【解決手段】決済サーバが、一以上の利用者端末装置と、一以上の店舗端末装置とが、ネットワークを介して通信して電子決済サービスを提供する構成において、決済サーバは、決済情報に、ワンタイムコードに基づく情報が含まれる場合は、ワンタイムコードを用いて電子決済を進行させ、決済情報に、アプリケーションプログラムがワンタイムコードを用いずに生成したオフラインコード画像から得られた情報が含まれる場合は、オフラインコード画像から得られた情報を用いて電子決済を進行させる決済処理部を備える。決済処理部は、決済情報に、アプリケーションプログラムがワンタイムコードを用いずに生成したオフラインコード画像から得られた情報が含まれる場合、決済情報に、ワンタイムコードに基づく情報が含まれる場合に比して、決済額の上限を低く設定する。
【選択図】
図4