概要
本明細書で説明されている例は、マーチャントシステムロケーションにおいてハンズフリー決済を実施するユーザに関連付けられているユーザ金融口座データへのアクセスを要求する販売時点情報管理デバイスの合法性を検証するためのコンピュータ実装技術を提示するものである。
一例において、マーチャントシステムは、支払処理システムに登録し、マーチャントビーコンデバイスおよびマーチャント販売時点情報管理デバイスをマーチャントロケーションに設置する。支払処理システムは、マーチャントビーコンデバイスに対する適切な時間間隔でマーチャントビーコンコードおよび/またはランダムノンスを定期的に構成し、適切な時間間隔でビーコンコードおよび/またはランダムノンスをマーチャントビーコンデバイスに伝送する。ユーザは、支払処理システムにデジタルウォレットアカウントを確立し、デジタルウォレットアプリケーションをユーザに関連付けられているユーザコンピューティングデバイス上にダウンロードする。ユーザは、1つまたは複数の支払アカウントに対する支払アカウント情報を、デジタルウォレットアプリケーションを介してデジタルウォレットアカウントに入力する。1人または複数のユーザが1つまたは複数の関連付けられているユーザコンピューティングデバイスを介して支払アプリケーションにサインインし、マーチャントシステムロケーションに入る。マーチャントロケーションで支払アプリケーションにサインインしたユーザコンピューティングデバイスは、マーチャントビーコンデバイスによってブロードキャストされたマーチャントビーコンデバイスコードを受信し、コードを支払処理システムに伝送する。マーチャントロケーションにおけるユーザは、マーチャント販売時点情報管理デバイスにおいて決済を開始する。マーチャント販売時点情報管理デバイスは、マーチャント販売時点情報管理デバイスのオペレータによる入力に応答して、支払処理システムに現在マーチャントシステムロケーションにあるユーザコンピューティングデバイスに関連付けられているユーザ支払アカウントデータに対する要求を伝送する。マーチャント販売時点情報管理デバイスは、また、支払処理システムに、ビーコンデバイスによってブロードキャストされたビーコンデバイスコードおよび/またはランダムノンスを再送する。支払処理システムは、ユーザ支払アカウントデータに対する要求とともに、マーチャントシステムロケーションにある複数の販売時点情報管理デバイスと、支払処理システムとの間の通信を受け持つバックオフィスサーバに関連付けられている販売時点情報管理デバイスハードウェア識別子またはネットワークデバイスハードウェア識別子を受信する。支払処理システムは、ユーザアカウントデータに対する要求を受信したことに応答して現在のタイムスタンプをログに記録する。支払処理システムは、ビーコンデバイスコードおよび/またはランダムノンスを検証し、マーチャント販売時点情報管理デバイスに、ビーコンデバイスコードおよび/またはランダムノンスの検証に成功したことに応答して、ビーコンデバイスコードを支払処理システムに再送したマーチャントシステムロケーションにあるユーザコンピューティングデバイスに関連付けられているユーザデジタルウォレットアカウントに対するユーザ識別子を伝送する。また、ランダムノンスおよび/またはビーコンデバイスコードの検証に成功したことに応答して、支払処理システムは、受信済みのネットワークハードウェア識別子またはマーチャント販売時点情報管理デバイス識別子を支払処理システムによるアクセス可能なハードウェア識別子ホワイトリスト内に記憶し、ログに記録されている現在のタイムスタンプをハードウェア識別子ホワイトリスト内の受信済みのハードウェア識別子に関連付ける。マーチャント販売時点情報管理デバイスのオペレータは、ユーザの身元を決定し、そのユーザに対応するユーザ識別子を選択する。支払処理システムは、ユーザ識別子の選択の指示を受信し、選択されたユーザ識別子に対応するユーザの1つまたは複数の支払アカウントに関連付けられている支払アカウント情報を伝送する。支払処理システムは、ユーザの特定の支払アカウントの販売時点情報管理デバイスのオペレータによる選択の指示と、決済詳細とを受信する。支払処理システムは、決済許可要求を選択された支払アカウントに関連付けられている発行人システムに伝達し、決済詳細に従って決済を処理する。支払処理システムは、決済許可要求の認可を受信し、受領書をマーチャント販売時点情報管理デバイスに伝送する。
いくつかの例において、支払処理システムは、マーチャント販売時点情報管理デバイスがビーコンデバイスコードおよび/またはランダムノンスを送信することができず、かつ/あるいは支払処理システムがビーコンデバイスコードおよび/またはランダムノンスを受信することおよび/または妥当性を確認することができない状況においてハードウェア識別子ホワイトリストを使用してマーチャント販売時点情報管理デバイスまたは他のデバイスの妥当性を確認し得る。支払処理システムは、支払処理システムが要求で受信された受信済みのランダムノンスおよび/またはマーチャントビーコンデバイス識別子の妥当性を確認することに成功したユーザアカウントデータに対する要求に関わるマーチャント販売時点情報管理デバイスおよび/またはバックオフィスサーバのハードウェア識別子のリスティングを含むハードウェア識別子ホワイトリストを維持する。デバイスハードウェア識別子がホワイトリストに追加されたときに、その特定のハードウェア識別子に関連付けられているデバイスからのユーザアカウントデータに対する要求がハードウェア識別子に関連付けられているものとしてホワイトリストに記録されたときに現在のタイムスタンプがログに記録される。一例において、支払処理システムは、リスティングに関連付けられている現在のタイムスタンプに関連付けられている時間の後の閾値時間期間が経過したとき、ハードウェア識別子ホワイトリスト内の特定のリスティングを削除する。別の例では、支払処理システムは、リスティングに関連付けられているタイムスタンプに関連付けられている時間の後の所定の時間期間の間、その特定のリスティングをハードウェア識別子ホワイトリスト内に維持し、その所定の時間期間が満了した後そのリスティングを削除する。
一例において、支払処理システムは、現在マーチャントシステムロケーションにあるユーザコンピューティングデバイスに関連付けられているユーザ支払アカウントデータに対するマーチャント販売時点情報管理デバイスから1つまたは複数のその後の要求を受信する。ユーザアカウントデータに対するその後の要求において、マーチャント販売時点情報管理デバイスは、マーチャントビーコンデバイスに関連付けられているマーチャントビーコンデバイス識別子および/またはランダムノンスを受信することおよび/または伝送することができない場合がある。ユーザアカウントデータに対するその後の要求の一例において、マーチャントロケーションにおけるユーザは、マーチャント販売時点情報管理デバイスにおいて決済を開始する。マーチャント販売時点情報管理デバイスは、マーチャント販売時点情報管理デバイスのオペレータによる入力に応答して、支払処理システムに現在マーチャントシステムロケーションにあるユーザコンピューティングデバイスに関連付けられているユーザ支払アカウントデータに対するその後の要求を伝送する。マーチャント販売時点情報管理デバイスは、支払処理システムに、ビーコンデバイスによってブロードキャストされたビーコンデバイスコードおよび/またはランダムノンスを再送することができない。支払処理システムは、ユーザ支払アカウントデータに対する要求とともに、マーチャントシステムロケーションにある複数の販売時点情報管理デバイスと、支払処理システムとの間の通信を受け持つバックオフィスサーバに関連付けられている販売時点情報管理デバイスハードウェア識別子またはネットワークデバイスハードウェア識別子を受信する。支払処理システムは、マーチャント販売時点情報管理デバイスからユーザアカウントデータに対する要求を受信したことに応答して現在のタイムスタンプをログに記録する。支払処理システムは、ユーザアカウントデータに対する要求がビーコンデバイスコードおよび/またはランダムノンスを含まないと決定する。別の例では、支払処理システムは、ビーコンデバイスコードおよび/またはランダムノンスを検証することができない。
支払処理システムは、受信済みのハードウェア識別子がハードウェア識別子ホワイトリスト上に現在リストされているかどうかを決定する。受信済みのハードウェア識別子がハードウェア識別子ホワイトリスト上に現在リストされていない場合、処理システムは、アカウントデータに対するその後の要求を拒否する。受信済みのハードウェア識別子がハードウェア識別子ホワイトリスト上に現在リストされている場合、処理システムは、アカウントデータに対するその後の要求を承認し、販売時点情報管理デバイスに、ビーコンデバイスコードを処理システムに再送した第1のシステムロケーションにあるユーザコンピューティングデバイスに関連付けられているユーザアカウントに対するユーザ識別子を伝送する。
マーチャント販売時点情報管理デバイスのオペレータは、ユーザの身元を決定し、そのユーザに対応するユーザ識別子を選択する。支払処理システムは、ユーザ識別子の選択の指示を受信し、選択されたユーザ識別子に対応するユーザの1つまたは複数の支払アカウントに関連付けられている支払アカウント情報を伝送する。支払処理システムは、ユーザの特定の支払アカウントの販売時点情報管理デバイスのオペレータによる選択の指示と、決済詳細とを受信する。支払処理システムは、決済許可要求を選択された支払アカウントに関連付けられている発行人システムに伝達し、決済詳細に従って決済を処理する。支払処理システムは、決済許可要求の認可を受信し、受領書をマーチャント販売時点情報管理デバイスに伝送する。
一例において、マーチャントシステムは支払処理システムに登録する。マーチャントシステムのオペレータは、マーチャント販売時点情報管理デバイス上に支払アプリケーションをインストールする。別の例では、マーチャントシステムのオペレータは、支払アプリケーションをマーチャントシステムロケーションにある複数のマーチャント販売時点情報管理デバイス上にインストールする。マーチャントシステムのオペレータは、1つまたは複数のマーチャントビーコンデバイスをマーチャントシステムロケーションに設置して、マーチャントロケーションにある1つまたは複数の設置されたマーチャントマーチャント販売時点情報管理デバイスに対応するようにする。支払処理システムは、マーチャントシステムロケーションに設置されている各マーチャント販売時情報管理デバイスについて、販売時点情報管理デバイスに対応するマーチャントビーコンデバイスに関連付けられているマーチャントビーコンデバイス識別子を受信し得る。別の例では、支払処理システムは、マーチャントシステムロケーションに設置されている各マーチャント販売時情報管理デバイスについて、マーチャント販売時点情報管理デバイス識別子をさらに受信し得る。支払処理システムは、各受信済みのマーチャント販売時点情報管理デバイス識別子を対応する受信済みのマーチャントビーコンデバイス識別子に関連付けるものとしてよい。別の例では、支払処理システムは、受信済みのマーチャントビーコンデバイス識別子をマーチャントシステムロケーション識別子に関連付ける。たとえば、支払処理システムは、支払処理システムがマーチャントビーコン識別子および関連付けられているマーチャント販売時点情報管理デバイス識別子および/または関連付けられているマーチャントシステムロケーション識別子を記憶するデータベースを備える。この例では、マーチャントシステムは、複数のマーチャントシステムロケーションを備え得る。たとえば、マーチャントシステムは、複数の実ストアロケーション(physical store location)を有する食料品店チェーンを含み、各実ストアロケーションは一意的なマーチャントシステムロケーション識別子と、特定の実ストアロケーションに関連付けられているマーチャントシステムロケーション識別子に関連付けられているマーチャントシステムロケーションにある1つまたは複数のマーチャント販売時点情報管理デバイスとを有する。
一例において、特定のマーチャント販売時点情報管理に対応する特定のマーチャントビーコンデバイスは、定期的に、支払処理システムからビーコン識別子コードを受信する。たとえば、マーチャントロケーションにある1つまたは複数のマーチャント販売時点情報管理デバイスの各々は、マーチャントロケーションに設置されている対応するマーチャントビーコンデバイスに関連付けられる。一例において、支払処理システムは、5分毎に新しいマーチャントビーコンデバイスコードを決定し、特定のマーチャントビーコンデバイスに伝送し得る。例示的なマーチャントビーコンデバイスコードが、ランダムに生成され、英数字および/または記号文字の列を含む。特定のマーチャントビーコンデバイスは、マーチャントシステムロケーションにおいてワイヤレス通信を介してマーチャントビーコンデバイスコードをブロードキャストする。一例において、特定のマーチャントビーコンデバイスが新しいマーチャントビーコンデバイスコードを受信する毎に、特定のマーチャントビーコンデバイスは、前のマーチャントビーコンデバイスコードをブロードキャストすることを停止し、新しいマーチャントビーコンデバイスコードをブロードキャストする。マーチャントビーコンデバイスは、支払処理システムからランダムノンスを定期的に受信してもよい。たとえば、支払処理システムは、30秒毎に新しいランダムノンスを生成しマーチャントビーコンデバイスに伝送し得る。いくつかの例において、支払処理システムは、支払処理システムとマーチャントビーコンデバイスに関連付けられている販売時点情報管理デバイスとの間で共有される暗号鍵を使用して、暗号化されたノンスを定期的に生成しマーチャントビーコンデバイスに送信し得る。一例において、暗号鍵は、支払アプリケーションによりマーチャント販売時点情報管理デバイス上にインストールされるか、または他の何らかの方法でマーチャント販売時点情報管理デバイス上にプリインストールされる。一例において、支払処理システムは、各マーチャントビーコンデバイスについて、現在のマーチャントビーコンデバイスコードおよび現在のランダムノンスを、マーチャントビーコンデバイスに関連付けられているデバイス識別子、特定のマーチャント販売時点情報管理デバイスに関連付けられているデバイス識別子、および/またはマーチャントシステムロケーション識別子に関連付ける。マーチャントビーコンデバイスは、マーチャント販売時点情報管理デバイスにおいてワイヤレス通信を介してマーチャントビーコンデバイスコードとランダムノンスとを定期的にブロードキャストする。たとえば、マーチャントビーコンデバイスは、Bluetooth(登録商標)ネットワーク、Wi-Fiネットワーク、または他の適切なネットワーク接続を介してマーチャントロケーションにおいてマーチャントビーコンデバイスコードとランダムノンスとを定期的にブロードキャストする。
一例において、マーチャントビーコンデバイスは、普通のワイヤレスネットワークプロトコル、たとえば、Wi-Fiネットワークを介してマーチャントビーコンデバイスコードとランダムノンスとをブロードキャストする。別の例では、マーチャントビーコンデバイスは、第1のワイヤレスネットワークプロトコルを介してマーチャントビーコンデバイスコードを、第2のワイヤレスネットワークプロトコルを介してランダムノンスを、ブロードキャストする。たとえば、マーチャントビーコンデバイスは、Wi-Fiネットワークを介してマーチャントビーコンデバイスコードをブロードキャストし、Bluetooth(登録商標)ネットワークを介してランダムノンスをブロードキャストする。一例において、マーチャントビーコンデバイスは、マーチャントビーコンデバイスコードを、マーチャントビーコンデバイスに関連付けられているワイヤレスアクセスポイント識別子の一部としてブロードキャストする。この例では、マーチャントビーコンデバイスコードを受信するためにユーザコンピューティングデバイスまたはマーチャント販売時点情報管理デバイスがマーチャントビーコンデバイスとのネットワーク接続を確立する必要はなく、マーチャント販売時点情報管理デバイスおよび/またはユーザコンピューティングデバイスは、マーチャントビーコンデバイスコードを備えるマーチャントビーコンデバイスによってブロードキャストされたワイヤレスアクセスポイント識別子をスキャンするものとしてよい。
一例において、ユーザは支払処理システムに登録する。たとえば、ユーザは、ユーザに関連付けられているユーザコンピューティングデバイスを介して支払処理システムウェブサイトにアクセスする。ユーザは、支払処理システムに登録し、デジタルウォレットアプリケーションをユーザコンピューティングデバイス上にダウンロードする。一例において、ユーザは、デジタルウォレットアプリケーションを介して、支払アカウント情報をユーザの1つまたは複数の支払アカウントに関連付けられているデジタルウォレットアカウントに追加する。たとえば、デジタルウォレットアプリケーションは、ネットワークを介してデータを支払処理システムに伝達し、支払処理システムからデータを受信し、支払処理システムは、ユーザのデジタルウォレットアカウントを管理する。
ユーザは、ユーザコンピューティングデバイス上のデジタルウォレットアプリケーションにサインインし、マーチャントシステムロケーションに入る。ユーザコンピューティングデバイスは、ユーザが支払アプリケーションにサインインし、ロケーションサービスを有効化した場合にユーザコンピューティングデバイスの現在のロケーションを記述しているロケーションデータを定期的に、たとえば、5分毎にログに記録するものとしてよい。ユーザは、マーチャントシステムロケーションにあるマーチャントビーコンデバイスの閾値距離の範囲内でユーザコンピューティングデバイスを携帯する。ユーザコンピューティングデバイスは、マーチャントビーコンデバイスコードおよびマーチャントビーコンデバイスによるブロードキャストを定期的に受信し、受信済みのマーチャントビーコンデバイスコード、ユーザアカウント識別子、および現在のログに記録されているロケーションデータを支払処理システムに伝送する。たとえば、ユーザコンピューティングデバイスは、ユーザコンピューティングデバイスとマーチャントビーコンデバイスとの間でBluetooth(登録商標)ネットワーク接続、Wi-Fiネットワーク接続、または他のワイヤレスネットワーク接続などのローカルワイヤレスネットワーク接続を確立する。別の例では、ユーザコンピューティングデバイスは、マーチャントビーコンデバイスとのネットワーク接続を確立する必要はないが、ワイヤレスネットワークアクセスポイント識別子をスキャンし、ワイヤレスネットワークアクセスポイント識別子からマーチャントビーコンデバイスコードを決定し得る。一例において、マーチャントビーコンデバイスは、支払処理システムから5分毎にその後のマーチャントビーコンデバイスコードを受信する。支払処理システムは、マーチャントビーコンデバイスコード、ユーザアカウント識別子、および現在のログに記録されているロケーションデータをユーザコンピューティングデバイスからネットワークを介して受信する。支払処理システムは、ユーザコンピューティングデバイスに関連付けられている受信済みのユーザアカウント識別子を関連付けられている受信済みのマーチャントビーコンデバイスコードおよび受信済みの現在のログに記録されているロケーションデータに関連付けるデータベースを維持する。たとえば、特定のユーザアカウント識別子に関連付けられているユーザコンピューティングデバイスから受信されたデータの各伝送について、支払処理システムは、受信済みのマーチャントビーコンデバイスコードおよび受信済みの現在のログに記録されているロケーションデータをデータベース内の特定のユーザアカウント識別子に関連付ける。
ユーザは、マーチャント販売時点情報管理デバイスに接近する。マーチャント販売時点情報管理デバイスのオペレータは、ユーザの購入品目を合計する。マーチャント販売時点情報管理デバイスのオペレータは、ユーザに支払オプションを選択するよう求める。ユーザは、デジタルウォレットアプリケーションを介して決済を開始するようにマーチャント販売時点情報管理デバイスのオペレータに指示する。たとえば、前に説明されているように、デジタルウォレットアプリケーションは、ユーザコンピューティングデバイス上にインストールされる。マーチャント販売時点情報管理デバイスのオペレータは、デジタルウォレットアプリケーションを使用して決済を開始する、マーチャント販売時点情報管理デバイス上のオプションを選択する。マーチャント販売時点情報管理デバイスは、マーチャントロケーションにおいてマーチャントビーコンデバイスとマーチャント販売時点情報管理デバイスとの間でネットワーク接続を介してマーチャントビーコンデバイスによってブロードキャストされたマーチャントビーコンデバイスコードおよび/またはランダムノンスを受信する。一例において、マーチャント販売時点情報管理デバイスは、暗号化されたノンスを受信し、支払処理システムとマーチャント販売時点情報管理デバイスとの間で共有される暗号鍵を使用して暗号化されたノンスを暗号解読し、暗号化されていないランダムノンスを生成する。マーチャント販売時点情報管理デバイスは、支払アカウント情報に対する要求を、マーチャントシステムの販売時点情報管理デバイス識別子、マーチャント販売時点情報管理デバイスに関連付けられているユーザ名およびパスワード、マーチャント販売時点情報管理デバイスに関連付けられているIPアドレス、マーチャントビーコンデバイスコード、および/または暗号化されていないランダムノンスを含む1つまたは複数の認証資格証明書とともに支払処理システムに伝送する。マーチャントシステムの販売時点情報管理デバイスは、本明細書で説明されている1つまたは複数の認証資格証明書に加えて、またはその代わりに他の適切な認証資格証明書を支払処理システムに伝送し得る。別の例では、マーチャント販売時点情報管理デバイスは、マーチャントビーコンデバイスから暗号化されていないノンスを受信し、暗号化されていないノンスを支払処理システムに伝送する。
支払処理システムは、ユーザ支払アカウント情報を要求するマーチャント販売時点情報管理デバイスの妥当性を確認する。たとえば、支払処理システムは、販売時点情報管理デバイス識別子および関連付けられているパスワードが正しいことを検証する。別の例では、支払処理システムは、販売時点情報管理デバイスから受信されたマーチャントビーコンデバイスコードが支払処理システムのデータベース内のマーチャント販売時点情報管理デバイス識別子および/またはマーチャントシステムロケーション識別子に関連付けられているマーチャントビーコンデバイスコードに対応していることを検証する。さらに別の例では、支払処理システムは、販売時点情報管理デバイスから受信された暗号化されていないランダムノンスが支払処理システムのデータベース内のマーチャント販売時点情報管理デバイス識別子および/またはマーチャントシステムロケーション識別子に関連付けられている暗号化されていないランダムノンスに対応していることを検証する。一例において、支払処理システムが、受信済みのマーチャント販売時点情報管理デバイス識別子、ユーザ名およびパスワード、マーチャントビーコンデバイスコード、および/または暗号化されていないランダムノンスのうちの1つまたは複数が無効であると決定した場合に、支払処理システムは、ユーザ支払アカウント情報に対するマーチャント販売時点情報管理デバイス要求を拒否する。別の例では、支払処理システムが、要求側のマーチャント販売時点情報管理デバイスが受信済みのマーチャント販売時点情報管理デバイス識別子、ユーザ名およびパスワード、IPアドレス、マーチャントビーコンデバイスコード、および/または暗号化されていないランダムノンスのうちの1つまたは複数に基づき合法的であると決定した場合、支払処理システムは、受信されたマッチするビーコンデバイスコードの送り元であり、マーチャントビーコンデバイスの予想されるロケーションへの閾値近接度の範囲内にあるロケーションデータを有する、ユーザコンピューティングデバイスに関連付けられているユーザアカウント識別子を識別する。たとえば、支払処理システムは、デジタルウォレットアカウントにサインインするとともに、マーチャントビーコンデバイスへの無線信号近接度の範囲内にあるマーチャントシステムロケーションのところに存在する、支払処理システムによるデジタルウォレットアカウントを有するすべてのユーザに対するユーザアカウント識別子を識別する。支払処理システムは、識別されたユーザアカウント識別子をネットワーク上でマーチャント販売時点情報管理デバイスに伝送する。マーチャント販売時点情報管理デバイスは、ネットワーク上で支払処理システムからユーザアカウント識別子を受信する。別の例では、支払処理システムは、マーチャント販売時点情報管理デバイスからチャレンジレスポンスを受信したことに応答して、すべての識別されたアカウント識別子を伝送するのではなく、識別されたユーザアカウント識別子のうちの1つまたはサブセットのみを伝送する。
マーチャント販売時点情報管理デバイスのオペレータは、チャレンジおよびレスポンスを介してユーザを識別する。ユーザは、チャレンジレスポンスを提供し、マーチャント販売時点情報管理のオペレータは、そのレスポンスをマーチャント販売時点情報管理デバイスに入力する。マーチャント販売時点情報管理デバイスは、チャレンジレスポンスに基づき支払処理システムから受信されたユーザアカウント識別子のうちから潜在的なユーザアカウント識別子を表示する。たとえば、マーチャント販売時点情報管理デバイスは、レスポンスを支払処理システムに伝送し、支払処理システムは、チャレンジを対応するレスポンスおよびユーザアカウント識別子に関連付けるリストもしくはテーブルを含むデータベースにアクセスする。たとえば、チャレンジレスポンスは、特定のユーザデジタルウォレットアカウントに関連付けられているユーザのイニシャルを含み得る。この例では、ユーザは、ユーザがデジタルウォレットアカウントを支払処理システムに登録するときにデジタルウォレットアカウントによりチャレンジレスポンスを構成する。この例では、支払処理システムは、チャレンジとレスポンスとを相関させることによって識別されたユーザアカウント識別子から1つまたは複数の特定のユーザアカウント識別子を識別し、データベース内の1つまたは複数のユーザアカウント識別子を識別する。この例では、支払処理システムは、チャレンジレスポンスに基づき識別された1つまたは複数の特定の識別されたユーザをマーチャント販売時点情報管理デバイスに伝送する。この例では、マーチャント販売時点情報管理デバイスは、マーチャント販売時点情報管理デバイスのユーザインターフェースを介してマーチャント販売時点情報管理デバイスのオペレータに対して1つまたは複数の特定の識別されたユーザアカウント識別子を表示する。
マーチャント販売時点情報管理デバイスのオペレータは、表示されている1つまたは複数のユーザアカウント識別子からユーザアカウント識別子を選択する。一例において、マーチャント販売時点情報管理デバイスのオペレータは、セキュリティを高めるために、ユーザコンピューティングデバイス上に表示されているユーザの視覚的画像または名前をマーチャント販売時点情報管理デバイスにおける現在の顧客の外観および/またはマーチャント販売時点情報管理のオペレータにユーザによって提示されるドキュメンテーションと比較するものとしてよい。一例において、マーチャント販売時点情報管理デバイスは、ネットワークを介して、マーチャント販売時点情報管理のオペレータによって選択されたユーザアカウント識別子の選択の指示を支払処理システムに伝送する。
販売時点情報管理デバイスは、識別されたユーザの1つまたは複数の支払アカウントを表示する。たとえば、マーチャント販売時点情報管理デバイスから選択されたユーザアカウント識別子を受信するか、または他の何らかの方法でユーザアカウント識別子を識別した後、支払処理システムは、識別されたユーザアカウント識別子の1つまたは複数のアカウントに関連付けられている情報をマーチャント販売時点情報管理デバイスに伝送し、マーチャント販売時点情報管理デバイスのユーザインターフェースを介して表示する。マーチャント販売時点情報管理デバイスのオペレータは、ユーザの指示で、決済に対する特定の表示されているユーザ支払アカウントを選択し、マーチャント販売時点情報管理デバイスを介して、ユーザの許可により決済を確認するオプションを選択する。マーチャント販売時点情報管理デバイスの管理者がユーザインターフェースを介して決済を確認するオプションを選択したことに応答して、マーチャント販売時点情報管理デバイスは、特定の支払アカウントの選択の指示とともに支払処理システムに決済詳細を伝送する。たとえば、決済詳細は、決済の合計額、決済で使用するための選択されたユーザアカウント、決済で使用するためのマーチャントシステムのアカウント、および他の有用なもしくは関連性のある情報を含み得る。支払処理システムは、選択されたユーザ支払アカウントに関連付けられている支払アカウント情報、たとえば、支払アカウント番号、支払アカウント名、選択された支払アカウントに関連付けられている有効期限、選択された支払アカウントに関連付けられている住所、および/または決済で使用する選択された支払アカウントに関連付けられている他の適切な情報のうちの1つまたは複数を抽出し得る。支払処理システムは、支払アカウント情報とともに決済許可要求を発行人システムに伝送する。たとえば、発行人システムは、決済で使用するため選択されたユーザ支払アカウントに関連付けられる。発行人システムは、決済許可要求を認可し、決済許可の認可を支払処理システムに伝送する。支払処理システムは、決済受領書をマーチャント販売時点情報管理デバイスに伝送する。例示的な決済受領書は、1つまたは複数の決済詳細、決済で使用される支払い方法の要約、税込みの小計、および納税済み額、および/または決済に対してユーザが支払った合計金額を含み得る。別の例では、発行人システムは、決済許可要求を拒否し、拒否された決済許可要求の通知を支払処理システムに伝送する。この例では、支払処理システムは、決済が発行人システムによって拒否されたという通知を含む受領書をマーチャント販売時点情報管理デバイスに伝送する。
いくつかの例において、支払処理システムは、ユーザ情報を要求する販売時点情報管理デバイス以外のデバイスの妥当性を確認し得る。たとえば、本明細書で説明されている方法は、支払処理システムによって構成されているビーコンデバイスコードまたはランダムノンスをブロードキャストするビーコンデバイスに近接しているデバイスの妥当性を確認するために使用され得る。たとえば、支払処理システムは、ユーザ101アカウント情報に対する要求を伝送する第2のユーザコンピューティングデバイスの妥当性を確認し得る。いくつかの例において、ユーザ支払アカウントに関連付けられているユーザ101アカウント情報の代わりに、支払処理システムは、他の適切な情報を販売時点情報管理デバイス、またはユーザ101情報を要求している他の適切なデバイスに提供し得る。
いくつかの例において、支払処理システム150は、ハードウェア識別子ホワイトリストを使用してマーチャント販売時点情報管理デバイス130または他のデバイスの妥当性を確認し得る。これらの例では、支払処理システム150は、支払処理システム150が要求で受信された受信済みのランダムノンスおよび/またはマーチャントビーコンデバイス120識別子の妥当性を確認することに成功したユーザアカウントデータに対する要求に関わるマーチャントPOSデバイス130および/またはバックオフィスサーバのハードウェア識別子のリスティングを含むハードウェア識別子ホワイトリストを維持する。この例では、デバイスハードウェア識別子がホワイトリストに追加されたときに、その特定のハードウェア識別子に関連付けられているデバイスからのユーザアカウントデータに対する要求がハードウェア識別子に関連付けられているものとしてホワイトリストに記録されたときに現在のタイムスタンプがログに記録される。一例において、支払処理システム150は、リスティングに関連付けられている現在のタイムスタンプに関連付けられている時間の後の閾値時間期間が経過したとき、ハードウェア識別子ホワイトリスト内の特定のリスティングを削除する。たとえば、支払処理システム150は、現在のタイムスタンプに関連付けられている時刻から1時間後にハードウェア識別子および関連付けられている現在のタイムスタンプを含むリスティングを削除する。この例では、「Device 184953 - January 22, 2016 8:35:00 a.m. Eastern Time」を含む特定のリスティングについて、支払処理システム150は、2016年1月22日、同日中、午前9時35分にハードウェア識別子ホワイトリストからDevice 184953に対するその特定のリスティングを自動的に削除し得る。
一例において、支払処理システム150は、現在マーチャントシステムロケーションにあるユーザコンピューティングデバイス110に関連付けられているユーザ支払アカウントデータに対するマーチャント販売時点情報管理デバイス130から1つまたは複数のその後の要求を受信する。ユーザアカウントデータに対するその後の要求において、マーチャント販売時点情報管理デバイス130は、マーチャントビーコンデバイスに関連付けられているマーチャントビーコンデバイス識別子および/またはランダムノンスを受信することおよび/または伝送することができない場合がある。別の例では、支払処理システム150は、受信済みのマーチャントビーコンデバイス識別子および/またはランダムノンスの妥当性を確認することができないことがある。ユーザアカウントデータに対するその後の要求の一例において、マーチャントロケーションにおけるユーザ101は、マーチャント販売時点情報管理デバイス130において決済を開始する。マーチャント販売時点情報管理デバイス130は、マーチャント販売時点情報管理デバイスのオペレータによる入力に応答して、支払処理システム150に現在マーチャントシステムロケーションにあるユーザコンピューティングデバイス110に関連付けられているユーザ支払アカウントデータに対するその後の要求を伝送する。マーチャント販売時点情報管理デバイス130は、支払処理システムに、ビーコンデバイスによってブロードキャストされたビーコンデバイスコードおよび/またはランダムノンスを再送することができないことがある。支払処理システム150は、ユーザ支払アカウントデータに対する要求とともに、マーチャントシステムロケーションにある複数の販売時点情報管理デバイス130と、支払処理システム150との間の通信を受け持つバックオフィスサーバに関連付けられているマーチャント販売時点情報管理デバイス130ハードウェア識別子またはネットワークデバイスハードウェア識別子を受信する。支払処理システム150は、マーチャント販売時点情報管理デバイス130からユーザアカウントデータに対する要求を受信したことに応答して現在のタイムスタンプをログに記録する。支払処理システム150は、ユーザアカウントデータに対する要求がビーコンデバイス120コードおよび/またはランダムノンスを含まないと決定する。別の例では、支払処理システム150は、ビーコンデバイスコードおよび/またはランダムノンスを検証することができない。
一例において、支払処理システム150は、支払処理システム150がビーコンデバイス120コードおよび/またはランダムノンスを検証することができないと決定したことに応答して、または支払処理システム150がユーザアカウントデータに対するその後の要求に関連してビーコンデバイス120コードおよび/またはランダムノンスを受信したと決定したことに応答して、ユーザアカウントデータに対するその後の要求に関連付けられている受信済みのハードウェア識別子が現在ハードウェア識別子ホワイトリスト上にリストされているかどうかを決定する。一例において、受信済みのハードウェア識別子がハードウェア識別子ホワイトリスト上に現在リストされていない場合、支払処理システム150は、アカウントデータに対するその後の要求を拒否する。この例では、受信済みのハードウェア識別子がハードウェア識別子ホワイトリスト上に現在リストされている場合、支払処理システム150は、アカウントデータに対するその後の要求を承認し、現在マーチャントシステムロケーションにあるユーザコンピューティングデバイス110に関連付けられているユーザ101アカウントに対するユーザ識別子を伝送する。
例示的なその後の決済において、ホワイトリストを使用する支払処理システム150による販売時点情報管理デバイス130の妥当性確認が成功したことに応答してマーチャントシステムロケーションにあるユーザコンピューティングデバイス110に関連付けられているユーザ101アカウントに対するユーザ識別子を受信した後の時刻に、マーチャント販売時点情報管理デバイス130のオペレータは、ユーザ101の身元を決定し、ユーザ101に対応するユーザ101識別子を選択する。支払処理システム150は、ユーザ101識別子の選択の指示を受信し、選択されたユーザ101識別子に対応するユーザ101の1つまたは複数の支払アカウントに関連付けられている支払アカウント情報を伝送する。支払処理システム150は、ユーザ101の特定の支払アカウントの販売時点情報管理デバイスのオペレータによる選択の指示と、決済詳細とを受信する。支払処理システム150は、決済許可要求を選択された支払アカウントに関連付けられている発行人システム140に伝達し、決済詳細に従って決済を処理する。支払処理システム150は、決済許可要求の認可を受信し、受領書をマーチャント販売時点情報管理デバイス130に伝送する。
本明細書で説明されている方法およびシステムを使用し、頼りにすることによって、支払処理システム、マーチャントビーコンデバイス、ユーザコンピューティングデバイス、およびマーチャント販売時点情報管理デバイスは、ユーザがマーチャントシステムとの決済を実施することを、一部の最近の技術で要求されているようにユーザがユーザコンピューティングデバイスをインタラクティブに操作することなく、または身分証明書もしくは物理的支払カードを作成することなく、可能にする。さらに、支払処理システム、マーチャントビーコンデバイス、ユーザコンピューティングデバイス、およびマーチャント販売時点情報管理デバイスは、マーチャントシステムロケーションにあるマーチャントビーコンデバイスおよびユーザコンピューティングデバイスまでのマーチャント販売時点情報管理デバイスの近接度の検証を可能にする。さらに、支払処理システム、マーチャントビーコンデバイス、ユーザコンピューティングデバイス、およびマーチャント販売時点情報管理デバイスは、前の検証結果に基づく閾値時間長に対するマーチャントシステムロケーションにあるマーチャントビーコンデバイスおよびユーザコンピューティングデバイスまでのマーチャント販売時点情報管理デバイスの近接度のバックアップ検証を可能にする。そのようなものとして、本明細書で説明されているシステムおよび方法は、マーチャント販売時点情報管理デバイスのふりをする違法デバイスによるユーザ支払アカウントデータへの不正アクセスのリスクを低減し得る。また、本明細書で説明されているシステムおよび方法は、好ましい検証手順が利用可能でないときに使用するためのマーチャント販売時点情報管理デバイスの前の検証結果に基づく閾値時間長に対するバックアップ検証手順を提供することによってユーザデータを要求するマーチャント販売時点情報管理デバイスの検証の安定性を高め、中断を減らし得る。
例示的なシステムアーキテクチャ
次に図面を見ると、類似の番号は、図全体を通して似た(ただし、必ずしも同一でない)要素を指示しており、そこで、例が詳しく説明されている。
図1は、いくつかの例による、マーチャントシステムロケーションにおいてハンズフリー決済を実施するユーザ101に関連付けられているユーザ金融口座データへのアクセスを要求するマーチャント販売時点情報管理デバイス130の合法性を検証するためのシステム100を示すブロック図である。図1に示されているように、システム100は、1つまたは複数のネットワーク160および/またはローカルワイヤレスネットワーク170を介して互いに通信するように構成されているネットワークコンピューティングデバイス110、120、130、140、および150を含む。いくつかの実施形態において、デバイスに関連付けられているユーザは、本明細書で説明されている技術の利点を得るために、アプリケーションをインストールし、および/または特徴選択を行わなければならない。
例において、ネットワーク160は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、イントラネット、インターネット、ストレージエリアネットワーク(「SAN」)、パーソナルエリアネットワーク(「PAN」)、メトロポリタンエリアネットワーク(「MAN」)、ワイヤレスローカルエリアネットワーク(「WLAN」)、仮想プライベートネットワーク(「VPN」)、セルラーまたは他のモバイル通信ネットワーク、Bluetooth(登録商標)、Bluetoothローエナジー、NFC、もしくはこれら任意の組合せ、または信号、データ、および/またはメッセージの通信を円滑にする他の適切なアーキテクチャもしくはシステムを含み得る。例の説明全体を通して、「データ」および「情報」という用語は、本明細書において、テキスト、画像、音声、動画、またはコンピュータベースの環境内に存在し得る他の任意の形態の情報を指すために入れ替えて使用することができることは理解されるであろう。
各ネットワークコンピューティングデバイス110、120、130、140、および150は、ネットワーク160上でデータを送受信することができる通信モジュールを有するデバイスを備える。たとえば、各ネットワークコンピューティングデバイス110、120、130、140、および150は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、1つまたは複数のプロセッサが中に組み込まれている、および/または結合されているテレビ、スマートフォン、ハンドヘルドコンピュータ、携帯情報端末(「PDA」)、または任意の他の有線もしくは無線プロセッサ駆動デバイスを含み得る。図1に示されている例において、ネットワークコンピューティングデバイス110、120、130、140、および150は、それぞれユーザ101、マーチャントビーコンデバイス120のオペレータ、マーチャント販売時点情報管理(「POS」)デバイス130のオペレータ、発行人システム140のオペレータ、および支払処理システム150のオペレータによって操作される。
例示的なユーザコンピューティングデバイス110は、ユーザインターフェース111と、アンテナ112と、デジタルウォレットアプリケーション113と、データ記憶装置ユニット114と、Wi-Fiコントローラ115と、ウェブブラウザ118と、通信アプリケーション119とを備える。
一例において、ユーザインターフェース111は、ユーザ101がデジタルウォレットアプリケーション113および/またはウェブブラウザ118をインタラクティブに操作することを可能にする。たとえば、ユーザインターフェース115は、タッチスクリーン、音声ベースのインターフェース、またはユーザ101がユーザコンピューティングデバイス110上のアプリケーションまたはモジュールから入力を提供し、出力を受け取ることを可能にする他のインターフェースであってよい。一例において、ユーザ101は、ユーザインターフェース111を介して、デジタルウォレットアプリケーション113および/またはウェブブラウザ118をインタラクティブに操作して、支払処理システム150上にユーザ101アカウントを構成する。別の例では、ユーザ101は、ユーザインターフェース111を介して、デジタルウォレットアプリケーション113および/またはウェブブラウザ118をインタラクティブに操作して、必要な場合に、ハンズフリー支払を可能にする。
一例において、アンテナ112は、ユーザコンピューティングデバイス110とマーチャントビーコンデバイス120および/またはマーチャント販売時点情報管理デバイス130との間の通信の手段である。一例において、Wi-Fiコントローラ115は、アンテナ112を通じて、無線信号を出力するか、またはマーチャントビーコンデバイス120および/またはマーチャント販売時点情報管理デバイス130から無線信号が届くのを監視して待つ。別の例では、ユーザコンピューティングデバイス110は、Bluetooth(登録商標)コントローラまたは近距離無線通信(「NFC」)コントローラを備える。
一例において、デジタルウォレットアプリケーション113は、ユーザコンピューティングデバイス110上に存在し、ユーザコンピューティングデバイス110に対してそのオペレーションを実行するプログラム、機能、ルーチン、アプレット、または類似のエンティティである。いくつかの例において、ユーザ101は、本明細書で説明されている技術の利点を得るために、ユーザコンピューティングデバイス110にデジタルウォレットアプリケーション113をインストールし、および/またはユーザコンピューティングデバイス110上で特徴選択を行わなければならない。一例において、ユーザ101は、ユーザインターフェース111を介して、ユーザコンピューティングデバイス110上のデジタルウォレットアプリケーション113にアクセスし得る。一例において、デジタルウォレットアプリケーション113は、支払処理システム150に関連付けられ得る。
いくつかの例において、デジタルウォレットアプリケーション113によって実行されるものとして本明細書において説明されている1つまたは複数の機能は、ウェブブラウザ118アプリケーション、たとえば、マーチャントシステムウェブサイトに関連付けられているか、または支払処理システム150に関連付けられているウェブブラウザ118アプリケーションによっても実行され得る。いくつかの例において、デジタルウォレットアプリケーション113によって実行されるものとして本明細書で説明されている1つまたは複数の機能は、ユーザコンピューティングデバイス110のオペレーティングシステムによっても実行され得る。いくつかの例において、ウェブブラウザ118を介して実行されるものとして本明細書で説明されている1つまたは複数の機能は、デジタルウォレットアプリケーション113を介しても実行され得る。
一例において、データ記憶装置ユニット114は、情報を記憶するのに適しているユーザコンピューティングデバイス110にアクセス可能なローカルまたはリモートデータ記憶装置構造体を含む。一例において、HTML5ローカル記憶装置などの、データ記憶装置ユニット114は暗号化された情報を記憶する。
一例において、Wi-Fiコントローラ115は、データを送受信し、認証および暗号化機能を実行し、ユーザコンピューティングデバイス110がマーチャントビーコンデバイス120またはマーチャント販売時点情報管理デバイス130からの伝送が届くのをどのように監視して待つかを指示することができ、Wi-Fi指定手順に従ってユーザコンピューティングデバイス110を様々な省電力モードに構成することができる。別の例では、ユーザコンピューティングデバイス110は、適切なワイヤレス通信プロトコルに従って類似の機能を実行することができるBluetooth(登録商標)コントローラまたはNFCコントローラを備える。例示的なWi-Fiコントローラ115は、デジタルウォレットアプリケーション113と通信し、ワイヤレス、Wi-Fi通信チャネル、または他のローカルワイヤレスネットワーク170上でデータの送受信を行うことができる。別の例では、Bluetooth(登録商標)コントローラまたはNFCコントローラが、Bluetooth(登録商標)もしくはNFCプロトコルを使用してWi-Fiコントローラ115として類似の機能を実行する。一例において、Wi-Fiコントローラ115はアンテナ112をアクティブ化して、ユーザコンピューティングデバイス110とマーチャントビーコンデバイス120および/またはマーチャント販売時点情報管理デバイス130との間のワイヤレス通信チャネルを形成する。ユーザコンピューティングデバイス110は、アンテナ112を介してマーチャントビーコンデバイス120および/またはマーチャント販売時点情報管理デバイス130と通信する。一例において、ユーザコンピューティングデバイス110がアクティブ化されているときに、Wi-Fiコントローラ115は、アンテナ112を通じて、無線信号をポーリングするか、またはマーチャントビーコンデバイス120および/またはマーチャント販売時点情報管理デバイス130から無線信号が届くのを監視して待つ。
例示的なGPSモジュール117は、ユーザ101がデジタルウォレットアプリケーション113にサインインするときに、およびユーザ101が支払処理システム150がユーザコンピューティングデバイス110によってログに記録されたロケーションデータを受信することを可能にするようにユーザ101の支払処理システムアカウントを構成したときに、ユーザコンピューティングデバイス110のロケーションデータを定期的にログに記録する。一例において、ロケーションデータをログに記録するステップは、現在のタイムスタンプをログに記録するステップと、現在のタイムスタンプに関連付けられている時刻にユーザコンピューティングデバイス110の実際の、もしくは近似的なロケーションに対応する、全世界測位システム(「GPS」)座標などのロケーション座標を決定し、記憶するステップとを含む。
一例において、ユーザ101は、ウェブブラウザ118アプリケーションまたはスタンドアロンアプリケーションなどの通信アプリケーション119を使用して、分散ネットワーク160を介してドキュメントもしくはウェブページを閲覧し、ダウンロードし、アップロードし、または他の何らかの方法でアクセスすることができる。
一例において、ウェブブラウザ118は、ユーザ101がユーザコンピューティングデバイス110を使用してウェブページをインタラクティブに操作することを可能にすることができる。一例において、ユーザ101は、ウェブブラウザ118を介して支払処理システム150によって維持されているユーザ101のアカウントにアクセスし得る。本明細書において説明されているいくつかの例において、デジタルウォレットアプリケーション113によって実行される1つまたは複数の機能は、支払処理システム150に関連付けられているウェブブラウザ118アプリケーションによっても実行され得る。
一例において、通信アプリケーション119は、ユーザコンピューティングデバイス110およびマーチャントシステムのウェブサーバを含む、ネットワーク160に接続されたウェブサーバまたは他のコンピューティングデバイスとインタラクティブにやり取りすることができる。
例示的なマーチャントビーコンデバイス120は、アンテナ122とWi-Fiコントローラ125とを備える。一例において、マーチャントシステムロケーションは、マーチャントシステムロケーションにインストールされた1つまたは複数のマーチャントビーコンデバイス120を含む。一例において、各インストールされたマーチャントビーコンデバイス120は、支払処理システム150によって、マーチャントシステムロケーションにインストールされている特定のマーチャント販売時点情報管理デバイス130に関連付けられる。たとえば、支払処理システム150は、マーチャントビーコンデバイス120識別子を関連付けられているマーチャント販売時点情報管理デバイス130に対するマーチャント販売時点情報管理デバイス130識別子と相関させるデータベースを備え得る。たとえば、マーチャント販売時点情報管理デバイス130識別子は、シリアル番号またはMAC IDなどのデバイスに特有のハードウェア識別子を含み得る。別の例では、マーチャントビーコンデバイス120識別子は、ビーコンデバイスに特有のハードウェア識別子または支払処理システム150によって生成され、マーチャントビーコンデバイス120に記憶されている識別子を含み得る。別の例では、各インストールされたマーチャントビーコンデバイス120は、支払処理システム150によって、マーチャントビーコンデバイス120がインストールされているマーチャントシステムロケーションに関連付けられているマーチャントロケーション識別子に関連付けられる。
例示的なマーチャントビーコンデバイス120は、特定のマーチャントビーコンデバイス120識別子を、ローカルワイヤレスネットワーク170上で、ワイヤレスネットワーク160を維持するために必要な閾値距離内にある任意のユーザコンピューティングデバイス110にブロードキャストするか、放射するか、または他の何らかの方法で伝送するようにプログラムされる。たとえば、マーチャントシステムロケーションにおけるユーザコンピューティングデバイス110、マーチャントビーコンデバイス120、および/またはマーチャント販売時点情報管理デバイス130の間のワイヤレスネットワーク通信は、マーチャントシステムロケーションにおいてローカルワイヤレスネットワーク170上で行われる。たとえば、ワイヤレスネットワーク170は、Wi-Fiネットワーク、Bluetooth(登録商標)ネットワーク、NFCネットワーク、または他の適切なローカルワイヤレスネットワーク170を含み得る。
一例において、アンテナ122は、マーチャントビーコンデバイス120と1つまたは複数のユーザコンピューティングデバイス110との間、およびマーチャントビーコンデバイス120と関連付けられているマーチャント販売時点情報管理デバイス130との間の通信の手段である。一例において、Wi-Fiコントローラ125は、アンテナ122を通じて、無線信号を出力するか、または1つもしくは複数のユーザコンピューティングデバイス110および/または関連付けられているマーチャント販売時点情報管理デバイス130から無線信号が届くのを監視して待つ。別の例では、マーチャントビーコンデバイス120は、Bluetooth(登録商標)コントローラまたは近距離無線通信(「NFC」)コントローラを備える。
一例において、データ記憶装置ユニット124は、情報を記憶するのに適しているマーチャントビーコンデバイス120にアクセス可能なローカルまたはリモートデータ記憶装置構造体を含む。一例において、HTML5ローカル記憶装置などの、データ記憶装置ユニット124は暗号化された情報を記憶する。
一例において、Wi-Fiコントローラ125は、データを送受信し、認証および暗号化機能を実行し、マーチャントビーコンデバイス120が1つもしくは複数のユーザコンピューティングデバイス110からの、および/または関連付けられているマーチャント販売時点情報管理デバイス130からの伝送が届くのをどのように監視して待つかを指示することができ、Wi-Fi指定手順に従ってマーチャントビーコンデバイス120を様々な省電力モードに構成することができる。別の例では、マーチャントビーコンデバイス120は、類似の機能を実行することができるBluetooth(登録商標)コントローラまたはNFCコントローラを備える。例示的なWi-Fiコントローラ125は、ユーザコンピューティングデバイス110のデジタルウォレットアプリケーション113と通信し、マーチャントシステムロケーションにおいてワイヤレス、Wi-Fi通信チャネル、または他の適切なローカルワイヤレスネットワーク170上でデータの送受信を行うことができる。別の例では、Bluetooth(登録商標)コントローラまたはNFCコントローラが、Bluetooth(登録商標)もしくはNFCプロトコルを使用してWi-Fiコントローラ125として類似の機能を実行する。一例において、Wi-Fiコントローラ125はアンテナ122をアクティブ化して、ユーザコンピューティングデバイス110とマーチャントビーコンデバイス120との間、またはマーチャント販売時点情報管理デバイス130とマーチャントビーコンデバイス120との間のワイヤレス通信チャネルを形成する。マーチャントビーコンデバイス120は、アンテナ122を介してユーザコンピューティングデバイス110および/またはマーチャント販売時点情報管理デバイス130と通信する。一例において、マーチャントビーコンデバイス120がアクティブ化されているときに、Wi-Fiコントローラ125は、アンテナ122を通じて、無線信号をポーリングするか、またはユーザコンピューティングデバイス110および/またはマーチャント販売時点情報管理デバイス130から無線信号が届くのを監視して待つ。
例示的なマーチャント販売時点情報管理デバイス130は、ユーザインターフェース131と、アンテナ132と、支払アプリケーション133と、データ記憶装置ユニット134と、Wi-Fiコントローラ135と、通信アプリケーション139とを備える。
一例において、ユーザインターフェース131は、マーチャントPOSデバイス130のオペレータが、マーチャントPOSデバイス130をインタラクティブに操作することを可能にする。たとえば、ユーザインターフェース131は、タッチスクリーン、音声ベースのインターフェース、またはマーチャントPOSデバイス130のオペレータがマーチャントPOSデバイス130上のアプリケーションまたはモジュールから入力を提供し、出力を受け取ることを可能にする他のインターフェースであってよい。一例において、マーチャントPOSデバイス130のオペレータは、ユーザインターフェース131を介して支払アプリケーション133をインタラクティブに操作する。
例示的なアンテナ132は、マーチャントPOSデバイス130と関連付けられているマーチャントビーコンデバイス120および/または1つもしくは複数のユーザコンピューティングデバイス110の間の通信の手段である。一例において、Wi-Fiコントローラ135は、アンテナ132を通じて、無線信号を出力するか、またはマーチャントビーコンデバイス120および/または1つもしくは複数のユーザコンピューティングデバイス110から無線信号が届くのを監視して待つ。別の例では、マーチャント販売時点情報管理デバイス130は、Bluetooth(登録商標)コントローラまたは近距離無線通信(「NFC」)コントローラを備える。
一例において、支払アプリケーション133は、マーチャント販売時点情報管理デバイス130上に存在し、マーチャント販売時点情報管理デバイス130に対してそのオペレーションを実行するプログラム、機能、ルーチン、アプレット、または類似のエンティティを含む。いくつかの例において、マーチャント販売時点情報管理(「POS」)デバイスのオペレータまたは他のマーチャントシステムのオペレータは、本明細書で説明されている技術の利点を得るために、マーチャント販売時点情報管理デバイス130に支払アプリケーション133をインストールし、および/またはマーチャント販売時点情報管理デバイス130上で特徴選択を行わなければならない。一例において、マーチャントPOSデバイス133のオペレータは、ユーザインターフェース131を介してマーチャントPOSデバイス133上の支払アプリケーション133にアクセスし得る。一例において、支払アプリケーション133は、ネットワーク160を介して、支払処理システム150に関連付けられるものとしてよく、支払処理システム150と通信し得る。別の例では、支払アプリケーション133は、マーチャントビーコンデバイス120に関連付けられているマーチャントシステムに関連付けられ得る。
一例において、データ記憶装置ユニット134は、情報を記憶するのに適しているマーチャントPOSデバイス130にアクセス可能なローカルまたはリモートデータ記憶装置構造体を含む。一例において、HTML5ローカル記憶装置などの、データ記憶装置ユニット134は暗号化された情報を記憶する。
例示的なWi-Fiコントローラ135は、データを送受信し、認証および暗号化機能を実行し、マーチャントPOSデバイス130が1つもしくは複数のユーザコンピューティングデバイス110からの、および/または関連付けられているマーチャントビーコンデバイス120からの伝送が届くのをどのように監視して待つかを指示することができ、Wi-Fi指定手順に従ってマーチャント販売時点情報管理デバイス130を様々な省電力モードに構成することができる。別の例では、マーチャントPOSデバイス130は、類似の機能を実行することができるBluetooth(登録商標)コントローラまたはNFCコントローラを備える。例示的なWi-Fiコントローラ135は、マーチャントPOSデバイス130の支払アプリケーション133と通信し、マーチャントシステムロケーションにおいてワイヤレス、Wi-Fi通信チャネル、または他の適切なローカルワイヤレスネットワーク170上でデータの送受信を行うことができる。別の例では、Bluetooth(登録商標)コントローラまたはNFCコントローラが、Bluetooth(登録商標)もしくはNFCプロトコルを使用してWi-Fiコントローラ135として類似の機能を実行する。一例において、Wi-Fiコントローラ135はアンテナ132をアクティブ化して、1つまたは複数のユーザコンピューティングデバイス110とマーチャント販売時点情報管理デバイス130との間、またはマーチャントビーコンデバイス120とマーチャント販売時点情報管理デバイス130の間のワイヤレス通信チャネルを形成する。マーチャントPOSデバイス130は、アンテナ122を介して1つまたは複数のユーザコンピューティングデバイス110および/またはマーチャントビーコンデバイス120と通信する。一例において、マーチャントPOSデバイス130がアクティブ化されているときに、Wi-Fiコントローラ135は、アンテナ132を通じて、無線信号をポーリングするか、または1つまたは複数のユーザコンピューティングデバイス110および/またはマーチャントビーコンデバイス120から無線信号が届くのを監視して待つ。
一例において、ウェブブラウザアプリケーションまたはスタンドアロンアプリケーションなどの通信アプリケーション139は、マーチャントPOSデバイス130のオペレータが分散ネットワーク160を介してドキュメントもしくはウェブページを閲覧し、ダウンロードし、アップロードし、または他の何らかの方法でアクセスすることを可能にする。たとえば、通信アプリケーション139は、支払処理システム150によりネットワーク160上で支払アプリケーション113からデータを伝達することを可能にし得る。この例では、通信アプリケーション139は、支払処理システム150からネットワーク160上で支払アプリケーション113にデータを伝達することを可能にし得る。
例示的な発行人システム140は、支払処理システム150から受信された支払許可要求を認可するか、または拒否する。一例において、発行人システム140は、ネットワーク160上で支払処理システム150と通信する。一例において、発行人システム140は、取得者システム(acquirer system)と通信して、与信許可(credit authorization)を認可し、マーチャントPOSデバイス130に関連付けられている支払処理システム150および/またはマーチャントシステムへの支払を行う。たとえば、取得者システムは、第三者支払処理会社である。
例示的な支払処理システム150は、アカウント管理モジュール151と、決済処理モジュール153と、データ記憶装置ユニット154と、サーバ158と、ウェブサイト159とを備える。
一例において、アカウント管理モジュール151は、1つまたは複数のユーザ101アカウントを管理する。一例において、ユーザ101アカウントは、デジタルウォレットアカウント、電子メールアカウント、ソーシャルネットワーキングアカウント、または支払処理システム150に関連付けられている他の適切なアカウントを含み得る。一例において、アカウント管理モジュール151は、支払処理システム150によりユーザ101アカウントを有するユーザ101に関連付けられているユーザコンピューティングデバイス110上で動作するデジタルウォレットアプリケーション113と通信する。一例において、ユーザ101は、デジタルウォレットアプリケーション113を介して支払アカウント情報をユーザ101アカウントに入力し、アカウント管理モジュール151は、ユーザコンピューティングデバイス110からネットワーク160上で支払アカウント情報を受信し、受信済みの支払アカウント情報をユーザ101アカウントに関連付ける。
一例において、決済処理モジュール153は、新しいランダムノンスおよび新しいマーチャントビーコンデバイス120コードをマーチャントシステムロケーションにおいてマーチャントPOSデバイス130に関連付けられているマーチャントビーコンデバイス120に定期的に割り当てる。別の例では、決済処理モジュール153は、新しいランダムノンスおよび新しいマーチャントビーコンデバイス120コードをマーチャントシステムロケーション識別子に関連付けられているマーチャントビーコンデバイス120に定期的に割り当てる。一例において、決済処理モジュール153は、支払処理システム150とマーチャントPOSデバイス130との間で共有される共有暗号鍵によりランダムノンスを暗号化する。
一例において、決済処理モジュール153は、ユーザ支払アカウント情報を要求するマーチャント販売時点情報管理デバイスの妥当性を確認する。たとえば、決済処理モジュール153は、マーチャントPOSデバイス130から受信された販売時点情報管理デバイス識別子および関連付けられているパスワードが正しいことを検証する。別の例では、決済処理モジュール153は、販売時点情報管理デバイス130から受信されたマーチャントビーコンデバイス120コードが支払処理システム150のデータベース内のマーチャント販売時点情報管理デバイス120識別子に関連付けられているマーチャントビーコンデバイス120コードに対応していることを検証する。さらに別の例では、決済処理モジュール153は、販売時点情報管理デバイスから受信されたランダムノンスが支払処理システム150のデータベース内のマーチャント販売時点情報管理デバイス120識別子に関連付けられているランダムノンスに対応していることを検証する。一例において、決済処理モジュール153が、受信済みのマーチャント販売時点情報管理デバイス識別子、パスワード、マーチャントビーコンデバイスコード、および/またはランダムノンスのうちの1つまたは複数が無効であると決定した場合に、決済処理モジュール153は、ユーザ101支払アカウント情報に対するマーチャント販売時点情報管理デバイス130要求を拒否する。別の例では、決済処理モジュール153が、要求側のマーチャント販売時点情報管理デバイスが受信済みのマーチャント販売時点情報管理デバイス130識別子、ユーザ名およびパスワード、マーチャントビーコンデバイスコード、および/またはランダムノンスのうちの1つまたは複数に基づき合法的であると決定した場合、決済処理モジュール153は、マッチするビーコンデバイス120コードの送り元であり、マーチャントビーコンデバイス120の知られているロケーションへの閾値近接度の範囲内にあるロケーションデータを有する、ユーザコンピューティングデバイス110に関連付けられているユーザ101アカウント識別子を識別する。たとえば、決済処理モジュール153は、デジタルウォレットアプリケーション113にサインインするとともに、マーチャントビーコンデバイス120へのネットワーク近接度の範囲内にあるマーチャントシステムロケーションのところに存在する、支払処理システムによるデジタルウォレットアカウントを有するすべてのユーザに対するユーザ101アカウント識別子を識別する。支払処理システムは、識別されたユーザ101アカウント識別子をネットワーク160上でマーチャント販売時点情報管理デバイス130に伝送する。
一例において、決済処理モジュール153は、マーチャントPOSデバイス130からの決済詳細と決済を開始する要求とを受信する。例示的な決済詳細は、マーチャントシステムアカウント情報と、決済の合計金額と、支払処理システム150によるユーザ101のアカウントに関連付けられているユーザ101支払アカウントのユーザ101選択とを含む。たとえば、ユーザ101のアカウントは、ユーザ101の1つまたは複数のそれぞれの支払アカウントに対応する1つまたは複数の支払アカウント情報を含むデジタルウォレットアカウントである。
一例において、決済処理モジュール153は、マーチャントPOSデバイス130から決済詳細で受信されたユーザ101支払アカウントのユーザ101選択に対応するユーザ101アカウントから支払アカウント情報を抽出する。一例において、決済処理モジュール153は、支払許可要求を発行人システム140または決済で使用するためにユーザ101によって選択された支払アカウントに関連付けられている他の適切な金融機関に伝送する。例示的な支払許可要求は、マーチャントシステム支払アカウント情報と、ユーザ101支払アカウント情報と、決済の合計金額とを含み得る。一例において、発行者システム140が支払許可要求を処理した後に、決済処理モジュール153は、ネットワーク160上で発行者システム140から支払許可要求の認可または拒否を受信する。一例において、決済処理モジュール153は、マーチャントPOSデバイス130および/またはユーザコンピューティングデバイス110に決済の要約を含む受領書を伝送する。
一例において、データ記憶装置ユニット154は、情報を記憶するのに適している支払処理システム150にアクセス可能なローカルまたはリモートデータ記憶装置構造体を含む。一例において、HTML5ローカル記憶装置などの、データ記憶装置ユニット154は暗号化された情報を記憶する。
図に示されているネットワーク接続は例であり、コンピュータとデバイスとの間の通信リンクを確立する他の手段が使用できることは理解されるであろう。さらに、本開示の利点を得る当業者であれば、図1に示されているユーザコンピューティングデバイス110、マーチャントビーコンデバイス120、マーチャント販売時点情報管理デバイス130、発行者システム140、および支払処理システム150が、いくつかの他の好適なコンピュータシステム構成のうちのいずれかをとり得ることを理解するであろう。たとえば、携帯電話またはハンドヘルドコンピュータとして具現化されているユーザコンピューティングデバイス110は、上で説明されているすべてのコンポーネントを備える場合も備えない場合もある。
例では、ネットワークコンピューティングデバイスおよび本明細書で提示されている技術に関連付けられている他のコンピューティングマシンは、限定はしないが、図11に関してより詳しく説明されているものなどの任意のタイプのコンピューティングマシンであってよい。本明細書で説明されているコンピューティングマシンは、ネットワーク160またはローカルワイヤレスネットワーク170などの、1つまたは複数のネットワーク上で、互いに、さらには他のコンピューティングマシンまたは通信システムと通信し得る。ネットワーク160またはローカルワイヤレスネットワーク170は、図12に関して説明されているネットワーク技術のうちのいずれかを含む、任意のタイプのデータまたは通信ネットワークを含み得る。
例では、ネットワークコンピューティングデバイスおよび本明細書で提示されている技術に関連付けられている他のコンピューティングマシンは、限定はしないが、図11に関してより詳しく説明されているものなどの任意のタイプのコンピューティングマシンであってよい。さらに、本明細書で説明されているものまたは本明細書に提示されている技術に関連付けられている他のもの(たとえば、スクリプト、ウェブコンテンツ、ソフトウェア、ファームウェア、ハードウェア、もしくはモジュール)などの、これらのコンピューティングマシンのうちのいずれかに関連付けられている機能、アプリケーション、またはコンポーネントは、図12に関してより詳しく説明されているコンポーネントのうちのいずれかであってよい。本明細書で説明されているコンピューティングマシンは、ネットワーク160または170などの、1つまたは複数のネットワーク上で、互いに、さらには他のコンピューティングマシンまたは通信システムと通信し得る。ネットワーク160または170は、図12に関して説明されているネットワーク技術のうちのいずれかを含む、任意のタイプのデータまたは通信ネットワークを含み得る。
例示的なプロセス
図2〜図11に示されている例示的な方法は、例示的な動作環境100のコンポーネントに関して以下で説明される。図2〜図11の例示的な方法は、他のシステムとともに、および他の環境内で実行されてもよい。
図2は、いくつかの例による、マーチャントシステムロケーションにおいてハンズフリー決済を実施するユーザ101に関連付けられているユーザ101金融口座データへのアクセスを要求する販売時点情報管理デバイス130の合法性を検証するための方法200を示すブロック図である。方法200は、図1に例示されているコンポーネントを参照しつつ説明される。
ブロック210において、マーチャントシステムは、支払処理システム150に登録し、マーチャントロケーションにハードウェアをインストールする。マーチャントシステムによって、支払処理システム150に登録し、ハードウェアをマーチャントシステムロケーションにインストールするための方法は、図3で説明されている方法を参照しつつ以下でより詳しく説明される。
図3は、いくつかの例による、マーチャントシステムによって支払処理システム150に登録し、ハードウェアをマーチャントシステムロケーションにインストールするための方法210を示すブロック図である。方法210は、図1に例示されているコンポーネントを参照しつつ説明される。
本明細書において説明されている例では、マーチャントシステムは、ハードウェア、たとえば、1つまたは複数のマーチャントビーコンデバイス120と1つまたは複数のマーチャントPOSデバイス130とを特定の順序で例示的なマーチャントシステムロケーションにインストールする必要はない。方法210では、ハードウェアをマーチャントロケーションにインストールする1つの例示的な方法を説明する。しかしながら、マーチャントシステムまたはマーチャントハードウェアをインストールする他のシステムは、1つもしくは複数のマーチャントPOSデバイス130または1つもしくは複数のマーチャントビーコンデバイス120を本明細書で説明されている順序でインストールする必要はない。
ブロック310において、マーチャントシステムは、支払処理システム150に登録する。一例において、マーチャントシステムのエージェントは、支払処理システムウェブサイト159にアクセスし、ウェブサイト159を介してマーチャントシステムアカウントについて支払処理システム150に登録する。一例において、マーチャントシステムは、マーチャントシステム支払アカウントに関連付けられている支払アカウント情報を支払処理システム150によって管理されるマーチャントアカウントに追加する。一例において、マーチャントシステムは、1つまたは複数のマーチャントシステムロケーションを備える。たとえば、マーチャントシステムは、1つまたは複数の実ストアロケーションを備え得る。例示的なマーチャントロケーションは、1つまたは複数のマーチャント販売時点情報管理(「POS」)デバイス130を含む。一例において、1つまたは複数のマーチャントPOSデバイスのオペレータは、マーチャントシステムロケーションにある1つまたは複数のマーチャントPOSデバイス130を操作する。
ブロック320において、マーチャントシステムのオペレータは、マーチャント販売時点情報管理デバイス130上に支払アプリケーション133をインストールし、マーチャント販売時点情報管理デバイス130は、暗号鍵を受信する。別の例では、マーチャントシステムのオペレータは、支払アプリケーション133とマーチャントPOSデバイス130上にプリインストールされている暗号鍵とを使って支払処理システム150からマーチャントPOSデバイス130を購入する。一例において、マーチャントPOSデバイス130は、ネットワーク160上で支払処理システム150と通信して、支払アプリケーション113および/または暗号鍵を受信することができる。一例において、マーチャントPOSデバイス130は、ネットワーク160上で支払アプリケーション133を介して支払処理システム150と通信する。たとえば、マーチャントPOSデバイス130は、ネットワーク160上で支払アプリケーション133を介して決済詳細を支払処理システム150に伝送し、支払処理システム150が決済を処理することを可能にすることができるものとしてよい。別の例では、マーチャントPOSデバイス130は、決済が成功したかどうかをマーチャントPOSデバイスのオペレータに通知する受領書を支払処理システム150から受信することができるものとしてよい。
ブロック330において、マーチャントシステムのオペレータは、マーチャントPOSデバイス130に対応するようにマーチャントビーコンデバイス120をマーチャントシステムロケーションにインストールする。一例において、マーチャントシステムのオペレータは、各マーチャントビーコンデバイス120を、関連付けられているマーチャントPOSデバイス130に近接してインストールする。例示的なマーチャントビーコンデバイス120は、特定のマーチャントビーコンデバイス120識別子を、ワイヤレスネットワーク150上で、ワイヤレスネットワーク160を維持するために必要な閾値距離内にある任意のユーザコンピューティングデバイス110にブロードキャストするか、放射するか、または他の何らかの方法で伝送するようにプログラムされる。
ブロック340において、支払処理システム150は、マーチャント販売時点情報管理デバイス130識別子を受信し、それをマーチャントビーコンデバイス120の対応するマーチャントビーコンデバイス120識別子に関連付ける。別の例では、支払処理システム150は、マーチャント販売時点情報管理デバイス130識別子を販売時点情報管理デバイス130がインストールされているマーチャントシステムロケーションに対応するマーチャントシステムロケーション識別子に関連付ける。一例において、各インストールされたマーチャントビーコンデバイス120は、支払処理システム150によって、マーチャントシステムロケーションにインストールされている特定のマーチャント販売時点情報管理デバイス130に関連付けられる。たとえば、支払処理システム150は、マーチャントビーコンデバイス120識別子を関連付けられているマーチャント販売時点情報管理デバイス130および/またはマーチャントシステムロケーションに対するマーチャント販売時点情報管理デバイス130識別子および/またはマーチャントシステムロケーション識別子と相関させるデータベースを備え得る。たとえば、マーチャント販売時点情報管理デバイス130識別子は、シリアル番号またはMAC IDなどのデバイスに特有のハードウェア識別子を含み得る。別の例では、マーチャントビーコンデバイス120識別子は、ビーコンデバイスに特有のハードウェア識別子または支払処理システム150によって生成され、マーチャントビーコンデバイス120に記憶されている識別子を含み得る。例示的なマーチャントシステムロケーション識別子は、特定のマーチャントシステムロケーションを一意的に識別する識別子を含む。
ブロック350において、マーチャントビーコンデバイス120は、支払処理システムからビーコンデバイスコードおよび/またはランダムノンスを定期的に受信する。一例において、ビーコンデバイスコードは、英数字および/または記号文字を含むランダムに生成されたコードを含む。たとえば、支払処理システム150は、ランダムビーコンデバイスコードを生成するビーコンデバイスコード生成器を含む。この例では、支払処理システム150は、マーチャントシステムロケーションにある各マーチャントビーコンデバイス120について、事前定義された間隔で新しいビーコンデバイスコードを生成する。たとえば、支払処理システム150は、5分毎にマーチャントビーコンデバイス120に対する新しいビーコンデバイスコードを生成する。一例において、支払処理システム150は、新しいビーコンデバイスコードを生成したことに応答して、ネットワーク160を介して各新しいビーコンデバイスコードをマーチャントビーコンデバイス120に伝送する。一例において、マーチャントビーコンデバイス120は、ネットワーク160を介して支払処理システム150からランダムノンスも定期的に受信する。たとえば、支払処理システム150は、事前定義済みの間隔で、たとえば、30秒毎に、ランダムノンスを生成しマーチャントビーコンデバイス120に伝送する。この例では、支払処理システム150は、ランダムノンスを生成するための乱数発生器を備え得る。例示的なランダムノンスは、1つまたは複数の英数字および/または記号文字を含み得る。一例において、支払処理システム150によって生成されるランダムノンスは、暗号化されたランダムノンスを含む。たとえば、支払処理システム150は、マーチャントPOSデバイス130と共有される暗号鍵を使用してランダムノンスを暗号化する。この例では、マーチャントビーコンデバイス120は、ネットワーク160を介して支払処理システム150から新しい暗号化されたビーコンデバイスコードを定期的に受信する。
ブロック360において、マーチャントビーコンデバイス120は、マーチャントシステムのロケーションにおいてワイヤレス通信ネットワーク160を介してビーコンデバイスコードとランダムノンスとをブロードキャストする。一例において、マーチャントビーコンデバイス120は、支払処理システム150から新しいビーコンデバイスコードを受信するまでマーチャントシステムロケーションにおいてローカルワイヤレスネットワーク170を介して支払処理システム150から受信されたビーコンデバイスコードをブロードキャストする。この例では、ネットワーク160を介して支払処理システム150から新しいビーコンデバイスコードを受信したことに応答して、マーチャントビーコンデバイス120は、支払処理システム150からその後の新しいビーコンデバイスコードを受信するまでローカルワイヤレスネットワーク170を介してマーチャントシステムロケーションにおいて新しいビーコンデバイスコードをブロードキャストする。一例において、マーチャントビーコンデバイス120は、支払処理システム150から新しい暗号化された、または暗号化されていないランダムノンスを受信するまでマーチャントシステムロケーションにおいてローカルワイヤレスネットワーク170を介して支払処理システム150から受信された暗号化された、または暗号化されていないランダムノンスをブロードキャストする。この例では、ネットワーク160を介して支払処理システム150から新しい暗号化された、または暗号化されていないランダムノンスを受信したことに応答して、マーチャントビーコンデバイス120は、支払処理システム150からその後の新しいビーコンデバイスコードを受信するまでローカルワイヤレスネットワーク170を介してマーチャントシステムロケーションにおいて新しい暗号化された、または暗号化されていないランダムノンスをブロードキャストする。
一例において、マーチャントビーコンデバイス120は、ワイヤレスネットワーク160媒体上でマーチャントビーコンデバイスコードおよび/またはランダムノンスをブロードキャストし、マーチャントビーコンデバイス120への閾値近接度の範囲内に配置されている1つまたは複数のユーザコンピューティングデバイス110は、ローカルワイヤレスネットワーク170上でデバイスコードを受信することができる。一例において、ユーザコンピューティングデバイス110および/またはマーチャントシステムロケーションに配置されているデバイスのみが、マーチャントビーコンデバイス120への事前定義済み近接度を確立し、ローカルワイヤレスネットワーク170上でマーチャントビーコンデバイス120との通信を可能にすることができる。たとえば、ローカルワイヤレスネットワーク170接続を確立するために必要な閾値近接度は、マーチャントビーコンデバイス120によって利用されるネットワーク120通信プロトコルに依存する。たとえば、マーチャントビーコンデバイス120は、Wi-Fi、Bluetooth(登録商標)、Bluetoothローエナジー(「BLE」)、近距離無線通信(「NFC」)、または他の適切な通信プロトコルを介してビーコンデバイスコードおよびランダムノンスを含むデータをマーチャントビーコンデバイス120への閾値近接度の範囲内にあるマーチャントシステムロケーションに配置されている1つまたは複数のユーザコンピューティングデバイス110にブロードキャストするか、または放射するか、または他の何らかの方法で伝送するものとしてよい。いくつかの例において、マーチャントビーコンデバイス120は、マーチャントビーコン識別子を伝送する前にある時点において、マーチャントビーコンデバイス120とマーチャントビーコンデバイス120への閾値近接度の範囲内にあるマーチャントシステムロケーションに配置されている1つまたは複数のユーザコンピューティングデバイス110および/またはマーチャントPOSデバイス130との間のネットワーク160接続を確立するように動作可能である。
いくつかの例において、マーチャントビーコンデバイス120は、マーチャントPOSデバイス130の一コンポーネントであるか、またはマーチャントPOSデバイス130にワイヤレス方式で、または物理的に接続され、マーチャントPOSデバイス130の1つまたは複数のプロセッサによって制御される。いくつかの例において、マーチャントビーコンデバイス120によって実行される1つまたは複数の機能も、マーチャントPOSデバイス130によって実行され得る。
方法210は、ブロック360から図2のブロック220に進む。
図2に戻り、ブロック220において、ユーザ101は支払処理システム150に登録する。ユーザ101によって、支払処理システム150に登録するための方法は、図4で説明されている方法220を参照しつつ以下でより詳しく説明される。
図4は、いくつかの例による、ユーザ101によって支払処理システム150に登録するための方法220を示すブロック図である。方法220は、図1に例示されているコンポーネントを参照しつつ説明される。
ブロック410において、ユーザ101は、支払処理システムウェブサイト159にアクセスする。たとえば、ユーザ101は、ユーザコンピューティングデバイス110のウェブブラウザ118を介して支払処理システム150にアクセスする。別の例では、ユーザ101は、他の何らかの方法で、支払処理システム150と接触し、ユーザ101アカウントに登録し得る。
ブロック420において、ユーザ101は、支払処理システム150に登録する。ユーザ101は、ユーザ101アカウント番号を取得するか、ユーザコンピューティングデバイス110上にインストールするのに適切なアプリケーションおよびソフトウェアを受け取るか、ハンズフリー支払処理に参加する許可を要求するか、または支払処理システム150に必要なアクションを実行し得る。ユーザ101は、ユーザインターフェース111およびウェブブラウザ118などの、ユーザコンピューティングデバイス110の機能を利用して、ユーザ101アカウントを登録し、構成し得る。一例において、ユーザ101は、1つまたは複数のユーザ101アカウント、たとえば、1つまたは複数の掛売口座(credit account)、1つまたは複数の銀行口座、1つまたは複数のストアドバリューアカウント(stored value account)、および/または他の適切なアカウントに関連付けられている支払アカウント情報を支払処理システム150によって維持されるユーザ101アカウントに入力するものとしてよい。
ブロック430において、ユーザ101は、デジタルウォレットアプリケーション113をユーザコンピューティングデバイス110にダウンロードする。一例において、ユーザコンピューティングデバイス110上で動作しているデジタルウォレットアプリケーション113は、ネットワーク160上で支払処理システム150と通信することができる。
ブロック440において、ユーザ101は、デジタルウォレットアプリケーション113を介して支払アカウント情報を支払処理システム150アカウントに追加する。一例において、ユーザ101は、デジタルウォレットアプリケーション113を介してユーザ101アカウント設定を構成するか、または支払アカウント情報を追加するか、削除するか、もしくは編集し得る。一例において、ユーザ101は、ハンズフリー決済を処理する支払処理システム150の許可を有効化または無効化するオプションを選択し得る。たとえば、ハンズフリー決済は、ユーザ101がユーザコンピューティングデバイス110をインタラクティブに操作する必要がないか、またはマーチャントシステムとの決済を開始するためにユーザコンピューティングデバイス110との最小限度のユーザ101インタラクションを必要とする決済を含む。
方法220は、ブロック440から図2のブロック230に進む。
図2に戻り、ブロック230において、ユーザ101は、マーチャントシステムロケーションに入り、ユーザコンピューティングデバイス110上のデジタルウォレットアプリケーション113にサインインする。一例において、ユーザは、マーチャントシステムロケーションに入る前にデジタルウォレットアプリケーション113にサインインする。別の例において、ユーザ101は、ユーザ101がマーチャントシステムロケーションに入るのと同時に、または入った後にデジタルウォレットアプリケーション113にサインインする。一例において、デジタルウォレットアプリケーション113にサインインするために、ユーザ101は、ユーザ101の支払処理システムアカウントに関連付けられているユーザ名およびパスワードを入力し、「sign in」と書かれているユーザインターフェース111上の対象を選択するものとしてよい。この例では、デジタルウォレットアプリケーション113は、ネットワーク160を介して、ユーザ名およびパスワードを支払処理システム150に伝達する。この例では、支払処理システム150は、ユーザ101アカウントに対するユーザ名およびパスワードの妥当性を確認する。この例では、ユーザ名およびパスワードが正しい場合、支払処理システム150は、ネットワーク160を介して、ユーザコンピューティングデバイス110上でデジタルウォレットアプリケーション113との通信を確立する。
ブロック240において、支払処理システム150は、ユーザコンピューティングデバイス110からマーチャントビーコンデバイス120コードを受信する。支払処理システム150によって、マーチャントビーコンデバイス120によってブロードキャストされたマーチャントビーコンデバイス120コードを受信するための方法は、図5で説明されている方法240を参照しつつ以下でより詳しく説明される。
図5は、いくつかの例による、支払処理システム150によって、マーチャントビーコンデバイス120によってブロードキャストされたマーチャントビーコンデバイス120コードを受信するための方法230を示すブロック図である。方法240は、図1に例示されているコンポーネントを参照しつつ説明される。
ブロック510において、ユーザ101は、マーチャントシステムロケーションにあるマーチャントビーコンデバイス120の閾値距離の範囲内でユーザコンピューティングデバイス110を携帯する。一例において、閾値距離は、ユーザコンピューティングデバイス110がマーチャントシステムロケーションにおいてローカルワイヤレスネットワーク170上でマーチャントビーコンデバイス120からデータを受信するために必要なマーチャントビーコンデバイス120とユーザコンピューティングデバイス110との間の最大距離を含む。たとえば、ユーザ101は、ユーザコンピューティングデバイス110とともにマーチャントPOSデバイス130に接近する。
ブロック520において、ユーザコンピューティングデバイス120は、マーチャントビーコンデバイス120によってブロードキャストされたマーチャントビーコンデバイス120コードを定期的に受信する。一例において、マーチャントビーコンデバイス120は、マーチャントビーコンデバイス120コードを連続的にまたは定期的にブロードキャストする。たとえば、マーチャントビーコンデバイス120は、マーチャントビーコンデバイス120コードを5秒毎にブロードキャストする。一例において、ユーザコンピューティングデバイス120は、マーチャントビーコンデバイス120がローカルワイヤレスネットワーク170上でコードを伝送する頻度に従ってマーチャントビーコンデバイス120コードを定期的に受信する。
ブロック530において、ユーザコンピューティングデバイス110は、ロケーションデータを定期的にログに記録する。たとえば、ユーザコンピューティングデバイス110は、ユーザ101がデジタルウォレットアプリケーション113にサインインする場合に5分毎に、または他の定期的な時間間隔でユーザコンピューティングデバイス110に関連付けられているロケーションデータをログに記録する。ユーザコンピューティングデバイス110は、また、ユーザ101がデジタルウォレットアプリケーション113にサインインしたことに応答して、または別の適切なユーザ101入力に応答してロケーションデバイスをログに記録し得る。ロケーションデータをログに記録するステップは、現在のタイムスタンプを生成するステップと、ユーザコンピューティングデバイス110上の全世界測位システム(「GPS」)モジュール117を介してユーザコンピューティングデバイス110の現在のロケーションの座標をログに記録するステップとを含むものとしてよい。この例では、ロケーションデータは、タイムスタンプと、タイムスタンプが生成された時刻におけるユーザコンピューティングデバイス110の関連付けられている位置とを含む。
一例において、ユーザ101は、ユーザ101がデジタルウォレットアプリケーション113にサインインしたときに支払処理システム150がユーザコンピューティングデバイス110のロケーションデータを受信することを可能にするようにユーザの支払処理システム150アカウント上で1つまたは複数の設定を構成する。この例では、支払処理システム150はユーザ101の支払処理システムアカウント設定に従ってユーザコンピューティングデバイス110がデジタルウォレットアプリケーション113にサインインしている間にユーザコンピューティングデバイス110のロケーションデータを受信し得る。ユーザ101は、ユーザコンピューティングデバイス110によってログに記録されたロケーションデータを受信する支払処理システム150の許可を取り消すようにユーザの支払処理システム150アカウント上で1つまたは複数の設定を構成し得る。ユーザ101は、デジタルウォレットアプリケーション113上で1つまたは複数の設定を構成することを介してユーザコンピューティングデバイス110ロケーションをログに記録する許可を与えるか、または取り消すことを行うものとしてよい。
ブロック540において、ユーザコンピューティングデバイス110は、受信済みのマーチャントビーコンデバイス120コード、ログに記録されたロケーションデータ、およびユーザ101アカウント識別子を支払処理システム150に定期的に伝送する。別の例では、ユーザコンピューティングデバイス110は、ログに記録されたロケーションデータの代わりにユーザコンピューティングデバイス110の最新の知られているロケーションを伝送する。一例において、ユーザコンピューティングデバイス110は、支払処理システム150に、ユーザコンピューティングデバイス110上に記憶されているログに記録されているすべてのロケーションデータ、最新の受信済みのマーチャントビーコンデバイス120コード、およびユーザ101アカウント識別子を定期的に伝送する。一例において、ユーザコンピューティングデバイス110は、ログに記録されたロケーションデータを、ロケーションデータをログに記録したことに応答して、ユーザ101アカウント識別子とともにネットワーク160を介して支払処理システム150に伝送する。この例では、ユーザコンピューティングデバイス110は、ユーザコンピューティングデバイス110がロケーションデータをログに記録する毎にログに記録されたロケーションデータを伝送し得るか、またはユーザコンピューティングデバイス110は、ユーザコンピューティングデバイス110によって記憶されている1回分のロケーションデータを定期的に伝送し得る。一例において、ユーザコンピューティングデバイス110は、ユーザコンピューティングデバイス110がマーチャントビーコンデバイス120からマーチャントビーコンデバイス120コードを受信する毎に、ユーザ101アカウント識別子とともにネットワーク160を介して受信済みのマーチャントビーコンデバイス120コードを支払処理システム150に伝送する。別の例では、ユーザコンピューティングデバイス110は、ユーザコンピューティングデバイス110が第1のコードと異なる第2のマーチャントビーコンデバイス120コードをマーチャントビーコンデバイス120から受信するまで第1のマーチャントビーコンデバイス120コードを1回だけ送信する。
ブロック560において、支払処理システム150は、ユーザコンピューティングデバイス110に関連付けられているユーザ101アカウント識別子と、関連付けられている受信済みのマーチャントビーコンデバイス120コードおよびロケーションデータを含むデータベースを維持する。一例において、データベースは、ユーザ101アカウント識別子をマーチャントビーコンデバイス120コードおよびユーザ101アカウント識別子に関連付けられているユーザコンピューティングデバイス110から受信されたロケーションデータと相関させるテーブルまたは他の組織的な手段を含む。一例において、支払処理システム150データベースは、マーチャントシステム名、ロケーションデータから導出された住所、マーチャントビーコンデバイス120に関連付けられているマーチャントPOSデバイス130、および他の有用なもしくは関連する情報をユーザ101アカウント識別子、マーチャントビーコンデバイス120コード、および各特定のユーザコンピューティングデバイス110から受信されたロケーションデータにさらに相関させ得る。
方法240は、ブロック560から図2のブロック250に進む。
図2に戻り、ブロック250において、ユーザ101は、マーチャント販売時点情報管理デバイス130において決済を開始する。ユーザ101によって、マーチャント販売時点情報管理デバイス130において決済を開始するための方法は、図6で説明されている方法250を参照しつつ以下でより詳しく説明される。本明細書において説明されている例では、ユーザ101は、マーチャントPOSデバイス130において「ハンズフリー決済」を開始する。例示的なハンズフリー決済は、ユーザ101の側でのユーザコンピューティングデバイス110とのインタラクションを必要としない。別の例では、ハンズフリー決済は、ユーザ101によるユーザコンピューティングデバイス110との最小限度のインタラクションしか必要としない。
図6は、いくつかの例による、ユーザ101によってマーチャント販売時点情報管理デバイス130において決済を開始するための方法250を示すブロック図である。方法250は、図1に例示されているコンポーネントを参照しつつ説明される。
ブロック610において、ユーザ101は、マーチャント販売時点情報管理デバイス130に接近する。一例において、マーチャントPOSデバイス130に接近する前のある時点において、ユーザ101は、マーチャントシステムロケーションをブラウズし、1つまたは複数の購入品目を選択する。この例では、ユーザ101は、1つまたは複数の品目を収集し、1つまたは複数の品目をマーチャントPOSデバイス130のところへ、実際の買い物かごまたはショッピングカートを介して、運ぶか、または他の何らかの方法で搬送するものとしてよい。
ブロック620において、マーチャント販売時点情報管理デバイス130のオペレータは、ユーザ101の購入品目を合計する。一例において、マーチャントPOSデバイス130のオペレータ102は、1つまたは複数の品目に付けられているバーコードをスキャンするか、または1つまたは複数の品目に関連付けられている記述および価格をマーチャントPOSデバイス130に他の何らかの方法で入力する。一例において、品目をスキャンするか、またはマーチャントPOSデバイス130に手動で入力した後、マーチャントPOSデバイスのオペレータは、支払アプリケーション133を介してマーチャントPOSデバイス130のユーザインターフェース135上の対象を作動させて、マーチャントPOSデバイス130に品目の合計を行うように指示する。一例において、マーチャントPOSデバイス130は、ユーザインターフェース135を介して、その合計をユーザ101に表示する。
ブロック630において、マーチャント販売時点情報管理デバイス130のオペレータは、ユーザ101に支払オプションを選択するよう求める。一例において、マーチャントPOSデバイス130は、ユーザ101が決済で使用するために選択し得る1つまたは複数の支払オプションを表示する。例示的な支払オプションは、支払処理システム150に関連付けられているデジタルウォレットアプリケーション113を介した支払、現金払い、小切手払い、クレジットカード払い、デビットカード払い、および/またはマーチャントシステムがユーザ101から支払のために受け入れることができるか、または受け入れる意思がある他の支払手段を含み得る。一例において、1つまたは複数の支払オプションは、ユーザインターフェース135上に対象として表示され、ユーザ101がマーチャントPOSデバイス102のオペレータに選択を行うことを指示したことに応答してマーチャントPOSデバイスのオペレータによって選択可能である。
ブロック640において、ユーザ101は、デジタルウォレットアプリケーション113を介して決済を開始するようにマーチャント販売時点情報管理デバイス130のオペレータに指示する。一例において、デジタルウォレットアプリケーション113を支払オプションとして選択する要求をユーザ101から口頭で受け取ったことに応答して、マーチャントPOSデバイス130のオペレータは、デジタルウォレットアプリケーション113支払オプションに対応するマーチャントPOSデバイス130のユーザインターフェース135上の対象を作動させる。
ブロック650において、マーチャント販売時点情報管理デバイス130のオペレータは、デジタルウォレットアプリケーション113を使用して決済を開始する、マーチャント販売時点情報管理デバイス130上のオプションを選択する。一例において、マーチャントPOSデバイス130は、マーチャントPOSデバイス130のオペレータがデジタルウォレットアプリケーション113を使用して決済を開始するオプションを選択した後に確認画面を表示する。例示的な確認画面は、潜在的な決済を要約し、決済合計、ユーザ101によって購入される1つまたは複数の品目の記述、およびユーザ101が決済の支払方法としてデジタルウォレットアプリケーション113を選択したことを示す指示のうちの1つまたは複数を含む情報を表示し得る。例示的な確認画面は、決済を確認するか、または決済をキャンセルするオプションをさらに表示し得る。一例において、ユーザ101は、確認画面を見直し、確認画面に表示されている情報が正しいと決定し、決済を続けることを決定し、マーチャントPOSデバイス130のオペレータに、ユーザインターフェース135を介して決済を確認するオプションを選択することを指示する。
別の例では、ユーザ101は、情報が正しくない、またはユーザ101の気が変わって品目を購入しないと決定した、という理由により決済を中止することを決定する。さらに別の例では、確認画面は、決済詳細を編集するオプションをさらに含む。この例では、マーチャントPOSデバイス130のオペレータは、ユーザ101の指示の後に、決済詳細を編集するオプションを選択するものとしてよく、次いで、決済における品目のうちの1つまたは複数を編集するか、追加するか、もしくは削除するか、または決済に対する支払詳細もしくは支払方法を編集し得る。
方法250は、ブロック650から図2のブロック260に進む。
図2に戻り、ブロック260において、支払処理システム150はランダムノンス、および/またはマーチャントビーコンデバイス120コード、およびユーザアカウント情報に対する要求をマーチャント販売時点情報管理デバイス130から受信する。支払処理システム150によって、ランダムノンス、および/またはマーチャントビーコンデバイス120コード、およびユーザアカウント情報に対する要求をマーチャント販売時点情報管理デバイス130から受信するための方法は、図7で説明されている方法260を参照しつつ以下でより詳しく説明される。一例において、支払処理システム150は、マーチャント販売時点情報管理デバイス130からマーチャントビーコンデバイス120コードを受信する。別の例では、支払処理システム150は、マーチャント販売時点情報管理デバイス130からランダムノンスを受信する。さらに別の例では、支払処理システム150は、マーチャント販売時点情報管理デバイス130からマーチャントビーコンデバイス120コードおよびランダムノンスの両方を受信する。
図7は、いくつかの例による、支払処理システム150によって、マーチャント販売時点情報管理デバイス130からランダムノンス、および/またはマーチャントビーコンデバイス120コード、およびユーザアカウント情報に対する要求を受信するための方法260を示すブロック図である。方法260は、図1に例示されているコンポーネントを参照しつつ説明される。
ブロック710において、マーチャント販売時点情報管理デバイス130は、マーチャントビーコンデバイス120コードを定期的に受信する。一例において、マーチャントPOSデバイス130は、マーチャントシステムロケーションにおいてローカルワイヤレスネットワーク170を介して関連付けられているマーチャントビーコンデバイス120によってブロードキャストされたマーチャントビーコンデバイス120コードを定期的に受信する。一例において、マーチャントビーコンデバイス120は、マーチャントビーコンデバイス120コードを連続的にまたは定期的にブロードキャストする。たとえば、マーチャントビーコンデバイス120は、マーチャントビーコンデバイス120コードを5秒毎にブロードキャストする。一例において、ユーザコンピューティングデバイス120は、マーチャントビーコンデバイス120がローカルワイヤレスネットワーク170上でコードを伝送する頻度に従ってマーチャントビーコンデバイス120コードを定期的に受信する。一例において、マーチャントPOSデバイス130は、マーチャントPOSデバイス130で決済を開始するユーザ101に関連付けられているユーザコンピューティングデバイス110によって受信されるのと同じマーチャントビーコンデバイス120コードを受信する。
ブロック720において、マーチャント販売時点情報管理デバイス130は、暗号化されたランダムノンスを定期的に受信する。一例において、マーチャントビーコンデバイス120は、支払処理システム150から新しい暗号化されたランダムノンスを受信するまでマーチャントシステムロケーションにおいてローカルワイヤレスネットワーク170を介して支払処理システム150から受信された暗号化されたランダムノンスをブロードキャストする。この例では、ネットワーク160を介して支払処理システム150から新しい暗号化されたランダムノンスを受信したことに応答して、マーチャントビーコンデバイス120は、支払処理システム150からその後の新しい暗号化されたランダムノンスを受信するまでローカルワイヤレスネットワーク170を介してマーチャントシステムロケーションにおいて新しい暗号化されたランダムノンスをブロードキャストする。一例において、マーチャント販売時点情報管理デバイス130は、マーチャントシステムロケーションにおいてローカルワイヤレスネットワーク170を介して関連付けられているマーチャントビーコンデバイス120によって伝送された暗号化されたランダムノンスを受信する。他の例では、マーチャントビーコンデバイス120によって伝送され、関連付けられているマーチャントPOSデバイス130によって受信されたランダムノンスは、暗号化されない。一例において、マーチャント販売時点情報管理デバイス130は、マーチャントシステムロケーションにおいてマーチャントビーコンデバイス120から1つまたは複数のユーザコンピューティングデバイス110にマーチャントビーコンデバイス120コードを転送するために使用されるワイヤレスネットワークプロトコルと異なるワイヤレスネットワークプロトコルを介して暗号化されたランダムノンスを受信する。
ブロック730において、マーチャント販売時点情報管理デバイス130は、暗号鍵を使用して暗号化されたランダムノンスを暗号解読する。一例において、マーチャントPOSデバイス130は、共有暗号鍵を支払処理システム150と共有する。別の例では、ランダムノンスは暗号化されず、マーチャントPOSデバイス130はランダムノンスを暗号解読する必要はない。
いくつかの例において、マーチャント販売時点情報管理デバイス130は、ランダムノンスを受信して暗号解読し、マーチャントビーコンデバイス120コードを受信しない。他の例では、マーチャント販売時点情報管理デバイス130は、マーチャントビーコンデバイス120コードを受信し、暗号化されたノンスを受信しない。他の例では、マーチャント販売時点情報管理デバイス130は、暗号化されたノンスおよびマーチャントビーコンデバイス120コードの両方を受信する。
マーチャント販売時点情報管理デバイス130がランダムノンスまたはマーチャントビーコンデバイス120コードのいずれかを受信するが、ランダムノンスおよびマーチャントビーコンデバイス120コードを両方とも受信することはしない例において、マーチャント販売時点情報管理デバイス130がビーコンデバイスコードまたはランダムノンスを受信するかどうかは、マーチャント販売時点情報管理デバイス130に関連付けられている技術的制限に依存する。たとえば、いくつかのマーチャント販売時点情報管理デバイス130は、マーチャントビーコンデバイス120からユーザコンピューティングデバイス110によってビーコンデバイスコードが受信される第1のローカルワイヤレスネットワーク170を監視して待つことができないものとしてよい。この例では、マーチャント販売時点情報管理デバイスは、第1のローカルワイヤレスネットワーク170と異なる第2のローカルワイヤレスネットワーク170上でノンスまたは暗号化されたノンスを受信する。たとえば、第1のローカルワイヤレスネットワーク170は、Bluetooth(登録商標)ネットワークを含み、第2のローカルワイヤレスネットワーク170は、Wi-Fiネットワークを含む。他の例では、いくつかのマーチャント販売時点情報管理デバイス130は、マーチャントビーコンデバイスコードを受信するためにユーザコンピューティングデバイス110によって使用される同じローカルワイヤレスネットワーク170を監視して待つ能力を有し得る。この例では、マーチャント販売時点情報管理デバイス130は、ユーザコンピューティングデバイス110と同じローカルワイヤレスネットワーク170上でマーチャントビーコンデバイス120コードを受信することができるので、マーチャント販売時点情報管理デバイス130はランダムノンスを受信する必要はない。これらの販売時点情報管理デバイスは、ノンスを含む必要はない。
ブロック740において、マーチャント販売時点情報管理デバイス130は、販売時点情報管理デバイス130のユーザ名およびパスワード、最近受信されたマーチャントビーコンデバイス120コード、および/または最近受信されたランダムノンスを含むユーザ101アカウント情報に対する要求を支払処理システム150に伝送する。たとえば、マーチャント販売時点情報管理デバイス130は、受信済みの暗号化されたランダムノンスを暗号解読した後に暗号化されていないランダムノンスを伝送する。別の例では、マーチャントPOSデバイス130は、暗号化されなかったランダムノンスを受信しており、ランダムノンスを再送する。一例において、マーチャントシステムが支払処理システム150に登録したときに、マーチャントシステムは、マーチャントシステムロケーションにおいて各マーチャントPOSデバイス130に関連付けられている別個のユーザ名およびパスワードを確立する。一例において、マーチャントPOSデバイス130のオペレータは、マーチャントPOSデバイス130の支払アプリケーション133を介してマーチャントPOSデバイス130に関連付けられているユーザ名およびパスワードを構成する。この例では、支払処理システム150は、マーチャントシステムロケーションにおいて各マーチャントPOSデバイス130に対するマーチャントPOSデバイス130識別子を含むデータベースを維持する。たとえば、マーチャントPOSデバイス130識別子は、媒体アクセス制御(「MAC」)アドレスまたはインターネットプロトコル(「IP」)アドレスを含み得る。別の実施形態では、マーチャントシステムロケーションにある複数のマーチャント販売時点情報管理デバイス130は、マーチャントシステムロケーションにさらに存在する単一のバックオフィスサーバを介して支払処理システム150と通信する。バックオフィスサーバは、ランダムなマーチャントビーコンデバイス120コードおよび/またはランダムノンスをスキャンする機械である。この例では、ユーザ名およびパスワードは、この単一のバックオフィスサーバに関連付けられ、この単一のバックオフィスサーバは、ユーザ101アカウント情報に対する要求を支払処理システム150に行い、妥当性確認のために支払処理システム150へのそのような要求とともに、そのサーバに関連付けられているユーザ名およびパスワードを提供する。一例において、バックオフィスサーバは、マーチャントシステムロケーションにある1つまたは複数のマーチャント販売時点情報管理デバイス130がバックオフィスサーバを介してネットワーク120上で支払処理システム150と通信したときに必ず支払処理システム150によって受信されるハードウェア識別子を含む。たとえば、バックオフィスサーバハードウェア識別子は、媒体アクセス制御(「MAC」)アドレスまたはIPアドレスを含む。
一例において、データベースで、支払処理システム150は、マーチャントビーコンデバイス120コード、ランダムノンス、および/またはマーチャントPOSデバイス130のユーザ名およびパスワードをマーチャントPOSデバイス130識別子またはマーチャントシステムロケーション識別子に関連付ける。一例において、支払処理システム150は、新しいマーチャントビーコンデバイス120コードおよび新しい(暗号化されるか、または暗号化されていない)ランダムノンスを定期的に生成するときに、支払処理システム150は、新しいランダムノンスおよび/または新しいマーチャントビーコンデバイス120コードをマーチャントPOSデバイス130識別子に関連付けられているデータベースに保存する。
ブロック750において、支払処理システム150は、ユーザ101アカウント情報、販売時点情報管理デバイス130のユーザ名およびパスワード、マーチャントビーコンデバイス120コード、ならびにランダムノンスに対する要求をマーチャント販売時点情報管理デバイス130から受信する。一例において、支払処理システム150は、ネットワーク160を介して、販売時点情報管理デバイス130のユーザ名およびパスワード、ユーザ101アカウント識別子、最近受信されたマーチャントビーコンデバイス120コード、および/または最近受信されたランダムノンスを含むユーザ101アカウント情報に対する要求を受信する。
方法260は、ブロック750から図2のブロック270に進む。
図2に戻り、ブロック270において、支払処理システム150は、ユーザ101支払アカウント情報に対するマーチャント販売時点情報管理デバイス130の要求の妥当性を確認する。支払処理システム150によって、ユーザ101アカウント情報に対するマーチャント販売時点情報管理デバイス130要求の妥当性を確認するため方法は、図8で説明されている方法270を参照しつつ以下でより詳しく説明される。
一例において、図8で説明されているような方法270は、マーチャントロケーションにあるマーチャント販売時点情報管理デバイス130から支払処理システム150へのユーザアカウントデータに対する第1の要求に対して続く。この例では、マーチャント販売時点情報管理デバイス130から支払処理システム150へのユーザアカウントデータに対するその後の要求は、図11で説明されているような方法270に従って説明される。
図8は、いくつかの例による、支払処理システム150によって、ユーザ101アカウント情報に対するマーチャント販売時点情報管理デバイス130要求の妥当性を確認するための方法270を示すブロック図である。方法270は、図1に例示されているコンポーネントを参照しつつ説明される。
ブロック805において、支払処理システム150は、現在のタイムスタンプをログに記録する。一例において、支払処理システム150は、マーチャント販売時点情報管理デバイス130からユーザアカウント情報に対する要求を受信したことに応答して現在のタイムスタンプをログに記録する。例示的な現在のタイムスタンプは、年、月、日、時、分、秒、コンマ以下の秒、時間帯、および/または現在のタイムスタンプがログに記録された時間に関連付けられている他の関連する情報を含む。たとえば、現在のタイムスタンプは、「January 15, 2016, 15 hours, 35 minutes, 22 seconds, 29 milliseconds, Eastern Standard Time (EST)」を含む。
ブロック810において、支払処理システム150は、マーチャントPOSデバイス130のユーザ名およびパスワードが正しいかどうかを決定する。一例において、マーチャントPOSデバイス130がマーチャントシステムロケーションにインストールされたとき、およびマーチャントPOSデバイス130がユーザアカウントデータに対する要求を支払処理システム150に伝送する前の時点。たとえば、マーチャントPOSデバイス130のオペレータは、最初に、マーチャントPOSデバイス130の支払アプリケーション133を介して、および支払処理システム150により、マーチャントPOSデバイス130に関連付けられているユーザ名およびパスワードを構成する。別の例では、マーチャントPOSデバイス130のオペレータは、支払処理システム150との通信のためにそのロケーションにある複数のマーチャントPOSデバイス130によって使用される共通のバックオフィスサーバに関連付けられているユーザ名およびパスワードを構成する。この例では、支払処理システム150は、マーチャントシステムロケーションにおいて各マーチャントPOSデバイス130にマーチャントPOSデバイス130ハードウェア識別子を関連付けるデータベースを維持する。例示的なマーチャントPOSデバイス130ハードウェア識別子は、MACアドレスまたはIPアドレスを含む。この例では、データベースで、支払処理システム150は、マーチャントビーコンデバイス120コード、ランダムノンス、および/またはマーチャントPOSデバイス130のユーザ名およびパスワードをマーチャントPOSデバイス130ハードウェア識別子に関連付ける。別の例では、データベースにおいて、支払処理システム150は、マーチャントビーコンデバイス120コード、ランダムノンス、およびマーチャントロケーションにある複数のマーチャントPOSデバイス130によって使用されるバックオフィスサーバのユーザ名および/またはパスワードをサーバに関連付けられているハードウェア識別子に関連付ける。例示的なバックオフィスサーバハードウェア識別子は、MACアドレスまたはIPアドレスを含む。一例において、マーチャントPOSデバイス130および/またはバックオフィスサーバに関連付けられているユーザ名は、それぞれのデバイスに関連付けられているそれぞれのハードウェア識別子を含む。この例では、マーチャントPOSデバイス130またはバックオフィスサーバは、それぞれのデバイスに関連付けられているユーザ名を自動的に伝送するものとしてよく、マーチャントPOSデバイス130のオペレータは、支払処理システム150への伝送のためにパスワードのみを入力する。
支払処理システム150が、マーチャントPOSデバイス130のユーザ名および/またはパスワードあるいはバックオフィスサーバのユーザ名および/またはパスワードが正しくないと決定した場合、方法280はブロック940に進む。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求とともにマーチャントPOSデバイス130識別子を受信し、受信済みのマーチャントPOSデバイス130識別子に関連付けられているマーチャントPOSデバイス130に関連付けられている記憶されたユーザ名および記憶されたパスワードを取り出す。この例では、支払処理システム150は、マーチャントPOSデバイス130からの受信済みのユーザ名およびパスワードを支払処理システム150データベース内のマーチャントPOSデバイス130に関連付けられている記憶されたユーザ名および記憶されたパスワードと比較する。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求で受信されたユーザ名もしくはパスワードのいずれかがマーチャントPOSデバイス130識別子に関連付けられている記憶されたユーザ名および記憶されたパスワードと正確に一致しない場合にユーザ名および/またはパスワードは正しくないと決定する。
ブロック840において、支払処理システム150はユーザ101アカウント情報へのアクセスを拒否する。一例において、ユーザ101アカウント情報に対する要求で受信されたユーザ名もしくはパスワードのいずれかがマーチャントPOSデバイス130識別子に関連付けられている記憶されたユーザ名および記憶されたパスワードと正確に一致しない場合にユーザ名および/またはパスワードは正しくないと決定したことに応答して、支払処理システム150は、ネットワーク160を介してエラーメッセージを要求側のマーチャントPOSデバイス130に伝送する。一例において、想定される要求側のマーチャントPOSデバイス130は、実際に、ユーザアカウント情報を盗もうとしている違法デバイスであり、不正なユーザ名および/またはパスワードを支払処理システム150に提供する。一例において、違法デバイスは、ネットワーク160を介して支払処理システム150からエラーメッセージを受信する。
ブロック810に戻り、支払処理システム150が、マーチャントPOSデバイス130のユーザ名およびパスワードまたはバックオフィスサーバのユーザ名およびパスワードが正しいと決定した場合、方法280はブロック920に進む。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求とともにマーチャントPOSデバイス130識別子を受信し、受信済みのマーチャントPOSデバイス130識別子に関連付けられているマーチャントPOSデバイス130に関連付けられている記憶されたユーザ名および記憶されたパスワードを取り出す。この例では、支払処理システム150は、マーチャントPOSデバイス130からの受信済みのユーザ名およびパスワードを支払処理システム150データベース内のマーチャントPOSデバイス130に関連付けられている記憶されたユーザ名および記憶されたパスワードと比較する。この例では、支払処理システム150は、この情報が支払処理システム150データベースに記憶されているマーチャントPOSデバイス130識別子またはマーチャントシステムロケーション識別子に関連付けられている記憶されたユーザ名および記憶されたパスワードと正確に一致した場合に受信済みのユーザ名およびパスワードは両方とも正しいと決定する。
本明細書で説明されているいくつかの例では、支払処理システム150は、受信済みのマーチャントビーコンデバイス120コードが正しいかどうか、および受信済みのランダムノンスが正しいかどうかを決定する。他の例では、支払処理システム150は、ランダムノンスまたはマーチャントビーコンデバイス120コードのいずれかの妥当性を確認し、ランダムノンスおよびマーチャントビーコンデバイス120コードの両方の妥当性を確認することはしない。
ブロック820において、支払処理システム150は、受信済みのマーチャントビーコンデバイス120コードが正しいかどうかを決定する。一例において、支払処理システム150は、マーチャントPOSデバイス130に関連付けられているマーチャントビーコンデバイス120に伝送する新しいマーチャントビーコンデバイス120コードを定期的に生成する。たとえば、支払処理システム150は、5分毎にマーチャントビーコンデバイス120に対する新しいマーチャントビーコンデバイス120コードを生成する。一例において、支払処理システム150が、マーチャントビーコンデバイス120に伝送する新しいマーチャントビーコンデバイス120コードを生成する毎に、支払処理システム150は、データベースに記憶されているマーチャントPOSデバイス130識別子に関連付けられているマーチャントビーコンデバイス120コードを更新する。たとえば、支払処理システム150は、支払処理システム150が第2のマーチャントビーコンデバイス120コードを生成したことに応答して支払処理システム150がマーチャントビーコンデバイス120にすでに割り当てていた第1のマーチャントビーコンデバイス120コードの関連付けを解除し、第2のマーチャントビーコンデバイス120コードをデータベース内のマーチャントPOSデバイス130識別子に関連付ける。この例では、支払処理システム150は、第2のビーコンデバイス120コードを生成してからマーチャントビーコンデバイス120を介して第2のビーコンデバイス120コードをブロードキャストするまでの遅延時間を考慮し、第2のマーチャントビーコンデバイス120コードを生成した後に適切な時間間隔で第1のマーチャントビーコンデバイス120コードの関連付けを解除し得る。この例では、第1のマーチャントビーコンデバイス120コードの関連付けを解除する前のこの時間間隔において、支払処理システム150は、マーチャント販売時点情報管理デバイス130から受信されたユーザ101アカウント情報に対する要求において第1のマーチャントビーコンデバイス120コードおよび第2のマーチャントビーコンデバイス120コードの両方を有効なマーチャントビーコンデバイス120コードとして認識し得る。
支払処理システム150が、受信済みのマーチャントビーコンデバイス120コードが正しくないと決定した場合、方法270はブロック840に進む。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求とともにマーチャントビーコンデバイス120コードを受信し、受信済みのマーチャントPOSデバイス130識別子に関連付けられているマーチャントPOSデバイス130に関連付けられている記憶されたマーチャントビーコンデバイス120を取り出す。この例では、支払処理システム150は、マーチャントPOSデバイス130から受信されたマーチャントビーコンデバイス120コードを支払処理システム150データベース内のマーチャントPOSデバイス130に関連付けられている記憶されたマーチャントビーコンデバイス120コードと比較する。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求で受信されたマーチャントビーコンデバイス120コードがマーチャントPOSデバイス130識別子に関連付けられている記憶されたマーチャントビーコンデバイス120コードと正確に一致しない場合にマーチャントビーコンデバイス120コードは正しくないと決定する。
ブロック840において、支払処理システム150はユーザ101アカウント情報へのアクセスを拒否する。一例において、受信済みのマーチャントビーコンデバイス120コードがマーチャントPOSデバイス130識別子に関連付けられている記憶されたマーチャントビーコンデバイス120コードと正確に一致しない場合に受信済みのマーチャントビーコンデバイス120コードは正しくないと決定したことに応答して、支払処理システム150は、ネットワーク160を介してエラーメッセージをユーザ101アカウント情報を要求したマーチャントPOSデバイス130に伝送する。一例において、要求側のマーチャントPOSデバイス130は、実際に、ユーザ101アカウント情報を盗もうとしている違法デバイスであり、不正なマーチャントビーコンデバイス120コードを支払処理システム150に提供する。一例において、マーチャントPOSデバイス130は、ネットワーク160を介して支払処理システム150からエラーメッセージを受信する。
ブロック820に戻り、支払処理システム150が、受信済みのマーチャントビーコンデバイス120コードが正しいと決定した場合、方法280はブロック830に進む。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求とともにマーチャントビーコンデバイス120コードを受信し、受信済みのマーチャントPOSデバイス130識別子に関連付けられているマーチャントPOSデバイス130に関連付けられている記憶されたマーチャントビーコンデバイス120コードを取り出す。この例では、支払処理システム150は、受信済みのマーチャントビーコンデバイス120コードを支払処理システム150データベース内のマーチャントPOSデバイス130に関連付けられている記憶されたマーチャントビーコンデバイス120コードと比較する。この例では、支払処理システム150は、この情報が支払処理システム150データベース内のマーチャントPOSデバイス130識別子に関連付けられている記憶されたマーチャントビーコンデバイス120コードと正確に一致する場合に受信済みのマーチャントビーコンデバイス120コードが正しいと決定する。
ブロック830において、支払処理システム150は、受信済みのランダムノンスが正しいかどうかを決定する。一例において、支払処理システム150は、マーチャントPOSデバイス130に関連付けられているマーチャントビーコンデバイス120に伝送する新しいランダムノンスを定期的に生成する。この例では、支払処理システム150は、支払処理システム150およびマーチャントPOSデバイス130によって共有されている暗号鍵を介して暗号化されたランダムノンスをマーチャントビーコンデバイス120に伝送する前に各生成された新しいランダムノンスを暗号化し得る。たとえば、支払処理システム150は、30秒毎にマーチャントビーコンデバイス120に対する新しいランダムノンスを生成する。一例において、支払処理システム150が、マーチャントビーコンデバイス120に伝送する新しいランダムノンスを生成する毎に、支払処理システム150は、データベースに記憶されているマーチャントPOSデバイス130識別子に関連付けられているランダムノンスを更新する。たとえば、支払処理システム150は、支払処理システム150が第2のランダムノンスを生成したことに応答して支払処理システム150がマーチャントビーコンデバイス120にすでに割り当てていた第1のランダムノンスの関連付けを解除し、第2のランダムノンスをデータベース内のマーチャントPOSデバイス130識別子に関連付ける。この例では、支払処理システム150は、第2のランダムノンスを生成してからマーチャントビーコンデバイス120を介して第2のランダムノンスをブロードキャストするまでの遅延時間を考慮し、第2のランダムノンスを生成した後に適切な時間間隔で第1のランダムノンスの関連付けを解除し得る。この例では、第1のランダムノンスの関連付けを解除する前のこの時間間隔において、支払処理システム150は、マーチャント販売時点情報管理デバイス130から受信されたユーザ101アカウント情報に対する要求において第1のランダムノンスおよび第2のランダムノンスの両方を有効なランダムノンスとして認識し得る。
支払処理システム150が、受信済みのランダムノンスが正しくないと決定した場合、方法280はブロック840に進む。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求とともにランダムノンスを受信し、受信済みのマーチャントPOSデバイス130識別子に関連付けられているマーチャントPOSデバイス130に関連付けられている記憶されたランダムノンスを取り出す。この例では、支払処理システム150は、マーチャントPOSデバイス130からの受信されたランダムノンスを支払処理システム150データベース内のマーチャントPOSデバイス130に関連付けられている記憶されたランダムノンスと比較する。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求で受信されたランダムノンスがマーチャントPOSデバイス130識別子に関連付けられている記憶されたランダムノンスと正確に一致しない場合にランダムノンスは正しくないと決定する。
ブロック840において、支払処理システム150はユーザ101アカウント情報へのアクセスを拒否する。一例において、受信済みのランダムノンスがマーチャントPOSデバイス130識別子に関連付けられている記憶されたランダムノンスと正確に一致しない場合に受信済みのランダムノンスは正しくないと決定したことに応答して、支払処理システム150は、ネットワーク160を介してエラーメッセージをマーチャントPOSデバイス130に伝送する。一例において、要求側のマーチャントPOSデバイス130は、実際に、ユーザ101アカウント情報を盗もうとしている違法デバイスであり、不正なランダムノンスを支払処理システム150に提供するか、またはさもなければランダムノンスを支払処理システム150に提供しない。一例において、マーチャントPOSデバイス130は、ネットワーク160を介して支払処理システム150からエラーメッセージを受信する。
ブロック830に戻り、支払処理システム150が、受信済みのランダムノンスが正しいと決定した場合、方法280はブロック845に進む。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求とともにランダムノンスを受信し、受信済みのマーチャントPOSデバイス130識別子に関連付けられているマーチャントPOSデバイス130に関連付けられている記憶されたランダムノンスを取り出す。この例では、支払処理システム150は、受信済みのランダムノンスを支払処理システム150データベース内のマーチャントPOSデバイス130に関連付けられている記憶されたランダムノンスと比較する。この例では、支払処理システム150は、この情報が支払処理システム150データベース内のマーチャントPOSデバイス130識別子に関連付けられている記憶されたランダムノンスと正確に一致する場合に受信済みのランダムノンスが正しいと決定する。
ブロック845において、支払処理システム150は、マーチャントPOSデバイス130ハードウェア識別子またはサーバハードウェア識別子をホワイトリスト内の現在のタイムスタンプに関連付ける。たとえば、支払処理システム150は、マーチャント販売時点情報管理デバイス130からユーザアカウント情報に対する要求を受信したことに応答して現在のタイムスタンプをログに記録する。例示的な現在のタイムスタンプは、年、月、日、時、分、秒、コンマ以下の秒、時間帯、および/または現在のタイムスタンプがログに記録された時間に関連付けられている他の関連する情報を含む。たとえば、現在のタイムスタンプは、「January 15, 2016, 15 hours, 35 minutes, 22 seconds, 29 milliseconds, Eastern Standard Time (EST)」を含む。それに加えて、支払処理システム150は、ユーザアカウントデータに対する要求とともに、ネットワーク160上で、マーチャントPOSデバイス130ハードウェア識別子または支払処理システム150と通信するためにマーチャントシステムロケーションにある1つまたは複数のマーチャントPOSデバイス130によって使用されるバックオフィスサーバに関連付けられているハードウェア識別子を受信する。
一例において、支払処理システム150は、支払処理システム150が要求で受信された受信済みのランダムノンスおよび/またはマーチャントビーコンデバイス120識別子の妥当性を確認することに成功したユーザアカウントデータに対する要求に関わるマーチャントPOSデバイス130および/またはバックオフィスサーバのハードウェア識別子のリスティングを含むホワイトリストを維持する。この例では、デバイスハードウェア識別子がホワイトリストに追加されたときに、その特定のハードウェア識別子に関連付けられているデバイスからのユーザアカウントデータに対する要求がハードウェア識別子に関連付けられているものとしてホワイトリストに記録されたときに現在のタイムスタンプがログに記録される。一例において、支払処理システム150は、リスティングに関連付けられている現在のタイムスタンプに関連付けられている時間の後の閾値時間期間が経過したときにハードウェア識別子ホワイトリスト内の特定のリスティングを削除する。たとえば、支払処理システム150は、現在のタイムスタンプに関連付けられている時刻から1時間後にハードウェア識別子および関連付けられている現在のタイムスタンプを含むリスティングを削除する。この例では、「Device 184953 - January 22, 2016 8:35:00 a.m. Eastern Time」を含む特定のリスティングについて、支払処理システム150は、2016年1月22日、同日中、午前9時35分にハードウェア識別子ホワイトリストからDevice 184953に対するその特定のリスティングを自動的に削除し得る。
ブロック850において、処理システム150は、マッチするビーコンデバイス120コードの送り元であり、マーチャントビーコンデバイス120への閾値近接度の範囲内にあるロケーションデータを有する、ユーザコンピューティングデバイス110に関連付けられているユーザ101IDを識別する。一例において、複数のユーザコンピューティングデバイス110は、支払処理システム150に、マーチャントシステムロケーションにおいてローカルワイヤレスネットワーク170を介してマーチャントビーコンデバイス120から受信されたマーチャントビーコンデバイス120コードを再送する。この例では、複数のユーザコンピューティングデバイス110は、マーチャントビーコンデバイス120コードに加えてマーチャントシステムロケーションにあるユーザコンピューティングデバイス110によってログに記録されたロケーションデータも伝送する。たとえば、ユーザコンピューティングデバイス110は、ユーザ101がデジタルウォレットアプリケーション113にサインインする場合、およびユーザ101が支払処理システム150がログに記録されたロケーションデータを受信することを可能にするようにユーザ101アカウントの設定を構成した場合に、ロケーションデータをログに記録する。この例では、ユーザコンピューティングデバイス110の各々は、それぞれのユーザコンピューティングデバイス110のデジタルウォレットアプリケーション113に関連付けられているユーザ101アカウントに関連付けられているユーザ101アカウント識別子を伝送する。一例において、支払処理システム150は、ユーザ101アカウント識別子をマーチャントシステムロケーションにおいてユーザコンピューティングデバイス110から受信されたマーチャントビーコンデバイス120コードおよびロケーションデータに関連付けるテーブルまたは他のデータ操作手段を含むデータベースを維持する。一例において、支払処理システム150が、以前に受信されたマーチャントビーコンデバイス120コードと異なる新しいマーチャントビーコンデバイス120コードをユーザコンピューティングデバイス110から受信したときに、支払処理システム150はデータベースを更新する。一例において、支払処理システム150は、データベースを介して、特定の受信済みのマーチャントビーコンデバイス120コードに関連付けられているユーザ101アカウント識別子を識別する。
ブロック860において、支払処理システム150は、識別されたユーザIDをマーチャント販売時点情報管理デバイス130に伝送する。一例において、支払処理システム150は、識別されたユーザ101アカウント識別子をマーチャントビーコンデバイス120コードに関連付けられているマーチャントPOSデバイス130に伝送する。たとえば、支払処理システム150データベースは、マーチャントPOSデバイス130識別子を関連付けられているマーチャントビーコンデバイス120コードに関連付けるテーブルまたは他のデータ操作手段を備える。この例では、共通のマーチャントビーコンデバイス120コードに基づき識別されたユーザ101アカウント識別子について、支払処理システム150は、ネットワーク160を介してユーザ101アカウント識別子をマーチャントPOSデバイス130に伝送する。
ブロック870において、マーチャント販売時点情報管理デバイス130は、ユーザIDを受信する。一例において、マーチャントPOSデバイス130は、ネットワーク160を介して支払処理システム150から識別されたユーザ101アカウント識別子を受信する。
方法270は、ブロック870から図2のブロック280に進む。
図2に戻り、ブロック280において、マーチャント販売時点情報管理デバイス130のオペレータは、チャレンジおよびレスポンスを介してユーザ101を識別する。マーチャント販売時点情報管理デバイス130のオペレータによって、チャレンジおよびレスポンスを介してユーザ101を識別するための方法は、図9で説明されている方法280を参照しつつ以下でより詳しく説明される。
図9は、いくつかの例による、マーチャント販売時点情報管理デバイス130のオペレータによって、チャレンジとレスポンスとを介してユーザ101を識別するための方法280を示すブロック図である。方法280は、図1に例示されているコンポーネントを参照しつつ説明される。
ブロック910において、マーチャント販売時点情報管理デバイス102は、チャレンジをユーザ101に発行する。一例において、マーチャントPOSデバイス130のオペレータは、ユーザ101のイニシャルについてユーザ101に尋ねる。別の例において、マーチャントPOSデバイス130のオペレータは、ユーザ101の電話番号の下4桁についてユーザ101に尋ねる。別の例では、マーチャントPOSデバイス130のオペレータは、構成されたパスワードについてユーザ101に尋ねる。任意の好適なチャレンジが、マーチャントPOSデバイス130のオペレータによって発行され得る。一例において、チャレンジへのレスポンスは、セキュリティで保護された情報またはプライベート情報を提供しない。
ブロック920において、ユーザ101はチャレンジレスポンスを提供する。例示的なチャレンジで説明されているように、レスポンスは、ユーザ101のイニシャル、ユーザ101の電話番号の下4桁、構成されたパスワード、またはユーザ101に関連付けられている他の任意のデータであってよい。任意の構成されたチャレンジレスポンスが利用されてよい。いくつかの実施形態において、レスポンスは、口頭のレスポンス、手ぶり、キーパッドの入力、身分証明カードの表示、または任意の好適なレスポンスであってよい。
ブロック930において、販売時点情報管理デバイス130のオペレータは、レスポンスをマーチャント販売時点情報管理デバイス130に入力する。マーチャントPOSデバイス130のオペレータは、ユーザ101のチャレンジレスポンスを入力する。一例において、ユーザ101が、ユーザ101のイニシャルが「AC」であることを指示した場合、マーチャントPOSデバイスのオペレータ102は「AC」をマーチャントPOSデバイス130の支払アプリケーション133に入力する。一例において、マーチャントPOSデバイス130のユーザインターフェース135は、ユーザ101のレスポンスの入力に対する要求を表示する。マーチャントPOSデバイスのオペレータ102は、仮想または物理キーボード、音声入力を介して、または好適な任意の方式でレスポンスを入力する。代替的な例において、ユーザ101は、レスポンスをマーチャントPOSデバイス130のユーザインターフェース135に入力する。
ブロック940において、マーチャント販売時点情報管理デバイス130は、チャレンジレスポンスに基づき潜在的ユーザ101を表示する。マーチャントPOSデバイス130は、チャレンジレスポンスに基づき潜在的ユーザ101を表示する。チャレンジレスポンスに関連付けられているユーザ101のリストは、マーチャントPOSデバイス130のオペレータに向けてマーチャントPOSデバイス130上に表示される。たとえば、10人の客が関連付けられているマーチャントビーコンデバイス120の付近にいて、10人の客の各々に関連付けられているユーザコンピューティングデバイス110がマーチャントビーコンデバイス120コードを支払処理システム150に再送した場合、マーチャントPOSデバイス130は、支払処理システム150から、それぞれの10人の客のユーザ101アカウントの各々に関連付けられているチャレンジレスポンスを受信していることがある。マーチャントPOSデバイス130がチャレンジレスポンス入力を受信するときに、そのチャレンジレスポンスに関連付けられている潜在的なユーザ101のみが、マーチャントPOSデバイス130のオペレータに対して表示される。
別の実施形態において、チャレンジを処理するマーチャントPOSデバイス130または支払処理システム150は、残っている一致するユーザが1人になるまで追加のチャレンジを提示する。
この例では、マーチャントPOSデバイス130のオペレータが「AC」を決済に関連付けられているユーザ101のイニシャルとして入力した場合、それらのイニシャルを持つ潜在的なユーザ101のみが支払アプリケーション133によってマーチャントPOSデバイス130のオペレータに対して表示されることになる。支払アプリケーション133は、支払処理システム150または別のコンピューティングデバイス上のデータベースにアクセスし、潜在的なユーザ101のイニシャルを識別する。支払アプリケーション133は、イニシャル「AC」を有する1人または複数の潜在的なユーザ101を識別し、識別されたユーザ101アカウントをマーチャントPOSデバイス130のオペレータに対して表示する。この例では、マーチャントビーコンデバイス120の付近にいる10人の客のうちの2人がイニシャル「AC」を有している。2人の客のユーザ101アカウントが、マーチャントPOSデバイス130のオペレータに対して表示される。
支払アプリケーション133は、マーチャントPOSデバイス130のオペレータに提示される潜在的なユーザ101アカウントの画像を表示するものとしてよい。たとえば、各ユーザ101は、画像をユーザ101アカウントに関連付けるものとしてよい。マーチャントPOSデバイス130が1つまたは複数の潜在的なユーザ101アカウントをマーチャントPOSデバイスのオペレータ102に提示するときに、マーチャントPOSデバイスのオペレータ102は、決済を実施するユーザ101と一致する画像に基づき適切なユーザ101アカウントを選択し得る。他の識別情報が、画像の代わりに、または画像に加えて、提示されてもよい。たとえば、ユーザ101の名前が表示され、マーチャントPOSデバイスのオペレータ102がその名前の潜在的なユーザ101を識別するものとしてよい。任意の他の好適な識別情報も提示されてよい。
ブロック950において、マーチャント販売時点情報管理デバイスのオペレータ102は、決済で使用するユーザ101アカウントを選択する。ユーザ101の表示されている画像を識別した後、マーチャントPOSデバイス130のオペレータは、画像に関連付けられているユーザインターフェース135のコントロールを作動させることによって、または任意の好適な方式で選択を入力することによって、ユーザ101の選択を入力し得る。画像が潜在的なユーザの誰とも一致しない場合、マーチャントPOSデバイス130のオペレータは、決済をキャンセルするか、ユーザ101に不一致を通知するか、または任意の好適なアクションを実行し得る。
一例において、単一のユーザ101アカウントのみが、潜在的なユーザ101のリストで提示される。単一のユーザ101アカウントのみが識別された場合、方法は、表示されている画像がユーザ101と一致することをマーチャントPOSデバイス130のオペレータが検証した後に進むものとしてよい。画像が一致しない場合、マーチャントPOSデバイス130のオペレータは、決済をキャンセルするか、ユーザ101に不一致を通知するか、または任意の好適なアクションを実行し得る。いくつかの例において、マーチャントPOSデバイス130のオペレータは、たとえば、ユーザ101の身分証明書を閲覧することを要求することによって、決済に対するユーザ101識別子を選択することを続ける前にユーザ101の身元を検証するさらなるステップを実行してよい。
ブロック960において、マーチャント販売時点情報管理デバイス130は、ユーザ101アカウント識別子の選択の指示を支払処理システム150に伝送する。一例において、マーチャント販売時点情報管理デバイス130は、マーチャントPOSデバイス130のオペレータがマーチャントPOSデバイス130上に表示されているユーザ101アカウント識別子を選択したことに応答してネットワーク160を介して支払処理システム150にユーザ101アカウント識別子の選択の指示を伝送する。一例において、支払処理システム150は、ネットワーク160を介してユーザ101アカウント識別子の選択の指示を受信する。
方法280は、ブロック960から図2のブロック290に進む。
図2に戻り、ブロック290において決済が処理される。決済を処理するための方法は、図10で説明されている方法290を参照しつつ以下でより詳しく説明される。
図10は、いくつかの例による、決済を処理するための方法290を示すブロック図である。方法290は、図1に例示されているコンポーネントを参照しつつ説明される。
ブロック1010において、支払処理システム150は、選択されたユーザ101識別子のアカウント情報をマーチャント販売時点情報管理デバイス130に伝送する。たとえば、支払処理システム150を伴うユーザ101アカウントは、ユーザ101の1つまたは複数の支払アカウントに関連付けられている支払アカウント情報を含む。ユーザ101の例示的な支払アカウントは、掛売口座、銀行口座、ストアドバリューアカウント、ギフトカード、マーチャントシステムのチャージアカウント、または他の関連するユーザ101アカウントを含む。一例において、マーチャントPOSデバイス130は、ユーザ101支払アカウントのうちの1つまたは複数に対する完全な支払情報を受信しない。たとえば、支払情報は、難読化されるか、閉塞されるか、または切り詰められてよい。たとえば、マーチャントPOSデバイス130は、ユーザ101がユーザインターフェース135を介して支払アカウントを識別するのに十分な、短縮された支払情報のみを受信し得る。
ブロック1020において、マーチャント販売時点情報管理デバイス130は、選択されたユーザ101のアカウントを表示する。一例において、マーチャントPOSデバイス130は、ユーザインターフェース135上にユーザ101の完全なアカウント情報を表示しない。たとえば、クレジットカード口座では、マーチャントPOSデバイスのユーザインターフェース135は、クレジットカードに関連付けられている名前、クレジットカード番号の下4桁、および有効期限のみを表示し得る。
ブロック1030において、マーチャント販売時点情報管理デバイス130のオペレータは、決済に対するユーザ101アカウントを選択し、ユーザ101の許可により決済を確認する。たとえば、ユーザ101は、ユーザインターフェース135に直接表示されるアカウントオプションを閲覧するか、またはマーチャントPOSデバイス130のオペレータがユーザ101支払アカウントオプションをユーザ101に読み上げるのを聴く。一例において、ユーザ101は、決済で使用する支払アカウントオプションを選択する。たとえば、ユーザ101は、クレジットカード口座を使用することを決定する。一例において、ユーザ101は、決済で使用する支払アカウントの選択をマーチャントPOSデバイス130のオペレータに伝達する。一例において、支払アカウントのユーザ101の指示を受信したことに応答して、マーチャントPOSデバイス130のオペレータは、マーチャントPOSデバイスのユーザインターフェース135上でユーザ101によって指示されている支払アカウントを選択する。
ブロック1040において、マーチャント販売時点情報管理デバイス130は、決済詳細を支払処理システム150に伝送する。たとえば、マーチャントPOSデバイス130は、決済合計、マーチャントシステムのアカウント識別子、およびユーザ101アカウント支払オプションの選択を含む決済詳細を伝送する。一例において、支払処理システム150は、ネットワーク120上で決済詳細を受信する。一例において、支払処理システム150は、ユーザ101支払アカウントの受信済みの選択に対応するユーザ101アカウントから支払アカウント情報を抽出する。
ブロック1050において、支払処理システム150は、決済許可要求を発行人システム140に伝送する。一例において、支払処理システム150は、ユーザ101支払アカウント情報と、マーチャントシステムの支払アカウント情報と、決済の合計金額とを含む決済許可要求を生成する。一例において、支払処理システム150は、ネットワーク120を介して支払処理システム150から決済許可要求を受信する。
ブロック1060において、発行人システム140は、決済許可要求を認可し、決済許可認可を支払処理システム150に伝送する。一例において、発行人システム140は、ユーザ101の現在の勘定残高をユーザ101の掛売口座に関連付けられているユーザ101の与信限度額から差し引く。一例において、与信限度額と与信残高との間の差が決済の総額よりも大きい正数である場合、発行人システム140は、決済許可を認可する。たとえば、ユーザ101は、決済が認可されるとした場合に与信限度額を超えない、したがって、発行人システム140は、決済許可要求を認可する。一例において、支払処理システム150は、発行人システム140から決済許可認可を受信する。別の例では、支払処理システム150は、発行人システム140が決済許可要求を拒否したことに応答して決済許可要求の拒否を受信する。一例において、発行人システム140が決済許可要求を認可した場合に、発行人システム140は、マーチャントシステムアカウントに貸方記入し、ユーザ101掛売口座明細書、銀行口座明細書、または他の適切な明細書に課金を追加する。
ブロック1070において、支払処理システム150は、決済受領書をマーチャント販売時点情報管理デバイス130に伝送する。たとえば、支払処理システム150は、ネットワーク120上で決済の認可の確認または拒否された決済の通知をマーチャントPOSデバイス130に伝送する。一例において、マーチャントPOSデバイス130は、マーチャントPOSデバイス130の一コンポーネントであるか、またはマーチャントPOSデバイス130に通信可能に何らかの方法で結合されるプリンタデバイスを介して成功または不成功の決済の要約を含む受領書を印刷する。別の例では、支払処理システム150は、ユーザコンピューティングデバイス上に表示されるべき決済受領書をユーザコンピューティングデバイス110に伝送し得る。さらに別の例では、マーチャントPOSデバイス130は、ユーザコンピューティングデバイス上に表示されるべき決済受領書をユーザコンピューティングデバイス110に伝送する。
図11は、いくつかの例による、支払処理システム150によって、ユーザ101アカウント情報に対するマーチャント販売時点情報管理デバイス130のその後の要求の妥当性を確認するための方法270を示すブロック図である。方法270は、図1に例示されているコンポーネントを参照しつつ説明される。図11で説明されている方法270は、図8で説明されているような方法270の代わりに、またはそれに加えて使用され得る。一例において、図11で説明されている方法270は、図7のブロック750の後に続く。
一例において、図11のブロック1105および1110は、それぞれ、図8のブロック805および810と実質的に同じ方法の後に続く。
ブロック1105において、支払処理システム150は、現在のタイムスタンプをログに記録する。一例において、支払処理システム150は、マーチャント販売時点情報管理デバイス130からユーザアカウント情報に対する要求を受信したことに応答して現在のタイムスタンプをログに記録する。例示的な現在のタイムスタンプは、年、月、日、時、分、秒、コンマ以下の秒、時間帯、および/または現在のタイムスタンプがログに記録された時間に関連付けられている他の関連する情報を含む。たとえば、現在のタイムスタンプは、「January 15, 2016, 15 hours, 35 minutes, 22 seconds, 29 milliseconds, Eastern Standard Time (EST)」を含む。
ブロック1110において、支払処理システム150は、マーチャントPOSデバイス130の資格証明書が正しいかどうかを決定する。たとえば、支払処理システム150は、ユーザアカウントデータに対する要求でマーチャントPOSデバイス130によって提供されるユーザ名および/またはパスワードが正しいかどうかを決定する。一例において、支払処理システム150は、マーチャントシステムロケーションにおいて各マーチャントPOSデバイス130にマーチャントPOSデバイス130ハードウェア識別子を関連付けるデータベースを維持する。この例では、データベースで、支払処理システム150は、マーチャントビーコンデバイス120コード、ランダムノンス、および/またはマーチャントPOSデバイス130のユーザ名およびパスワードをマーチャントPOSデバイス130ハードウェア識別子に関連付ける。別の例では、データベースにおいて、支払処理システム150は、マーチャントビーコンデバイス120コード、ランダムノンス、およびマーチャントロケーションにある複数のマーチャントPOSデバイス130によって使用されるバックオフィスサーバのユーザ名および/またはパスワードをサーバに関連付けられているハードウェア識別子に関連付ける。一例において、マーチャントPOSデバイス130および/またはバックオフィスサーバに関連付けられているユーザ名は、それぞれのデバイスに関連付けられているそれぞれのハードウェア識別子を含む。この例では、マーチャントPOSデバイス130またはバックオフィスサーバは、それぞれのデバイスに関連付けられているユーザ名を自動的に伝送するものとしてよく、マーチャントPOSデバイス130のオペレータは、支払処理システム150への伝送のためにパスワードのみを入力する。
支払処理システム150が、マーチャントPOSデバイス130のユーザ名および/またはパスワードまたはバックオフィスサーバのユーザ名および/またはパスワードが正しくないと決定した場合、方法270はブロック840に進む。たとえば、支払処理システム150は、ユーザ101アカウント情報に対する要求とともにマーチャントPOSデバイス130識別子を受信し、受信済みのマーチャントPOSデバイス130識別子に関連付けられているマーチャントPOSデバイス130に関連付けられている記憶されたユーザ名および記憶されたパスワードを取り出す。この例では、支払処理システム150は、マーチャントPOSデバイス130からの受信済みのユーザ名およびパスワードを支払処理システム150データベース内のマーチャントPOSデバイス130に関連付けられている記憶されたユーザ名および記憶されたパスワードと比較する。この例では、支払処理システム150は、ユーザ101アカウント情報に対する要求で受信されたユーザ名もしくはパスワードのいずれかがマーチャントPOSデバイス130識別子に関連付けられている記憶されたユーザ名および記憶されたパスワードと正確に一致しない場合にユーザ名および/またはパスワードは正しくないと決定する。
ブロック840において、支払処理システム150はユーザ101アカウント情報へのアクセスを拒否する。一例において、ユーザ101アカウント情報に対する要求で受信されたユーザ名もしくはパスワードのいずれかがマーチャントPOSデバイス130識別子に関連付けられている記憶されたユーザ名および記憶されたパスワードと正確に一致しない場合にユーザ名および/またはパスワードは正しくないと決定したことに応答して、支払処理システム150は、ネットワーク160を介してエラーメッセージを要求側のマーチャントPOSデバイス130に伝送する。一例において、想定される要求側のマーチャントPOSデバイス130は、実際に、ユーザアカウント情報を盗もうとしている違法デバイスであり、不正なユーザ名および/またはパスワードを支払処理システム150に提供する。一例において、違法デバイスは、ネットワーク160を介して支払処理システム150からエラーメッセージを受信する。
ブロック1110に戻り、支払処理システム150が、マーチャントPOSデバイス130のユーザ名およびパスワードあるいはバックオフィスサーバのユーザ名およびパスワードが正しいと決定した場合、方法270はブロック1120に進む。たとえば、支払処理システム150は、ユーザ101アカウント情報に対する要求とともにマーチャントPOSデバイス130識別子を受信し、受信済みのマーチャントPOSデバイス130識別子に関連付けられているマーチャントPOSデバイス130に関連付けられている記憶されたユーザ名および記憶されたパスワードを取り出す。この例では、支払処理システム150は、マーチャントPOSデバイス130からの受信済みのユーザ名およびパスワードを支払処理システム150データベース内のマーチャントPOSデバイス130に関連付けられている記憶されたユーザ名および記憶されたパスワードと比較する。この例では、支払処理システム150は、この情報が支払処理システム150データベースに記憶されているマーチャントPOSデバイス130識別子またはマーチャントシステムロケーション識別子に関連付けられている記憶されたユーザ名および記憶されたパスワードと正確に一致した場合に受信済みのユーザ名およびパスワードは両方とも正しいと決定する。
ブロック1120において、支払処理システム150は、ランダムノンスおよび/またはビーコンデバイス120識別子がユーザアカウントデータに対するその後の要求で受信されたかどうかを決定する。別の例では、支払処理システム150は、ランダムノンスおよび/またはビーコンデバイス120識別子を受信し、支払処理システム150がランダムノンスおよび/またはビーコンデバイス120識別子の妥当性を確認することができるかどうかを決定する。
支払処理システム150が、ランダムノンスおよび/またはビーコンデバイス120識別子がユーザアカウントデータに対するその後の要求で受信されたと決定した場合に、方法270は、図8のブロック820に進む。たとえば、支払処理システム150は、ビーコンデバイス120コードおよび/またはランダムノンスが正しいかどうかを決定し、ユーザアカウントデータに対するその後の要求で受信されたビーコンデバイス120コードおよび/またはランダムノンスの妥当性確認の決定に従ってユーザアカウント情報をマーチャントPOSデバイス130に伝送するか、またはマーチャントPOSデバイス130に対してユーザアカウント情報へのアクセスを拒否する。この例では、支払処理システム150は、受信済みのマーチャントビーコンデバイス120コードが正しいかどうか、および受信済みのランダムノンスが正しいかどうかを決定する。他の例では、支払処理システム150は、ランダムノンスまたはマーチャントビーコンデバイス120コードのいずれかの妥当性を確認し、ランダムノンスおよびマーチャントビーコンデバイス120コードの両方の妥当性を確認することはしない。
ブロック1120に戻り、支払処理システム150が、ランダムノンスおよび/またはビーコンデバイス120識別子がユーザアカウントデータに対するその後の要求で受信されなかったと決定した場合に、方法270は、ブロック1130に進む。一例において、マーチャントシステムロケーションにおいてビーコンデバイス120に停電が発生するか、またはビーコンデバイス120が他の何らかの形で、支払処理システム150から受信されたマーチャントビーコンデバイス120コードおよび/またはランダムノンスを伝送することができない。別の例では、マーチャントビーコンデバイス120は、マーチャントシステムロケーションにおいてマーチャントビーコンデバイス120コードをブロードキャストするが、マーチャントPOSデバイス130は、ローカルワイヤレスネットワークを介してマーチャントビーコンデバイス120コードを受信することができない。別の例では、マーチャント販売時点情報管理デバイス130は、ビーコンデバイス120コードおよび/またはランダムノンスを受信し、ビーコンデバイスコードおよび/またはランダムノンスをユーザアカウントデータに対する要求とともに支払処理システム150に再送することができない。さらに別の例では、支払処理システム150は、ランダムノンスおよび/またはビーコンデバイス120コードを受信するが、該当する場合に支払処理システム150がビーコンデバイス120コードまたはランダムノンスのいずれかの妥当性を確認することができないと決定する。
ブロック1130において、支払処理システム150は、ユーザアカウントデータに対するその後の要求とともにマーチャントPOSデバイス130から受信されたハードウェア識別子が支払処理システム150のハードウェア識別子ホワイトリストにリストされるかどうかを決定する。一例において、支払処理システム150は、マーチャント販売時点情報管理デバイス130からユーザアカウント情報に対する要求を受信したことに応答して現在のタイムスタンプをログに記録する。それに加えて、支払処理システム150は、ユーザアカウントデータに対する要求とともに、ネットワーク160上で、マーチャントPOSデバイス130ハードウェア識別子または支払処理システム150と通信するためにマーチャントシステムロケーションにある1つまたは複数のマーチャントPOSデバイス130によって使用されるバックオフィスサーバに関連付けられているハードウェア識別子を受信する。一例において、支払処理システム150は、支払処理システム150が要求で受信された受信済みのランダムノンスおよび/またはマーチャントビーコンデバイス120識別子の妥当性を確認することに成功したユーザアカウントデータに対する要求に関わるマーチャントPOSデバイス130および/またはバックオフィスサーバのハードウェア識別子のリスティングを含むホワイトリストを維持する。この例では、デバイスハードウェア識別子がホワイトリストに追加されたときに、その特定のハードウェア識別子に関連付けられているデバイスからのユーザアカウントデータに対する要求がハードウェア識別子に関連付けられているものとしてホワイトリストに記録されたときに現在のタイムスタンプがログに記録される。一例において、支払処理システム150は、リスティングに関連付けられている現在のタイムスタンプに関連付けられている時間の後の閾値時間期間が経過したときにハードウェア識別子ホワイトリスト内の特定のリスティングを削除する。たとえば、支払処理システム150は、現在のタイムスタンプに関連付けられている時刻から1時間後にハードウェア識別子および関連付けられている現在のタイムスタンプを含むリスティングを削除する。この例では、「Device 184953 - January 22, 2016 8:35:00 a.m. Eastern Time」を含む特定のリスティングについて、支払処理システム150は、2016年1月22日、同日中、午前9時35分にハードウェア識別子ホワイトリストからDevice 184953に対するその特定のリスティングを自動的に削除し得る。
支払処理システム150が、ユーザアカウントデータに対するその後の要求とともにマーチャントPOSデバイス130から受信されたハードウェア識別子が支払処理システム150のハードウェア識別子ホワイトリストにリストされていないと決定した場合、方法270は、図8のブロック840に進む。たとえば、支払処理システム150は、ハードウェア識別子ホワイトリストにアクセスし、ユーザアカウントデータに対するその後の要求とともに受信されたハードウェア識別子と一致するか、または実質的に一致するハードウェア識別子を見つけられない。
ブロック840において、支払処理システム150はユーザ101アカウント情報へのアクセスを拒否する。一例において、ユーザアカウントデータに対するその後の要求とともに受信されたハードウェア識別子が支払処理システム150によって維持されているハードウェア識別子ホワイトリストにリストされているハードウェア識別子と一致しない、または実質的に一致しない、と決定したことに応答して、支払処理システム150は、ネットワーク160を介してエラーメッセージを要求側のマーチャントPOSデバイス130に伝送する。一例において、想定される要求側のマーチャントPOSデバイス130は、実際に、ユーザアカウント情報を盗もうとしている違法デバイスである。一例において、違法デバイスは、ネットワーク160を介して支払処理システム150からエラーメッセージを受信する。
ブロック1130に戻り、支払処理システム150が、ユーザアカウントデータに対するその後の要求とともにマーチャントPOSデバイス130から受信されたハードウェア識別子が支払処理システム150のハードウェア識別子ホワイトリストにリストされていると決定した場合、方法270は、図8のブロック850に進む。たとえば、支払処理システム150は、ハードウェア識別子ホワイトリストにアクセスし、ユーザアカウントデータに対するその後の要求とともに受信されたハードウェア識別子と一致するか、または実質的に一致するハードウェア識別子を見つける。
図8において、ブロック850に進んだ後、図11で説明されているような方法270は、本明細書で説明されているようにブロック850、860、および870の方法の後に実質的に続く。
他の例
図12は、いくつかの例による、コンピューティングマシン2000およびモジュール2050を示している。コンピューティングマシン2000は、様々なコンピュータ、サーバ、モバイルデバイス、組込システム、または本明細書で提示されているコンピューティングシステムのうちのいずれかに対応するものとしてよい。モジュール2050は、コンピューティングマシン2000が本明細書において提示されている様々な方法および処理機能を実行するのを円滑にするように構成された1つまたは複数のハードウェアもしくはソフトウェア要素を備え得る。コンピューティングマシン2000は、プロセッサ2010、システムバス2020、システムメモリ2030、記憶媒体2040、入出力インターフェース2060、およびネットワーク2080と通信するためのネットワークインターフェース2070などの様々な内蔵のまたは取り付けられたコンポーネントを備え得る。
コンピューティングマシン2000は、従来のコンピュータシステム、組込コントローラ、ラップトップ、サーバ、モバイルデバイス、スマートフォン、セットトップボックス、キヨスク、車両情報システム、テレビに関連付けられている1つまたは複数のプロセッサ、カスタマイズされたマシン、他の任意のハードウェアプラットフォーム、またはこれらの任意の組合せもしくは複数として実装され得る。コンピューティングシステム2000は、データネットワークまたはバスシステムを介して接続された複数のコンピューティングマシンを使用して機能するように構成された分散システムであってよい。
プロセッサ2010は、本明細書で説明されているとオペレーションおよび機能を実行するために要求のフローおよびアドレスマッピングを管理するコードもしくは命令を実行し、計算を実行し、コマンドを生成するように構成され得る。プロセッサ2010は、コンピューティングマシン2000の中のコンポーネントのオペレーションを監視し、制御するように構成され得る。プロセッサ2010は、汎用プロセッサ、プロセッサコア、マルチプロセッサ、再構成可能なプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(「DSP」)、特定用途向け集積回路(「ASIC」)、グラフィックス処理ユニット(「GPU」)、フィールドプログラマブルゲートアレイ(「FPGA」)、プログラマブルロジックデバイス(「PLD」)、コントローラ、状態機械、ゲートロジック、ディスクリートハードウェアコンポーネント、他の任意の処理ユニット、またはこれらの任意の組合せもしくは複数であってよい。プロセッサ2010は、単一の処理ユニット、複数の処理ユニット、単一の処理コア、複数の処理コア、専用処理コア、コプロセッサ、またはこれらの任意の組合せであってよい。いくつかの実施形態によれば、プロセッサ2010は、コンピューティングマシン2000の他のコンポーネントとともに、1つまたは複数の他のコンピューティングマシン内で実行する仮想化されたコンピューティングマシンであってもよい。
システムメモリ2030は、リードオンリーメモリ(「ROM」)、プログラマブルリードオンリーメモリ(「PROM」)、消去可能プログラマブルリードオンリーメモリ(「EPROM」)、フラッシュメモリ、または電力が供給される、もしくは電力が供給されないプログラム命令もしくはデータを記憶することができる他の任意のデバイスなどの不揮発性メモリを含み得る。システムメモリ2030は、ランダムアクセスメモリ(「RAM」)、スタティックランダムアクセスメモリ(「SRAM」)、ダイナミックランダムアクセスメモリ(「DRAM」)、および同期型ダイナミックランダムアクセスメモリ(「SDRAM」)などの揮発性メモリも含み得る。他の種類のRAMも、システムメモリ2030を実装するために使用され得る。システムメモリ2030は、単一のメモリモジュールまたは複数のメモリモジュールを使用して実装され得る。システムメモリ2030は、コンピューティングマシン2000の一部であるものとして図示されているが、当業者であれば、システムメモリ2030は対象技術の範囲から逸脱することなくコンピューティングマシン2000から分離していてもよいことを認識するであろう。また、システムメモリ2030は、記憶媒体2040などの不揮発性記憶装置デバイスを含むか、またはそれと連携して動作し得ることを理解されるであろう。
記憶媒体2040は、ハードディスク、フロッピィディスク、コンパクトディスクリードオンリーメモリ(「CD-ROM」)、デジタル多用途ディスク(「DVD」)、ブルーレイディスク、磁気テープ、フラッシュメモリ、他の不揮発性メモリデバイス、ソリッドステートドライブ(「SSD」)、任意の磁気記憶装置デバイス、任意の光記憶装置デバイス、任意の電気的記憶装置デバイス、任意の半導体記憶装置デバイス、任意の物理ベース記憶装置デバイス、任意の他のデータ記憶装置デバイス、またはこれらの任意の組合せもしくは複数を含み得る。記憶媒体2040は、1つまたは複数のオペレーティングシステム、アプリケーションプログラムおよびモジュール2050などのプログラムモジュール、データ、または他の任意の情報を記憶することができる。記憶媒体2040は、コンピューティングマシン2000の一部であるか、またはコンピューティングマシン2000に接続され得る。記憶媒体2040は、サーバ、データベースサーバ、クラウドストレージ、ネットワーク接続ストレージなどの、コンピューティングマシン2000と通信する1つまたは複数の他のコンピューティングマシンの一部であってもよい。
モジュール2050は、コンピューティングマシン2000が本明細書において提示されている様々な方法および処理機能を実行するのを円滑にするように構成された1つまたは複数のハードウェアもしくはソフトウェア要素を備え得る。モジュール2050は、システムメモリ2030、記憶媒体2040、またはその両方と関連してソフトウェアもしくはファームウェアとして記憶される命令の1つまたは複数のシーケンスを含み得る。記憶媒体2040は、したがって、プロセッサ2010による実行のために命令もしくはコードが記憶され得る機械またはコンピュータ可読媒体の例を表し得る。機械またはコンピュータ可読媒体は、命令をプロセッサ2010に供給するために使用される任意の1つまたは複数の媒体を一般的に指すものとしてよい。モジュール2050に関連付けられているそのような機械またはコンピュータ可読媒体は、コンピュータソフトウェア製品を含み得る。モジュール2050を備えるコンピュータソフトウェア製品も、ネットワーク2080、任意の信号搬送媒体、または任意の他の通信もしくは配信技術を介してモジュール2050をコンピューティングマシン2000に配信するために1つまたは複数のプロセスもしくは方法に関連付けられ得ることが理解されるであろう。モジュール2050は、FPGAもしくは他のPLDのためのマイクロコードもしくは構成情報などのハードウェア回路を構成するためのハードウェア回路または情報も含み得る。
入出力(「I/O」)インターフェース2060は、1つまたは複数の外部デバイスに結合し、1つまたは複数の外部デバイスからデータを受信し、1つまたは複数の外部デバイスにデータを送信するように構成され得る。そのような外部デバイスは、様々な内蔵デバイスとともに、周辺デバイスとして知られ得る。I/Oインターフェース2060は、様々な周辺デバイスをコンピューティングマシン2000またはプロセッサ2010に動作可能に結合するために電気的接続および物理的接続の両方を備え得る。I/Oインターフェース2060は、周辺デバイス、コンピューティングマシン2000、またはプロセッサ2010の間でデータ、アドレス、および制御信号を伝達するように構成され得る。I/Oインターフェース2060は、小型コンピュータ用周辺機器インターフェース(「SCSI」)、シリアル接続SCSI(「SAS」)、ファイバーチャネル、ペリフェラルコンポーネントインターコネクト(「PCI」)、PCI Express(PCIe)、シリアルバス、パラレルバス、アドバンストテクノロジーアタッチメント(「ATA」)、シリアルATA(「SATA」)、ユニバーサルシリアルバス(「USB」)、Thunderbolt、FireWire、様々なビデオバス、および同様のものなどの任意の標準インターフェースを実装するように構成され得る。I/Oインターフェース2060は、ただ1つのインターフェースまたはバス技術を実装するように構成され得る。代替的に、I/Oインターフェース2060は、複数のインターフェースまたはバス技術を実装するように構成され得る。I/Oインターフェース2060は、システムバス2020の一部として、システムバス2020の全部として、またはシステムバス2020と連携して動作するように構成され得る。I/Oインターフェース2060は、1つまたは複数の外部デバイス、内蔵デバイス、コンピューティングマシン2000、またはプロセッサ2010の間で伝送をバッファリングするための1つまたは複数のバッファを備え得る。
I/Oインターフェース2060は、コンピューティングマシン2000を、マウス、タッチスクリーン、スキャナ、電子デジタイザ、センサ、受信機、タッチパッド、トラックボール、カメラ、マイクロフォン、キーボード、任意の他のポインティングデバイス、またはこれらの任意の組合せを含む様々な入力デバイスに結合し得る。I/Oインターフェース2060は、コンピューティングマシン2000を、ビデオディスプレイ、スピーカー、プリンタ、プロジェクタ、触覚フィードバックデバイス、オートメーション制御、ロボットコンポーネント、アクチュエータ、モーター、ファン、ソレノイド、弁、ポンプ、送信機、信号放射体、ライトなどを含む様々な出力デバイスに結合し得る。
コンピューティングマシン2000は、ネットワーク2080にわたって1つまたは複数の他のシステムまたはコンピューティングマシンのネットワークインターフェース2070を通じての論理接続を使用してネットワーク環境で動作し得る。ネットワーク2080は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、インターネット、無線アクセスネットワーク、有線ネットワーク、携帯電話ネットワーク、電話網、光ネットワーク、またはこれらの組合せを含み得る。ネットワーク2080は、パケット交換、回線交換、任意のトポロジーのものであってよく、任意の通信プロトコルを使用し得る。ネットワーク2080内の通信リンクは、光ファイバーケーブル、自由空間光通信、導波路、導電体、ワイヤレスリンク、アンテナ、無線周波通信などの様々なデジタルもしくはアナログ通信媒体を伴い得る。
プロセッサ2010は、システムバス2020を通じてコンピューティングマシン2000の他の要素または本明細書で説明されている様々な周辺機器に接続され得る。システムバス2020が、プロセッサ2010内にあるか、プロセッサ2010の外部にあるか、またはその両方であってよいことは理解されるであろう。いくつかの実施形態によれば、プロセッサ2010、コンピューティングマシン2000の他の要素、または本明細書で説明されている様々な周辺機器は、システムオンチップ(「SOC」)、システムオンパッケージ(「SOP」)、またはASICデバイスなどの単一デバイスに一体化され得る。
本明細書で説明されているシステムがユーザに関する個人情報を収集するか、または個人情報を利用し得る状況において、ユーザは、プログラムまたは機能によりユーザ情報(たとえば、ユーザのソーシャルネットワークに関する情報、社会的行為もしくは活動、専門的職業、ユーザの選好、またはユーザの現在の位置)を収集するかどうかを制御する、またはユーザに対してより高い関連性を有する思われるコンテンツをコンテンツサーバから受信するかどうか、および/またはどのように受信するかを制御する機会もしくはオプションを与えられ得る。それに加えて、特定データが、それが記憶されるか、または使用される前に1つまたは複数の方法で処理されるものとしてよく、したがって個人的に識別可能な情報は取り除かれる。たとえば、ユーザの身元は、ユーザに対して個人的に識別可能な情報が決定され得ないように処理され得るか、またはロケーション情報が得られる場合にユーザの地理的ロケーションが一般化される(市名、郵便番号、国家レベルなどへ)ものとしよく、したがって、ユーザの特定のロケーションが決定され得ない。したがって、ユーザは、ユーザに関して情報がどのように収集され、コンテンツサーバによってどのように使用されるかを制御し得る。
実施形態は、本明細書で説明され例示されている機能を具現化するコンピュータプログラムを含むものとしてよく、ここにおいて、コンピュータプログラムは、機械可読媒体に記憶される命令を備えるコンピュータシステムおよびそれらの命令を実行するプロセッサで実装され得る。しかしながら、コンピュータプログラミングで実施形態を実装する多くの異なる方法があり得ることは明白であり、また実施形態は、一組のコンピュータプログラム命令に限定されるものとして解釈されるべきでない。さらに、熟練プログラマーであれば、付属のフローチャートおよびアプリケーションテキスト内の関連する説明に基づき開示されている実施形態のうちの一実施形態を実装するためにそのようなコンピュータプログラムを書くことができるであろう。したがって、特定の一組のプログラムコード命令の開示は、実施形態を形成し、使用する方法を十分に理解するために必要であるとみなされない。さらに、当業者は、本明細書で説明されている実施形態の1つまたは複数の態様が、1つまたは複数のコンピューティングシステムにおいて具現化され得るように、ハードウェア、ソフトウェア、またはこれらの組合せによって実行され得ることを理解するであろう。さらに、コンピュータによって実行される動作への参照は、複数のコンピュータがその動作を実行し得るので、単一のコンピュータによって実行されるものとして解釈されるべきでない。
本明細書で説明されている例は、本明細書で説明されている方法および処理機能を実行するコンピュータハードウェアおよびソフトウェアとともに使用され得る。本明細書で説明されているシステム、方法、および手順は、プログラム可能なコンピュータ、コンピュータ実行可能ソフトウェア、またはデジタル回路で具現化され得る。ソフトウェアは、コンピュータ可読媒体上に記憶され得る。たとえば、コンピュータ可読媒体は、フロッピィディスク、RAM、ROM、ハードディスク、取り外し可能媒体、フラッシュメモリ、メモリスティック、光媒体、光磁気媒体、CD-ROMなどを含むことができる。デジタル回路は、集積回路、ゲートアレイ、ビルディングブロックロジック、フィールドプログラマブルゲートアレイ(FPGA)などを含むことができる。
すでに提示されている実施形態において説明されている例示的なシステム、方法、および動作は、例示的であり、代替的実施形態において、いくつかの動作は、異なる順序で実行される、互いに並列に実行される、全部省かれる、および/または異なる例の間で組み合わされることが可能であり、ならびに/あるいはいくつかの追加の動作は、様々な実施形態の範囲および精神から逸脱することなく、実行され得る。したがって、そのような代替的実施形態は、次に示す特許請求の範囲に含まれ、そのような代替的実施形態を包含するように最も広い解釈を受けるべきである。
特定なの実施形態が、上で詳しく説明されているが、説明は単に例示することのみを目的としている。したがって、上で説明されている多くの態様は、別段に明記されていない限り必要または必須の要素として意図されていないことは理解されるべきである。上で説明されているものに加えて、例の開示されている態様の修正形態、および例の開示されている態様に対応する同等のコンポーネントまたは動作は、以下の特許請求の範囲において定義されている実施形態の精神および範囲から逸脱することなく、本開示の利点を得る当業者によって形成されるものとしてよく、実施形態の範囲はそのような修正形態および同等の構造を包含するように最も広い解釈を与えられるべきである。