本明細書で説明する技法は、電子マネー(eマネー)を含む取引の支払いを処理することを対象とする。電子マネーを伴う取引に対する支払いは「電子マネー支払い」と呼ぶことができる。一例では支払処理サービスは、商人に対する支払処理サービスを提供する。電子マネーの支払いに対応するために、支払処理サービスは互いに遠隔に(例えば、州または国境を越えて)位置することができるネットワーク化されたデバイスの複雑な構成を活用することができる。いくつかの例では、支払処理サービスが電子マネー支払いを処理するためにサードパーティ支払プロセッサと通信を交換することができる。そのような例では、支払処理サービスが(例えば、商人の)POSにおける商人デバイスとサードパーティ支払プロセッサとの間の通信を監視するために、(1つまたは複数の)プロキシサーバコンピューティングデバイスを活用することができる。プロキシサーバコンピューティングデバイスは、支払処理サービスに関連するサーバコンピューティングデバイス(単数または複数)にインディケーション(指標(indication))を送信することができ、このサーバコンピューティングデバイスはプロキシサーバコンピューティングデバイス(単数または複数)から遠隔に(例えば、州または国境を越えて)配置することができ、その結果、支払処理サービスは、支払処理サービスを使用して(サードパーティ支払プロセッサを使用して)商人の代わりに。いくつかの例では、このようなインディケーションを、サードパーティ支払プロセッサからの通信を介してプロキシーサーバコンピューティングデバイスによって受信された情報に基づいて送ることができる。すなわち、本明細書で説明する技法は、支払処理サービスを使用する商人によって動作可能な商人デバイス、支払処理サービスに関連するプロキシサーバコンピューティングデバイス(複数可)、(プロキシサーバコンピューティングデバイス(複数可)から遠隔に位置する)支払処理サービスに関連するサーバコンピューティングデバイス(複数可)、および電子マネー支払いを処理するためのサードパーティ支払プロセッサを活用することができる。
電子マネー、デジタルマネー等の電子(又はデジタル)通貨は(例えば、銀行券、硬貨、現金等の物理的な形態の代わりに)電子形式で利用可能な通貨の一種であり、電子通貨は物理的な通貨と同様の特性を示すが、即座の取引及びボーダーレスな所有権の移転を可能にすることができる。物理的な通貨と同様に、電子通貨を使用してアイテム(例えば、商品、サービス等)を購入することができる。すなわち、電子マネーは、商人からの物品の購入その他の取得を伴う取引に対して、支払いの一形態(すなわち「電子マネーの支払い」)として入札する(差し出す)ことができる。
少なくとも1つの例では、マイクロチップが埋め込まれた物理的支払手段とすることができるスマートカードを、電子マネー支払いに使用することができる。スマートカードはマイクロチップ(たとえば、1つまたは複数の電子回路を備えることができる)と、スマートカードが支払リーダなどの他のコンピューティングデバイスと対話することを可能にするアンテナとを含むことができる。少なくとも1つの例では、マイクロチップは、スマートカードが複数のサービスを提供することを可能にする、アプレットと呼ばれる1つまたは複数のアプリケーションを格納することができる。このようなサービスの例は、スマートカードが電子マネー支払手段として使用されることを可能にする。そのような例では、電子マネー残高がスマートカードのマイクロチップに書き込まれるか、さもなければ関連付けられることができる。そのようなスマートカードの例は、ソニー(登録商標)からのフェリシティカード(「FeliCa」)である。FeliCaを含むこのようなスマートカードに関連する通信技術は、非接触ICカード国際規格ISO/IEC 14443(それぞれ、NFC−AおよびNFC−Bと呼ばれるタイプAおよびタイプB通信技術を指定する)に記載されている。このようなスマートカードは、中央銀行当局との通信なしに電子マネー支払いを可能にすることができる。すなわち、いくつかの例では、スマートカードを電子マネー支払手段として構成する機能性を用いて符号化されたスマートカードが中央銀行当局を使用することなく、スマートカード上に記憶された電子マネー残高に資金を追加または差し引くことができる。少なくとも1つの例では、スマートカードは、スマートカードに関連する電子マネー残高に関する真実を語る資料とすることができる。
販売時点で、顧客は、商人との取引(またはその一部)の支払いのための電子マネー支払手段として構成されたスマートカードを提示することができる。少なくとも1つの例では、商人が商人に代わって商人の取引に対する支払いを処理する支払処理サービスというサービスに加入することができる。すなわち、少なくとも1つの例では、支払処理サービスが(i)以下で説明する1つまたは複数の他の支払プロセッサと通信すること、および/または(ii)1つまたは複数の台帳に取引を記録することによって、商人の代わりに取引を処理することができる。少なくとも1つの例では、支払処理サービスが取引のために受信された取引データを分析して、取引のために商人に支払われるべき資金の金額を決定することができる。少なくとも1つの例では、そのような金額は、支払処理サービスを提供するために支払処理サービスによって課金される料金を差し引いた総購入価格とすることができる。商人に支払われるべき資金の額を決定することに基づいて、支払処理サービスは、支払処理サービスによって維持される商人の口座に資金を預けることができる。そのような口座は、少なくとも、支払処理サービスの台帳を介して管理され、関連する資金が以下に説明するように、予定預金、同日預金、即時預金、およびリンクされた支払手段を含むがこれらに限定されない様々な出金チャネルを介してアクセス可能であるため、従来の銀行口座とは異なることがある。いくつかの例では、口座が電子マネー支払手段として構成された支払手段を介してアクセスすることができ、かつ/または別の電子マネー口座(支払処理サービスによって管理することができない)に転送することができる電子マネー残高に関連付けることができる。
少なくとも1つの例では、支払処理サービスは、電子マネー支払いを処理するサードパーティ支払プロセッサと通信を交換することができる。このようなサードパーティ支払プロセッサの例として、Transaction Media Networks(TMN)がある。そのようなサードパーティ支払プロセッサはスマートカードに関連付けられた電子マネー残高に基づいて、(例えば、取引またはその一部のために)支払いを承認するかどうかを決定することができる。電子マネー残高が取引のコスト(またはその一部)以上である場合、サードパーティ支払プロセッサは現在の電子マネー残高を減らし、新しい電子マネー残高をスマートカードに書き込むか、さもなければスマートカードに関連付けることができる。その結果、サードパーティ支払プロセッサは取引のために電子マネー支払いを処理することができ(例えば、それによって、支払手段の電子マネー残高から支払処理サービスへの資金の振替を引き起こす)、一方、支払処理サービスは、その支払処理目的のために電子マネー支払いを記録することができる。
電子マネー支払いを処理するためのネットワークデバイス(例えば、プロキシサーバコンピューティングデバイスを介してサードパーティ支払プロセッサと通信する支払処理サービス)の前述の構成は、本明細書で説明する技法が解決策を提供する1つまたは複数の技術的課題に関連する。一例では、州または国境を越えて位置することができる支払処理サービスと通信を交換すること、およびサードパーティ支払プロセッサは(例えば、データを長距離に送信するために必要とされる時間の量のために)販売時点での取引の処理に遅延を引き起こしうる。一部の例では、このような遅延はネットワーク帯域幅の制約の結果である。例えば、Bluetooth(登録商標) Low Energy(BLE)はデータパケットサイズ(例えば、パケット当たり約100バイト)とBLEインターバル(例えば、データパケットを送受信できる頻度)によって束縛することができる。したがって、電子マネー支払いを処理するためにBLEを使用することは、かなりの待ち時間を引き起こす可能性がある。このような遅延は、顧客及び商人にとって不便である可能性がある。しかしながら、本明細書で説明される技術は、そのような待ち時間に対する技術的解決策を提供する。以下で説明するように、本明細書で説明する技法は個々の通信のために送信されるデータの量を低減するために、暗号化の前に、リーダデバイスにおいてデータ圧縮を利用する。その結果、販売地点、サードパーティ支払プロセッサ、支払処理サービス等における商人デバイス間の通信を高速化(本願明細書に記載の技術を実装しない場合よりも高速化)することができ、これにより従来の電子支払処理技術の性能を向上させることができる。
さらに、サードパーティ支払プロセッサのための従来の支払処理とは異なり、本明細書で説明される技法は、支払処理サービスによっても処理される取引のための電子マネー支払いの処理に関連付けられる。サードパーティ支払プロセッサに関する限り、支払処理サービスは、単一のエンティティと見なすことができる。しかしながら、支払処理サービスは以下に説明するように、複数の異なる商人に対する支払いを処理することができる。すなわち、支払処理サービスは、アグリゲータとすることができる。したがって、本明細書で説明する技法は、サードパーティ支払プロセッサが電子マネー支払いを処理することを可能にし、支払処理サービスが、(i)個々の取引がどの商人に関連付けられているかを判定し、(ii)そのような商人の代わりにそのような取引を記録する(たとえば、上述のように、関連付けられた取引を台帳に記録する)ことを可能にする通信を対象とする。したがって、本明細書で説明する技法は、従来の電子マネー支払い処理技術に対する改善を対象とする。
図1は、本明細書で説明されるような電子マネー支払いを処理するための例示的な環境100を示す。例示的な環境100は、タブレットコンピューティングデバイス、スマートフォン、モバイル通信デバイス、ラップトップ、ネットブック、または他のポータブルコンピュータ、デスクトップコンピューティングデバイス、端末コンピューティングデバイス、または他の半固定または固定コンピューティングデバイス、専用デバイス、ウェアラブルコンピューティングデバイス、または他の身体搭載コンピューティングデバイス、拡張現実デバイス、仮想現実デバイス、物のインターネット(IoT)デバイス、上記の組合せなどを含むことができるがこれらに限定されない商人デバイス102を含む。少なくとも1つの例では、商人デバイス102が販売時点情報管理で商人と1つまたは複数の顧客との間の取引を処理するために、商人によって動作可能であり得る。そのような取引は、商人と1つまたは複数の顧客との間のアイテムの販売(または所有の他の転送)に関連付けることができる。
少なくとも1つの例では、商人デバイス102がその上に格納された販売地点情報管理(POS(point−of−sale))アプリケーション104のインスタンスを有することができ、これにより商人が支払処理サービスを介して支払いを処理することが可能になる。POSアプリケーション104は商人デバイス102と関連付けることができる機能構成要素(例えば、プロセッサによって実行可能な命令またはプログラム)の一例である。追加のまたは代替処理の機能構成要素は商人デバイス102が追加のまたは代替処理の機能を実行することを可能にするために、商人デバイス102に関連付けられ得る。
少なくとも1つの例では、POSアプリケーション104は(1つまたは複数の)商人デバイス102をPOS端末として構成することができ、それによって、商人は支払処理サービスを介して(取引のための)支払いを処理することができる。少なくとも1つの例では、POSアプリケーション104がリーダデバイス106との通信を交換するように商人デバイス102を構成することができる。さらに、少なくとも1つの例ではPOSアプリケーション104が商人デバイス102を構成して、例示環境100内の支払処理サービスおよび/または他のエンティティと通信を交換し、いくつかの例では顧客および/または商人に情報を通信するためのユーザインタフェースを提示することができる。すなわち、いくつかの例では、POSアプリケーション104は、商人デバイス102が商人デバイス102に関連付けられたリーダデバイス106から支払データを受信し、取引に関連付けられた取引データを生成し、取引の支払いを処理するために、取引データを支払処理サービスに送信することを可能にすることができる。POSアプリケーション104に関連する追加の詳細については後述する。
少なくとも1つの例では、(1つまたは複数の)商人デバイス102は、リーダデバイス106に関連付けることができる。いくつかの例では、リーダデバイス106は、マイクロフォンポート、ヘッドフォンポート、オーディオジャック、データポート、または他の適切なポートなど、商人デバイス102内のポートにプラグインすることができる。追加の又は代替の例では、リーダデバイス106がBluetooth(登録商標)、BLE等を介した別の有線又は無線の接続によって、商人デバイス102に連結することができる(例えば、図1に例示される)。このような例では、リーダデバイス106は、支払手段108から受信した情報を、商人デバイス102に渡す前に暗号化することができる(例えば、悪意のある人物が暗号化されていない情報を取得することを困難にする)。いくつかの例では、リーダデバイス106は、サードパーティ支払プロセッサに特有のフォーマットで情報を暗号化することができる。さらなる詳細は、以下に記載される。
いくつかの例では、リーダデバイス106は、商人デバイス(複数可)102に統合することができる。そのような例では、リーダデバイス106は、商人デバイス102に埋め込まれた近距離通信(NFC)、無線周波数識別(RFID)、Bluetooth(登録商標)、BLEなどの技術を使用して、支払手段108から情報を読み取ることができる。そのような技術は、接触および/または非接触支払いを容易にすることができる。少なくとも1つの例ではリーダデバイス106に関連付けられた機能構成要素(例えば、プロセッサによって実行可能な命令またはプログラム)は、NFC、RFID、Bluetooth(登録商標)、BLEなどを介して支払手段108から受信した情報を暗号化するように構成することができる。リーダデバイス106が商人デバイス102に統合される例では、図1に示される(また、上述される)専用ハードウェアデバイス106とは対照的に、機能構成要素が支払手段108から情報を「読み取る」。この説明のために、「リーダデバイス」は、専用ハードウェアデバイス、支払手段から情報を読み取るように構成される機能構成要素、および/または前述のもの組合せを指すことができる。リーダデバイスに関連する追加の詳細については、以下で説明する。
少なくとも1つの例では、リーダデバイス106は、NFCタイプF技術に関連付けることができる。すなわち、リーダデバイス106は、NFCタイプFを使用して支払手段108と通信することができる。NFCタイプFの仕様は、日本工業規格JIS X 6319−4に規定されている。
少なくとも1つの例では、リーダデバイス106は、電子マネー支払い処理の異なる態様を実行するために、異なるプロセッサ(たとえば、コンピュータ処理ユニット(CPU))に関連付けることができる。例えば、第1のプロセッサ、プロセッサ109(A)は、支払リーダ106の入出力構成要素を制御することができる。すなわち、プロセッサ109(A)は、発光ダイオード(LED)の挙動および/または電力管理を制御することができる。さらに、プロセッサ109(A)は暗号化を実行することができ、そのためのプロセスは、サードパーティ支払プロセッサによって提供することができる。例えば、プロセッサ109(A)は、リーダデバイス106から送られたデータを、サードパーティ支払プロセッサに特有の暗号化フォーマットで暗号化することができる。少なくとも1つの例では、プロセッサ109(A)は、(例えば、以下で説明するように、取引を記録するために)支払処理サービスに要求を送信することができる。少なくとも1つの例では、プロセッサ109(A)は、後述するサードパーティ支払プロセッサと、第2のプロセッサ、プロセッサ109(B)との間の通信のためのパススルーとして働くことができる。
少なくとも1つの例では、プロセッサ109(B)は、受信された通信(例えば、例示環境100の他のエンティティから受信されたデータのパケット)を解析し、処理することができる。すなわち、少なくとも1つの例では、プロセッサ109(B)は、サードパーティ支払プロセッサから受信した通信(例えば、コマンド)を解析し、処理することができる。少なくとも1つの例では、そのような解析および処理は、そのような通信の復号および/または復号化を含むことができる。いくつかの例では、プロセッサ109(B)は、指定された順序でこれを行うことができる。
いくつかの例では、プロセッサ109(B)は、サードパーティ支払プロセッサから受信した通信に基づいて、プロセッサ109(A)および/または商人デバイス102に通信を送信することができる。少なくとも1つの例では、そのような通信は、支払手段操作、LED、オーディオ、および/またはUI操作などを含むことができる。いくつかの例では、LED操作をプロセッサ109(A)に送信することができ、音声および/またはUI操作を(例えば、プロセッサ109(A)を介して)商人デバイス102に送信することができる。少なくとも1つの例では、プロセッサ109(B)は、サードパーティ支払プロセッサによって送信されたコマンドの結果を示す応答(リプライ)をサードパーティ支払プロセッサに送り返すことができる。
少なくとも1つの例では、プロセッサ109(B)は、支払手段108およびリーダデバイス106との通信を管理することができる。
いくつかの例では、リーダデバイス106は、例えば、スワイプ、ディップ、および/またはタップによって、支払手段と対話することができる。スワイプは、ユーザが磁気ストリップを有する支払カードを、磁気ストリップに含まれる支払データを捕捉するリーダデバイスを介してスライドさせる対話である。ディップは、ユーザが埋め込みマイクロチップ(すなわち、チップ)を有する支払カードを最初にリーダデバイスチップ側に挿入する対話である。タップは、ユーザがNFCプロトコルを介して支払手段に格納された情報を送信するために、リーダデバイスを介して、NFC対応電子デバイスまたはNFC対応支払カードなどの支払手段をタップまたはホバリングすることができる対話である。いくつかの例では、追加のまたは代替の短距離通信技術(たとえば、RFID、Bluetooth(登録商標)、BLEなど)を、タップ対話とともに使用することができる。いくつかの例では、タップが非接触支払いとも呼ばれ得る。少なくとも1つの例では、リーダデバイス106は、上述の対話(例えば、スワイプ、ディップ、タップなど)のうちの1つまたは複数を介して、支払手段に格納された情報を取得することができる。
図1は、支払手段108とリーダデバイス106との間のタップ、すなわち非接触支払いを示す。支払手段108は、クレジットカード、デビットカードなどの支払カードとして示されている。すなわち、少なくとも1つの例では、支払手段108は、その中に埋め込まれたマイクロチップを有する物理的支払手段(例えば、スマートカード)とすることができる。少なくとも1つの例では、支払手段108は、(例えば、1つまたは複数の電子回路を含むことができる)マイクロチップと、支払手段108がリーダデバイス106などの他のコンピューティングデバイスと対話することを可能にするアンテナとを含むことができる。少なくとも1つの例では、支払手段108は、既存のアンテナおよび/または回路を使用して、(例えば、NFCプロトコルを使用するNFCネットワークを介して)その上に格納された情報をリーダデバイス106に送信することができるNFC対応カードとすることができる。追加的または代替処理例では、支払手段108はカードでなくてもよく、代わりに、(例えば、支払手段に関連する情報を記憶するアプリケーションを実行する、またはそうでなければそのような情報を記憶する)モバイルデバイス、(例えば、支払手段に関連する情報を記憶する、またはそうでなければそのような情報を記憶するアプリケーションを実行する)ウェアラブルデバイスなどであってもよい。
上述のように、少なくとも1つの例では、マイクロチップは、支払手段108が複数のサービスに関連付けられ得るデータを記憶することを可能にする、アプレットと呼ばれる1つまたは複数のアプリケーションを記憶することができる。少なくとも1つの例では、そのようなデータは、電子マネー残高110を含むことができる。すなわち、このようなサービスの例は、支払手段108が電子マネー支払手段として使用されることを可能にする。このような例では、電子マネー残高110が支払手段108のマイクロチップに書き込まれるか、さもなければ関連付けられることができる。上述したように、このような支払手段の例は、ソニー(登録商標)によって提供されるFeliCaである。上述のように、電子マネーサービスを可能にする支払手段は、中央銀行当局との通信なしに電子マネー支払いを可能にすることができる。すなわち、いくつかの例では、支払手段108 が中央銀行当局を使用することなく、電子マネー残高110 に資金を追加または控除することができる。少なくとも1つの例では、支払手段108がそれに関連付けられた電子マネー残高110に関する真実を語る資料とすることができる。
電子マネー残高110に加えて、支払手段108は支払データ112を記憶することができる。支払データ112は、支払手段108が関連付けられている顧客の名前、顧客の住所、支払手段108のタイプ(例えば、クレジット、デビットなど)、支払手段108に関連付けられた番号、支払手段108に関連付けられた検証値(例えば、PIN検証鍵インジケータ(PVKI)、PIN検証値(PVV)、カード検証値(CVV)、カード検証コード(CVC)など)、支払手段108に関連付けられた有効期限、顧客に対応するプライマリ口座番号(PAN)(支払手段に関連付けられた番号と一致しても一致しなくてもよい)、どのタイプのチャージ/負債が行われてもよいかについての制約などを含むことができるが、これらに限定されない。いくつかの例では、支払データ112は暗号化されてもよい。
少なくとも1つの例では商人デバイス102は、インターネット、ケーブルネットワーク、セルラネットワーク、クラウドネットワーク、無線ネットワーク(例えば、Wi−Fi)および有線ネットワーク、ならびにBluetooth(登録商標)、BLEなど(図1には示されていない)を含むことができるが、これらに限定されない、1つまたは複数のネットワークを介して、サードパーティ支払プロセッサに関連付けられたサードパーティ支払プロセッササーバコンピューティングデバイス114(本明細書では「サードパーティサーバ」と略される)、および/または、支払処理サービスに関連付けられた支払処理サービスサーバコンピューティングデバイス116(本明細書では「サーバ」と略される)と通信を交換することができる。少なくとも1つの例では、サーバ116は、商人デバイス102から遠隔配置可能である。いくつかの例では、サーバ116は、商人デバイス102とは異なる州または国に位置することができる。
少なくとも1つの例では、商人デバイス102とサードパーティサーバ114および/またはサーバ116との間の通信を容易にするために、支払処理サービスは、支払処理サービスプロキシサーバコンピューティングデバイス118(本明細書では「プロキシサーバ」と略される)を利用することができる。少なくとも1つの例では、プロキシサーバ118は、商人デバイス102(例えば、POSアプリケーション104)、サードパーティサーバ114、および/またはサーバ116が通信を交換することを可能にする支払処理サービスに関連付けられたコンピューティングデバイスのクラスタを含むことができる。いくつかの例では、商人デバイス102、プロキシサーバ118、およびサードパーティサーバ114は、第1の地理的位置(例えば、州または国)に配置することができ、サーバ116は、第1の地理的位置とは異なる第2の地理的位置(例えば、州または国)に配置することができる。
少なくとも1つの例では、プロキシサーバ118は、そこにインストールされた通信アプリケーション120のインスタンスを有することができる。通信アプリケーション120は、プロキシサーバ118に関連付けられた機能構成要素(例えば、プロセッサによって実行可能な命令またはプログラム)であってもよい。少なくとも1つの例では、通信アプリケーション120は、商人デバイス102、サードパーティサーバ114、および/またはサーバ116との間で通信を送受信することができる。いくつかの例では、通信アプリケーション120は、例示環境100においてパススルーノードとして機能することができる。すなわち、通信アプリケーション120は、通信を受信して、意図した受信者に転送することができる。いくつかの例では、通信アプリケーション120は、受信された通信を解析することができ、これは、そのような通信を復号および/または復号化することを含むことができ、そのような通信に関連する情報に基づいて、1つまたは複数のアクションを実行することができる。すなわち、いくつかの例では、通信アプリケーション120は、(1つまたは複数の)プロキシサーバ118を介して送信される通信を監視し、必要に応じてそのような通信を復号および/または復号化し、それに応答して1つまたは複数のアクションを実行することができる。
少なくとも1つの例では、(1つまたは複数の)プロキシサーバ118は、取引に関連付けられた通信(たとえば、そのための支払いの処理に関連する)が識別子に関連付けられるように、識別子を取引に関連付けることができる。結果として、プロキシサーバ118は、取引の支払いが処理される間、サードパーティサーバ114との接続を維持することができる。
少なくとも1つの例では、プロキシサーバ118は、セキュアソケットレイヤ(SSL)を介して確立された暗号化チャネルを介して、サードパーティサーバ114と通信することができる。さらに、少なくとも1つの例では、プロキシサーバ118は、暗号化プロトコルを使用して暗号化チャネルを介して商人デバイス102と通信することができる。いくつかの例では、プロキシサーバ118は、リーダデバイス106のための作業およびペイロードサイズを削減するために、サードパーティサーバ114のために意図されたデータに署名することができる。
上述のように、サードパーティサーバ114は、サードパーティ支払プロセッサに関連付けることができる。サードパーティプロセッサは、支払処理サービスとは異なることができ、電子マネー支払いを処理することができる。上述したように、このようなサードパーティ支払プロセッサの例はTMNである。少なくとも1つの例では、(1つまたは複数の)サードパーティサーバ114は、(例えば、データ記憶装置内の)支払手段に関連付けられた電子マネー残高の記録を維持することができ、支払手段108に関連付けられた電子マネー残高に基づいて(例えば、取引またはその一部のために)支払いを承認するかどうかを決定することができる。他の例では、(1つまたは複数の)サードパーティサーバ114は、電子マネー残高の記録を維持することができず、その結果、(たとえば、商人要求に関連して)リーダデバイス106からそのようなものインディケーションを受信することに少なくとも部分的に基づいて、支払手段108に関連する現在の電子マネー残高を決定することができる。
少なくとも1つの例では、支払手段108の現在の電子マネー残高が、支払手段108が支払いのために入札されている金額(例えば、取引のコストまたはその一部)以上であるかどうかをサードパーティ支払プロセッサが判定することができる。少なくとも1つの例では、現在の電子マネー残高が支払手段108が入札されている金額未満である場合、サードパーティサーバ114は支払手段108(例えば、それに関連する支払データ)が金額について承認されていないことを(例えば、プロキシサーバ118を介して)商人デバイス102に通信することができる。しかしながら、現在の電子マネー残高が支払手段108が入札されている金額以上である場合、サードパーティサーバ114は、(例えば、プロキシサーバ118を介して)商人デバイス102に、支払手段108が金額について承認されていることを通信することができる。
以下に説明するように、サードパーティサーバ114は、新しい電子マネー残高(例えば、現在の電子マネー残高と支払いのために支払手段108が入札された金額とに基づく金額)を支払手段108に書き込むように、商人デバイス102に命令を送信することができる。商人デバイス102は、リーダデバイス106を介して、新しい電子マネー残高を支払手段108に書き込み、または支払手段108に関連付け、そのような確認をサードパーティサーバ114に送信することができる。いくつかの例では、そのような確認を受信することに応答して、(1つまたは複数の)サードパーティサーバ114は、(たとえば、それに関連付けられたデータ記憶装置内の)支払手段108のインディケーションに関連付けられた現在の電子マネー残高を更新することができる。さらに、そのような確認の受信に応答して、サードパーティサーバ114は、支払いの清算を容易にし、商人に支払われるべき資金を、支払処理サービスに関連付けられたサーバ116に転送させることができる。サードパーティサーバ114がこのような確認メッセージを受信しない場合、サードパーティサーバ114は、以下に説明するように、エラー処理プロセスを開始することができる。
サーバ116は、その上に支払処理アプリケーション122のインスタンスを格納することができる。支払処理アプリケーション122は、サーバ116に関連付けられた機能構成要素(例えば、プロセッサによって実行可能な命令またはプログラム)であり得る。このように、支払処理サービスは、(i)1つまたは複数の他の支払処理業者と通信すること、および/または(ii)支払処理サービスによって管理される1つまたは複数の台帳に取引を記録することによって、商人(および他の異なる商人)に代わって取引を処理することができる。少なくとも1つの例では、支払処理アプリケーション122は、取引のために受信された取引データを解析して、取引のために商人に支払われるべき資金の量を決定することができる。少なくとも1つの例では、そのような金額は、(例えば、取引を介して購入された1つまたは複数のアイテムの)総購入価格から、支払処理サービスを提供するために支払処理サービスによって課金される料金を差し引いたものとすることができる。商人に支払われるべき資金の額を決定することに基づいて、支払処理アプリケーション122は、支払処理サービスによって維持される商人の口座に資金を預けることができる。そのような口座は、少なくとも、支払処理サービスの台帳を介して管理され、関連する資金が以下に説明するように、予定預金、同日預金、即時預金、およびリンクされた支払手段を含むがこれらに限定されない様々な出金チャネルを介してアクセス可能であるため、従来の銀行口座とは異なることがある。いくつかの例では、そのような預金および/またはリンクされた支払手段は、電子マネーリポジトリ(例えば、電子マネー支払手段および/または支払処理サービスまたは別のサービスによって管理される電子マネー口座として構成された支払手段)に関連付けることができる。
いくつかの例では、サードパーティサーバ114から資金(例えば、そのインディケーション)を受け取ることに応答して、資金は商人の口座に転送され得る。いくつかの例では、サードパーティサーバ114から資金(例えば、そのインディケーション)を受け取る前に、資金は商人の口座に転送することができる。少なくとも1つの例では、資金を受け取る前に商人の口座に資金を転送することは、転送のタイミングおよび量を知らせることができるリスク分析に基づくことができる。
以下で説明するように、支払処理サービスは、商人(および他の異なる商人)に提供することができる1つまたは複数の追加または代替サービスを提供することができる。いくつかの例では、そのようなサービスは、POSアプリケーション104および支払処理アプリケーション122を介して利用することができる。いくつかの例では、このようなサービスは、商人デバイス102および/またはサーバ116上で、別個のアプリケーションまたは機能構成要素を介して利用可能である。
商人デバイス102、サードパーティサーバ114、サーバ116、および/またはプロキシサーバ118の間の通信に関連するさらなる詳細を以下に説明する。この議論の目的のために、支払処理サービスに起因するアクションはサーバ116(例えば、支払処理アプリケーション122)によって実行することができ、サードパーティ支払プロセッサに起因するアクションは、サードパーティサーバ114によって実行することができる。いくつかの例では、(1つまたは複数の)プロキシサーバ118(たとえば、通信アプリケーション120)によって実行されるアクションはさらに、支払処理サービスによることができる。すなわち、いくつかの例では、支払処理サービスに起因するアクションは、プロキシサーバ118(例えば、通信アプリケーション120)および/またはサーバ116(例えば、支払処理アプリケーション122)によって実行することができる。
いくつかの例では、本明細書で説明する技法は、リーダデバイス106から例示的な環境100の別のエンティティに送信された、および/または環境100の別のエンティティからリーダデバイス106によって受信された通信を参照することができる。そのような例では、通信は最初に、商人デバイス102を通過することができる。すなわち、いくつかの例では、リーダデバイス106は、接続性(コネクティビティ)に関連付けられていなくてもよく、その結果リーダデバイス106は、サードパーティサーバ114、サーバ116、および/またはプロキシサーバ118と直接通信を交換できなくてもよい。したがって、商人デバイス102は、リーダデバイス106の代わりに通信を送信および/または受信し、そのような通信を意図された受信者に提供することができる。いくつかの例では、通信は、暗号化されてもよく、かつ/または商人デバイス102によって読み取ることができないフォーマット(例えば、サードパーティ支払プロセッサに特有のフォーマット)であってもよい。少なくとも1つの例では、リーダデバイス106と商人デバイス102との間で交換される通信は、安全なセッションまたは別の暗号化メカニズムを使用して暗号化チャネルを介して安全に交換することができる。
さらに、本明細書に記載する技法は、サードパーティサーバ114及び/又はサーバ116へ送信され、及び/又はそれらによって受信される通信を参照することができる。この議論の目的のために、そのような通信は、意図された受信者に配信される前に、プロキシサーバ118を通過することができる。すなわち、通信は、商人デバイス102からサードパーティサーバ114(またはその逆)に送ることができるが、そのような通信は商人デバイス102からプロキシサーバ118に、次いで、サードパーティサーバ114に(またはその逆に)送ることができる。少なくとも1つの例では、プロキシサーバ118とサードパーティサーバ114との間で交換される通信は、SSLプロトコルまたは別の暗号化メカニズムを使用して暗号化チャネルを介して安全に交換することができる。さらに、サードパーティサーバ114がサーバ116に通信を送信する場合(またはその逆)、そのような通信はサードパーティサーバ114からプロキシサーバ118に、次いでサーバ116に(またはその逆に)送信することができる。少なくとも1つの例では、商人デバイス102、プロキシサーバ118、および/またはサーバ116の間で交換される通信は、暗号化メカニズム(例えば、SSLなど)を使用して暗号化チャネルを介して安全に交換することができる。
図2は、本明細書に記載された、電子マネー支払いの処理に関連する通信を説明する。図2は、便宜上及び理解を容易にするために、図1を参照して説明される。しかしながら、図2で説明される通信または他の動作は、図1で説明される構成要素を使用して実行されることに限定されず、そのような構成要素は、図2で説明される通信または他の動作を実行することに限定されない。
少なくとも1つの例では、商人が商人デバイス102(例えば、商人デバイス102に関連付けられたPOSアプリケーション104を介して提示される1つまたは複数のUI)と対話して、商人と顧客との間の取引を開始することができる。いくつかの例では、取引は、(例えば、購入、取引、リース、借入などによって)商人によって顧客に提供される1つまたは複数のアイテムに関連付けることができる。図2において、丸で囲まれた数字1は、販売時点での商人とPOSアプリケーション104との間の1つまたは複数の対話を表す。
少なくとも1つの例では、顧客は、取引の少なくとも一部の支払いのために電子マネー残高に関連付けられた支払手段108(例えば、電子マネー支払手段)を提示することができる。顧客がそのような支払手段108を提示することに応答して、商人は、例えばUIを介して商人デバイス102と対話して、(例えば、現金、小切手、または別の形態の入札の代わりに)料金支払いフローを選択することができる。少なくとも1つの例では、料金支払フローの選択に応答して、POSアプリケーション104は、商人デバイス102に、商人が料金のタイプとして電子マネーを選択することを可能にするUIを提示させることができる。少なくとも1つの例では、料金が電子マネー料金であることを示す入力を商人が提供すること応答して、POSアプリケーション104は、料金のタイプ(例えば、電子マネー)を示す起動通信202を、リーダデバイス106に送信することができ、支払手段(例えば、NFCタイプF)から支払データを読み取るための技術に関連するアンテナを起動するようにリーダデバイス106に指示する。この起動通信202は、どのタイプの支払手段を聴取するかについてのリーダデバイス106への信号とすることができる。
いくつかの例では、料金のタイプとして電子マネーの選択を受信することに応答して、POSアプリケーション104は、商人が選択することができる電子マネー支払手段に関連する1つまたは複数のタイプの支払手段ブランドを提示することができる。そのような例では、起動通信202は、支払手段ブランドのインディケーションをさらに含むことができる。
少なくとも1つの例では、起動通信202の受信に応答して、リーダデバイス106は、サードパーティサーバ114に開始通信204を送信することができる。すなわち、少なくとも1つの例では、リーダデバイス106は、取引(またはその一部)のための電子マネー支払いを開始するために、サードパーティサーバ114に通信を送信することができる。商人が支払手段ブランドを提供した例では、開始通信204がそのようなインディケーションを含むことができる。少なくとも1つの例では、前述したように、開始通信204は、リーダデバイス106から、POSアプリケーション104に、プロキシサーバ118に、およびサードパーティサーバ114に送ることができる。少なくとも1つの例では、プロキシサーバ118に関連付けられた通信アプリケーション120は、開始通信204を受信することができ、識別子を取引に関連付けることができる(図2では丸で囲まれた数字2で表されている)。このような例では、識別子は、取引に固有であり得、取引に関連付けられた後続の通信に関連付けることができ、取引に対する支払いが処理される間、(例えば、商人デバイス102がサードパーティサーバ114との接続を維持することの代わりに)プロキシサーバ118がサードパーティサーバ114との接続を維持することを可能にする。
少なくとも1つの例では、開始通信204の受信に応答して、サードパーティサーバ114は、リーダデバイス106に読み取り命令206を送信することができる。読み取り命令206は、リーダデバイス106と電子マネー残高に関連付けられた支払手段108との間の対話を待つようにリーダデバイス106に命令することができる。すなわち、読み取り命令206は、タップまたは他の対話(例えば、ディップ、スワイプなど)が来ることをリーダデバイス106に通信することができる。少なくとも1つの例では、読み取り命令206の受信に応答して、リーダデバイス106は、UI通信208をPOSアプリケーション104に送信することができる。このようなUI通信208の受信に応答して、POSアプリケーション104は、支払手段108とリーダデバイス106との間の対話を引き起こすように顧客に促すUIを提示することができ、これは、丸で囲まれた数字3によって表される。
少なくとも1つの例では、顧客は支払手段108とリーダデバイス106との間の対話を引き起こすことができ、この対話は丸で囲まれた数字4によって表される。少なくとも1つの例では、リーダデバイス106は、支払手段108に関連付けられた支払データを含むことができる、支払手段108からの情報を読み取ることができる。少なくとも1つの例では、リーダデバイス106は、支払データを暗号化することができ、支払データ210をPOSアプリケーション104に送信することができる。通信の単一のセット(例えば、読み取り命令206および支払データ210)が示されているが、いくつかの例では、支払データ210を取得する際に、複数のネットワークトリップ(例えば、前後通信)を含むことができる。少なくとも1つの例では、このような通信は、少なくともプロキシサーバ118とサードパーティサーバ114との間で安全にデータを送信するためのSSLプロトコルに基づくことができる。
いくつかの例では、顧客が支払手段108とリーダデバイス106との間の対話を引き起こす前に、POSアプリケーション104は、商人が取引をキャンセルするためのオプションを含むUIを提示することができる。商人がUIと対話して、取引をキャンセルしたいことを示す場合、POSアプリケーション104はそのようなインディケーションをサードパーティサーバ114に送信することができ、サードパーティサーバ114は、取引および関連する支払いをキャンセルすることができる。プロキシサーバ118は、それを示す通信を傍受し、サーバ116に通知を送信して、取引を取り消すことができる。顧客が支払手段108とリーダデバイス106との間の対話を引き起こした後、または支払手段が検出された後、POSアプリケーション104は、商人が取引をキャンセルするためのオプションを無効にすることができ、そのオプションをUIから削除することができる。
少なくとも1つの例では、POSアプリケーション104は、第1の要求212をサードパーティサーバ114に送信し、第2の要求214をサーバ116に送信することができ、これはいくつかの例ではプロキシサーバ118を介して行うことができる。少なくとも1つの例では、第1の要求212は、支払手段108に関連付けられた電子マネー残高が支払手段108が支払いのために入札されている金額(例えば、取引の総コストの少なくとも一部)以上であるかどうかのインディケーションを提供するように、サードパーティサーバ114に要求することができる。すなわち、第1の要求212は、支払手段108が支払いのために入札されている金額に対して支払手段108が承認されるかどうかを決定するための承認要求であることができる。少なくとも1つの例では、第1の要求212は、(例えば、図1を参照して上述した支払データ112に対応することができる)支払データ210と、支払手段108に関連付けられた電子マネー残高110のインディケーションとに関連付けることができる。さらに、いくつかの例では、第1の要求212は、支払手段108が支払いのために入札されている金額(例えば、取引の総コストまたはその一部)のインディケーションに関連付けることができる。
少なくとも1つの例では、第2の要求214は、支払データ210および/または取引データに関連付けることができ、これには商人に関連付けられた識別子、顧客に関連付けられた識別子、取引の総コスト、取引に関連付けられた1つまたは複数のアイテム、追加または代替のPOS情報などが含まれるが、これらに限定されない。上述したように、少なくとも1つの例では、そのような情報は暗号化され得る。少なくとも1つの例では、第2の要求214は、プロキシサーバ118に最初に送信されることなく、サーバ116に直接送信することができる。他の例では、第2の要求214は、サーバ116に送信される前にプロキシサーバ118に送信することができる。いくつかの例では、第2の要求214は、図2に示すように、プロキシサーバ118によって保持される(後の時間までサーバ116に送られない)ことができ、またはプロキシサーバ118に戻されて、後の時間までプロキシサーバ118によって保持されることができる。
いくつかの例では、第1の要求212および/または第2の要求214は、(破線によって示されるように)リーダデバイス106で発信することができ、それぞれサードパーティサーバ114またはサーバ116に送信するために商人デバイス102に提供することができる。すなわち、いくつかの例では、支払データ210は、第1の要求212および/または第2の要求214とともに商人デバイス102に送信され得る。あるいは、第1の要求212および第2の要求214がPOSアプリケーション104から発信されるものとして示されているが、代替例では、POSアプリケーション104は支払データ210をプロキシサーバ118に転送することができ、プロキシサーバ118が第1の要求212および第2の要求214を発信することができる。
上述したように、サードパーティサーバ114は、(例えば、サードパーティサーバ114に関連付けられたデータ記憶装置内の、および/または第1の要求212に関連して受信される)支払手段108の現在の電子マネー残高にアクセスすることができ、現在の電子マネー残高が、支払手段108が支払いのために入札されている金額以上であるかどうかを判定することができる。サードパーティサーバ114は、第1の要求212に対する応答を送信することができる。少なくとも1つの例では、現在の電子マネー残高がその金額以上である場合、第1の要求212に対する第1の応答216は、支払手段108が電子マネー支払いに対して承認されることを示すことができる。現在の電子マネー残高がその金額未満である例では、サードパーティサーバ114は、支払手段108がその金額に対して承認されていないというインディケーションを送信することができる。すなわち、このような例における第1の要求212に対する応答は、支払手段108がその金額に対して承認されていないことを示すことができる。このようなインディケーションは、図2には示されていないが、以下により詳細に説明される。
少なくとも1つの例では、第1の応答216は、新しい電子マネー残高に関連付けることができる。いくつかの例では、第1の応答216は、リーダデバイス106が新しい電子マネー残高を支払手段108に書き込む、あるいは支払手段108に関連付けるための命令を含むことができる。少なくとも1つの例では、新しい電子マネー残高は、以前の電子マネー残高と、支払手段108が支払いのために入札されている金額とに少なくとも部分的に基づくことができる。第1の応答216の受信に応答して、リーダデバイス106は、新しい電子マネー残高を支払手段108に書き込むことができる。すなわち、リーダデバイス106は、新しい電子マネー残高を支払手段108に関連付けることができる。
新しい電子マネー残高を支払手段108に書き込むことに応答して、リーダデバイス106は、書込み確認218をサードパーティサーバ114に送信することができる。少なくとも1つの例では、書込み確認218の受信に応答して、(1つまたは複数の)サードパーティサーバ114は、新しい電子マネー残高を(例えば、それに関連付けられたデータ記憶装置内の)支払手段108のインディケーションに関連付けることができる。少なくとも1つの例では、書込み確認218の受信に応答して、(1つまたは複数の)サードパーティサーバ114は、支払結果220をリーダデバイス106に送信することができる。一例では、支払結果220は、電子マネー支払いが成功したか失敗したかを示すことができ、支払いが成功した(または失敗した)というインディケーションを出力するための命令を含むことができる。丸で囲まれた数字5によって示されるように、リーダデバイス106は、支払いが成功した(または成功しなかった)という視覚的インディケーションおよび/または音声的インディケーションを出力することができる。さらに、書込み確認218の受信に少なくとも部分的に基づいて、サードパーティサーバ114は、支払いを清算し、上述のように、支払処理サービスに関連するサーバ116に(例えば、支払手段108が支払いのために入札された金額で)資金を転送することができる。少なくとも1つの例では、支払いは商人に関連付けられた識別子(例えば、端末識別子)に関連付けることができ、その結果、支払処理アプリケーション122は、どの商人が受け取った資金が関連付けられているかを判定することができ、そのような受け取った資金またはその一部を、上述したように、支払処理サービスによって維持される商人の口座に関連付けることができる。
この議論の目的上、「成功した」電子マネー支払いは、(i)電子マネー残高が支払手段108が提供されている取引の金額以上である場合、(ii)支払手段108に新しい電子マネー残高が書き込まれているか、またはその他の方法で関連付けられている場合、および(iii)サードパーティサーバ114が電子マネー残高から意図された受領者への資金の転送を容易にした場合(例えば、商人のための支払処理サービス)、の電子マネー支払いでありうる。「失敗した」電子マネー支払いは、(i)電子マネー残高が支払手段108が提供されている取引の金額未満である場合、(ii)新しい電子マネー残高が支払手段108に書き込まれていないか、またはその他の方法で関連付けられていない場合(またはそれに関連する書込み確認がタイムアウト期間中に受信されなかった場合)、および/または(iii)サードパーティサーバ114が電子マネー残高から意図された受領者への資金の転送を容易にしていない場合(例えば、商人のための支払処理サービス)、の試行された電子マネー支払いでありうる。
いくつかの例では、書込み確認218は、(例えば、(1つまたは複数の)サードパーティサーバ114によって)受信されなくてもよく、したがって、支払結果220は、(POSアプリケーション104および/またはリーダデバイス106によって)受信されなくてもよい。そのような例では、書込み確認218が受信されない場合、および/または支払結果220が受信されない場合、支払手段108に関連付けられた電子マネー残高が正確であることを保証するために、エラー処理プロセスを開始することができる。このようなエラー処理プロセスに関連する追加の詳細を以下に説明する。
上述したように、少なくとも1つの例では、プロキシサーバ118に関連付けられた通信アプリケーション120は、挙げられた数字6で表されるように、サードパーティサーバ114からの通信を監視することができる。すなわち、少なくとも1つの例では、通信アプリケーション120がサードパーティサーバ114から送信された通信を解読して、電子マネー支払いが成功した又は失敗したことを支払結果220が示すかどうかを判定することができる。少なくとも1つの例では、電子マネー支払いが成功したことを支払結果220が示すと判定することに応答して、通信アプリケーション120は、支払いが成功したことを確認するために、支払確認222をサーバ116に送信することができる。このような例では、支払確認222は、(例えば、プロキシサーバ118からの)第2の要求214に対する応答とすることができる。
いくつかの例では、プロキシサーバ118が第2の要求214を保持する場合、プロキシサーバ118は、支払確認222がサーバ116に送信されるまで、第2の要求214を保持することができる。そのような例では、プロキシサーバ118は、第2の要求214および支払確認222をサーバ116に同時に、またはほぼ同時に送信することができる。他の例では、プロキシサーバ118は、(例えば、サーバ116が第2の要求214を既に受信しており、それをプロキシサーバ118に送り返したので)第2の要求214を送信せずに支払確認222を送信することができる。支払いが成功しない例では、通信アプリケーション120は、支払確認222の代わりにそのようなインディケーションをサーバ116に送信することができ、または、プロキシサーバ118が第2の要求214を送信していない場合には、第2の要求214および支払確認222を送信することを控えることができる。
支払確認222の受信に応答して、サーバ116に関連付けられた支払処理アプリケーション122は、第2の要求214に対する第2の応答224を送信することができる。すなわち、支払確認222の受信に少なくとも部分的に基づいて、支払処理アプリケーション122は、取引を記録することができ、そのようなインディケーションをPOSアプリケーション104に送信することができる。少なくとも1つの例では、POSアプリケーション104は、丸で囲まれた数字7によって表されるように、電子マネー支払いに関連する情報を提示するUIを商人デバイス102を介して出力することができる。いくつかの例では、UIは、電子マネー支払いが成功したことを示すことができ、現在の電子マネー残高(リーダデバイス106によって支払手段108に書き込まれたもの)を含むことができる。いくつかの例では、UI をデジタルレシートに関連付けることができる。
いくつかの例では、本明細書に記載する通信を介して送信されているデータパケット(例えば、バイト)のサイズを縮小するために、リーダデバイス106は、(例えば、データパケットをプロキシサーバ118、サードパーティサーバ114、および/またはサーバ116にさらに送信するために)データパケットに関連するデータを暗号化してデータパケットをPOSアプリケーション104に送信する前に、データパケットサイズを圧縮することができる。少なくとも1つの例では、本明細書に記載する通信を介して送信されているデータパケットのサイズを縮小することによって、サイズが圧縮されていない場合よりも速くそのようなデータパケットを送信することができる。
さらに、電子マネー支払いの処理を迅速化するために、いくつかの例では、プロキシサーバ118は、応答を待たずに(例えば、後続の通信に影響を与えない)環境100の他のエンティティに通信を送信することができる。例えば、支払結果220の受信に応答して、プロキシサーバ118は、リーダデバイス106から処理が完了したことを示す応答を待つことなく、処理が完了したことを示すインディケーションをサードパーティサーバ114に送信することができる。
図2は、カード提示取引を参照して説明される。カード提示取引は、顧客とその支払手段との両方が取引の時点で物理的に存在する取引である。カード提示取引は、スワイプ、ディップ、タップ、または、物理的支払手段(例えば、カード)または他の存在する支払手段と、リーダデバイス106などのリーダデバイスとの間の任意の他の対話によって処理されてもよく、それによって、リーダデバイス106は、支払手段から支払データを取得することができる。
代替の例では、顧客および商人がカード非提示(CNP)取引である取引に参加することができる。CNP取引は、カード、または他の支払手段が販売時点で物理的に存在しない取引であり、その結果、(例えば、商人、購入者等によって)支払データを手動でキーインすることができ、または支払データをカードオンファイルデータストアから呼び出してして取引を完了することができる。そのような例では、読み取り命令206を送信する代わりに、サードパーティサーバ114は、UIを介して入力されるべき支払データを要求することができ、および/またはサードパーティサーバ114は、そうでなければ、(例えば、カードオンファイルを介して)支払データを提供するように商人デバイス102(または支払処理サービス)に要求することができる。さらに、このような例では、新しい電子マネー残高を支払手段に書き込むことは任意であってもよい。
いくつかの例では、POSアプリケーション104は、リーダデバイス106を使用せずに、サーバ116との通信を交換して、顧客と商人との間の対話を容易にすることができる。例えば、商人は、(例えば、商人デバイス102を介して提示されるUIを介して)POSアプリケーション104と対話して、返金および/または取引のキャンセルを要求することができる。このような例では、POSアプリケーション104は、返金及び/又はキャンセルのインディケーションをプロキシサーバ118に送信することができ、それは返金及び/又は取引のキャンセルを発行するためにサードパーティサーバ114と直接通信することができる。
図3〜図8は便宜上、また理解を容易にするために、図1を参照して説明される。しかしながら、図3〜図8に記載されたプロセスは図1に記載された構成要素を使用して実行されることに限定されず、そのような構成要素は図3〜図8に記載されたプロセスを実行することに限定されない。
処理300〜800は、ハードウェア、ソフトウェア、またはそれらの組合せで実施することができる動作のシーケンスを表す、論理フローグラフ内のブロックの集合を示す。ソフトウェアのコンテキストでは、ブロックがプロセッサによって実行されるときに、記載された動作を実行する、1つ以上のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令はルーチン、プログラム、オブジェクト、構成要素、データ構造などを含み、特定の機能を実行したり、特定の抽象データ型を実装したりする。動作が説明される順序は限定として解釈されることを意図されておらず、説明された任意の数のブロックはプロセスを実装するために任意の順序および/または並列に組み合わされ得る。いくつかの実施形態では、プロセスの1つまたは複数のブロックを完全に省略することができる。
図3〜図6は、図1に記載されたエンティティの個々に関連付けられた例示的な電子マネー支払いプロセス300〜600を示し、図3Aおよび図3Bは、リーダデバイス106の観点から電子マネー支払いを処理するための例示的なプロセス300を示す。図4A〜4Cは、商人デバイス102の観点から電子マネー支払いを処理するための例示的なプロセス400を示す。図5A〜5Cは、プロキシサーバ118の観点から電子マネー支払いを処理するための例示的なプロセス500を示す。図6は、サーバ116の観点から電子マネー支払いを処理するための例示的なプロセス600を示す。
図3Aおよび図3Bは、リーダデバイス106の観点から電子マネー支払いを処理するための例示的なプロセス300を示す。
ブロック302は、商人デバイスに関連付けられたリーダデバイスにおいて、電子マネー(eマネー)支払いに関連付けられた技術を起動するための命令を受信することを示す。上述のように、少なくとも1つの例では、商人が商人デバイス102(例えば、商人デバイス102に関連付けられたPOSアプリケーション104を介して提示される1つまたは複数のUI)と対話して、商人と顧客との間の取引を開始することができる。少なくとも1つの例では、顧客は、取引の少なくとも一部の支払いのための電子マネー残高に関連付けられた支払手段108を提示することができる。少なくとも1つの例では、料金が電子マネー料金であることを示す入力を商人が提供することに応答して、POSアプリケーション104は、料金のタイプ(例えば、電子マネー)を示す通信をリーダデバイス106に送信することができ、支払手段(例えば、NFCタイプF)から支払データを読み取るための技術に関連するアンテナを起動するようにリーダデバイス106に命令する。この起動通信は、どのタイプの支払手段を聴取するかをリーダデバイス106に信号で伝えることができる。このような通信の受信に応答して、リーダデバイス106は、適切な技術を起動することができる。
ブロック304は、商人デバイスを介して、商人と顧客との間の取引が開始されたというインディケーションを送信することを示し、取引は電子マネー支払いに関連付けられる。少なくとも1つの例では、起動通信の受信に応答して、リーダデバイス106は、取引が開始されたことを示すために、サードパーティサーバ114に通信を送信することができる。すなわち、少なくとも1つの例では、リーダデバイス106は、取引(またはその一部)のための電子マネー支払いを開始するために、サードパーティサーバ114に通信を送信することができる。少なくとも1つの例では、上述したように、電子マネー支払いを開始するための通信は、リーダデバイス106からPOSアプリケーション104へ、プロキシサーバ118へ、次いでサードパーティサーバ114へ送信することができる。
ブロック306は、商人デバイス(複数可)から、支払手段との対話を待つための命令を受信することを示す。少なくとも1つの例では、取引が開始されたことを示す通信がリーダデバイス106によって送信された後に、サードパーティサーバ114は、リーダデバイス106に読み取り命令を送信することができる。読み取り命令はリーダデバイス106に、リーダデバイス106と電子マネー残高に関連付けられた支払手段108との間の対話を待つように命令することができる。すなわち、読み取り命令は、タップまたは他の対話(例えば、ディップ、スワイプなど)が来ることをリーダデバイス106に通信することができる。少なくとも1つの例では、読み取り命令の受信に応答して、読み取りデバイス106は、対話の準備(例えば、対話を聴取する)をすることができる。さらに、少なくとも1つの例では、読み取り命令の受信に応答して、リーダデバイス106は、POSアプリケーション104に通信を送信して、POSアプリケーション104に、顧客に支払手段108とリーダデバイス106との間の対話を引き起こすように命令するUIを提示させることができる。このようなUI通信を受信することに応答して、POSアプリケーション104は、商人デバイス102を介してUIを提示することができる。
ブロック308は、支払手段とリーダデバイスとの間の対話が検出されたかどうかを判定することを示す。少なくとも1つの例では、顧客は、支払手段とリーダデバイス106との間の対話を引き起こすことができる。少なくとも1つの例では、リーダデバイス106は、それに関連付けられた支払データを含むことができる、支払手段108からの情報を読み取ることができる。少なくとも1つの例では、リーダデバイス106は、ブロック310に示されるように、支払データを暗号化することができ、ブロック312に示されるように、支払データを商人デバイス102に送信することができる。少なくとも1つの例では、このような暗号化は、サードパーティ支払プロセッサによって指定されたフォーマットで支払データを暗号化することを含むことができる。追加または代替の例では、このような暗号化は、プライベートキーまたは他のSSL暗号化フォーマットを使用して支払データを暗号化することを含むことができる。上述のように、いくつかの例では、支払データは、サードパーティサーバ114に送信される第1の要求および/またはサーバ116に送信される第2の要求に関連付けることができる。他の例では、支払データは、商人デバイス102に送信することができ、商人デバイス102(またはプロキシサーバ118)は第1の要求および/または第2の要求を生成することができる。
対話がまだ受信されていない場合、プロセス300はブロック308に戻り、支払手段108とリーダデバイス106との間の対話を待つことができる。いくつかの例では、リーダデバイス106は、取引がキャンセルされたという指示を受信するまで、またはタイムアウト期間が経過するまで、対話を待つことができる。
ブロック314は、新しい電子マネー残高を支払手段に書き込む命令が受信されたかどうかを判定することを示す。上述したように、少なくとも1つの例では、リーダデバイス106からの支払データの受信に応答して、POSアプリケーション104は、第1の要求をサードパーティサーバ114に送信し、第2の要求をサーバ116に送信することができる。上述のように、第1の要求は、支払手段108が支払のために支払手段108が入札されている金額に対して承認されているかどうかを決定するための承認要求であることができる。一例では、サードパーティサーバ114は、支払手段108の現在の電子マネー残高にアクセスすることができ、現在の電子マネー残高が支払手段108が支払いのために入札されている金額以上であるかどうかを判定することができる。現在の電子マネー残高がその金額以上である場合、サードパーティサーバ114は、第1の要求に対する第1の応答を送信することができる。第1の応答は、支払手段108が電子マネー支払いのために承認されていることを示すことができる。少なくとも1つの例では、第1の応答は、新しい電子マネー残高に関連付けることができる。いくつかの例では、第1の応答は、リーダデバイス106が新しい電子マネー残高を支払手段108に書き込むか、またはそうでなければ支払手段108に関連付けるための命令を含むことができる。少なくとも1つの例では、第1の応答(および支払手段108に書き込む命令)が受信された場合、処理300は図3Bに進むことができる。第1の応答(および支払手段108に書き込む命令)が受信されない場合、プロセス300はブロック314に戻り、第1の応答を待つことができる。いくつかの例では、リーダデバイス106は、取引がキャンセルされたというインディケーションを受信するまで、またはタイムアウト期間が経過するまで、第1の応答を待つことができる。
ブロック316は、新しい電子マネー残高を支払手段に書き込むことを示す。第1の応答の受信に応答して、リーダデバイス106は、新しい電子マネー残高を支払手段108に書き込むことができる。すなわち、リーダデバイス106は、新しい電子マネー残高を支払手段108に関連付けることができる。
ブロック318は、新たな電子マネー残高が支払手段に書き込まれたという確認を商人デバイスに送信することを示す。少なくとも1つの例では、新しい電子マネー残高を支払手段108に書き込むことに応答して、リーダデバイス106は、新しい電子マネー残高が支払手段108に書き込まれたか、またはそうでなければ支払手段108に関連付けられたことを確認する通信(例えば、書込み確認)をサードパーティサーバ114に送信することができる。すなわち、リーダデバイス106は、書き込み確認を商人デバイス102に送信することができ、POSアプリケーション104は、(サードパーティサーバ114に書き込み確認を送信することができる)プロキシサーバ118に書き込み確認を送信することができる。少なくとも1つの例では、書込み確認の受信に応答して、サードパーティサーバ114は、支払いを清算することができ、上述したように、支払処理サービスに関連付けられたサーバ116に資金を転送することができる。
ブロック320は、支払結果が受信されたかどうかを判定することを示す。少なくとも1つの例では、書き込み確認の受信に応答して、サードパーティサーバ114は、(例えば、プロキシサーバ118および商人デバイス102を介して)リーダデバイス106に支払結果を送信することができる。一例では、支払結果は、電子マネー支払いが成功したか失敗したかを示すことができ、電子マネー支払いが成功したかどうかのインディケーションを出力するための命令を含むことができる。少なくとも1つの例では、ブロック322に示すように、成功した支払結果の受信に応答して、リーダデバイス106は、電子マネー支払いが成功したというインディケーションを出力することができる。いくつかの例では、インディケーションは、電子マネー支払いが成功したという視覚的インディケーションおよび/または音声的インディケーションとすることができる。
図3Aおよび3Bは、成功したカード提示取引に関連するプロセスを対象とする。現在の電子マネー残高が前記金額未満である例では、サードパーティサーバ114は、支払手段108が前記金額に対して承認されていないというインディケーションを送信することができる。そのような例では、リーダデバイス106は、支払手段108が承認されていないというインディケーションを受信することができ、そのようなインディケーションを出力することができる。このような例では、電子マネーの支払いおよび/または取引をキャンセルすることができる。同様に、支払結果は、電子マネー支払いが上記の理由で失敗したことを示すことができる。そのような例では、リーダデバイス106は、「失敗」通知を受信することができ、そのようなインディケーションを出力することができる。いくつかの例では、電子マネー支払いおよび/または取引をキャンセルすることができる。
上述したように、代替例では、顧客および商人はCNP取引である取引に参加することができる。そのような例では、リーダデバイス106は、支払い処理フローで使用されなくてもよく、その代わりに、商人は、POSアプリケーション104への入力(例えば、それに関連付けられたUI)を介して支払データを提供することができる。
図4A〜4Cは、POSアプリケーション104の観点から電子マネー支払いを処理するための例示的なプロセス400を示す。
ブロック402は、商人デバイスにおいて、商人と顧客との間の取引のインディケーションを受信することを示し、取引は、電子マネー(eマネー)支払いに関連付けられる。上述のように、少なくとも1つの例では、商人は、商人デバイス102(例えば、商人デバイス102に関連付けられたPOSアプリケーション104を介して提示される1つまたは複数のUI)と対話して、商人と顧客との間の取引を開始することができる。少なくとも1つの例では、顧客は、取引の少なくとも一部の支払いのための電子マネー残高に関連付けられた支払手段108を提示することができる。顧客がそのような支払手段108を提示することに応答して、商人は、例えば、UIを介してPOSアプリケーション104と対話して、(例えば、現金、小切手、または別の形態の入札の代わりに)料金支払フローを選択することができる。少なくとも1つの例では、料金支払フローの選択に応答して、POSアプリケーション104は、商人が料金のタイプとして電子マネーを選択することを可能にするUIを提示させることができる。
ブロック404は、電子マネー支払いに関連する技術を起動するための命令を、商人デバイスに関連するリーダデバイスに送信することを示す。少なくとも1つの例では、料金が電子マネー料金であることを示す入力を商人が提供することに応答して、POSアプリケーション104は、料金のタイプ(例えば、電子マネー)を示す通信をリーダデバイス106に送信することができ、支払手段(例えば、NFCタイプF)から支払データを読み取るための技術に関連するアンテナを起動するようにリーダデバイス106に命令する。この起動通信は、どのタイプの支払手段を聴取すべきかについてのリーダデバイス106への信号とすることができる。
ブロック406は、取引のインディケーションをプロキシサーバへ送信することを示す。少なくとも1つの例では、起動通信202の受信に応答して、リーダデバイス106は、取引が開始されたことを示すために、サードパーティサーバ114に通信を送信することができる。すなわち、少なくとも1つの例では、リーダデバイス106は、取引(またはその一部)のための電子マネー支払いを開始するために、サードパーティサーバ114に通信を送信することができる。少なくとも1つの例では、上述したように、電子マネー支払いを開始するための通信をリーダデバイス106からPOSアプリケーション104に送ることができ、POSアプリケーション104はインディケーションをプロキシサーバ118に送ることができ、これは最終的にインディケーションをサードパーティサーバ114に送る。
ブロック408は、読み取り命令が受信されたかどうかを判定することを示す。少なくとも1つの例では、取引が開始されたことを示す通信がプロキシサーバ118に送信された後に、サードパーティサーバ114は、POSアプリケーション104を介してリーダデバイス106に読み取り命令を送信することができる。読み取り命令は、リーダデバイス106に、リーダデバイス106と電子マネー残高に関連付けられた支払手段108との間の対話を待つように命令することができる。すなわち、読み取り命令は、タップまたは他の対話(例えば、ディップ、スワイプなど)が来ることをリーダデバイス106に通信することができる。少なくとも1つの例では、POSアプリケーション104は、読み取り命令を受信し、読み取り命令をリーダデバイス106に転送することができる。少なくとも1つの例では、読み取り命令を受信することに応答して、リーダデバイス106は、POSアプリケーション104に通信を送信して、POSアプリケーション104に、支払手段108とリーダデバイス106との間の対話を引き起こすことを顧客に促すUIを商人デバイス102を介して提示させることができる。このような通信を受信することに応答して、POSアプリケーション104は、商人デバイス102を介してUIを提示することができる。
読み取り命令がまだ受信されていない場合、プロセス400はブロック408に戻り、読み取り命令を待つことができる。いくつかの例では、POSアプリケーション104は、タイムアウト期間を利用することができ、(タイムアウト期間が経過する前に読み取り命令が受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、POSアプリケーション104は、(例えば、プロキシサーバ108に)取引のインディケーションを1回以上送信することを再試行することができ、その回数は設定可能とすることができる。いくつかの例では、POSアプリケーション104は、読み取り命令がまだ受信されていないこと、および/またはタイムアウト期間が経過したことを示すインディケーションをプロキシサーバ118に送信することができ、これはサードパーティサーバ114および/またはサーバ116にインディケーションを提供することができる。いくつかの例では、そのようなインディケーションが支払いおよび/または取引をキャンセルさせることができる。
ブロック410は、支払手段に関連する支払データが受信されるかどうかを判定することを示す。少なくとも1つの例では、顧客は、支払手段108とリーダデバイス106との間の対話を引き起こすことができる。少なくとも1つの例では、リーダデバイス106は、それに関連付けられた支払データを含むことができる、支払手段108からの情報を読み取ることができる。少なくとも1つの例では、POSアプリケーション104は、そのような支払データが受信されたかどうかを判定することができる。支払データを受信すると、プロセス400は、図4Bに示すように進行することができる。すなわち、支払データを受信すると、POSアプリケーション104は、ブロック412に示すように、支払データに関連する第1の要求を、(サードパーティサーバ114に送信することができる)プロキシサーバ118に送信し、ブロック414に示すように、支払データに関連する第2の要求をサーバ116に送信することができる。
上述のように、第1の要求は、支払手段108が支払いのために支払手段108が入札されている金額に対して承認されるかどうかを決定するための承認要求であることができる。少なくとも1つの例では、第1の要求は、(例えば、支払手段108を介して読み取られる)支払データに関連付けることができる。いくつかの例では、第1の要求は、支払手段108に関連付けられた現在の電子マネー残高と、支払手段108が支払いのために入札されている金額とに関連付けることができる。少なくとも1つの例では、第1の要求をプロキシサーバ118に送信することができ、プロキシサーバ118は、受信に応じて第1の要求をサードパーティサーバ114に送信することができる。いくつかの例では、プロキシサーバ118は、第1の要求を識別子と関連付けることができ、かつ/または第1の要求をサードパーティサーバ114に送信する前に暗号化することができる。
上述のように、第2の要求は、支払データおよび/または取引データに関連付けることができ、これには商人に関連付けられた識別子、顧客に関連付けられた識別子、取引の総コスト、取引に関連付けられた1つまたは複数のアイテム、追加または代替のPOS情報などが含まれるが、これらに限定されない。上述したように、いくつかの例では、第2の要求をサーバ116に送信することができ、これは支払結果が受信されるまで、第2の要求をプロキシサーバ118に返すことができる。このような例では、POSアプリケーション104は、第2の要求をプロキシサーバ118に送信することができ、プロキシサーバ118は、支払結果が受信されるまで、第2の要求を保持することができる。図2を参照して上述したように、いくつかの例では、第2の要求は、プロキシサーバ118を介してサーバ116に送信され、支払結果が受信されるまで保持するためにプロキシサーバ118に返され得る。次いで、支払結果が受信されると、プロキシサーバ118は、第2の要求および支払確認をサーバ116に同時に、またはほぼ同時に送信することができる。いくつかの例では、第2の要求は、(1つまたは複数の)サーバ116に送信されなくてもよいが、第2の要求に対する((1つまたは複数の)プロキシサーバ118からの)応答として、(1つまたは複数の)サーバ116に支払確認を提供することができる。
上述のように、いくつかの例では、第1の要求および/または第2の要求はリーダデバイス106で発信することができ、それぞれサードパーティサーバ114またはサーバ116に送信するために商人デバイス102に提供することができる。すなわち、いくつかの例では、支払データは、第1の要求および/または第2の要求とともに、商人デバイス102に送信され得る。
対話がまだ受信されていない場合、プロセス400はブロック410に戻り、支払データを待つことができる。いくつかの例では、POSアプリケーション104は、タイムアウト期間を利用することができ、(支払データがタイムアウト期間が経過する前に受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、POSアプリケーション104は、(例えば、リーダデバイス106に)読み取り要求を1回以上送信することを再試行することができ、その回数は設定可能とすることができる。いくつかの例では、POSアプリケーション104は、支払データが受信されていないこと、および/または取引がタイムアウトしたことを示すインディケーションをプロキシサーバ118に送信することができ、これはサードパーティサーバ114および/またはサーバ116にインディケーションを提供することができる。いくつかの例では、そのようなインディケーションは支払いおよび/または取引をキャンセルさせることができる。
ブロック416は、(第1の要求に対する)第1の応答が受信されたかどうかを判定することを示す。上述のように、第1の要求の受信に応答して、サードパーティサーバ114は、支払手段108の現在の電子マネー残高にアクセスすることができ、現在の電子マネー残高が、支払手段108が支払いのために入札されている金額以上であるかどうかを判定することができる。現在の電子マネー残高が前記金額以上である場合、サードパーティサーバ114は、第1の要求に対する第1の応答を送信することができる。このような例では、第1の応答は、支払手段108が電子マネー支払いに対して承認されていることを示すことができる。少なくとも1つの例では、第1の応答が受信された場合、POSアプリケーション104は、ブロック418に示すように、取引のための電子マネー支払いに関連して提示された支払手段108が承認されているかどうかを判定することができる。少なくとも1つの例では、第1の応答は新しい電子マネー残高に関連付けることができる。
第1の応答が受信されない場合、プロセス400はブロック416に戻り、第1の応答を待つことができる。いくつかの例では、POSアプリケーション104は、タイムアウト期間を利用することができ、(第1の応答がタイムアウト期間の経過前に受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、POSアプリケーション104は、(例えば、プロキシサーバ118を介してサードパーティサーバ114に)第1の要求を1回以上送信することを再試行することができ、その回数は設定可能である。いくつかの例では、POSアプリケーション104は、第1の応答がまだ受信されていないというインディケーション、および/または取引がタイムアウトしたというインディケーションをプロキシサーバ118に送信することができ、これはサードパーティサーバ114および/またはサーバ116にインディケーションを提供することができる。いくつかの例では、そのようなインディケーションが支払いおよび/または取引をキャンセルさせることができる。
ブロック420は、リーダデバイスに、新しい電子マネー残高を支払手段に書き込ませることを示す。いくつかの例では、第1の応答は、リーダデバイス106が新しい電子マネー残高を支払手段108に書き込むか、またはそうでなければ支払手段108に関連付けるための命令を含むことができる。第1の応答が、取引のための電子マネー支払いに関連して提示された支払手段108が承認されていることを示す場合、POSアプリケーション104は、第1の応答をリーダデバイス106に転送することができ、それによって、リーダデバイス106に、新しい電子マネー残高を支払手段108に書き込ませる。次に、プロセス400は図4Cに進むことができる。
ブロック422は、電子マネーの支払いが失敗したことを示すインディケーションを顧客に提示することを示す。少なくとも1つの例では、第1の応答は、支払手段108が電子マネー取引に対して承認されていないことを示すことができる。すなわち、支払手段108に関連する電子マネー残高が、支払手段108が入札されている金額未満である場合、電子マネー支払は承認されなくてもよい。そのような例では、POSアプリケーション104は、(例えば、商人デバイス102のディスプレイを介して)商人デバイス102に、電子マネー支払いが失敗したというインディケーションを提示させることができる。いくつかの例では、POSアプリケーション104は、第1の応答をリーダデバイス106に転送して、電子マネー支払いが失敗したことをリーダデバイス106に通知することができる。いくつかの例では、POSアプリケーション104は、リーダデバイス106からの命令に応答して、そのようなインディケーションを提示させることができる。
いくつかの例では、上述のように、プロキシサーバ118が支払結果が受信されるまで第2の要求を保持する場合、第1の応答が電子マネー支払いが失敗したことを示す場合(例えば、支払手段108が承認されていないため)、プロキシサーバ118は、第2の要求をサーバ116に送信することを控えることができ、および/または電子マネー支払いが失敗したことを示すインディケーションをサーバ116に送信することができ、その結果、サーバ116はそのようなことを示すことができる。
ブロック424は、新しい電子マネー残高が支払手段に書き込まれたという確認が受信されたかどうかを判定することを示す。上述のように、少なくとも1つの例では、新しい電子マネー残高を支払手段108に書き込むことに応答して、リーダデバイス106は、書込み確認をサードパーティサーバ114に送信することができる。少なくとも1つの例では、リーダデバイス106は、書込み確認をPOSアプリケーション104に送ることができ、ブロック426に示すように、書込み確認をプロキシサーバ118に送ることができ、最終的には書込み確認をサードパーティサーバ114に転送することができる。少なくとも1つの例では、書込み確認を受信することに応答して、サードパーティサーバ114は、支払いを清算し、支払処理サービスに関連するサーバ116に資金を転送することができる。サードパーティサーバ114は、リーダデバイス106に支払結果を送信することができる。支払結果は、電子マネー支払いが成功したか失敗したかを示すことができる。上述のように、POSアプリケーション104は、ブロック430に示すように、プロキシサーバ118から支払結果を受信し、その支払結果をリーダデバイス106に送信することができる。
少なくとも1つの例では、書き込み確認が受信されない場合、プロセス400はブロック424に戻り、書き込み確認を待つことができる。いくつかの例では、POSアプリケーション104は、タイムアウト期間を利用することができ、(タイムアウト期間の経過前に書込み確認が受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、POSアプリケーション104は、(例えば、リーダデバイス106に)書き込み命令を1回以上送信することを再試行することができ、その回数は設定可能である。いくつかの例では、POSアプリケーション104は、書き込み確認がまだ受信されていないというインディケーション、および/または取引がタイムアウトしたというインディケーションをプロキシサーバ118に送信することができ、これはサードパーティサーバ114および/またはサーバ116にインディケーションを提供することができる。いくつかの例では、そのようなインディケーションは、支払いおよび/または取引をキャンセルさせることができる。
さらに、少なくとも1つの例では、支払結果が受信されない場合、プロセス400はブロック428に戻って、支払結果を待つことができる。いくつかの例では、POSアプリケーション104は、タイムアウト期間を利用することができ、(支払結果がタイムアウト期間の経過前に受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、POSアプリケーション104は、書き込み確認(例えば、プロキシサーバ118を介してサードパーティサーバ114へ)を1回以上送信することを再試行することができ、その回数は設定可能である。少なくとも1つの例では、POSアプリケーション104は、タイムアウト期間の経過前に支払結果を受信しない場合、POSアプリケーション104はエラーが発生したと判定し、POSアプリケーション104はそのようなインディケーションをプロキシサーバ118に送信することができ、これはサードパーティサーバ114および/またはサーバ116にインディケーションを提供することができる。このようなインディケーションは、以下に説明するエラー処理プロセスをトリガすることができる。
ブロック432は、(第2の要求に対する)第2の応答が受信されたかどうかを判定することを示す。上述したように、少なくとも1つの例では、プロキシサーバ118に関連付けられた通信アプリケーション120は、サードパーティサーバ114からの通信を監視することができる。すなわち、少なくとも1つの例では、通信アプリケーション120は、サードパーティサーバ114から送信された通信を復号化して、成功または失敗の通知が送信されたか否かを判定することができる。少なくとも1つの例では、成功通知が支払結果を介して送信されたと判定することに少なくとも部分的に基づいて、通信アプリケーション120は、支払いが成功したことを確認するために、サーバ116に支払確認を送信することができる。上述のように、少なくとも1つの例では、第2の要求がプロキシサーバ118によって保持されている場合、通信アプリケーション120は、支払確認および第2の要求を同時にまたはほぼ同時に送信することができる。他の例では、通信アプリケーション120は、第2の要求を送信せずに支払確認を送信することができる。
支払確認の受信に応答して、サーバ114の支払処理アプリケーション122は、第2の要求に対する第2の応答を送信することができる。すなわち、支払確認の受信に少なくとも部分的に基づいて、支払処理アプリケーション122は、取引を記録することができ、そのようなインディケーションをプロキシサーバ118を介してPOSアプリケーション104に送信することができる。第2の応答が受信された場合、POSアプリケーション104は、ブロック434に示すように、第2の応答が、取引が支払処理サービスによって記録されたことを示すかどうかを判定することができる。
少なくとも1つの例では、第2の応答が受信されない場合、プロセス400はブロック432に戻って、第2の応答を待つことができる。いくつかの例では、POSアプリケーション104は、タイムアウト期間を利用することができ、(第2の応答がタイムアウト期間の経過前に受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、POSアプリケーション104は、第2の応答がまだ受信されていないこと、および/またはタイムアウト期間が経過したことを示すインディケーションをプロキシサーバ118に送信することができ、これはサードパーティサーバ114および/またはサーバ116にインディケーションを提供することができる。いくつかの例では、そのようなインディケーションは、支払いおよび/または取引をキャンセルさせることができる。
ブロック436は、取引が完了したというインディケーションを提示することを示す。少なくとも1つの例では、支払処理サービスによって記録されている取引(およびそのようなことを示す第2の応答)に少なくとも部分的に基づいて、POSアプリケーション104は、商人デバイス102を介してUIを出力させることができる。UIは、電子マネー支払いに関連する情報を含むことができる。いくつかの例では、UIは、電子マネー支払いが成功したというインディケーションと、(リーダデバイス106によって支払手段108に書き込まれたような)現在の電子マネー残高とを含むことができる。上述したように、少なくとも1つの例では、UIはデジタルレシートとすることができる。
ブロック438は、取引が失敗したというインディケーションを提示することを示す。少なくとも1つの例では、支払処理サービスによって記録されていない取引(およびそのようなものを示す第2の応答)および/または取引のタイムアウトに少なくとも部分的に基づいて、POSアプリケーション104は、取引が失敗したことを示すUIを出力することができる。いくつかの例では、UI に関連付けられている情報は、失敗の原因を示している場合がある。そのような例では、サードパーティ支払プロセッサが支払いを承認する(例えば、第1の応答が成功通知に関連付けられる)が、支払処理サービスを介して取引が失敗する(例えば、第2の応答が失敗通知である)場合、POSアプリケーション104は、返金を要求するように商人に促すことができる。このような返金要求は、処理のためにサーバ116に送信することができる。
プロセス400は、第1の要求および第2の要求を送信することに関連する動作を含むが、前述したように、代替例では、POSアプリケーション104は、支払データをプロキシサーバ118に転送することができ、プロキシサーバ118が第1の要求および第2の要求を発信することができる。そのような例では、ブロック412および414がプロセス400から省略されてもよいが、プロセス400は、そうでなければ説明されるように進行することができる。
さらに、いくつかの例では、上述のように、プロキシサーバ118が支払結果が受信されるまで第2の要求を保持し、支払結果が電子マネー支払いが失敗したことを示す場合、プロキシサーバ118は、第2の要求をサーバ116に送信することを控えることができる。そのような例では、プロセス400はブロック430で終了し、支払結果のインディケーションをリーダデバイス106に送信することができる。すなわち、いくつかの例では、電子マネー支払いの失敗のために第2の要求が送信されないことがあるので、第2の応答を待つ必要がないことがある。
図5A〜5Cは、プロキシサーバ118の観点から電子マネー支払いを処理するための例示的なプロセス500を示す。
ブロック502は、プロキシサーバにおいて、および商人デバイスから、商人と顧客との間の取引のインディケーションを受信することを示す。上述のように、少なくとも1つの例では、商人は、商人デバイス102(例えば、商人デバイス102に関連付けられたPOSアプリケーション104を介して提示される1つまたは複数のUI)と対話して、商人と顧客との間の取引を開始することができる。少なくとも1つの例では、顧客は、取引の少なくとも一部の支払いのために電子マネー残高に関連付けられた支払手段108を提示することができる。上述のように、少なくとも1つの例では、料金が電子マネー料金であることを示す入力を商人が提供することに応答して、POSアプリケーション104は、料金のタイプ(例えば、電子マネー)を示す通信をリーダデバイス106に送信することができ、支払手段(例えば、NFCタイプF)から支払データを読み取るための技術に関連するアンテナを起動するようにリーダデバイス106に命令する。少なくとも1つの例では、起動通信の受信に応答して、リーダデバイス106は、取引が開始されたことを示すために、サードパーティサーバ114に通信を送信することができる。すなわち、少なくとも1つの例では、リーダデバイス106は、取引(またはその一部)のための電子マネー支払いを開始するために、サードパーティサーバ114に通信を送信することができる。少なくとも1つの例では、上述したように、電子マネー支払いを開始するための通信は、リーダデバイス106からPOSアプリケーション104に送ることができ、POSアプリケーション104はインディケーションをプロキシサーバ118に送ることができる。
ブロック504は、識別子を取引に関連付けることを示す。少なくとも1つの例では、プロキシサーバ118に関連付けられた通信アプリケーション120は、インディケーションを受信することができ、識別子を取引に関連付けることができる。そのような例では、識別子が取引に固有であることができ、取引に関連付けられた後続の通信に関連付けることができ、プロキシサーバ118が、取引のための電子マネー支払いが処理される間に、(例えば、POSアプリケーション104がサードパーティサーバ114との接続を維持する代わりに)サードパーティサーバ114との接続を維持することを可能にする。
ブロック506は、識別子を有する取引のインディケーションを(例えば、サードパーティ支払プロセッサに関連付けられた)サードパーティサーバに送信することを示す。少なくとも1つの例では、通信アプリケーション120は、識別子を有する取引のインディケーションをサードパーティサーバ114に送信することができる。いくつかの例では、通信アプリケーション120は、サードパーティサーバ114に通信を送信する前に、インディケーションを暗号化することができる。いくつかの例では、インディケーションは(例えば、リーダデバイス106によって)既に暗号化されていてもよい。
ブロック508は、読み取り命令が受信されたかどうかを判定することを示す。少なくとも1つの例では、取引が開始されたことを示す通信がサードパーティサーバ114に送信された後に、サードパーティサーバ114はリーダデバイス106に読み取り命令を送信することができる。少なくとも1つの例では、ブロック510に示すように、通信アプリケーション120は、読み取り命令を受信し、読み取り命令を商人デバイス102(最終的には読み取り命令をリーダデバイス106に提供する)に送信することができる(それは最終的には読み取り命令をリーダデバイス106に提供する)。読み取り命令は、リーダデバイス106と、支払手段108のような電子マネー残高に関連する支払手段との間の対話を待つようにリーダデバイス106に命令することができる。すなわち、読み取り命令は、タップまたは他の対話(例えば、ディップ、スワイプなど)が来ることをリーダデバイス106に通信することができる。
読み取り命令がまだ受信されていない場合、処理500はブロック508に戻り、読み取り命令を待つことができる。いくつかの例では、通信アプリケーション120は、タイムアウト期間を利用することができ、(タイムアウト期間が経過する前に読み取り命令が受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、通信アプリケーション120は、取引のインディケーションをサードパーティサーバ114に1回以上送信することを再試行することができ、その回数は設定可能である。いくつかの例では、通信アプリケーション120は、読み取り命令がまだ受信されていないこと、および/またはタイムアウト期間が経過したことを示すインディケーションを、POSアプリケーション104、サードパーティサーバ114、および/またはサーバ116に送信することができる。いくつかの例では、そのようなインディケーションは、支払いおよび/または取引をキャンセルさせることができる。
ブロック512は、第1の要求が商人デバイスから受信されたかどうかを判定することを示す。上述したように、少なくとも1つの例では、顧客は、支払手段108とリーダデバイス106との間の対話を引き起こすことができる。少なくとも1つの例では、リーダデバイス106は、それに関連付けられた支払データを含むことができる、支払手段108からの情報を読み取ることができる。支払データを受信すると、POSアプリケーション104は、支払データに関連付けられた第1の要求を通信アプリケーション120に送信することができる(それは通信アプリケーション120によってサードパーティサーバ114に送信することができる)。以上のように、第1の要求は、取引のための電子マネーの支払いに関連して提示された支払手段108が、当該支払手段108が支払のために入札されている金額に対して承認されるかどうかを判定するための承認要求とすることができる。通信アプリケーション120は、ブロック514に示すように、第1の要求が受信されたことを判定し、第1の要求をサードパーティサーバ114に送信することができる。少なくとも1つの例では、プロキシサーバ118は、受信に応じて第1の要求をサードパーティサーバ114に送信することができる。いくつかの例では、プロキシサーバ118は、第1の要求を識別子と関連付けることができ、かつ/または第1の要求をサードパーティサーバ114に送信する前に暗号化することができる。次に、処理500は、図5Bのブロック516に進むことができる。
第1の要求がまだ受信されていない場合、処理500はブロック510に戻り、第1の要求を待つことができる。いくつかの例では、通信アプリケーション120は、タイムアウト期間を利用することができ、(タイムアウト期間が経過する前に第1の要求が受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、通信アプリケーション120は、読み取り命令をPOSアプリケーション104に1回以上送信することを再試行することができ、その回数は設定可能である。いくつかの例では、通信アプリケーション120は、第1の要求がまだ受信されていないこと、および/または取引がタイムアウトしたことを示すインディケーションを、POSアプリケーション104、サードパーティサーバ114、および/またはサーバ116に送信することができる。いくつかの例では、そのようなインディケーションは、支払いおよび/または取引をキャンセルさせることができる。
ブロック516は、第2の要求が商人デバイスから受信されたかどうかを判定することを示す。上述のように、第2の要求は、支払データおよび/または取引データに関連付けることができ、これには商人に関連付けられた識別子、顧客に関連付けられた識別子、取引の総コスト、取引に関連付けられた1つまたは複数のアイテム、追加または代替のPOS情報などが含まれるが、これらに限定されない。通信アプリケーション120は、第2の要求が受信されたことを判定することができ、いくつかの例では、ブロック518に示すように、第2の要求をサーバ116に送信することができる。ブロック518は、破線で示されているが、いくつかの例では、通信アプリケーション120は、以下に示すように、後の時間まで、第2の要求を保持することができる(すなわち、第2の要求をサーバ116に送信しない)。いくつかの例では、通信アプリケーション120は、受信に応じて第2の要求をサーバ116に送信することができ、サーバ116は、後の時間まで保持するために第2の要求をプロキシサーバ118に送り返すことができる。いくつかの例では、第2の要求は、プロキシサーバ118に送信されることなくサーバ116に直接送信することができ、プロキシサーバ118は、サーバ116から第2の要求を受信することができる。上述のように、いくつかの例では、第2の要求は、支払結果が受信されるまで、プロキシサーバ118によって保持され得る。プロキシサーバ118が第2の要求を保持するいくつかの例では、プロキシサーバ118は、以下で説明するように、第2の要求および支払確認を同時にまたはほぼ同時に送信することができる。いくつかの例では、プロキシサーバ118が第2の要求を保持する場合、プロキシサーバ118は、以下に説明するように、第2の要求をサーバ116に送り返すことなく、(例えば、第2の要求に応答して)支払確認を送信することができる。
第2の要求がまだ受信されていない場合、処理500はブロック516に戻り、第2の要求を待つことができる。いくつかの例では、通信アプリケーション120は、タイムアウト期間を利用することができ、(タイムアウト期間が経過する前に第2の要求が受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、通信アプリケーション120は、読み取り要求をPOSアプリケーション104に送信することを1回以上再試行することができ、その回数は設定可能である。いくつかの例では、通信アプリケーション120は、第2の要求がまだ受信されていないこと、および/または取引がタイムアウトしたことを示すインディケーションを、POSアプリケーション104、サードパーティサーバ114、および/またはサーバ116に送信することができる。いくつかの例では、そのようなインディケーションは、支払いおよび/または取引をキャンセルさせることができる。
ブロック520は、(第1の要求に対する)第1の応答が受信されたかどうかを判定することを示す。上述のように、第1の要求の受信に応答して、サードパーティサーバ114は、支払手段108の現在の電子マネー残高にアクセスすることができ、現在の電子マネー残高が、支払手段108が支払いのために入札されている金額以上であるかどうかを判定することができる。現在の電子マネー残高が前記金額以上である場合、サードパーティサーバ114は、支払手段108が電子マネー支払いに対して承認されることを示す第1の要求に対する第1の応答を送信することができる。いくつかの例では、第1の応答は、リーダデバイス106が新しい電子マネー残高を支払手段に書き込むか、そうでなければ支払手段に関連付けるための命令を含むことができる。少なくとも1つの例では、第1の応答が受信された場合、通信アプリケーション120は、ブロック522に示すように、第1の応答を商人デバイス102に送信することができる。
第1の応答が受信されない場合、処理500はブロック520に戻り、第1の応答を待つことができる。いくつかの例では、通信アプリケーション120はタイムアウト期間を利用することができ、(第1の応答がタイムアウト期間の経過前に受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、通信アプリケーション120は、第1の要求をサードパーティサーバ114に1回以上送信することを再試行することができ、その回数は設定可能である。いくつかの例では、通信アプリケーション120は、第1の応答がまだ受信されていないこと、および/または取引がタイムアウトしたことを示すインディケーションを、POSアプリケーション104、サードパーティサーバ114、および/またはサーバ116に送信することができる。いくつかの例では、そのようなインディケーションは、支払いおよび/または取引をキャンセルさせることができる。
ブロック524は、書き込み確認が受信されたかどうかを判定することを示す。上述のように、第1の応答を受信することに応答して、リーダデバイス106は、新しい電子マネー残高を支払手段108に書き込むか、そうでなければ支払手段108に関連付けることができる。新たな電子マネー残高を支払手段108に書き込むか、そうでなければ関連付けることに応答して、リーダデバイス106は、プロキシサーバ118を介してサードパーティサーバ114に書き込み確認を送信することができる。少なくとも1つの例では、ブロック526に示すように、通信アプリケーション120は、書き込み確認を受信し、書き込み確認をサードパーティサーバ114に送信することができる。いくつかの例では、プロキシサーバ118は、サードパーティサーバ114に送信する前に、書き込み確認を識別子に関連付け、かつ/または書き込み確認を暗号化することができる。処理500は、図5Cに続くことができる。
書き込み確認がまだ受信されていない場合、処理500はブロック524に戻り、書き込み確認を待つことができる。いくつかの例では、通信アプリケーション120は、タイムアウト期間を利用することができ、(タイムアウト期間が経過する前に書込み確認が受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、通信アプリケーション120は、第1の応答(および関連する書き込み命令)をPOSアプリケーション104に1回以上送信することを再試行することができ、その回数は設定可能である。いくつかの例では、通信アプリケーション120は、書き込み確認がまだ受信されていないこと、および/または取引がタイムアウトしたことを示すインディケーションを、POSアプリケーション104、サードパーティサーバ114、および/またはサーバ116に送信することができる。いくつかの例では、そのようなインディケーションは、支払いおよび/または取引をキャンセルさせることができる。
ブロック528は、支払結果が受信されたかどうかを判定することを示す。少なくとも1つの例では、書き込み確認の受信に応答して、サードパーティサーバ114は、プロキシサーバ118を介して、リーダデバイス106に支払結果を送信することができる。一例では、支払結果は、電子マネー支払いが成功したか失敗したかを示すことができる。代理サーバ118は、支払結果を受信すると、ブロック530に示すように、支払結果を商人デバイス102に送信することができる。POSアプリケーション124は、上述したように、支払結果をリーダデバイス106に送信することができる。
支払結果が受信されない場合、処理500はブロック528に戻り、支払結果を待つことができる。いくつかの例では、通信アプリケーション120は、タイムアウト期間を利用することができ、(支払結果がタイムアウト期間の経過前に受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、通信アプリケーション120は、書き込み確認をサードパーティサーバ114に送信することを1回以上再試行することができ、その回数は設定可能である。いくつかの例では、通信アプリケーション120は、支払結果がまだ受信されていないこと、および/または取引がタイムアウトしたことを示すインディケーションを、POSアプリケーション104、サードパーティサーバ114、および/またはサーバ116に送信することができる。いくつかの例では、そのようなインディケーションは、支払いおよび/または取引をキャンセルさせることができる。
ブロック532は、電子マネー支払いが成功したかどうかを判定することを示す。上述したように、少なくとも1つの例では、通信アプリケーション120は、サードパーティサーバ114からの通信を監視することができる。すなわち、少なくとも1つの例では、通信アプリケーション120は、サードパーティサーバ114から送信された通信を復号化して、支払結果が成功通知または失敗通知に関連付けられているかどうかを判定することができる。少なくとも1つの例では、支払結果が成功通知に関連付けられていると判定することに応答して、通信アプリケーション120は、支払確認をサーバ116に送信することができる。すなわち、プロキシサーバ118は、ブロック534に示すように、電子マネー支払いが成功したというインディケーションをサーバ116に送ることができる。上述したように、また図2を参照すると、第2の要求は、ブロック512で送信/受信されるものとして説明されているが、いくつかの例では、第2の要求は、支払結果が受信されるまでプロキシサーバ118によって保持することができる。そのような例では、プロキシサーバ118は、第2の要求、および、支払いが成功したことを示す支払確認を、同時にまたはほぼ同時に送信することができ、または第2の要求を送信することなく支払確認を(例えば、第2の要求に対する応答として)送信することができる。
ブロック536は、(第2の要求に対する)第2の応答が受信されたかどうかを判定することを示す。少なくとも1つの例では、電子支払いが成功したことを示す支払結果を受信することに応答して、サーバ116は、第2の要求に対する第2の応答を送信することができる。すなわち、電子マネー支払いが成功したというインディケーションの受信に少なくとも部分的に基づいて、サーバ116は、取引を記録することができ、そのようなインディケーションをプロキシサーバ118を介してPOSアプリケーション104に送信することができる。ブロック538に示すように、通信アプリケーション120は、第2の応答を受信し、第2の応答を商人デバイス102に送信することができる。
少なくとも1つの例では、第2の応答が受信されない場合、処理500はブロック532に戻って、第2の応答を待つことができる。いくつかの例では、通信アプリケーション120は、タイムアウト期間を利用することができ、(第2の応答がタイムアウト期間の経過前に受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、通信アプリケーション120は、取引のための電子マネー支払いに関連して提示された支払手段108がされたというインディケーションを1回以上再送信することができ、その回数は設定可能とすることができる。いくつかの例では、通信アプリケーション120は、第2の応答がまだ受信されていないこと、および/または取引がタイムアウトしたことを示すインディケーションを、POSアプリケーション104、サードパーティサーバ114、および/またはサーバ116に送信することができる。いくつかの例では、そのようなインディケーションは、支払いおよび/または取引をキャンセルさせることができる。
電子マネー支払いが成功しなかった場合(例えば、支払結果が電子マネー支払いが失敗したことを示す場合)、ブロック540に示すように、プロキシサーバ118は、電子マネー支払いが成功しなかったことを示すインディケーションをサーバ116に送信することができる。いくつかの例では、第2の要求がプロキシサーバによって保持される場合、第2の要求も支払確認もサーバ116に送信されなくてもよい。すなわち、いくつかの例では、支払結果が電子マネー支払いが成功したことを示さない場合、プロキシサーバ118は、第2の要求および支払確認を送信することを控えることができる。
図6は、サーバ116の観点から電子マネー支払いを処理するための例示的なプロセス600を示す。
ブロック602は、支払処理サービスに関連付けられたサーバにおいて、支払処理サービスに関連付けられたプロキシサーバから要求を受信することを示し、要求は商人と顧客との間の取引に関連付けられ、取引は電子マネー支払いに関連付けられる。上記のように、取引の支払いのために提示された支払手段108に関連する支払データ、またはその一部を(例えば、リーダデバイス106から)受信すると、POSアプリケーション104は、取引に関連する要求をプロキシサーバ118に送信することができ、それはサーバ116に送ることができる。少なくとも1つの例では、要求は、支払データおよび/または取引データに関連付けることができ、支払データおよび/または取引データは、商人に関連付けられた識別子、顧客に関連付けられた識別子、取引の総コスト、取引に関連付けられた1つまたは複数のアイテム、追加または代替のPOS情報などを含むことができるが、これらに限定されない。上述したように、少なくとも1つの例では、そのような情報は暗号化され得る。少なくとも1つの例では、要求は、商人または顧客のうちの少なくとも1つの取引を記録するための命令に関連付けることができる。
ブロック604は、取引に関連するインディケーションがプロキシサーバから受信されるかどうかを判定することを示す。上述したように、少なくとも1つの例では、プロキシサーバ118に関連付けられた通信アプリケーション120は、サードパーティサーバ114からの通信を監視することができる。すなわち、少なくとも1つの例では、通信アプリケーション120は、サードパーティサーバ114から送信された通信を復号して、支払結果が電子マネー支払いが成功したか失敗したかを示すかどうかを判定することができる。少なくとも1つの例では、通信アプリケーション120は、支払結果、またはそれに基づくインディケーションをサーバ116に送信することができる。
少なくとも1つの例では、インディケーションが受信されない場合、プロセス600はブロック604に戻って、インディケーションを待つことができる。いくつかの例では、(1つまたは複数の)サーバ116に関連付けられた支払処理アプリケーション122は、タイムアウト期間を利用することができ、(タイムアウト期間の経過前に応答が受信されない場合)その経過により取引をタイムアウトさせることができる。いくつかの例では、支払処理アプリケーション122は、応答がまだ受信されていないこと、および/またはタイムアウト期間が経過したことのインディケーションをプロキシサーバ118に送信することができる。いくつかの例では、そのような(例えば、タイムアウト期間が経過したという)インディケーションは、支払いおよび/または取引をキャンセルさせることができる。
上述のように、いくつかの例では、要求は、取引に関連するインディケーション(例えば、電子マネー支払いの成功または失敗)を受信する前に受信され得る。すなわち、このような例では、プロキシサーバ118は、要求が受信された時点またはそれに近い時点で要求を送信することができる。いくつかの例では、プロキシサーバ118は、インディケーションが受信されるまで、要求を保持することができる。そのような例では、取引に関連するインディケーションが電子マネー支払いの成功を示す場合、プロキシサーバ118は、要求およびインディケーションを同時にまたはほぼ同時に送信することができ、したがって、要求およびインディケーションをほぼ同時に受信することができる。
ブロック606は、電子マネー支払いが成功したことをインディケーションが示すかどうかを判定することを示す。少なくとも1つの例では、支払処理アプリケーション122は、支払結果に基づいてインディケーションを解析して、電子マネー支払いが成功したか失敗したかを判定することができる。電子マネー支払いが成功したと判定することに少なくとも部分的に基づいて、支払処理アプリケーション122は、ブロック608に示されるように、商人のための取引を記録することができ、ブロック610に示されるように、取引が支払処理サービスによって記録されたことを示す応答をプロキシサーバ118に送信することができる。
このように、支払処理サービスは、商人(およびその他の異なる商人)に代わって、(i)上記のような、1つまたは複数の他の支払プロセッサと通信すること、および/または(ii)取引を1つまたは複数の台帳に記録することによって、取引を処理することができる。少なくとも1つの例では、支払処理アプリケーション122は、電子マネー支払いが成功したことを示すインディケーションを受信することができ、取引のために商人に支払われるべき資金の額を決定することができる。少なくとも1つの例では、そのような金額は、総購入価格から支払処理サービスを提供するために支払処理サービスによって課金される料金を差し引いたものとすることができる。商人に支払われるべき資金の額を決定することに基づいて、支払処理アプリケーション122は、支払処理サービスによって管理される商人の口座に資金を預けることができる。上述したように、このような口座は、少なくとも支払処理サービスの台帳を介して管理され、関連する資金は、以下に説明するように、予定預金、同日預金、即時預金、およびリンクされた支払手段を含むがこれらに限定されない様々な出金チャネルを介してアクセス可能であるため、従来の銀行口座とは異なることがある。いくつかの例では、そのような預金および/またはリンクされた支払手段は、電子マネーリポジトリに関連付けることができる。
少なくとも1つの例では、支払処理アプリケーション122は、以下で説明するように、商人および/または顧客のプロファイルに取引を記録することができる。いくつかの例では、そのようなプロファイルおよびそれに関連するデータは、支払処理サービスに関連する1つまたは複数のサービスのために活用することができる。
電子マネー取引が失敗したと判定することに少なくとも部分的に基づいて、支払処理アプリケーション122は、ブロック612に示すように、商人の取引を記録することを控えることができ、ブロック614に示すように、取引が支払処理サービスによって記録されていないこと、および/または支払処理サービスによって承認されていないものとして記録されていることを示す応答をプロキシサーバ118に送信することができる。上述のように、いくつかの例では、要求は、取引に関連付けられたインディケーションを受信する前に送信することができる。いくつかのそのような例では、サーバ116は、電子マネー支払いが失敗したことをインディケーションが示す場合、取引を記録することを控えることができる。さらに、いくつかの例では、サーバ116は、取引を記録することができるが、取引のための電子マネー支払いに関連して提示された支払手段108が承認されなかったことを示すことができる。
いくつかの例では、プロキシサーバ118が要求を保持し、取引に関連するインディケーションが電子マネー支払いの失敗を示す場合、プロキシサーバ118は、要求およびインディケーションの送信を控えることができる。そのような例では、プロセス600は、ブロック604で終了することができる。しかしながら、プロキシサーバ118が電子マネー支払いの失敗にもかかわらず、要求およびインディケーションの両方を送信する場合、プロセス600は、図6で上述したように進行することができる。
いくつかの例では、上述の1つまたは複数の通信は、1つまたは複数の理由で失敗する可能性がある。例えば、商人デバイス102とプロキシサーバ118、サードパーティサーバ114、および/またはサーバ116との間の(例えば、1つまたは複数のネットワークに関連する)接続性(コネクティビティ)の問題は、プロキシサーバ118および/またはサードパーティサーバ114によって書込み確認通信(例えば、上記の図2の書込み確認218)が受信されないようにし、かつ/または、プロキシサーバ118および/または商人デバイス102によって(例えば上記の図2の支払結果220が)受信されないようにすることができる。少なくとも1つの例では、そのような失敗は、支払手段108に関連付けられた電子マネー残高がサードパーティサーバ114において支払手段108に関連付けられた電子マネー残高と一致することを保証するのを助けることができるエラー処理プロセスをトリガすることができる。すなわち、支払手段108に関連する残高が差し引かれたときに、電子マネー支払いが成功したと判定することができる。したがって、新しい電子マネー残高を支払手段108に書き込む要求が送信され、かつ、新しい電子マネー残高が支払手段108に書き込まれたことを示す確認が受信されない例では、サードパーティサーバ114および/または商人デバイス102は、新しい電子マネー残高が支払手段108に書き込まれたかどうかを知ることができない。少なくとも1つの例では、支払手段108に関連付けられた電子マネー残高が真実を語る資料とすることができる。したがって、書込み確認通信は、サードパーティサーバ114が新しい電子マネー残高が支払手段108に書込まれたかどうかを知ることを保証するために重要であり得る。
以下の図7および図8は、エラー処理プロセスに関連する詳細を説明する。例示的なプロセス700および800は、承認応答(例えば、承認要求に対する応答)がリーダデバイス106に送信された後に発生する失敗および/またはエラーに対するエラー処理プロセスの態様を説明する。上述のように、承認応答は、新しい電子マネー残高を支払手段108に書き込む命令(例えば、書き込み命令)を含むことができる。したがって、リーダデバイス106は、そのような通知の受信に応答して、支払手段108への書込みを開始することができる。承認応答がサードパーティサーバ114から送信される前に失敗および/またはエラーが発生した場合、サードパーティサーバ114は支払いをキャンセルすることができる。
図7は、本明細書で説明されるようなエラー処理に関連する例示的なプロセス700を示す。
ブロック702は、サードパーティサーバ(単数または複数)から、リーダデバイスに電子マネー残高を支払手段に書き込ませるための書込み命令を送信することを示す。上述したように、サードパーティサーバ114は、商人デバイス102から受信した承認要求に対する応答を送信することができる。少なくとも1つの例では、承認応答は、リーダデバイス106が新しい電子マネー残高を支払手段108に書き込む、そうでなければ支払手段108に関連付けるための命令に関連付けることができる。少なくとも1つの例では、新しい電子マネー残高は、以前の電子マネー残高と、支払手段108が支払いのために入札された金額とに少なくとも部分的に基づくことができる。少なくとも1つの例では、承認応答の受信に応答して、リーダデバイス106は、新しい電子マネー残高を支払手段108に書き込むことができる。すなわち、リーダデバイス106は、新しい電子マネー残高を支払手段108に関連付けることができる。
ブロック704は、書き込み確認が受信されたかどうかを判定することを示す。少なくとも1つの例では、新しい電子マネー残高を支払手段108に書き込むことに応答して、リーダデバイス106は、書込み確認を(例えば、プロキシサーバ118を介して)サードパーティサーバ114に送信するか、または送信しようと試みることができる。いくつかの例では、書込み確認はサードパーティサーバ114によって受信することができ、そのような例では、プロセス700は、図2〜図6を参照して上述し、かつブロック706に示す「成功」フローに進むことができる。しかしながら、他の例では、書込み確認は、サードパーティサーバ114によって受信されなくてもよい。そのような例では、例えば、ネットワーク接続性(コネクティビティ)の問題、プロキシサーバ118および/またはサードパーティサーバ114に関連する問題などのために、商人デバイス102は、プロキシサーバ118と通信することができない場合があり、および/または、プロキシサーバ118は、サードパーティサーバ114と通信することができない場合がある。いくつかの例では、書込み確認は、リーダデバイス106と支払手段108との間の対話に関連するエラーのために、またはリーダデバイス106に関連するエラーのために、失敗する可能性がある。いくつかの例では、書込み確認は、追加の理由または代替の理由で失敗する可能性がある。
ブロック708は、問題が識別可能であるかどうかを判定することを示す。いくつかの例では、サードパーティサーバ114は、書き込み確認を受信することを妨げている問題を検出することができる。例えば、いくつかの例では、書込み確認は、タッチエラー(例えば、電子マネー残高および/または支払データが支払手段から読み取られないような、支払手段108とリーダデバイス106との間の不適切および/または失敗した対話から生じるエラー、読み取りエラーなど)に起因して、送信されない(したがって、受信されない)ことがある。このような例では、ブロック710に示すように、サードパーティサーバ114は、リタッチフローを開始するように商人デバイス102に命令を送信することができる。すなわち、サードパーティサーバ114は、支払手段108とリーダデバイス106との間の別の対話を引き起こすように顧客に促すために、商人デバイス102に命令を送ることができる。いくつかの例では、ブロック712に示されるように、サードパーティサーバ114が残高チェックフローを開始する前に、ブロック704から710に関連する動作は、1回以上繰り返すことができ、その回数は設定可能である。
問題が識別可能でない場合、サードパーティサーバ114は、ブロック714に示すように、結果確認フローを開始するように商人デバイス102に命令を送ることができる。たとえば、サードパーティサーバ114が書き込み確認(またはエラー通知)を受信していない場合、サードパーティサーバ114は問題を特定できない可能性がある。いくつかの例では、このような問題は、ネットワーク接続性(例えば、インターネット停止)に関連する可能性がある。少なくとも1つの例では、サードパーティサーバ114は、支払いが成功したか否かについてのインディケーションを送信するようにPOSアプリケーション104に促す命令を商人デバイス102に送信することができる。
ブロック716は、成功した応答が受信されたかどうかを判定することを示す。少なくとも1つの例では、POSアプリケーション104は、支払いが成功したか失敗したかのインディケーション、またはPOSアプリケーション104が支払いが成功したか失敗したか(たとえば、未知)を知らないというインディケーションを含むことができる応答を送信することができる。そのような例では、支払いが成功したことを応答が示す場合、サードパーティサーバ114は、成功した応答が受信されたことを判定することができ、処理700はブロック706に示すように、「成功」フローに進むことができる。
いくつかの例では、商人デバイス102は、サードパーティサーバ114が正しく記録された支払いを有するかどうかを判定するために、サードパーティサーバ114に要求を送信することができる。このような例では、POSアプリケーション104は、結果確認をサードパーティサーバ114に送信し、支払いが正しく記録されたことを示す応答を待つことができる。サードパーティサーバ114は、以前の電子マネー残高及び支払手段108に関連する現在の電子マネー残高のインディケーションを含むことができる支払いリーダ106への応答を送信することができる。少なくとも1つの例では、支払いリーダ106は、支払いが成功したか(またはしなかったか)どうかのインディケーションを出力することができ、そのインディケーションをPOSアプリケーション104に転送することができる。少なくとも1つの例では、支払いが成功したというインディケーションを受信することに少なくとも部分的に基づいて、プロセス700は、ブロック706に示すように、成功フローに続くことができる。支払いが成功しなかったことをインディケーションが示す場合、プロセス700はブロック718に進むことができる。
応答が失敗したことを応答が示す場合、ブロック718に示すように、サードパーティサーバ114は、問題が識別可能であるかどうかを判定することができる。書き込みが失敗したことをインディケーションが示す場合、ブロック710に示すように、サードパーティサーバ114は、問題が識別可能であると判定することができ、リタッチフローを開始することができる。応答が受信されないか、または応答が未知のインディケーションに関連付けられている場合、サードパーティサーバ114は、ブロック718において、問題が識別不可能であると判定することができ、ブロック712に示すように、残高チェックフローを開始することができる。
ブロック712は、残高チェックフローを開始することを示す。少なくとも1つの例では、(1つまたは複数の)サードパーティサーバ114は、(1つまたは複数の)プロキシサーバ118を介して)商人デバイス102に命令を送信して、(1つまたは複数の)商人デバイス102に、支払手段108とリーダデバイス106との間の別の対話を引き起こすように顧客に促すように命令することができる。いくつかの例では、命令は、サードパーティサーバ114に知られているように、支払手段108の新しい電子マネー残高に関連付けることができる。さらに、命令は、支払手段108が入札されている取引の額、および支払いがエラー処理プロセスに関連付けられているというインディケーションに関連付けることができる。少なくとも1つの例では、POSアプリケーション104は、命令を受信することができ、商人デバイス102を介してUIを提示させて、そのような対話を促すことができる。少なくとも1つの例では、追加の対話を引き起こすように顧客に促すことに少なくとも部分的に基づいて、リーダデバイス106は、支払手段108に関連する支払データを読み取ることができる。残高チェックフローに関連するさらなる詳細は、図8を参照して以下に記載される。
いくつかの例では、サードパーティサーバ114が残高チェックフローを開始すると、任意の以前の承認要求(例えば、第1の要求)をキャンセルすることができ、現在の電子マネー残高が、支払手段108が支払いとして入札された額を差し引いた以前の電子マネー残高に等しいことを残高チェックフローが示す場合、新しい承認要求をPOSアプリケーション104によって生成し、サードパーティサーバ114に送信して取引の支払いを再処理することができる。新しい承認要求は、支払いがエラーの結果として提出された再処理された支払いであるというインディケーションに関連付けることができる。さらに、このような例では、サーバ116は、エラー処理プロセスに関連付けられた元の支払いおよび後の支払いに関連付けることができる複数の要求を受信することができる。少なくとも1つの例では、元の要求(例えば、元の支払いに関連して送信された要求)は失敗のインディケーションに関連付けることができる。
図8は上述したように、残高チェックフローに関連する例示的なプロセス800を示す。
ブロック802は、商人デバイスにおいて、および第1の時間に、新しい電子マネー(eマネー)残高を支払手段に関連付けるための命令を受信することを示す。上述したように、サードパーティサーバ114は、商人デバイス102から受信した承認要求に対する応答を送信することができる。少なくとも1つの例では、承認応答は、リーダデバイス106が新しい電子マネー残高を支払手段108に書き込むか、またはそうでなければ支払手段108に関連付けるための命令に関連付けることができる。少なくとも1つの例では、新しい電子マネー残高は、以前の電子マネー残高と、支払手段108が支払いのために入札された金額とに少なくとも部分的に基づくことができる。少なくとも1つの例では、承認応答の受信に応答して、リーダデバイス106は、新しい電子マネー残高を支払手段108に書き込むことができる。すなわち、リーダデバイス106は、新しい電子マネー残高を支払手段108に関連付けることができる。
ブロック804は、商人デバイス(単数または複数)において、第2の時間に、支払手段と商人デバイス(単数または複数)102に関連付けられたリーダデバイスとの間の対話を引き起こすための命令を受信することを示す。少なくとも1つの例では、(1つまたは複数の)サードパーティサーバ114は、((1つまたは複数の)プロキシサーバ118を介して)商人デバイス102に命令を送信して、(1つまたは複数の)商人デバイス102に、支払手段108とリーダデバイス106との間の別の対話を引き起こすように顧客に促すように命令することができる。いくつかの例では、命令は、サードパーティサーバ114に知られているように、支払手段108の新しい電子マネー残高に関連付けることができる。さらに、命令は、支払手段108が入札されている取引の金額、および支払いがエラー処理プロセスに関連付けられているというインディケーションに関連付けることができる。少なくとも1つの例では、ブロック806に示すように、POSアプリケーション104は、命令を受信することができ、商人デバイス102を介してUIを提示させて、そのような対話を促すことができる。少なくとも1つの例では、追加の対話を引き起こすように顧客に促すことに少なくとも部分的に基づいて、リーダデバイス106は、支払手段108に関連する支払データを読み取ることができる。
ブロック808は、支払手段の現在の電子マネー残高がリーダデバイスから受信されるかどうかを判定することを示す。少なくとも1つの例では、POSアプリケーション104は、支払手段108の現在の電子マネー残高に関連付けることができる支払データがリーダデバイス106から受信されるかどうかを判定することができる。
ブロック810は、現在の残高が支払手段の以前の残高から支払いのために支払手段が入札された取引の金額を差し引いたものと一致するかどうかを判定することを示す。少なくとも1つの例では、POSアプリケーション104は、追加の対話を介して受信された電子マネー残高(例えば、現在の電子マネー残高)が支払手段108が入札された取引の金額(例えば、新しい電子マネー残高)を差し引いた以前の電子マネー残高と一致するかどうかを判定することができる。いくつかの例では、新しい電子マネー残高は、(例えば、支払手段108とリーダデバイス106との間の追加の対話を引き起こすための命令に関連して)サードパーティサーバ114によって提供され得る。いくつかの例では、以前の電子マネー残高および支払手段108が入札された支払いの金額がサードパーティサーバ114によって提供され得る。他の例では、新しい電子マネー残高は、サードパーティサーバ114によって提供されなくてもよい。このような例では、POSアプリケーション104は、取引に関連する取引データにアクセスして、以前の電子マネー残高と、支払手段108が入札された取引の額とを判定することができる。いくつかの例では、POSアプリケーション104は、取引詳細を維持し、少なくともいくつかの取引詳細を商人デバイス102上のUIを介して提示することができる。例えば、POSアプリケーション104は、取引に対する支払いが処理されている間に、UIを介して、以前の電子マネー残高および取引の金額を提示することができる。
少なくとも1つの例では、ブロック812に示すように、現在の電子マネー残高が新しい電子マネー残高と一致する場合、POSアプリケーション104は、新しい電子マネー残高が支払手段108に書き込まれたと判定し、書込み確認をサードパーティサーバ114に送信することができる。いくつかの例では、書き込み確認を送信する代わりに、POSアプリケーション104は、処理のために別の取引を開始することができる。そのような例では、新しい取引は、前の失敗および/またはエラーから生じるエラー処理プロセスから取引が生成されているというインディケーションに関連付けることができる。さらに、少なくとも1つの例では、ブロック814に示すように、POSアプリケーション104は、商人デバイス102を介してUIを提示させることができる。いくつかの例では、UIは、取引が成功したことを確認することができ、支払手段108に関連する新しい電子マネー残高を含むことができる。
現在の残高が支払手段108の以前の残高から支払いのために支払手段108が入札された取引の額を差し引いたものと一致しない場合、POSアプリケーション104は、ブロック816に示すように、支払いが失敗したことを示すUIを商人デバイス102を介して提示させることを送信することができ、ブロック818に示すように、商人に取引のための支払いを再処理するように促すことができる。少なくとも1つの例では、ブロック820に示すように、POSアプリケーション104は、サードパーティサーバ114および/またはサーバ116にそのようなインディケーションを送信することができる。サードパーティサーバ114および/またはサーバ116へのそのようなインディケーションの受信に応答して、以前の取引をキャンセルすることができる。取引に対する支払いを開始するための後続の要求が受信されると、取引および関連する通信は、以前の失敗および/またはエラーのために取引が再処理されているというインディケーションに関連付けることができる。
少なくとも1つの例では、ブロック808において現在の電子マネー残高が受信されない場合、ブロック822に示すように、POSアプリケーション104は、商人に是正アクションを実行するように促すことができ、プロセスはブロック806に戻ることができる。少なくとも1つの例では、是正アクションは、ネットワークに再接続することを試みること、および/またはリーダデバイス106および商人デバイス102を再接続することを含むことができる。いくつかの例では、是正アクションは、リーダデバイス106の電源を切ることであり得る。追加的または代替的な是正アクションが、本開示の範囲内である。
いくつかの例では、商人は、取引に対する支払いを1回以上再試行することができ、その回数は設定可能であり得る。商人が1回以上失敗して支払いを再試行した後、POSアプリケーション104は、商人が取引をキャンセルすることを可能にするUIを提示させることができる。
図9は、例示的な環境900を示す。環境900は、ネットワーク904を介してユーザデバイス906(いくつかの例では商人デバイス908(個別に、908(A)〜908(N)))および/またはサードパーティサービスプロバイダに関連付けられたサーバコンピューティングデバイス910と通信することができるサーバコンピューティングデバイス902を含む。サーバコンピューティングデバイス902は、以下に説明するように、ユーザ914の利益のために1つ以上のサービスを提供することができるサービスプロバイダ912と関連付けることができる。サービスプロバイダ912によるアクションは、サーバコンピューティングデバイス902によって実行することができる。
少なくとも1つの例では、図1を参照して上述した商人デバイス102は、ユーザデバイス906のうちの少なくともいくつかに対応することができ、サーバコンピューティングデバイス902は、図1を参照して上述したサーバ116に対応することができ、サードパーティサービスプロバイダに関連するサーバコンピューティングデバイス910のうちの少なくともいくつかは、図1を参照して上述したサードパーティサーバ114に対応することができる。少なくとも1つの例では、例示的な環境900は、図1を参照して上述したプロキシサーバ118に対応することができる1つまたは複数のプロキシサーバコンピューティングデバイス915を含むことができる。図1を参照して先に説明したように、プロキシサーバコンピューティングデバイス915は、ユーザデバイス906、サーバコンピューティングデバイス902、および/またはサードパーティサービスプロバイダに関連付けられたサーバコンピューティングデバイス910の間の通信を容易にすることができる。いくつかの例では、プロキシサーバコンピューティングデバイス915、サードパーティサービスプロバイダに関連付けられたサーバコンピューティングデバイス910、および1つ以上のユーザデバイス906は、第1の地理位置に配置することができ、サーバコンピューティングデバイス902は、異なる第2の地理位置に配置することができる。
環境900は、上述のように、複数のユーザデバイス906を含むことができる。複数のユーザデバイス906のそれぞれは、タブレットコンピューティングデバイス、スマートフォンまたはモバイル通信デバイス、ラップトップ、ネットブックまたは他のポータブルコンピュータまたはセミポータブルコンピュータ、デスクトップコンピューティングデバイス、端末コンピューティングデバイスまたは他のセミステーショナリまたはステーショナリコンピューティングデバイス、専用デバイス、ウェアラブルコンピューティングデバイスまたは他のボディマウントコンピューティングデバイス、拡張現実デバイス、バーチャルリアリティデバイス、IoT(Internet of Things)デバイスなどの任意のタイプのコンピューティングデバイスとすることができる。いくつかの例では、ユーザデバイスの個々のものはユーザ914によって操作可能である。ユーザ914は、顧客、買い手、商人、売り手、借り手、従業員、雇用主、支払人、受取人、宅配業者などと呼ぶことができる。ユーザ914は、ユーザデバイス906を介して提示されるUIを介してユーザデバイス906と対話することができる。少なくとも1つの例では、UIはウェブブラウザ等を介して提示することができる。他の例では、サービスプロバイダ912によって提供されることができる、または他の場合は専用アプリケーションとすることができる、モバイルアプリケーションまたはデスクトップアプリケーションなどのアプリケーションを介して、UIを提示することができる。いくつかの例では、ユーザデバイス906の個々は、アプリケーションのインスタンスまたはバージョン化されたインスタンスを有することができ、このインスタンスまたはバージョン化されたインスタンスはたとえば、本明細書で説明するUIを提示することができるアプリケーションストアからダウンロードすることができる。少なくとも1つの例では、ユーザ914は、タッチ入力、音声入力、または任意の他のタイプの入力を介してUIと対話することができる。
上述のように、少なくとも1つの例では、ユーザ914は、商人916(個別に、916(A)〜916(N))を含むことができる。一例では、商人916は、それぞれの商人デバイス908を操作することができ、これは商人916が使用するように設定されたユーザデバイス906とすることができる。この議論のために、「商人」は、購入または他の獲得の手段(例えば、レンタル、借り入れ、バーターなど)に対するアイテム(例えば、商品またはサービス)を提供する任意のエンティティであり得る。商人916は、実店舗、移動店舗(例えば、ポップアップショップ、フードトラックなど)、オンラインストア、上記の組合せを介して、購入または他の獲得の手段に対するアイテムを提供することができる。いくつかの例では、商人916のうちの少なくともいくつかは同じエンティティに関連付けることができるが、異なる商人の位置を有することができ、および/またはフランチャイズ/フランチャイジー関係を有することができる。追加または代替の例では、商人916は、異なる商人とすることができる。すなわち、少なくとも1つの例では、商人916(A)は、商人916(B)および/または商人916(C)とは異なる商人である。いくつかの例では、商人916は、異なる州、国等に位置することができる。
この議論の目的のために、「異なる商人」はしたがって、2以上の無関係な商人を指すことができる。「異なる商人」は、会計、従業員、ブランディングなどを共有しない異なる法的エンティティ(例えば、自然人および/または法人)である2以上の商人を指すことができる。「異なる商人」は、本明細書で使用されるように、異なる名前、雇用主識別番号(EIN)、(いくつかの例では)業務ライン、在庫(またはその少なくとも一部)、および/または同様のものを有する。したがって、「異なる商人」という用語の使用は、様々な商人位置またはフランチャイズ/フランチャイジー関係を有する商人を指さない。このような商人は、様々な商人位置またはフランチャイズ/フランチャイジー関係を有し、異なる商人位置および/または異なる商取引チャネルを有する商人と呼ぶことができる。
各商人デバイス908は、POSアプリケーション918のインスタンスを格納することができる。POSアプリケーション918は、図1を参照して上述したPOSアプリケーション104に対応することができる。POSアプリケーション918は、商人デバイス908をPOS端末として構成することができ、これにより、商人916(A)は、1つ以上の顧客920と対話することができる。上述のように、ユーザ914は、商人916(A)と対話するものとして示される顧客920などの顧客を含むことができる。この議論の目的のために、「顧客」は、商人からアイテムを取得する任意のエンティティとすることができる。図9には2つの顧客920しか示されていないが、任意の数の顧客920が商人916と対話することができる。さらに、図9は商人916(A)と対話する顧客920を示しているが、顧客920は商人916のいずれかと対話することができる。
少なくとも1つの例では、(商人916からの)アイテムに対する(顧客920からの)資金の交換を伴う、顧客920と商人916との間の対話を、「POS取引」および/または「取引」と呼ぶことができる。少なくとも1つの例では、POSアプリケーション918は、POS取引に関連付けられた取引データを判定することができる。取引データは、商人デバイス908(A)に関連付けられたリーダデバイス922から取得することができる支払情報、ユーザ認証データ、購入金額情報、購入時点情報(例えば、購入されたアイテム、購入日、購入時刻など)などを含むことができる。POSアプリケーション918は、取引データをサーバコンピューティングデバイス902に送信することができる。上述の少なくとも1つの例では、このような取引データは、プロキシサーバコンピューティングデバイス915を介してサーバコンピューティングデバイス902に送ることができる。少なくとも1つの例では、POSアプリケーション918は、商人916(A)がPOSアプリケーション918および/またはサービスプロバイダ912とPOSアプリケーション918を介して対話することを可能にするUIを提示することができる。
少なくとも1つの例において、商人デバイス908(A)は、(POSアプリケーション918の実行を介して)POS端末として構成された特殊目的のコンピューティングデバイスとすることができる。少なくとも1つの例では、POS端末は、以下で説明するように、クレジットカード、デビットカード、ギフトカード、短距離通信ベースの支払手段などの様々な支払手段を受け入れることができるリーダデバイス922に接続され得る。リーダデバイス922は、図1を参照して上述したリーダデバイス106に対応することができる。少なくとも1つの例では、リーダデバイス922は、マイクロフォンポート、ヘッドフォンポート、オーディオジャック、データポート、または他の適切なポートなど、商人デバイス908(A)内のポートにプラグインすることができる。追加または代替の例では、リーダデバイス922は、Bluetooth(登録商標)、BLEなどを介するなど、別の有線または無線接続を介して商人デバイス908(A)に接続することができる。さらなる詳細は、図10を参照して以下に記載される。いくつかの例では、リーダデバイス922は、リストバンドなどを含むが、これらに限定されない代替の支払手段から情報を読み取ることができる。
いくつかの例では、リーダデバイス922は、磁気ストライプ支払カード、EMV支払カード、および/または短距離通信(たとえば、近距離通信(NFC)、無線周波数識別(RFID)、Bluetooth(登録商標)、Bluetooth(登録商標)低エネルギー(BLE)など)支払手段(たとえば、タッピングのために構成されたカードまたはデバイス)などの支払手段と物理的に対話することができる。POS端末は、リッチUIを提供し、リーダデバイス922と通信し、他のサービスの中でも、支払処理サービスを提供することができるサーバコンピューティングデバイス902と通信することができる。サービスプロバイダ912に関連するサーバコンピューティングデバイス902は、以下に説明するように、サーバコンピューティングデバイス910と通信することができる。いくつかの例では、このような通信は、プロキシサーバコンピューティングデバイス915によって容易にすることができる。少なくとも1つの例では、POS端末およびリーダデバイス922は、商人916と顧客920との間の取引を集合的に処理することができる。いくつかの例では、POS端末およびリーダデバイスは、1対1のペアリングで構成することができる。他の例では、POS端末およびリーダデバイスは、多対1のペアリング(例えば、複数のリーダデバイスに結合された1つのPOS端末、または1つのリーダデバイスに結合された複数のPOS端末)で構成することができる。いくつかの例では、例えば、短距離通信技術を介して、二次端末からの情報を一次POS端末と二次端末との間で共有することを可能にするために、「二次」端末、例えば、バックオブハウスシステム、プリンタ、ラインバスタ(line-buster)デバイス、POSリーダなど、いくつかの他のデバイスに接続された複数のPOS端末が存在することができる。この種の構成は、1つのデバイス(例えば、二次端末)がユーザ入力を受け続け、一次端末または二次端末がオンラインモードに切り替わるときに別のデバイス(例えば、一次端末)とデータを同期させることを可能にするために、オフライン−オンラインシナリオでも機能することができる。他の例では、そのようなデータ同期が、周期的に、またはランダムに選択された時間間隔で起こり得る。
POSシステム924のPOS端末およびリーダデバイス922は、別個のデバイスとして示されているが、追加の例または代替の例では、POS端末およびリーダデバイス922は、単一のデバイスの一部とすることができる。いくつかの例では、リーダデバイス922は、顧客920に情報を提示するために、その中に一体化された表示部を有することができる。追加または代替の例では、POS端末は、顧客920に情報を提示するために、その中に組み込まれた表示部を有することができる。POSシステム924などのPOSシステムは、POS端末およびリーダデバイスが世界中の異なる場所での取引を処理することができるように、モバイルとすることができる。POSシステムは、図1を参照して上述したように、カード提示取引およびカード非提示(CNP)取引を処理するために使用することができる。
POSシステム924、サーバコンピューティングデバイス902、および/またはサーバコンピューティングデバイス910は、支払情報および取引データを交換して、取引が承認されるかどうかを判定することができる。例えば、POSシステム924は、暗号化された支払データ、ユーザ認証データ、購入金額情報、購入ポイント情報など(まとめて、取引データ)を、ネットワーク904を介してサーバコンピューティングデバイス902に提供することができる。サーバコンピューティングデバイス902は、取引データをサーバコンピューティングデバイス910に送信することができる。上述のように、少なくとも1つの例では、サーバコンピューティングデバイス910は、アクワイアラ銀行、発行者、および/またはカード支払ネットワーク(例えば、Mastercard(登録商標)、VISA(登録商標)など)を含むがこれらに限定されない支払サービスを提供するサードパーティサービスプロバイダに関連付けることができる。追加または代替の例では、サーバコンピューティングデバイス910は、上述のように、電子マネー支払いを処理するための支払サービスを提供するサードパーティサービスプロバイダ(例えば、サードパーティ支払プロセッサ)に関連付けることができる。
この議論の目的のために、「支払サービスプロバイダ」は、銀行(「アクワイアラ(取得者)」)、発行銀行(「イシュア(発行者)」)、カード支払ネットワークなどを取得することができる。一例では、アクワイアラは、支払い(例えば、クレジットまたはデビットカード支払い)を処理する銀行または金融機関であり、商人に代わってリスクを引き受けることができる。アクワイアラは、カードアソシエーション(例えば、Visa(登録商標)、MasterCard(登録商標))の登録された会員であってもよく、カード支払ネットワークの一部であってもよい。アクワイアラ(例えば、それに関連付けられたサーバコンピューティングデバイス910)は、カード支払ネットワーク(例えば、Mastercard(登録商標)、VISA(登録商標)など)のサーバコンピューティングデバイスに資金転送要求を送信して、取引が承認されているか、または不十分(不完全)であるかを判定することができる。少なくとも1つの例では、サービスプロバイダ912は、アクワイアラとしての役割を果たし、カード支払ネットワークに直接接続することができる。
カード支払ネットワーク(例えば、それに関連付けられたサーバコンピューティングデバイス910)は、発行銀行(例えば、「イシュア(発行者)」)に資金振替(転送)要求を転送することができる。イシュアは、ユーザに金融口座(例えば、クレジットまたはデビットカード口座)を提供する銀行または金融機関である。イシュアは、支払カードをユーザに発行することができ、発行銀行が支払カードを発行したカード所有者によって行われた購入に対して、アクワイアラに支払いを行うことができる。イシュア(例えば、イシュアに関連付けられたサーバコンピューティングデバイス910)は、顧客が支払取引に関連付けられた関連する料金を吸収する能力を有するかどうかに関する判定を行うことができる。少なくとも1つの例では、サービスプロバイダ912は、イシュアとしての役割を果たすことができ、かつ/またはイシュアと提携することができる。取引は、イシュアおよび/またはカード支払ネットワーク(例えば、それに関連付けられたサーバコンピューティングデバイス910)によって承認または拒否され、支払承認メッセージが、上述のパスとは反対のパスを介して、または代替パスを介して、イシュアからPOSデバイスに通信される。
上述のように、支払サービスプロバイダに関連付けることができるサーバコンピューティングデバイス910は、取引データ、ならびに取引の当事者(例えば、顧客920および/または商人916(A))に関する情報に基づいて、取引が承認されるかどうかを判定することができる。サーバコンピューティングデバイス910は、ネットワーク904上で承認通知をサーバコンピューティングデバイス902に送信することができ、これは、取引が承認されるかどうかを示すために、ネットワーク904上でPOSシステム924に承認通知を送信することができる。サーバコンピューティングデバイス902は、取引識別子などの追加情報をPOSシステム924に送信することもできる。一例では、サーバコンピューティングデバイス902は、取引を承認または拒否するためにPOSシステム924および/またはサーバコンピューティングデバイス910と通信するための商人アプリケーションおよび/または他の機能構成要素を含むことができる。
POSシステム924によってサーバコンピューティングデバイス902から受信される承認通知に基づいて、商人916は、取引が承認されたかどうかを顧客920に示すことができる。いくつかの例では、承認は、POSシステム924において、例えば、POSシステム924のディスプレイにおいて示されてもよい。短距離通信支払手段として動作するスマートフォンまたは時計などの他の例では、承認された取引に関する情報は、スマートフォンまたは時計のディスプレイを介して提示するために短距離通信支払手段に提供され得る。一部の例では、領収書、特別オファー、クーポン、またはロイヤルティプログラム情報を含むがこれらに限定されない、承認された取引通知と共に、追加または代替の情報を追加で提示することができる。
上述のように、サービスプロバイダ912は、サービスの中で、支払処理サービス、在庫管理サービス、カタログ管理サービス、ビジネスバンキングサービス、金融サービス、貸付サービス、予約管理サービス、ウェブ開発サービス、給与支払いサービス、従業員管理サービス、アポイントメントサービス、ロイヤリティ追跡サービス、レストラン管理サービス、注文管理サービス、フルフィルメントサービス、ピアツーピア支払サービス、オンボードサービス、アイデンティティ検証(IDV)サービスなどを提供することができる。いくつかの例では、ユーザ914は、サービスプロバイダ912のすべてのサービスにアクセスすることができる。他の例では、ユーザ914は、リスク許容度、IDV出力、サブスクリプションなどに基づくことができる、サービスへの段階的なアクセスを有することができる。少なくとも1つの例では、このようなサービスへのアクセスがPOSアプリケーション918を介して商人916に利用可能である。追加または代替の例では、各サービスはそれ自身のアクセスポイント(例えば、アプリケーション、ウェブブラウザなど)に関連付けることができる。
サービスプロバイダ912は、上述したように、商人916に代わって支払いを処理するための支払処理サービスを提供することができる。例えば、サービスプロバイダ912は、上述したように、顧客920とのPOS取引を行うときに商人916が顧客920から支払いを受け取ることを可能にするために、支払処理ソフトウェア、支払処理ハードウェア、および/または支払処理サービスを商人916に提供することができる。例えば、サービスプロバイダ912は、商人916がPOS取引のために顧客920から現金支払い、支払カード支払い、および/または電子支払いを受け取ることを可能にすることができ、サービスプロバイダ912は、商人916の代わりに取引を処理することができる。
サービスプロバイダ912が商人916の代わりに取引を処理するとき、サービスプロバイダ912は、1つまたは複数の台帳に商人916の口座または残高を維持することができる。例えば、サービスプロバイダ912は、取引のために受信された取引データを分析して、取引のために商人916(A)に支払われるべき資金の額を判定することができる。少なくとも1つの例では、そのような金額は、支払処理サービスを提供するためにサービスプロバイダ912によって課金される料金を差し引いた総購入価格とすることができる。商人916(A)に支払われるべき資金の額を判定することに基づいて、サービスプロバイダ912は、商人916(A)の口座に資金を預けることができる。口座は、サービスプロバイダ912によって管理することができる、記憶された残高を有することができる。少なくとも、記憶された残高がサービスプロバイダ912の台帳によって管理され、関連する資金が予定預金、同日預金、即時預金、およびリンクされた支払手段を含むがこれらに限定されない各種出金チャネルを介してアクセス可能であるため、口座は、従来の銀行口座とは異なり得る。
予定預金は、サービスプロバイダ912が商人916(A)の記憶された残高に関連付けられた資金を、(例えば、サーバコンピューティングデバイス910に関連付けられた)銀行または他の金融機関に保持されている商人916(A)の銀行口座に振り込むときに発生することができる。予定預金は、POS取引が資金供給された後の予め決められた時間に発生することができ、これは、POS取引が発生した後の営業日であってもよいし、より早く又はより遅くてもよい。いくつかの例では、商人916(A)は、予定預金の前に資金にアクセスすることができる。例えば、商人916(A)は、同日預金(例えば、サービスプロバイダ912は、POS取引と同じ日に、いくつかの例ではPOS取引が資金供給される前に、格納された残高から商人のリンクされた銀行口座に資金を預ける)または即時預金(例えば、サービスプロバイダ912は、要求に応答してなど、要求に応じて、格納された残高から商人のリンクされた銀行口座に資金を預ける)にアクセスすることができる。さらに、少なくとも1つの例では、商人916(A)は、サービスプロバイダ912によって管理される口座から商人916(A)の銀行口座に最初に資金を転送することなく、商人が資金にアクセスすることを可能にする、格納された残高にリンクされた支払手段を有することができる。
少なくとも1つの例では、サービスプロバイダ912は、在庫管理サービスを提供することができる。すなわち、サービスプロバイダ912は、在庫追跡および報告を提供することができる。在庫管理サービスは、商人916(A)が利用可能な各アイテムの数量(すなわち、在庫)に関連するデータを記憶するデータベースに商人916(A)がアクセスし、管理することを可能にし得る。さらに、少なくとも1つの例では、サービスプロバイダ912は、商人916(A)がカタログを維持することを可能にするカタログ管理サービスを提供することができ、カタログは、商人916(A)が取得のために利用可能なアイテムに関連付けられたデータを格納するデータベースとすることができる(すなわち、カタログ管理サービス)。少なくとも1つの例では、カタログは、複数のデータアイテムを含むことができ、複数のデータアイテムのデータアイテムは、商人961(A)が取得のために利用可能なアイテムを表すことができる。サービスプロバイダ912は、アイテムの価格設定、カタログ上のアイテムの配置、および在庫のマルチパーティフルフィルメントに関する推奨を提供することができる。
少なくとも1つの例では、サービスプロバイダ912は、(支払処理および/または他の資金源から)商人916(A)の口座への預金、口座からの給与支払い(例えば、商人916(A)の従業員への支払い)、口座から直接またはリンクされたデビットカードからの他の商人への支払い(例えば、企業間)、予定預金および/または即時預金を介して行われる出金などを、商人916(A)が追跡することを可能にするビジネスバンキングサービスを提供することができる。さらに、ビジネスバンキングサービスは、商人916(A)が、カスタマイズされた支払手段(例えば、クレジットカード)を取得し、(例えば、利用可能な収益残高の提示を介して)どれだけの金銭を稼いでいるかをチェックし、(例えば、(料金の内訳を含むことができる)預金レポートを介して)彼らの金銭がどこに向かっているかを理解し、(例えば、予定預金、即時預金、リンクされた支払手段等を介して)稼いでいる金銭にアクセス/使用し、(例えば、預金スケジュール、預金スピード、リンクされた手段等の管理を介して)彼らの金銭を制御していると思うことを可能にすることができる。さらに、ビジネスバンキングサービスは、商人916が彼らのキャッシュフローを視覚化して、彼らの金融の健全性を追跡し、来るべき義務(例えば、貯蓄)のためにお金を取っておき、ゴールの周りにお金を編成することなどを可能にすることができる。
少なくとも1つの例では、サービスプロバイダ912は、ビジネスローン、消費者ローン、固定期限ローン、フレキシブル期限ローンなどを介して、金融サービスおよび製品を提供することができる。少なくとも1つの例では、サービスプロバイダ912は、1つまたは複数のリスク信号を利用して、ファイナンスオファーおよび/またはそのようなファイナンスオファーに関連する条件を延長するかどうかを決定することができる。
少なくとも1つの例では、サービスプロバイダ912は、いくつかの例では、借り手の短期オペレーショナルニーズ(例えば、キャピタルローン)に融資するために使用される、借り手にローンを提供および/または貸し出すための金融サービスを提供することができる。例えば、商人である潜在的な借り手は、様々な運営コスト(例えば、賃料、給与、在庫など)に資金を供給するために、資本ローン製品を介して資本ローンを得ることができる。少なくとも1つの例では、サービスプロバイダ912は、異なるタイプのキャピタルローン製品を提供することができる。例えば、少なくとも1つの例では、サービスプロバイダ912は、毎日の返済ローン製品を提供することができ、この場合、資本ローンは、例えば、借り手に代わって支払処理サービスによって処理される取引の一部から毎日返済される。追加的に、および/または代替的に、サービスプロバイダ912は、月次返済ローン製品を提供することができ、この場合、資本ローンは、例えば、支払処理サービスにリンクされた銀行口座からの借方記入(デビット)を介して月次返済される。商人の信用リスクは、支払量、同様の立場の商人の信用リスク、過去の取引履歴、季節性、信用履歴などの要因を考慮に入れたリスクモデルを使用して評価することができる。
追加的に、または代替的に、サービスプロバイダ912は、いくつかの例では、借り手の消費者購入に資金を供給するために使用される、借り手にローンを提供および/または貸すための資金供給サービス(例えば、消費者ローン)を提供することができる。少なくとも1つの例では、借り手は、商人916のうちの1つとすることができる商人から借り手がアイテムを購入することを可能にするために、ローンの要求を提出することができる。サービスプロバイダ912は、借り手が商人から商品を購入した、または購入しようとしていると判定することに少なくとも部分的に基づいて、ローンを生成することができる。ローンは、アイテム(商品)の実際の購入価格に基づいて残高に関連付けることができ、借り手は、時間の経過と共にローンを返済することができる。いくつかの例では、借り手は、サービスプロバイダ912によって管理および/または維持される資金を介して(例えば、商人に代わって処理される支払いから商人に支払われるべき支払い、商人に転送される資金などから)支払うことができる割賦を介してローンを返済することができる。サービスプロバイダ912は、特にローン商品に結び付けられた支払手段などの特定の金融商品を提供することができる。例えば、一実施形態では、サーバプロバイダ912は、資本を商人または顧客のデビットカードに関連付け、デビットカードの使用はローンの条件によって定義される。いくつかの例では、商人は、特定の購入を行うためにのみデビットカードを使用することができる。他の例では、ローン製品に関連する「割賦」が支払手段を介して直接貸方記入(credit)される。したがって、支払手段は、ローンおよび/またはローンに関連する当事者に対してカスタマイズされる。
サービスプロバイダ912は、HTML、XML、Javascript、CSS、または他のウェブデザインツールになじみのないユーザ914がプロフェッショナルで魅力的なウェブサイトを作成し、維持することを可能にするウェブ開発サービスを提供することができる。これらのウェブページ編集アプリケーションのいくつかは、ユーザがウェブページを構築し、かつ/またはウェブページを修正することを可能にする(例えば、ウェブページに関連するコンテンツを変更、追加、または削除する)。さらに、ウェブサイトに加えて、ウェブ開発サービスは、例えばソーシャルメディアポストなどの他のオンラインオムニチャネルプレゼンスを作成し、維持することができる。いくつかの例では、結果として得られるウェブページおよび/または他のコンテンツアイテムは、オンライン/電子商取引プラットフォームを介して販売のためにアイテムを提供するために使用することができる。すなわち、得られたウェブページおよび/または他のコンテンツアイテムは、1以上の商人916によって、オンラインストアまたはオファリングに関連付けることができる。少なくとも1つの例では、サービスプロバイダ912は、商人916のオムニチャネルプレゼンスを補足するコンテンツアイテムを推奨および/または生成することができる。すなわち、商人916の商人がウェブページを有する場合、サービスプロバイダ912は、ウェブ開発または他のサービスを介して、ソーシャルメディア、メール送信などの他のチャネルを介して提示される追加のコンテンツアイテムを推奨および/または生成することができる。
さらに、サービスプロバイダ912は、雇用主に代わって行う作業について雇用主が従業員に支払うことを可能にするために、給与支払いサービスを提供することができる。少なくとも1つの例では、サービスプロバイダ912は、(例えば、インポートされたタイムカードおよび/またはPOS対話を介して)従業員によって働かされた時間、従業員によって行われた販売、従業員によって受け取られたチップなどを含むデータを受信することができる。サービスプロバイダ912は、そのようなデータに基づいて、給与支払いサービスを介して雇用主に代わって従業員に給与支払いを行うことができる。例えば、サービスプロバイダ912は、従業員の給与支払いのために使用者の銀行からサービスプロバイダ912の銀行への従業員の給与支払いのために払い出される総額の転送を容易にすることができる。少なくとも1つの例では、資金がサービスプロバイダ912の銀行で受け取られたとき、サービスプロバイダ912は、仕事が実際に従業員によって行われた後、しばしば1日、1週間、またはそれ以上後に、小切手または直接預金などによって従業員に支払うことができる。追加または代替の例では、サービスプロバイダ912は、サービスプロバイダ912によって実行されるリスクおよび/または信頼性分析に少なくとも部分的に基づいて、従業員が同日または即時預金を介して支払いを受け取ることを可能にすることができる。
さらに、少なくとも1つの例では、サービスプロバイダ912は、従業員のスケジュールを管理するための従業員管理サービスを提供することができる。さらに、サービスプロバイダ912は、ユーザ914が、予約をスケジュールするためにスケジュールを設定すること、および/または予約をスケジュールすることを可能にするための予約サービスを提供することができる。
いくつかの例では、サービスプロバイダ912は、ユーザ914が予約を行い、及び/又は管理することを可能にし、フロントオブハウス及び/又はバックオブハウスオペレーション等を監視することを可能にするためのレストラン管理サービスを提供することができる。このような例では、商人デバイス908及び/又はサーバコンピューティングデバイス902は、1つ又は複数の他のコンピューティングデバイスと通信するように構成され得るものであり、それらはフロントオブハウス(例えば、POS装置)及び/又はバックオブハウス(例えば、キッチンディスプレイシステム(KDS))に位置することができる。少なくとも1つの例では、サービスプロバイダ912は、レストランがオープンチケット、スプリットチケットなどを管理すること、および/またはフルフィルメントサービスを管理することを可能にするために、注文管理サービスおよび/またはフルフィルメントサービスを提供することができる。いくつかの例では、そのようなサービスは、上述したように、レストランの商人に関連付けることができる。追加のまたは代替の例では、そのようなサービスは、任意のタイプの商人とすることができる。
少なくとも1つの例では、サービスプロバイダ912は、配達のために宅配業者を使用することができるフルフィルメントサービスを提供することができ、宅配業者は配達サービス、写真撮影サービスなどを提供するために複数の場所の間を移動することができる。宅配業者は、要求しているユーザ914のためのサービスを実行する(例えば、アイテムを配達する、画像をキャプチャするなど)ために場所間を移動することができるユーザ914とすることができる。いくつかの例では、宅配業者は、サービスプロバイダ912から対価を受け取ることができる。宅配業者は、自動車、自転車、スクーター、オートバイ、バス、飛行機、ヘリコプター、ボート、スケートボード等のような1つ以上の車両を使用することができる。しかし、他の例では、宅配業者は、車両なしで、足で、または他の方法で移動することができる。本明細書で説明されるいくつかの例は、人々が一種のクラウドソースサービスエコノミーに宅配業者として参加することを可能にする。ここで、本質的に、モバイルデバイスを有する任意の人は、本明細書に記載されるようなサービスを提供する宅配業者ネットワークにおいて、直ちに宅配業者になることができ、または宅配業者になることをやめることができる。少なくとも1つの例では、宅配業者は、無人航空機(例えば、無人機)、自律車両、または位置間を移動するための命令を受信することができる任意の他のタイプの車両であってもよい。いくつかの例では、サービスプロバイダ912は、宅配業者サービスに対する要求を受け取り、その要求をアクティブな宅配業者に自動的に割り当て、各デバイス906を介して提示されるUI(例えば、アプリケーション、ウェブブラウザ、または他のアクセスポイント)を介して宅配業者に発送命令を伝えることができる。
いくつかの例では、サービスプロバイダ912は、オムニチャネルフルフィルメントサービスを提供することができる。例えば、顧客が商人に注文をし、1つまたは複数のアイテムが在庫切れであるか、そうでなければ利用不可能であるために商人が注文を履行できない場合、サービスプロバイダ912は、顧客の注文を履行するために、サービスプロバイダ912のプラットフォームの一部である他の商人および/または販売チャネルを活用することができる。すなわち、別の商人は、顧客の注文を満たすために1つまたは複数のアイテムを提供することができる。さらに、いくつかの例では、別の販売チャネル(例えば、オンライン、ブリックアンドモルタル(実店舗)など)を使用して、顧客の注文を満たすことができる。
いくつかの例では、サービスプロバイダ912は、会話型商取引サービスを介して会話型商取引を可能にすることができ、会話型商取引サービスは1つまたは複数の機械学習メカニズムを使用して、2以上のユーザ914間で交換されるメッセージ、仮想アシスタントへの音声入力などを分析して、ユーザ914の意図を判定することができる。いくつかの例では、サービスプロバイダ912は、判定された意図を利用して、顧客サービスを自動化し、プロモーションを提供し、推奨を提供し、またはそうでなければリアルタイムで顧客と対話することができる。少なくとも1つの例では、サービスプロバイダ912は、製品およびサービス、ならびに支払いメカニズムを通信プラットフォーム(たとえば、メッセージングなど)に統合して、顧客が商人のウェブページまたは他のチャネルを呼び出す、メール送信する、または訪問する必要なく、購入を行う、またはそうでなければ取引を行うことを可能にすることができる。すなわち、会話型商取引は、情報を収集して購入するために顧客が会話とウェブページとの間で前後に切り替える必要性を軽減する。
少なくとも1つの例では、サービスプロバイダ912は、2以上のユーザ914間のピアツーピア支払いを可能にするピアツーピア支払サービスを提供することができる。少なくとも1つの例では、サービスプロバイダ912は、ユーザ914によって動作するように構成されたデバイス906にインストールされた支払アプリケーション(または他のアクセスポイント)のインスタンスと通信することができる。一例では、支払人によって操作される第1のデバイス上で実行される支払アプリケーションのインスタンスが、支払人の口座から受取人の口座(例えば、ピアツーピア支払)に、ある額の資金(例えば、暗号通貨、証券、および関連する資産などのフラット通貨または非フラット通貨)を転送するための要求をサービスプロバイダ912に送信することができる。サービスプロバイダ912は、転送を容易にすることができ、転送が進行中である(または完了している)という通知を、受取人によって操作される第2のモバイルデバイス上で実行される支払アプリケーションのインスタンスに送ることができる。いくつかの例では、サービスプロバイダ912は、支払アプリケーションのインスタンスに追加のまたは代替の情報(例えば、支払人に対する低残高、支払人または受取人に対する現在の残高など)を送信することができる。いくつかの実装形態では、支払人および/または受取人は、例えば、コンテキスト、近接性、以前の取引履歴などに基づいて、自動的に識別され得る。他の例では、受取人は、支払人が資金の転送を開始する前に、支払人に資金の要求を送ることができる。転送される資金は、現金、暗号通貨などを含むがこれらに限定されない任意のデジタル通貨タイプに関連付けることができる。いくつかの実施形態では、サービスプロバイダ912は、支払人に代わって受取人に対する要求に資金を供給して、転送プロセスをスピードアップし、支払人の金融ネットワークに起因し得る任意の遅延を補償する。
ある実装では、サービスプロバイダ912は、特定の構文(シンタックス)を有する「支払プロキシ」の識別を通じて、ピアツーピア支払プロセスをトリガすることができる。例えば、構文は1つまたは複数の英数字(例えば、$Cash)を接頭辞とする通貨インジケータを含む。通貨インジケータは、入力を送信者から現金を転送する要求として扱うようにコンピュータシステムに指示するタグ付けメカニズムとして動作し、(通貨インジケータによってタグ付けされた1つまたは複数の英数字を含む)構文の検出が現金の転送をトリガする。通貨インジケータは、ドル($)、ユーロ(
)、ポンド(£)、ルピー(
)、円(¥)などを含むがこれらに限定されない様々な通貨に対応することができる。ドル通貨インジケータ($)の使用が本明細書で使用されるが、任意の通貨記号が等しく使用され得ることが理解されるべきである。ピアツーピアプロセスは、ユーザデバイス906上で実行される特定のアプリケーションを介して開始することができる。
いくつかの実施形態では、ピアツーピアプロセスは、フォーラムコンテキスト内で実施することができる。本明細書で使用される「フォーラム」という用語は、コメント、投稿、電子掲示板上のメッセージ、ソーシャルネットワーキングプラットフォーム上のメッセージ、および/または任意の他のタイプのメッセージを通じたユーザ対話および関与を可能にするコンテンツプロバイダのメディアチャネル(例えば、ソーシャルネットワーキングプラットフォーム、マイクロブログ、ブログ、ビデオ共有プラットフォーム、音楽共有プラットフォームなど)を指す。フォーラムは、(例えば、メッセージを作成すること、コメントを投稿することなどを介して)フォーラムのユーザが互いに対話することを可能にするためにコンテンツプロバイダによって使用され得る。いくつかの実施形態では、「フォーラム」は、製品および/またはサービスを提供する電子商取引または小売組織のアプリケーションまたはウェブページも指すことができる。そのようなウェブサイトは、製品またはサービスが仮想カートに追加される前または後に完了するオンライン「フォーム」を提供することができる。オンラインフォームは、ユーザの対話およびエンゲージメントを受け取るための1つ以上のフィールドを含むことができる。例には、ユーザの名前および他の識別情報、ユーザの発送先住所などが含まれる。これらのフィールドのいくつかは、クレジットカード、デビットカード、プリペイドカード、ギフトカード、仮想財布などの他の種類の支払メカニズムの代わりに、支払プロキシなどの支払い情報を受信するように構成されてもよい。
いくつかの実施形態では、ピアツーピアプロセスは、メッセージングアプリケーションコンテキストなどの通信アプリケーションコンテキスト内に実装することができる。ここで使用される「メッセージングアプリケーション」という用語は、有線または無線の通信ネットワークを介して、通信メッセージを使用して、ユーザ(例えば、メッセージの送信者と受信者)間の通信を可能にする任意のメッセージングアプリケーションを指す。メッセージングアプリケーションは、サービスプロバイダ912によって使用することができる。例えば、サービスプロバイダ912は、メッセージングアプリケーション(例えば、チャットまたはメッセージング機能)を介してユーザに通信サービスを提供するメッセージングサービスを提供することができる。メッセージングアプリケーションは、例えば、電話(例えば、従来の携帯電話またはスマートフォン)間の通信のためのテキストメッセージングアプリケーション、または通信のためにインターネットを使用するスマートフォンおよび電話のためのクロスプラットフォームインスタントメッセージングアプリケーションを含むことができる。メッセージングアプリケーションは、サーバコンピューティングデバイス902との間で送信される命令に基づいて、ユーザデバイス906(例えば、モバイルデバイスまたは従来のパーソナルコンピュータ)上で実行することができ、(このような例では、「メッセージングサーバ」と呼ぶことができる)。場合によっては、メッセージングアプリケーションは、支払アプリケーションのユーザが互いに通信することを可能にするメッセージング機能を有する支払アプリケーションを含むことができる。そのような場合、支払アプリケーションは、サーバコンピューティングデバイス902(例えば、本明細書で説明する支払サービス、または支払取引をサポートする別の支払サービス)との間で送信される命令に基づいて、ユーザデバイス906上で実行することができる。
少なくともいくつかの実施形態では、ピアツーピアプロセスは、ランディングページコンテキスト内で実施可能である。本明細書で使用される「ランディングページ」という用語は、個人化された位置アドレスに関連付けられた受信者の代わりに支払いを収集するために専用である個人化された位置アドレスによって識別される仮想位置を指す。ランディングページを識別する個人化された位置アドレスは、上述の支払プロキシを含むことができる。サービスプロバイダ912は、ランディングページを生成して、受信者が1つ以上の送信者から1つ以上の支払いを便利に受信できるようにすることができる。いくつかの実施形態では、ランディングページを識別する個人化された位置アドレスは、支払プロキシを組み込んだユニフォームリソースロケータ(URL)である。そのような実施形態では、ランディングページはウェブページ、例えば、www.cash.me/$cashである。
少なくとも1つの例では、サービスプロバイダ912に登録されていないユーザ914が(例えば、サービスプロバイダによって提供される1つ以上のサービスへのアクセスを受けるために加入される)サービスプロバイダ912に対してユーザ914は新規であってもよい。サービスプロバイダ912は、潜在的なユーザ914をサービスプロバイダ912に登録するためのオンボーディングサービスを提供することができる。いくつかの例では、オンボーディングは、潜在的なユーザ914のためのプロファイルを生成するために使用できる情報を得るために、種々の質問、プロンプトなどを潜在的なユーザ914に提示することを含むことができる。少なくとも1つの例では、サービスプロバイダ912は、オンボーディング前、またはオンボーディング中に、そのサービスへの限定されたまたは短期のアクセスを提供することができる(例えば、ピアツーピア支払サービスのユーザは完全にオンボーディングされる前に資金を転送および/または受け取ることができ、商人は完全にオンボーディングされる前に支払いを処理することができるなど)。少なくとも1つの例では、潜在的ユーザ914が全ての必要な情報を提供することに応答して、潜在的ユーザ914は、サービスプロバイダ912にオンボーディングすることができる。そのような例では、サービスプロバイダ912のサービスへの任意の限定されたまたは短期のアクセスは、そのようなサービスへのより許容的な(例えば、より限定されていない)またはより長期のアクセスに移行され得る。
サービスプロバイダ912は、IDVサービスに関連付けることができ、これはサービスプロバイダ912がコンプライアンス目的で使用することができ、かつ/または例えば、(例えば、サーバコンピューティングデバイス910に関連付けられた)サードパーティサービスプロバイダにサービスとして提供することができる。すなわち、サービスプロバイダ912は、IDVサービスを提供して、それらのサービスを使用するまたは使用しようとするユーザ914の身元を確認することができる。アイデンティティ検証は、顧客(または潜在的顧客)に、情報が実際の人またはエンティティのアイデンティティに関連付けられていることを証明するためにコンプライアンス部門によって使用される情報を提供することを要求する。少なくとも1つの例では、サービスプロバイダ912は、ユーザ914によって提供された識別情報が顧客(または潜在的な顧客)を正確に識別するかどうか(すなわち、彼らがそうであると言う顧客であるか)を判定するためのサービスを実行することができる。
サービスプロバイダ912は、追加または代替サービスを提供することができ、上述のサービスは、サービスのサンプリングとして提供される。少なくとも1つの例では、サービスプロバイダ912は、サードパーティサービスプロバイダに関連付けられたサーバコンピューティングデバイス910とデータを交換することができる。そのようなサードパーティサービスプロバイダは、サービスプロバイダ912が上述のようなサービスを提供することを可能にする情報を提供することができる。追加または代替の例では、このようなサードパーティサービスプロバイダは、サービスプロバイダ912のサービスにアクセスすることができる。すなわち、いくつかの例では、サードパーティサービスプロバイダは、加入者とすることができ、そうでなければサービスプロバイダ912のサービスにアクセスすることができる。
本明細書で説明する技法は、リアルタイム/オンラインモードおよびオフラインモードの両方で動作するように構成することができる。「オンライン」モードとは、デバイスがネットワーク904を介してサービスプロバイダ912(例えば、サーバコンピューティングデバイス902)および/またはサーバコンピューティングデバイス910と通信することができる場合のモードを指す。いくつかの例では、商人デバイス908は、例えば、ネットワーク接続性の問題により、サービスプロバイダ912(例えば、サーバコンピューティングデバイス902)および/またはサーバコンピューティングデバイス910と接続することができない。追加または代替の例では、サーバコンピューティングデバイス902は、例えば、ネットワーク接続性の問題により、サーバコンピューティングデバイス910と通信することができない。このような例では、接続性が回復し、支払データが処理のためにサーバコンピューティングデバイス902および/またはサーバコンピューティングデバイス910に送信されるまで、少なくともいくつかの支払データが(例えば、商人デバイス908)および/またはサーバコンピューティングデバイス902上に)格納される場合、デバイスは「オフライン」モードで動作し得る。
少なくとも1つの例では、サービスプロバイダ912は、(例えば、追加のサーバコンピューティングデバイス910に関連付けられる)1つ以上の追加のサービスプロバイダとの統合を可能にする、注文ハブ、在庫ハブ、フルフィルメントハブなどのハブに関連付けることができる。いくつかの例では、そのような追加のサービスプロバイダは、追加のまたは代替のサービスを提供することができ、サービスプロバイダ912は、サービスプロバイダ912の機能性を1つ以上の追加のサービスプロバイダに統合するためのインタフェースまたは他のコンピュータ可読命令を提供することができる。
本明細書に記載する技術は、サービスプロバイダ912の1つ以上のサーバコンピューティングデバイス902および/またはプロキシサーバコンピューティングデバイス915と通信しているユーザデバイス906の分散システムを介して提供されるサービスであり、サービスプロバイダ912と関連付けることができる。すなわち、本明細書で説明する技法は、上述したように、様々なサービスを実行するために、サービスプロバイダ912の1つまたは複数のサーバコンピューティングデバイス902、および/またはサービスプロバイダ912に関連付けることができるプロキシサーバコンピューティングデバイス915と通信するユーザデバイス906の分散システムを利用する、特定の実装形態、または実用的なアプリケーションを対象とする。本明細書に記載する分散システムの従来とは異なる構成は、エンドユーザ(例えば、ユーザ914)から遠隔配置されるサーバコンピューティングデバイス902がユーザ914のようなエンドユーザに関連する集約データ(例えば、複数の、異なる商人および/または複数の、異なる買い手に関連するデータ)に基づくサービスをほぼリアルタイムでインテリジェントに提供することを可能にする。したがって、本明細書で説明される技法は、支払処理サービスなどを実行するための従来の技法を超える技術的改善を提供する要素の特定の構成を対象とする。特に、中小企業の所有者にとって、ビジネス環境は典型的には断片化されており、無関係なツールおよびプログラムに依存しており、所有者がそのようなデータを手動で統合し、閲覧することを困難にしている。本明細書で説明される技法は、商人のビジネス状態(債務、債権、給与、インボイス、アポイントメント、資本など)を追跡するために、サービスプロバイダ912の制御内の口座、およびサービスプロバイダ912の制御外の口座など、異なる別個の商人口座を常時または定期的に監視する。本明細書の技法は、商人のキャッシュフローの統合ビューを提供し、ニーズを予測し、資本、クーポンなどの推奨またはサービスを先制的に提供し、および/または摩擦のない透明な方法で異種の口座(商人、別の商人、または支払いサービスさえも)間の金銭移動を可能にする。
本明細書で説明されるように、人工知能、機械学習などを使用して、決定、推奨などを動的に行うことができ、それによって、本明細書で説明される支払処理サービスおよび/または追加のサービスもしくは代替サービスを提供するための、他の点では画一的なスキームに、インテリジェンスおよびコンテキスト認識を追加する。いくつかの実装形態では、分散システムは、既存のユーザベースから導出されたインテリジェンスを新しいユーザに適用することができ、それによって、従来のオンボーディング方法と比較した場合に、新しいユーザのオンボーディング経験を個人化し、摩擦のないものにする。したがって、本明細書で説明する技法は、既存の技術的処理を改善する。
上述のように、様々なグラフィカルUI(GUI)を提示して、本明細書で説明する技法を容易にすることができる。本明細書で説明する技法のいくつかは、ユーザ914とユーザデバイス906との間の対話を改善するために、GUIを介して提示されるUI特徴を対象とする。さらに、そのような特徴は、GUIと対話するユーザのプロファイルに基づいて動的に変更される。したがって、本明細書で説明する技法は、コンピューティングシステムの改良を対象とする。
図10は、本明細書で説明される技法を実行するためのシステム1000を示す例示的なブロック図を示す。システム1000は、ネットワーク1006(例えば、インターネット、ケーブルネットワーク、セルラネットワーク、クラウドネットワーク、無線ネットワーク(例えば、Wi−Fi)および有線ネットワーク)、ならびにBluetooth(登録商標)、Bluetooth(登録商標) Low Energy(BLE)などの近距離通信)を介してサーバコンピューティングデバイス(例えば、サーバ1004)と通信するユーザデバイス1002を含む。単一のユーザデバイス1002が示されているが、追加の例または代替の例では、システム1000は、図9を参照して上述したように、複数のユーザデバイスを有することができる。
少なくとも1つの例では、ユーザデバイス1002は、図1を参照して上述した商人デバイス102に対応することができる。サーバ1004は、図1を参照して上述したサーバ116に対応することができる。
少なくとも1つの例では、ユーザデバイス1002は、任意の適切なタイプのコンピューティングデバイス、例えば、ポータブル、セミポータブル、半静止、または静止とすることができる。ユーザデバイス1002のいくつかの例は、タブレットコンピューティングデバイス、スマートフォンまたはモバイル通信デバイス、ラップトップ、ネットブックまたは他のポータブルコンピュータまたはセミポータブルコンピュータ、デスクトップコンピューティングデバイス、端末コンピューティングデバイスまたは他のセミステーショナリまたはステーショナリコンピューティングデバイス、専用デバイス、ウェアラブルコンピューティングデバイスまたは他のボディマウントコンピューティングデバイス、拡張現実デバイス、バーチャルリアリティデバイス、IoT(Internet of Things)デバイスなどを含むことができるが、これらに限定されない。すなわち、ユーザデバイス1002は、本明細書で説明する技法に従って通信を送信し、機能を実行することができる任意のコンピューティングデバイスとすることができる。ユーザデバイス1002は、以下で説明するように、支払いを受け入れることができるデバイス、例えば、支払カードリーダ、または構成要素を含むことができる。
図示の例では、ユーザデバイス1002は、1つまたは複数のプロセッサ1008、1つまたは複数のコンピュータ可読媒体1010、1つまたは複数の通信インタフェース1012、1つまたは複数の入出力(I/O)デバイス1014、表示部1016、およびセンサ1018を含む。
少なくとも1つの例において、各プロセッサ1008は、それ自体が1つ以上のプロセッサまたはプロセッシングコアを含むことができる。例えば、プロセッサ1008は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、状態機械、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスとして実装することができる。いくつかの例では、プロセッサ1008は、本明細書で説明するアルゴリズムおよびプロセスを実行するように特にプログラムまたは構成された任意の適切なタイプの1つまたは複数のハードウェアプロセッサおよび/または論理回路とすることができる。プロセッサ1008は、コンピュータ可読媒体1010に記憶されたコンピュータ可読プロセッサ実行可能命令をフェッチし、実行するように構成することができる。
ユーザデバイス1002の構成に応じて、コンピュータ可読媒体1010は実体のある非一時的なコンピュータ記憶媒体の一例とすることができ、コンピュータ可読プロセッサ実行可能命令、データ構造、プログラムモジュール、または他のデータのような情報を記憶するための任意のタイプの技術で実施される揮発性メモリおよび不揮発性メモリおよび/または取り外し可能および取り外し不可能媒体を含むことができる。コンピュータ可読媒体1010は、RAM、ROM、EEPROM、フラッシュメモリ、固体記憶装置、磁気ディスク記憶装置、光記憶装置、および/または他のコンピュータ可読媒体技術を含むことができるが、これらに限定されない。さらに、いくつかの例では、ユーザデバイス1002は、RAIDストレージシステム、ストレージアレイ、ネットワーク接続型ストレージ、ストレージエリアネットワーク、クラウドストレージ、または情報を格納するために使用することができ、プロセッサ1008によって直接または別のコンピューティングデバイスまたはネットワークを介してアクセスすることができる任意の他の媒体のような外部記憶装置にアクセスすることができる。したがって、コンピュータ可読媒体1010は、プロセッサ1008によって実行可能な命令、モジュールまたは構成要素を記憶することができるコンピュータ記憶媒体である。さらに、言及される場合、非一時的なコンピュータ可読媒体は、エネルギー、搬送波信号、電磁波、および信号自体などの媒体を除外する。
コンピュータ可読媒体1010は、プロセッサ1008によって実行可能な任意の数の機能的構成要素を記憶し維持するために使用することができる。いくつかの実施形態では、これらの機能構成要素は、プロセッサ1008によって実行可能であり、実行されると、ユーザデバイス1002に上記に帰属する動作およびサービスを実行するための動作ロジックを実装する命令またはプログラムを含む。コンピュータ可読媒体1010に格納された機能構成要素は、図1を参照して上述したPOSアプリケーション104および/または図9を参照して上述したPOSアプリケーション918に対応することができるPOSアプリケーション1020を含むことができる。
ユーザデバイス1002のタイプに応じて、コンピュータ可読媒体1010は、オプションとして、UI、プログラム、ドライバなどを含むことができるモジュールおよびデータ1022などの他の機能的構成要素およびデータ、ならびに機能的構成要素によって使用または生成されるデータを含むこともできる。一例として、モジュールおよびデータは、ユーザがユーザデバイス1002、したがってサーバ1004および/または他のネットワーク化されたデバイスと対話することを可能にするUIを含むことができる。少なくとも1つの例では、UIはウェブブラウザ等を介して提示することができる。他の例では、UIはモバイルアプリケーションまたはデスクトップアプリケーションなどのアプリケーションを介して提示することができ、これはサーバ1004に関連付けられたサービスプロバイダ912によって提供することができ、その他の場合は専用アプリケーションとすることができる。少なくとも1つの例では、ユーザがタッチ入力、音声入力、ジェスチャ、または任意の他のタイプの入力を介してUIと対話することができる。単語「入力(input)」はUIを介してユーザによって直接提供されない可能性がある「コンテキスト」入力を記述するためにも使用される。例えば、ユーザのUIとの対話は例えば自然言語処理技術を使用して分析され、ユーザのコンテキストまたは意図を決定し、これは、「直接」ユーザ入力と同様の方法で処理され得る。
さらに、コンピュータ可読媒体1010は、機能的構成要素によって使用されるデータ、データ構造等を記憶することもできる。さらに、ユーザデバイス1002は、多くの他の論理的、プログラム的、および物理的構成要素を含むことができ、そのうちの説明されるものは、本明細書の説明に関連する単なる例である。
少なくとも1つの例では、コンピュータ可読媒体1010は、ユーザデバイス1002の種々の機能を制御および管理し、基本的なユーザ対話を可能にするオペレーティングシステム1024などの追加の機能構成要素を含むことができる。
通信インタフェース1012は、ネットワーク1006を介して、または直接的に、他の様々なデバイスとの通信を可能にするために、1つ以上のインタフェースおよびハードウェア構成要素を含むことができる。例えば、通信インタフェース1012はインターネットのようなローカルエリアネットワークまたはワイドエリアネットワークのような、当技術分野で既知の任意のタイプのネットワークを含むことができる1つ以上のネットワーク1006を介した通信を可能にすることができ、セルラネットワーク、クラウドネットワーク、Wi−Fiおよび/または近距離無線通信のようなローカル無線ネットワーク、例えば、Bluetooth(登録商標)、BLE、NFC、RFID、有線ネットワーク、または他の任意のそのようなネットワーク、またはそれらの任意の組合せを含むことができる。従って、ネットワーク1006は、Bluetooth(登録商標)、BLE、Wi−Fi及びセルラ通信技術並びに有線又は光ファイバ技術を含む有線及び/又は無線通信技術の双方を含むことができる。そのような通信に使用される構成要素は、ネットワークのタイプ、選択された環境、またはその両方に少なくとも部分的に依存することができる。このようなネットワークを介して通信するためのプロトコルは周知であり、本明細書では詳細に説明しない。
本開示の実施形態は、クラウドコンピューティングインフラストラクチャを介してユーザに提供することができる。クラウドコンピューティングとは、ネットワーク上のサービスとしてスケーラブルなコンピューティングリソースを提供することを指し、最小限の管理労力またはサービスプロバイダの対話で迅速にプロビジョニングおよびリリースできる、設定可能なコンピューティングリソースの共有プールへの便利なオンデマンドネットワークアクセスを可能にする。それゆえ、クラウドコンピューティングは、ユーザがコンピューティング資源を提供するために使用される基盤となる物理システム(またはそれらのシステムのロケーション)に関係なく、「クラウド」中の仮想コンピューティング資源(例えば、ストレージ、データ、アプリケーション、および完全な仮想化コンピューティングシステム)にアクセスすることを可能にする。
ユーザデバイス1002は、1つまたは複数の入出力(I/O)デバイス1014をさらに含むことができる。I/Oデバイス1014は、スピーカ、マイクロフォン、カメラ、および様々なユーザコントロール(例えば、ボタン、ジョイスティック、キーボード、キーパッドなど)、触覚出力デバイスなどを含むことができる。I/Oデバイス1014は、ユーザデバイス1002と接続するためにアクセサリ(オーディオジャック、USB−C、Bluetooth等)を利用するアタッチメントを含むこともできる。
少なくとも1つの例では、ユーザデバイス1002は表示部1016を含むことができる。ユーザデバイス1002として使用されるコンピューティングデバイスのタイプに応じて、表示部1016は、任意の適切な表示技術を使用することができる。例えば、表示部1016は、液晶ディスプレイ、プラズマディスプレイ、発光ダイオードディスプレイ、OLED(有機発光ダイオード)ディスプレイ、電子ペーパーディスプレイ、またはその上にデジタルコンテンツを提示することができる任意の他の適切なタイプのディスプレイであり得る。少なくとも1つの例では、表示部1016は、拡張現実ディスプレイ、仮想現実ディスプレイ、またはデジタルコンテンツを提示および/または投影することができる任意の他のディスプレイとすることができる。いくつかの例では、表示部1016は、表示部1016に関連付けられたタッチセンサを有して、表示部1016上に提示されたグラフィックインタフェースとの対話を可能にするためのタッチ入力を受け取るように構成されたタッチスクリーンディスプレイを提供することができる。したがって、本明細書の実装形態は、任意の特定の表示技術に限定されない。あるいはいくつかの例では、ユーザデバイス1002は表示部1016を含まなくてもよく、情報は聴覚的、触覚的などの他の手段によって提示され得る。
さらに、ユーザデバイス1002は、センサ(複数可)1018を含むことができる。センサ(複数可)1018は、位置情報を示すことができるGPSデバイスを含むことができる。さらに、センサ1018は、加速度計、ジャイロスコープ、コンパス、近接センサ、カメラ、マイクロフォン、および/またはスイッチを含むことができるが、これらに限定されない。
いくつかの例では、GPSデバイスを使用して、ユーザの位置を識別することができる。少なくとも1つの例では、ユーザの位置は、上述のサービスプロバイダ912によって、1つ以上のサービスを提供するために使用され得る。すなわち、いくつかの例において、サービスプロバイダ912は、特定のサービスをユーザに提供するためにジオフェンシングを実装することができる。一例として、貸付サービスでは、ローンの規定された目的が使用の証拠に対応することを確認するために、位置を使用することができる(例えば、ユーザがローンを使用することはユーザが自分がそれを使用することになると言ったことと一致するかどうか)。さらに、いくつかの例では、給与支払い目的のために位置を使用することができる。一例として、契約者がプロジェクトを完了する場合、契約者はジオタグ付き画像(例えば、GPSデバイスによって利用可能な位置情報に基づいてタグ付けされた)を提供することができる。いくつかの例では、位置は、近傍のユーザ914間のピアツーピア支払いを容易にするために、および/またはユーザ914に近接して位置する商人との利用可能な予約に関してユーザ914に通知を送信するために、使用することができる。少なくとも1つの例では、位置は、近くの顧客がジオフェンスを離れるときに、近くの顧客から支払いを行うために使用することができ、または位置は、ユーザ914が商人の実店舗に入ることに応答してアクションを開始するために使用することができる。位置は、追加的または代替的な方法でも使用することができる。
さらに、ユーザデバイス1002は、図示されていない様々な他の構成要素を含むことができ、その例には、取り外し可能なストレージ、蓄電池および電力制御ユニットなどの電源、バーコードスキャナ、プリンタ、現金引き出しなどが含まれる。
さらに、一部の例では、ユーザデバイス1002は、支払オブジェクトに関連する支払手段及び/又は識別子を読み取るために、リーダデバイス1026を含むことができ、リーダデバイス1026に接続可能であり、又は、そうでなければリーダデバイス1026に連結することができる。少なくとも1つの例では、リーダデバイス1026は、図1を参照して上述したリーダデバイス106および/または図9を参照して上述したリーダデバイス922に対応することができる。いくつかの例では、前述したように、リーダデバイス1026は、マイクロフォンポート、ヘッドフォンポート、オーディオジャック、データポート、または他の適切なポートなど、ユーザデバイス1002内のポートにプラグインすることができる。追加または代替の例では、リーダデバイス1026は、Bluetooth(登録商標)、BLEなどを介して、別の有線または無線接続を介してユーザデバイス1002に接続することができる。リーダデバイス1026は、支払カードの磁気ストリップを読み取るための読み取りヘッドを含むことができ、さらに、磁気ストリップから読み取られた情報を暗号化するための暗号化技術を含むことができる。追加的に、または代替的に、リーダデバイス1026は、いくつかの例では、ユーザデバイス1002に埋め込むことができるEMV支払リーダとすることができる。さらに、ユーザデバイス1002のタイプおよび構成に応じて、多数の他のタイプのリーダを本明細書のユーザデバイス1002と共に使用することができる。
リーダデバイス1026は、任意の支払手段からデータを検出し、取得するように構成された、ポータブル磁気ストライプカードリーダ、光スキャナ、スマートカード(埋め込みICチップを有するカード)リーダ(例えば、EMV準拠カードリーダまたは短距離通信可能リーダ)、RFIDリーダなどであってもよい。したがって、リーダデバイス1026は、支払手段の検出および受け入れを容易にするために、1つまたは複数のセンサまたは電気接点を有するスロット、磁気トラック、およびレールなどのハードウェア実装形態を含むことができる。すなわち、リーダデバイス1026は、スワイプ(すなわち、顧客が磁気ストリップに含まれる支払データを取り込む支払リーダを通して磁気ストリップを有するカードをスライドさせるカード提示取引)、ディップ(すなわち、顧客が埋め込まれたマイクロチップ(すなわち、チップ)を有するカードを支払リーダに最初に挿入するカード提示取引)、またはタップ(すなわち、顧客が、支払リーダ上で支払アプリケーションを実行するスマートフォンなどの自分の電子デバイスをタップまたはホバリングして、短距離通信を介して取引を完了することができるカード提示取引)を介して、リーダデバイス1026が支払手段と対話することを可能にするハードウェア実装を含むことができる。さらに、または任意選択で、リーダデバイス1026は、バイオメトリック特性が支払サービス環境100に登録され、銀行サーバを有する金融口座に接続されている場合、バイオメトリック特性を受け取り、処理し、それらを支払手段として処理するバイオメトリックセンサを含むこともできる。
リーダデバイス1026は、処理ユニット、コンピュータ可読媒体、読取チップ、取引チップ、タイマ、クロック、ネットワークインタフェース、電源などを含むことができる。リーダデバイス1026の処理ユニットは、1つまたは複数のモジュールおよび/またはプロセスを実行して、リーダデバイス1026に、上記で説明され、以下の開示でさらに詳細に説明されるように、様々な機能を実行させることができる。いくつかの例では、処理ユニットは、中央演算処理装置、グラフィックス処理ユニット、CPUおよびGPU、または当技術分野で公知の処理ユニットまたは構成要素を含むことができる。さらに、各処理ユニットは、プログラムモジュール、プログラムデータ、および/または1つ以上のオペレーティングシステムを記憶することもできる独自のローカルメモリを有することができる。リーダデバイス1026の正確な構成およびタイプに応じて、コンピュータ可読媒体は、揮発性メモリ、不揮発性メモリ(ROM、フラッシュメモリ、ミニチュアハードドライブ、メモリカードなど)、またはそれらのいくつかの組合せを含むことができる。少なくとも1つの例では、リーダデバイス1026のコンピュータ可読媒体は、本明細書で説明する様々な機能を実行するための少なくとも1つのモジュールを含むことができる。
読取チップは、リーダデバイス1026の動作および処理を制御する機能を実行することができる。すなわち、読取チップは、支払インタフェース(例えば、非接触インタフェース、接触インタフェースなど)、無線通信インタフェース、有線インタフェース、UI(例えば、信号状態デバイス(FPGA))などを制御する機能を実行することができる。さらに、読取チップは、特定のイベント(例えば、対話、電力イベントなど)に続いて経過した時間量を示すタイマ信号を提供することができるタイマを制御する機能を実行することができる。さらに、読取チップは、クロックを制御するための機能を実行してもよく、これは時間を示すクロック信号を提供してもよい。さらに、読取チップは、以下に説明するように、ネットワークインタフェースを制御する機能を実行してもよく、これはネットワーク1006とインタフェース接続してもよい。
さらに、読取チップは、電源を制御する機能を実行することができる。電力供給は、AC電力供給またはバッテリへの物理的接続などの1つまたは複数の電力供給を含むことができる。電力供給は、AC電力を変換し、リーダデバイス1026の構成要素によって使用するために複数のDC電圧を生成するための電力変換回路を含んでもよい。電力供給が蓄電池を含む場合、蓄電池は、物理的電源接続を介して、誘導充電を介して、または任意の他の適切な方法を介して充電されてもよい。
取引チップは、支払取引の処理、支払手段とのインタフェース、暗号化、および他の支払い固有の機能に関連する機能を実行することができる。すなわち、取引チップは、上述のように、支払手段に関連する支払データにアクセスし、支払データをPOS端末に提供することができる。支払データは、顧客の名前、顧客の住所、支払手段のタイプ(例えば、クレジット、デビットなど)、支払手段に関連する番号、支払手段に関連する検証値(例えば、PIN検証キーインジケータ(PVKI)、PIN検証値(PVV)、カード検証値(CVV)、カード検証コード(CVC)など)、支払手段に関連する期限切れデータ、顧客に対応するプライマリ口座番号(PAN)(支払手段に関連する番号と一致しても一致しなくてもよい)、どのタイプのチャージ/負債が行われてもよいかについての制限などを含んでもよいが、これらに限定されない。さらに、取引チップは、支払データを受信すると、支払データを暗号化することができる。
いくつかの例において、読取チップは、それ自身の処理部およびコンピュータ可読媒体を有してもよく、および/または、取引チップは、それ自身の処理部およびコンピュータ可読媒体を有する可能性があることが理解されるべきである。他の例では、読取チップおよび取引チップの機能は単一のチップまたは複数のチップで具現化することができ、各チップは本明細書で説明する読取チップおよび取引チップの機能を集合的に実行するために、処理部およびコンピュータ可読媒体の任意の適切な組合せを含む。
POS端末とすることができるユーザデバイス1002と、リーダデバイス1026とは別個のデバイスとして示されているが、追加の例または代替の例では、ユーザデバイス1002およびリーダデバイス1026は、バッテリ動作デバイスとすることができる単一のデバイスの一部とすることができる。そのような例では、ユーザデバイス1002およびリーダデバイス1026の両方の構成要素が、単一のデバイスに関連付けられ得る。いくつかの例では、リーダデバイス1026は、それと一体化された表示部を有することができ、それはユーザデバイス1002に関連付けられた表示部1016に加える(またはその代替とする)ことができる。
サーバ1004は、任意の数の方法で具体化することができる1つ以上のサーバまたは他のタイプのコンピューティングデバイスを含むことができる。例えば、サーバの例では、モジュール、他の機能構成要素、およびデータは、単一のサーバ、サーバのクラスタ、サーバファームまたはデータセンタ、クラウドホストコンピューティングサービス、クラウドホストストレージサービスなどに実装することができるが、他のコンピュータアーキテクチャを追加的にまたは代替的に使用することもできる。
さらに、図はサーバ1004の構成要素およびデータが単一の場所に存在することを示すが、これらの構成要素およびデータは別の方法で、異なるコンピューティングデバイスおよび異なる場所に分散させることもできる。結果として、機能は1つ以上のサーバコンピューティングデバイスによって実現することができ、上述の様々な機能性は、様々なコンピューティングデバイスにわたって様々な方法で分散される。複数のサーバ1004は、一緒に又は別々に配置することができ、例えば、仮想サーバ、サーババンク及び/又はサーバファームとして編成することができる。記述された機能は、単一の商人または企業のサーバによって提供されることができ、あるいは、複数の異なる顧客または企業のサーバおよび/またはサービスによって提供されることができる。
図示の例では、サーバ1004は、1つ以上のプロセッサ1028、1つ以上のコンピュータ可読媒体1030、1つ以上のI/Oデバイス1032、および1つ以上の通信インタフェース1034を含むことができる。各プロセッサ1028は、単一の処理ユニットまたは複数の処理ユニットとすることができ、単一または複数のコンピューティングユニットまたは複数の処理コアを含むことができる。プロセッサ1028は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、状態機械、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスとして実装することができる。例えば、プロセッサ(複数可)1028は、本明細書で説明するアルゴリズムおよびプロセスを実行するように特にプログラムまたは構成された任意の適切なタイプの1つまたは複数のハードウェアプロセッサおよび/または論理回路とすることができる。プロセッサ1028は、コンピュータ可読媒体1030に記憶されたコンピュータ可読命令をフェッチして実行するように構成することができ、これは、プロセッサ1028をプログラムして本明細書に記載する機能を実行することができる。
コンピュータ可読媒体1030は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような、情報を記憶するための任意のタイプの技術で実施される揮発性および不揮発性メモリおよび/または取り外し可能および取り外し不可能媒体を含むことができる。このようなコンピュータ可読媒体1030は、限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、光記憶、固体記憶、磁気テープ、磁気ディスク記憶システム、RAID記憶システム、記憶アレイ、ネットワーク接続型記憶装置、記憶ローカルエリアネットワーク、クラウド記憶装置、または所望の情報を記憶するために使用することができ、コンピューティングデバイスによってアクセスすることができる他の任意の媒体を含むことができる。サーバ1004の構成に応じて、コンピュータ可読媒体1030は、一種のコンピュータ可読記憶媒体とすることができ、および/または、言及された場合、非一時的コンピュータ可読媒体は、エネルギー、搬送波信号、電磁波、および信号自体などの媒体を除外する限り、有形の非一時的媒体とすることができる。
コンピュータ可読媒体1030は、プロセッサ1028によって実行可能な任意の数の機能的構成要素を記憶するために使用することができる。多くの実施形態では、これらの機能構成要素がプロセッサ1028によって実行可能な命令またはプログラムを含み、実行されると、サービスプロバイダ912および/または支払処理サービスに上記に帰属するアクションを実行するように1つ以上のプロセッサ1028を具体的に構成する。コンピュータ可読媒体1030に記憶される機能的構成要素は、オプションとして、支払処理アプリケーション1036、トレーニングアプリケーション1038、および1つ以上の追加または代替モジュールおよびデータ1040を含むことができる。
支払処理アプリケーション1036は、図1を参照して上述した支払処理アプリケーション122に対応することができる。
トレーニングアプリケーション1038は、機械学習メカニズムを使用してモデルをトレーニングするように構成することができる。例えば、機械学習メカニズムは、トレーニングデータを分析して、推奨、スコア、および/または別のインディケーションとすることができる出力を生成するデータモデルをトレーニングすることができる。機械学習メカニズムは監視された学習アルゴリズム(例えば、人工ニューラルネットワーク、ベイズ統計、サポートベクトルマシン、決定ツリー、分類子、k最近傍など)、監視されていない学習アルゴリズム(例えば、人工ニューラルネットワーク、関連付けルール学習、階層クラスタリング、クラスタ分析など)、半監視された学習アルゴリズム、深層学習アルゴリズムなど)、統計モデルなどを含むことができるが、これらに限定されない。少なくとも1つの例では、機械トレーニングされたデータモデルは、トレーニングされた後(例えば、実行時)に使用するために、ユーザデバイス1002および/またはサーバ1004に関連付けられたデータストアに格納することができる。
さらに、1つまたは複数の他のモジュールおよびデータ1040は、プログラム、ドライバなど、および機能構成要素によって使用または生成されるデータを含むことができる。さらに、サーバ1004は、多くの他の論理構成要素、プログラム構成要素、および物理構成要素を含むことができ、そのうち、上記で説明したものは、本明細書の説明に関連する単なる例である。
本明細書で参照される1つまたは複数の「モジュール」はより多くのモジュールとして、またはより少ないモジュールとして実装することができ、モジュールについて記載された機能は、実装の詳細に応じて再分配することができる。本明細書で使用される「モジュール」という用語は、非一時的記憶媒体(例えば、コンピューティングデバイスのための揮発性または不揮発性メモリ)に格納されたソフトウェア、ハードウェア、またはファームウェア(またはそれらの任意の組合せ)モジュールを広く指す。モジュールは通常、指定された入力を使用して有用なデータまたは他の出力を生成することができるように機能する。モジュールは内蔵型であってもよいし、そうでなくてもよい。アプリケーションプログラム(「アプリケーション」とも呼ばれる)は、1つまたは複数のモジュールを含むことができ、または、モジュールは、ネットワークを介してアクセスすることができるか、またはデバイス上にソフトウェアとしてダウンロードすることができる1つまたは複数のアプリケーションプログラム(例えば、デバイスにアクションを実行させる実行可能コード)を含むことができる。アプリケーションプログラム(「アプリケーション」とも呼ばれる)は1つまたは複数のモジュールを含むことができ、モジュールは1つまたは複数のアプリケーションプログラムを含むことができる。追加のおよび/または代替の例では、モジュールは、命令を実行し、本明細書で説明される動作を実行するように本明細書で説明されるコンピューティングデバイスを構成するために、少なくとも1つの処理ユニットを介して、コンピュータ可読命令、様々なデータ構造などとして実装され得る。
いくつかの例では、モジュールは、その機能(例えば、動作)のいくつかまたはすべてを実行するために、1つまたは複数のアプリケーションプログラミングインタフェース(API)を含み得る。少なくとも1つの例では、ソフトウェア開発者キット(SDK)をサービスプロバイダによって提供して、サードパーティ開発者がサービスプロバイダ機能を含めること、および/または自身のサードパーティアプリケーションに関連してサービスプロバイダサービスを利用することを可能にすることができる。さらに、または代わりに、いくつかの例では、サービスプロバイダがSDKを利用して、サードパーティサービスプロバイダ機能をそのアプリケーションに統合することができる。つまり、API またはSDK を使用すると、サードパーティ開発者は、それぞれのサードパーティアプリケーションがサービスプロバイダとやり取りする方法(またはその逆) をカスタマイズできる。
コンピュータ可読媒体1030は、サーバ1004の様々な機能を制御および管理するためのオペレーティングシステム1042を追加的に含むことができる。
通信インタフェース1034は、ネットワーク1006を介して、または直接的に、他の様々なデバイスとの通信を可能にするために、1つ以上のインタフェースおよびハードウェア構成要素を含むことができる。例えば、通信インタフェース1034は、1つ以上のネットワーク1006を通して通信を可能にすることができ、これは、当技術分野で公知の、インターネットのようなローカルエリアネットワークまたはワイドエリアネットワークのような任意のタイプのネットワークを含むことができ、セルラネットワーク、Wi−Fiおよび/または近距離無線通信のようなローカル無線ネットワーク、例えば、Bluetooth(登録商標)、BLE、NFC、RFID、有線ネットワーク、またはこれらの任意の組合せのような無線ネットワークを含むことができる。従って、ネットワーク1006は、Bluetooth(登録商標)、BLE、Wi−Fi及びセルラ通信技術並びに有線又は光ファイバ技術を含む有線及び/又は無線通信技術の双方を含むことができる。そのような通信に使用される構成要素は、ネットワークのタイプ、選択された環境、またはその両方に少なくとも部分的に依存することができる。このようなネットワークを介して通信するためのプロトコルは周知であり、本明細書では詳細に説明しない。
サーバ1004はさらに、各種I/Oデバイス1032を備えることができる。そのようなI/Oデバイス1032は、ディスプレイ、各種UI制御、ボタン、ジョイスティック、キーボード、マウス、タッチスクリーン、バイオメトリックまたは感覚入力デバイスなど)、オーディオスピーカ、接続ポートなどを含むことができる。
少なくとも1つの例では、システム1000は、アクセス可能、管理可能、および更新可能なデータを格納するように構成可能なデータストア1044を含むことができる。いくつかの例では、データストア1044は、ユーザデバイス1002および/またはサーバ1004と統合することができる。他の例では、図10に示すように、データストア1044は、サーバ1004から遠隔に配置することができ、サーバ1004にアクセスすることができる。データベースストア1044は、ネットワーク1006を介してローカルおよび/または遠隔に接続された複数のデータベースおよび/またはサーバを含むことができる。
少なくとも1つの例では、データストア1044は、商人プロファイル、顧客プロファイルなどを含むことができるユーザプロファイルを格納することができる。
商人プロファイルは、商人に関連付けられたデータを記憶するか、そうでなければそれに関連付けることができる。例えば、商人プロフィールは、商人に関する情報(例えば、商人の名前、商人の地理的位置、従業員情報など)、商人カテゴリ分類(MCC)、商人によって提供されるアイテム、商人によって使用されるハードウェア(例えば、デバイスタイプ)、商人に関連する取引データ(例えば、商人によって行われる取引、取引に関連する支払データ、取引に関連するアイテム、取引に関連するアイテムの説明、各取引のアイテム別支出および/または総支出、取引の当事者、日付、時間、および/または位置など)、商人に関連するローン情報(例えば、商人に行われた以前のローン、前記ローンの以前のデフォルトなど)、商人に関連するリスク情報(例えば、リスクのインディケーション、詐欺、チャージバック等のインスタンス)、アポイントメント情報(例えば、以前のアポイントメント、次の(スケジュールされた)アポイントメント、アポイントメントのタイミング、アポイントメントの長さ等)、給与情報(例えば、従業員、給与頻度、給与額等)、従業員情報、予約データ(例えば、以前の予約、次の(スケジュールされた)予約、そのような予約に関連する対話等)、在庫データ、顧客サービスデータ等、を記憶するか、または他の方法で関連付けることができる。商人プロファイルは、商人によって提供された銀行口座情報を安全に格納することができる。さらに、商人プロファイルは、サービスプロバイダ912によって台帳に維持される格納残高など、商人の格納残高にリンクされた支払手段に関連する支払情報を格納することができる。
顧客プロファイルは、顧客情報(例えば、名前、電話番号、住所、バンキング情報など)、顧客選好(例えば、学習済みまたは顧客指定)、購入履歴データ(例えば、1つまたは複数の購入アイテムを識別する)、1つまたは複数のアイテムを購入するために使用される支払手段(およびそれぞれのアイテム情報)、1つまたは複数の注文に関連する支払手段、1つまたは複数の注文のステータス(例えば、準備、梱包、輸送中、配達中など)、予約データ(例えば、以前の予約、次の(予定された)予約、予約のタイミング、予約の長さ、予約の長さなど)、給与データ(例えば、雇用者、給与支払頻度、給与支払額など)、予約データ(例えば、以前の予約、次の(予定された)予約、予約期間、そのような予約に関連する対話など)、在庫データ、カスタマーサービスデータ等を含むが、これらに限定されない顧客データを格納することができる。
さらに、少なくとも1つの例では、データストア1044は、在庫データベースおよび/またはカタログデータベースを格納することができる。上述のように、在庫は、商人が利用可能な各アイテム(品目)の数量に関連するデータを記憶することができる。さらに、カタログは、商人が取得に利用可能なアイテムに関連するデータを格納することができる。データストア1044は、本明細書で説明するように、追加のまたは代替のタイプのデータを記憶することができる。
図1および図9を参照して上述したように、例示的なシステム1000は、図1を参照して上述したプロキシサーバ118および/または図9を参照して上述したプロキシサーバ915に対応することができる、プロキシサーバ1046を含むことができる。
プロキシサーバ1046は、任意の数の方法で具体化することができる1つ以上のサーバまたは他のタイプのコンピューティングデバイスを含むことができる。例えば、サーバの例では、モジュール、他の機能構成要素、およびデータは単一のサーバ、サーバのクラスタ、サーバファームまたはデータセンタ、クラウドホストコンピューティングサービス、クラウドホストストレージサービスなどに実装することができるが、他のコンピュータアーキテクチャを追加的にまたは代替的に使用することもできる。上述したように、いくつかの例では、プロキシサーバ1046は、サーバ1004とは異なる州、国、または他の地理的地域に配置することができる。
さらに、図はプロキシサーバ1046の構成要素およびデータが単一の場所に存在することを示すが、これらの構成要素およびデータは、別の方法で、異なるコンピューティングデバイスおよび異なる場所に分散させることもできる。結果として、機能は1つ以上のサーバコンピューティングデバイスによって実現することができ、上述の様々な機能は、様々なコンピューティングデバイスにわたって様々な方法で分散される。複数のプロキシサーバ1046は、一緒にまたは別々に配置することができ、例えば、仮想サーバ、サーババンクおよび/またはサーバファームとして編成することができる。記述された機能は、単一の商人または企業のサーバによって提供されることができ、あるいは、複数の異なる顧客または企業のサーバおよび/またはサービスによって提供されることができる。
図示の例では、プロキシサーバ1046は、1つ以上のプロセッサ1048、1つ以上のコンピュータ可読媒体1050、1つ以上のI/Oデバイス1052、および1つ以上の通信インタフェース1054を含むことができる。各プロセッサ1048は、単一の処理ユニットまたは複数の処理ユニットとすることができ、単一または複数のコンピューティングユニットまたは複数の処理コアを含むことができる。プロセッサ1048は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、状態機械、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスとして実装することができる。例えば、(1つまたは複数の)プロセッサ1048は、本明細書で説明するアルゴリズムおよびプロセスを実行するように特にプログラムまたは構成された任意の適切なタイプの1つまたは複数のハードウェアプロセッサおよび/または論理回路とすることができる。プロセッサ1048は、コンピュータ可読媒体1050に記憶されたコンピュータ可読命令をフェッチして実行するように構成することができ、これは、プロセッサ1048をプログラムして本明細書に記載する機能を実行することができる。
コンピュータ可読媒体1050は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような、情報を記憶するための任意のタイプの技術で実施される揮発性および不揮発性メモリおよび/または取り外し可能および取り外し不可能媒体を含むことができる。このようなコンピュータ可読媒体1050は限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、光記憶、固体記憶、磁気テープ、磁気ディスク記憶システム、RAID記憶システム、記憶アレイ、ネットワーク接続型記憶装置、記憶ローカルエリアネットワーク、クラウド記憶装置、または所望の情報を記憶するために使用することができ、コンピューティングデバイスによってアクセスすることができる他の任意の媒体を含むことができる。プロキシサーバ1046の構成に応じて、コンピュータ可読媒体1050は一種のコンピュータ可読記憶媒体とすることができ、および/または、言及された場合、非一時的コンピュータ可読媒体は、エネルギー、搬送波信号、電磁波、および信号自体などの媒体を除外する限り、有形の非一時的媒体とすることができる。
コンピュータ可読媒体1050は、プロセッサ1048によって実行可能な任意の数の機能的構成要素を記憶するために使用することができる。多くの実施形態では、これらの機能構成要素は、プロセッサ1048によって実行可能な命令またはプログラムを含み、実行されると、サービスプロバイダ912および/または支払処理サービスに上記に帰属するアクションを実行するように1つ以上のプロセッサ1048を具体的に構成する。コンピュータ可読媒体1050に格納された機能構成要素は、任意選択で、通信アプリケーション1056と、1つまたは複数の追加または代替のモジュールおよびデータ1058とを含むことができる。通信アプリケーション1056は、図1を参照して上述した通信アプリケーション120に対応することができる。さらに、1つまたは複数の他のモジュールおよびデータ1058は、プログラム、ドライバなど、および機能構成要素によって使用または生成されるデータを含むことができる。さらに、プロキシサーバ1046は、多くの他の論理的、プログラム的、および物理的構成要素を含むことができ、そのうち、上述したものは、本明細書の説明に関連する単なる例である。
本明細書で参照される1つまたは複数の「モジュール」は、より多くのモジュールとして、またはより少ないモジュールとして実装することができ、モジュールについて記載された機能は、実装の詳細に応じて再分配することができる。本明細書で使用される「モジュール」という用語は、非一時的記憶媒体(例えば、コンピューティングデバイスのための揮発性または不揮発性メモリ)に格納されたソフトウェア、ハードウェア、またはファームウェア(またはそれらの任意の組合せ)モジュールを広く指す。モジュールは通常、指定された入力を使用して有用なデータまたは他の出力を生成することができるように機能する。モジュールは内蔵型であってもよいし、そうでなくてもよい。アプリケーションプログラム(「アプリケーション」とも呼ばれる)は、1つまたは複数のモジュールを含むことができ、または、モジュールは、ネットワークを介してアクセスすることができるか、またはデバイス上にソフトウェアとしてダウンロードすることができる1つまたは複数のアプリケーションプログラム(例えば、デバイスにアクションを実行させる実行可能コード)を含むことができる。アプリケーションプログラム(「アプリケーション」とも呼ばれる)は1つまたは複数のモジュールを含むことができ、モジュールは1つまたは複数のアプリケーションプログラムを含むことができる。追加のおよび/または代替の例では、モジュールは、命令を実行し、本明細書で説明される動作を実行するように本明細書で説明されるコンピューティングデバイスを構成するために、少なくとも1つの処理ユニットを介して、コンピュータ可読命令、様々なデータ構造などとして実装され得る。
いくつかの例では、モジュールは、その機能(例えば、動作)のいくつかまたはすべてを実行するために、1つまたは複数のアプリケーションプログラミングインタフェース(API)を含み得る。少なくとも1つの例では、ソフトウェア開発者キット(SDK)をサービスプロバイダによって提供して、サードパーティ開発者がサービスプロバイダ機能を含めること、および/または自身のサードパーティアプリケーションに関連してサービスプロバイダサービスを利用することを可能にすることができる。さらに、または代わりに、いくつかの例では、サービスプロバイダがSDKを利用して、サードパーティサービスプロバイダ機能をそのアプリケーションに統合することができる。つまり、API またはSDK を使用すると、サードパーティ開発者は、それぞれのサードパーティアプリケーションがサービスプロバイダとやり取りする方法(またはその逆) をカスタマイズできる。
コンピュータ可読媒体1030は、プロキシサーバ1060の様々な機能を制御および管理するためのオペレーティングシステム1042を追加的に含むことができる。
プロキシサーバ1046は、各種I/Oデバイス1052をさらに備えることができる。そのようなI/Oデバイス1052は、ディスプレイ、様々なUI制御、ボタン、ジョイスティック、キーボード、マウス、タッチスクリーン、バイオメトリックまたは感覚入力デバイスなど)、オーディオスピーカ、接続ポートなどを含むことができる。
通信インタフェース1054は、ネットワーク1006を介して、または直接的に、他の様々なデバイスとの通信を可能にするために、1つ以上のインタフェースおよびハードウェア構成要素を含むことができる。例えば、通信インタフェース1054は、1つ以上のネットワーク1006を通して通信を可能にすることができ、これは、当技術分野で公知の、インターネットのようなローカルエリアネットワークまたはワイドエリアネットワークのような任意のタイプのネットワークを含むことができ、セルラネットワーク、Wi−Fiおよび/または近距離無線通信のようなローカル無線ネットワーク、例えば、Bluetooth(登録商標)、BLE、NFC、RFID、有線ネットワーク、またはこれらの任意の組合せのような無線ネットワークを含むことができる。従って、ネットワーク1006は、Bluetooth(登録商標)、BLE、Wi−Fi及びセルラ通信技術並びに有線又は光ファイバ技術を含む有線及び/又は無線通信技術の双方を含むことができる。そのような通信に使用される構成要素は、ネットワークのタイプ、選択された環境、またはその両方に少なくとも部分的に依存することができる。このようなネットワークを介して通信するためのプロトコルは周知であり、本明細書では詳細に説明しない。
「いくつかの例において」、「様々な例に従って」、「示された例において」、「一例において」、「他の例において」、「様々な例」、「いくつかの例」などの語句は一般に、語句に続く特定の特徴、構造、または特性を意味し、本発明の少なくとも1つの例に含まれ、本発明の2つ以上の例に含まれてもよい。さらに、そのような語句は、必ずしも同じ例または異なる例を指すものではない。
明細書に、構成要素又は特性が「含むことができる」、又は「含み得る」又は「特性を有するかもしれない」と記載されている場合には、その特定の構成要素又は特性が含まれること又は特性を有することは要求されない。
さらに、前述の説明は、支払技術に関連するデバイスおよびアプリケーションを対象とする。しかしながら、本技術は、任意のデバイスおよびアプリケーションに拡張することができることが理解されるのであろう。さらに、本明細書で説明する技法は、支払オブジェクトリーダ、POS端末、ウェブアプリケーション、モバイルアプリケーション、POSトポロジ、支払カード、コンピュータネットワーク、および環境の種類に関係なく動作するように構成することができる。
本明細書に含まれる様々な図は、本明細書で説明される技法を含む例示的な方法を示すフローチャートである。
さらに、上述の方法は、ハードウェア、ソフトウェア、またはそれらの組合せで実装され得る動作のシーケンスを表す、論理フローグラフ内のブロックの集合として示される。ソフトウェアのコンテキストでは、ブロックがプロセッサによって実行されるときに、記載された動作を実行する、1つ以上のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含み、特定の機能を実行したり、特定の抽象データ型を実装したりする。動作が説明される順序は限定として解釈されることを意図されておらず、任意の数の説明されたブロックは、プロセスを実装するために任意の順序および/または並列に組み合わされ得る。いくつかの実施形態では、プロセスの1つまたは複数のブロックを完全に省略することができる。さらに、これらの方法は全体的または部分的に、互いに、または他の方法と組み合わせることができる。
例示句
A:支払処理サービスに関連付けられた商人の商人デバイスにおいて、前記商人と顧客との間の取引のインディケーションを受信することであって、前記顧客は取引の支払いを満たすために電子マネー(eマネー)支払カードを提示する、前記受信することと、
前記商人デバイスから、前記支払処理サービスに関連するプロキシサーバコンピューティングデバイスを介して、前記取引のインディケーションをサードパーティ支払プロセッサに送信することと、
前記商人デバイスにおいて、前記プロキシサーバコンピューティングデバイスを介して前記サードパーティ支払プロセッサから、前記電子マネー支払カードから支払データを読み取る準備をするために前記商人デバイスに関連付けられたリーダデバイスに対する命令を受信することであって、前記電子マネー支払カードは電子マネー残高に関連付けられ、前記商人デバイスは前記命令を前記リーダデバイスに送信する、前記受信することと、
前記商人デバイスにおいて、前記電子マネー支払カードと前記リーダデバイスとの間の対話を介して、前記電子マネー支払カードに関連付けられた前記支払データを受信することと、
前記商人デバイスによって、(i)前記取引のコストについて前記電子マネー支払カードを承認するために前記プロキシサーバコンピューティングデバイスを介して前記サードパーティ支払プロセッサへ第1の要求が送信されるようにし、(ii)前記取引を記録するために前記支払処理サービスに関連付けられた前記サーバコンピューティングデバイスへ第2の要求が送信されるようにすることと、
前記商人デバイスにおいて、前記第1の要求をサードパーティ支払プロセッサへ送信させることに応答して、前記支払データが、前記プロキシサーバコンピューティングデバイスを介して前記サードパーティ支払プロセッサから前記取引の前記コストについて承認されるという第1の応答を受信することと、
前記商人デバイスによって、新しい電子マネー残高が前記電子マネー支払カードに書き込まれるようにすることと、
前記商人デバイスにおいて、前記第2の要求を前記サーバコンピューティングデバイスへ送信させることに応答して、前記取引が前記プロキシサーバコンピューティングデバイスを介して前記サーバコンピューティングデバイスからの支払処理サービスによって記録されたという第2の応答を受信することと、
前記取引が完了したことを示すUI、および前記電子マネー支払カードに関連付けられた前記新しい電子マネー残高を、前記商人デバイスに関連付けられた表示部を介して提示することと、
を含む方法。
B:前記第2の要求は、前記商人に関連付けられた識別子、前記顧客に関連付けられた識別子、前記取引の総コスト、または前記取引に関連付けられた1つまたは複数のアイテムのうちの少なくとも1つに関連付けられる、句Aに記載の方法。
C:少なくとも部分的に、前記新しい電子マネー残高を前記電子マネー支払カードに書き込ませることに基づいて、前記プロキシサーバコンピューティングデバイスを介して前記サードパーティ支払プロセッサへ書込み確認を送信することをさらに含む、句A又はBに記載の方法。
D:前記商人デバイスが前記プロキシサーバコンピューティングデバイスを介して前記サードパーティ支払プロセッサへ前記取引の前記インディケーションを送信することに応答して、前記プロキシサーバコンピューティングデバイスは、前記商人デバイスと前記サードパーティ支払プロセッサとの間の後続の通信を追跡するために前記取引に識別子を関連付ける、句A乃至Cの何れかに記載の方法。
E:商人デバイスであって、
1以上のプロセッサと、
前記1以上のプロセッサによって実行されると、前記商人デバイスに、
商人と顧客との間の取引のインディケーションを受信することであって、前記顧客は、前記取引に関連付けられた1以上のアイテムのコストの少なくとも一部に対する支払いを満たすために電子マネー(eマネー)残高に関連付けられた支払手段を提示する、前記受信することと、
前記取引の前記インディケーションをサードパーティ支払プロセッサへ送信することと、
前記サードパーティ支払プロセッサから、前記支払手段と前記商人デバイスに関連付けられたリーダデバイスとの間の対話に関連付けられた命令を受信することと、
前記リーダデバイスを介して、前記支払手段に関連付けられた支払データを受信することと、
(i)前記サードパーティ支払プロセッサへ第1の要求を送信し、(ii)少なくとも前記商人に代わって取引を処理する支払処理サービスに関連付けられたサーバコンピューティングデバイスへ第2の要求を送信することと、
前記第1の要求を送信することに応答して、前記支払データが支払いについて承認されていることを示す第1の応答を前記サードパーティ支払プロセッサから受信することと、
前記新しい電子マネー残高を前記支払手段に関連付けさせることと、
前記第2の要求に対する第2の応答を受信することであって、前記第2の応答は、前記取引が前記支払処理サービスによって記録されたことを示す、前記受信することと、
商取引に関連付けられた情報を、前記商人デバイスに関連付けられた表示部を介して提示することと、
を含む動作を実行させる命令を格納する1以上の非一時的コンピュータ可読媒体と、
を備える、商人デバイス。
F:前記リーダデバイスは、Bluetooth(登録商標)または近距離無線通信(NFC)ネットワークを介して前記商人デバイスと通信可能に結合される、句Eに記載の商人デバイス。
G:前記リーダデバイスは、前記商人デバイスと一体化されている、句E又はFに記載の商人デバイス。
H:前記リーダデバイスは、有線接続を介して前記商人デバイスに結合される、句E乃至Gの何れかに記載の商人デバイス。
I:新しい電子マネー残高を前記支払手段に関連付けさせることに少なくとも部分的に基づいて、前記サードパーティ支払プロセッサへ確認を送信することをさらに含み、前記第2の応答は、前記サードパーティ支払プロセッサへ前記確認を送信することに少なくとも部分的に基づいて受信される、句E乃至Hの何れかに記載の商人デバイス。
J:前記動作は、(i)第1の要求を前記サードパーティ支払プロセッサへ送信し、(ii)第2の要求を前記支払処理サービスに関連付けられたサーバコンピューティングデバイスへ送信する前に、
前記第1の要求および前記第2の要求のデータパケットサイズを圧縮することと、
前記圧縮することに少なくとも部分的に基づいて、前記第1の要求および前記第2の要求を暗号化することと、
をさらに含む、句E乃至Iの何れかに記載の商人デバイス。
K:1つ以上のプロセッサによって実行される場合に、前記1つ以上のプロセッサに、
支払処理サービスに関連付けられた商人の商人デバイスにおいて、サードパーティ支払プロセッサから、顧客に関連付けられた支払手段と前記商人デバイスに関連付けられたリーダデバイスとの間の対話に関連付けられた命令を受信することであって、前記支払手段は電子マネー(eマネー)残高に関連付けられる、前記受信することと、
前記商人デバイスにおいて、前記リーダデバイスを介して、前記支払手段に関連付けられた支払データを受信することと、
前記商人と前記顧客との間の取引のための電子マネー支払いを処理するために、前記商人デバイスによって、前記サードパーティ支払プロセッサと、前記支払処理サービスに関連付けられた1以上のサーバコンピューティングデバイスとへ通信を送信することと、
を含む動作を実行させる命令を格納する1つ以上の非一時的コンピュータ可読媒体。
L:前記通信のうちの少なくとも1つは、前記支払処理サービスに関連付けられた1以上のプロキシサーバコンピューティングデバイスを介して送信される、句Kに記載の非一時的コンピュータ可読媒体。
M:前記動作は、前記サードパーティ支払プロセッサから前記命令を受信する前に、
前記商人デバイスにおいて、前記取引のインディケーションを受信することと、
前記取引を開始するために前記サードパーティ支払プロセッサへ前記取引の前記インディケーションを、前記商人デバイスから送信することと、
をさらに含む、句K又はLに記載の非一時的コンピュータ可読媒体。
N:前記サードパーティ支払プロセッサおよび前記1以上のサーバコンピューティングデバイスへ前記通信を送信することは、
前記サードパーティ支払プロセッサへ第1の要求を、前記商人デバイスによって送信することと、
前記商人デバイスにおいて、前記第1の要求の送信に応答して、前記支払データが前記サードパーティ支払プロセッサから前記取引のコストに対して承認されるかどうかを示す第1の応答を受信することと、
を含む、句K乃至Mの何れかに記載の非一時的コンピュータ可読媒体。
O:前記通信を前記サードパーティ支払プロセッサおよび前記1以上のサーバコンピューティングデバイスへ送信することは、
前記商人デバイスによって、前記1以上のサーバコンピューティングデバイスへ第2の要求を送信することと、
前記商人デバイスにおいて、前記第2の要求の送信に応答して、前記取引が前記支払処理サービスによって記録されたという第2の応答を受信することと、を含み、
前記第2の応答は、前記支払データが前記サードパーティ支払プロセッサによって承認されることを示す前記第1の応答に少なくとも部分的に基づいて受信される、句Nに記載の非一時的コンピュータ可読媒体。
P:前記第1の応答は、前記支払データが前記取引の前記コストに対して承認されることを示し、前記動作は、
前記商人デバイスによって、新しい電子マネー残高が前記支払手段に関連付けられるようにすることと、
前記第2の応答の受信に応答して前記取引が完了したというインディケーションを、前記商人デバイスに関連付けられた表示部を介して、提示することと、
をさらに含み、
前記インディケーションは前記新しい電子マネー残高を含む、句Oに記載の非一時的コンピュータ可読媒体。
Q:前記第1の応答は、前記支払データが前記サードパーティ支払プロセッサによって承認されていることを示し、前記動作は、
前記商人デバイスにおいて、新しい電子マネー残高を前記支払手段に関連付けるための第1の命令を受信することと、
前記新たな電子マネー残高が前記支払手段に関連付けられたことを前記サードパーティ支払プロセッサに通知することの失敗に応答して、前記支払手段と前記リーダデバイスとの間の別の対話を引き起こして、前記支払手段の現在の電子マネー残高を判定するように前記顧客に促すことと、
をさらに含む、句O又はPに記載の非一時的コンピュータ可読媒体。
R:前記動作は、
前記現在の電子マネー残高が前記新しい電子マネー残高と一致することを判定することと、
前記電子マネーの支払いが成功したことを確認するインディケーションを、前記商人デバイスに関連付けられた表示部を介して提示することと、
をさらに含む、句Qに記載の非一時的コンピュータ可読媒体。
S:前記動作は、
前記現在の電子マネー残高が前記新しい電子マネー残高と一致しないことを判定することと、
前記商人デバイスに関連付けられた表示部を介して、前記電子マネーの支払いが失敗したことのインディケーションを提示することと、
をさらに含み、前記インディケーションは、前記商人に、前記取引のための支払いを再処理するように促す、句Q又はRに記載の非一時的コンピュータ可読媒体。
T:前記現在の残高が取得されない場合、前記動作は、前記商人デバイスに関連付けられた表示部を介して、前記商人デバイスまたは前記リーダデバイスのうちの少なくとも1つに関連付けられた是正アクションを実行するための、および、前記支払手段の前記現在の残高を判定するために前記支払手段と前記リーダデバイスとの間の別の対話を引き起こすためのインディケーションを提示することをさらに含む、句Q乃至Sの何れかに記載の非一時的コンピュータ可読媒体。