端末と Google ウォレット アプリの間の通信
端末は、 コレクタ ID クーポン発行者 ID にマッピングされている。スマートタップが発生すると、 はそのコレクタ ID をユーザーのデバイスに送信します。Google ウォレットアプリでは 保存された各パスのクラス ID とコレクタ ID を調べます。1 つ以上の 一致するパスが見つかると、Google ウォレット アプリは一致するパスを 終端します。詳しくは、 販売者の構成 をご覧ください。
例 1: 1 つのクーポン発行者
上の図では、2 つの異なる発行者があります。
- 発行者
2018
はパスのデベロッパー(アグリゲータ)です。 - 発行者
1990
は fooPizza という販売者です(「クーポン発行者」とも呼ばれます)
クーポン発行者である fooPizza は、 (アグリゲータが管理)。アグリゲータおよびクーポン発行者 販売者のスマートタップを有効にするには、次の手順を完了する必要があります 端子。
ステップ | ロール | 説明 |
---|---|---|
1 | 情報集約サイト | パスクラスとオブジェクトを作成する(図中の abc )
(それぞれ 123 )です。 |
2 | 情報集約サイト | クーポン発行者の ID を
パスクラスの redemptionIssuers プロパティ。この
発行者 ID 1990 が許可されていることを Google ウォレットに伝えます
このクラスを参照するパス オブジェクトを利用します。 |
3 | 利用 発行元 | コレクタ ID(図の 12345678 )を取得します。
|
4 | 利用 発行元 | 各スマートタップにコレクタ ID 12345678 を設定する
使用するデバイスを決めますDeployment が
クラス ID abc とコレクタ ID 12345678 は次のようになります
伝えられます。 |
例 2: 複数のクーポン発行者
1 つのパスクラスに複数のクーポン発行者を指定できます。これを可能にするには
利用する場合は、クーポン発行者の ID を
クラスの redemptionIssuers
プロパティ。各クーポン発行者は、
独自のコレクタ ID。これはスマートタップ対応端末で構成されます。
上の図では、3 つの異なる発行者があります。
- 発行者
8088
はパスのデベロッパー(アグリゲータ)です - 発行者
1990
は販売者、fooPizza(クーポン発行者)です - 発行者
2018
は販売者 yumPie(クーポン発行者)です
アグリゲータとクーポン発行者は、以下の手順を完了する必要があります。 販売者の端末でスマートタップを有効にする。
ステップ | ロール | 説明 |
---|---|---|
1 | 情報集約サイト | パスクラスとオブジェクトを作成する(図中の abc )
(それぞれ 123 )です。 |
2 | 情報集約サイト | クーポン発行者の
パスクラスの redemptionIssuers プロパティ。この
発行元 ID が 1990 であり、
2018 は、このリソースを参照するパス オブジェクトを
使用します。 |
3 | 利用 発行元 | コレクタ ID(図中の 12345678 )を取得します。
fooPizza と yumPie の 18802001 )。 |
4 | 利用 発行元 | 各スマートタップに対応するコレクタ ID を設定する
使用するデバイスを決めますDeployment が
クラス ID abc と、一致するコレクタ ID が作成されます
伝えられます。 |
例 3: アグリゲータなし
パスクラスは、同じ発行者アカウント内で開発、発行できます。この
複数のクーポン利用パスクラスを管理するアグリゲータが存在しない場合
発行元。特定のパスクラスを利用できるようにするには、
クラスの redemptionIssuers
プロパティに発行者 ID を含める必要があります。
次に、パスのデベロッパーはコレクタ ID を取得して、コレクタ ID で構成する必要があります。
スマートタップ対応端末。
パスのデベロッパーは、 やり取りできます
ステップ | ロール | 説明 |
---|---|---|
1 | 合格 デベロッパー | パスクラスとオブジェクトを作成する(図中の abc )
(それぞれ 123 )です。 |
2 | 合格 デベロッパー | redemptionIssuers に発行者 ID を含めます。
プロパティを使用します。Google ウォレットに指示する
発行元 ID 2018 でパスを利用できることを通知します
オブジェクトを宣言します。 |
3 | 合格 デベロッパー | コレクタ ID(図の 12345678 )を取得します。
|
4 | 合格 デベロッパー | 各スマートタップに対応するコレクタ ID を設定する
使用するデバイスを決めますDeployment が
クラス ID abc と、一致するコレクタ ID が作成されます
伝えられます。 |
ユーザー エクスペリエンスと動作
端末と Google ウォレット アプリの間で送信されるデータの動作 ユーザーと、Google ウォレット アプリを できます。
シナリオ 1: ユーザーが特定のパスを開く
ステップ | ロール | 説明 |
---|---|---|
1 | ユーザー | Google ウォレット アプリで特定のパスを選択します。 |
2 | ユーザー | スマートタップ対応端末をタップします。 |
3 個 | ターミナル | (コレクタ ID が一致)の場合、パスは VPC ネットワーク内の
終端します。 (コレクタ ID が一致しません)パスが一致しません 情報が含まれています。 |
シナリオ 2: Google ウォレットのホームタブまたはロック解除された画面の表示
ステップ | ロール | 説明 |
---|---|---|
1 | ユーザー | Google ウォレット アプリで [ホーム] タブを開くか、ロックを解除します クリックします。 |
2 | ユーザー | スマートタップ対応端末をタップします。 |
3 個 | ターミナル | (単一の有効なコレクタ ID の一致)パスは、
情報が含まれています。
(複数の有効なコレクタ ID が一致した場合)カルーセルを表示する 有効なパスのリストを表示し、API によって選択されたパスを できます。 |
注: パスの有効性は、パスの具体的な構成によって異なる 渡されます。次のパス オブジェクトのプロパティを必ず確認してください。
state
validTimeInterval
スマートタップの収集の例
次の表に、この API で使用される発行元とパスを示します。 例:
販売者名 | ILuvCoffee | コーヒーフー | Mocha-R-Us |
---|---|---|---|
クーポン発行者 ID | 123 |
456 |
789 |
コレクタ ID | 11111111 |
44444444 |
77777777 |
ロイヤリティ レベル | R ベーシック | 特典 | |
R-Gold |
ILuvCoffee には、R-Basic と R-Gold の 2 種類のポイントがあります。当面は、 Coffee-Foo には、My Rewards という 1 つのポイント プログラムがあり、 Mocha-R-Us にはポイント プログラムがありません。
相互プロモーション キャンペーンの一環として、販売者は 次のオプションが用意されています。
- R-Basic ティアのお客様は、スマートタップを使用してポイントを利用できます Coffee-Foo と Mocha-R-Us の両方のメンバーシップ
- R-Gold ティアのお客様はスマートタップの利用が不要
- 特典プログラムのお客様は、スマートタップを使用してポイント メンバーシップを利用できます Coffee-Foo 限定
このキャンペーンを機能させるには、各ポイントクラスに次の値を設定する必要があります
クラス定義の redemptionIssuers
プロパティで設定します。
ポイントクラス | クーポン発行者 ID |
---|---|
R ベーシック | ["456", "789"] |
R-Gold | [] |
特典 | ["456"] |
この構成では、これらのクラスを参照するすべてのパス オブジェクトに 次のコレクタ ID が必要です。
- R-Basic:
44444444
、77777777
- R-Gold: コレクタ ID は含まれません。
- 特典:
44444444
タップ時のコレクタの認証
一部として Issuer configuration、 カード発行会社のアカウントには複数の公開鍵が関連付けられていることがあります。これらの一般公開の 鍵は Google ウォレット アプリに保存され、認証に使用 ユーザーがスマートタップ対応端末でデバイスをタップしたとき。この 発行されたパス オブジェクトをアプリが検出した後に、認証ステップが行われる がアドバタイズされている値と一致するコレクタ ID を持つユーザーに 終端します。
前のセクションの例を続けます。次の表では、 公開鍵証明書を使用して識別されます。
販売者名 | ILuvCoffee | コーヒーフー | Mocha-R-Us |
---|---|---|---|
クーポン発行者 ID | 123 |
456 |
789 |
コレクタ ID | 11111111 |
44444444 |
77777777 |
ロイヤリティ レベル | R ベーシック | 特典 | |
R-Gold | |||
公開鍵 | aaa | bbb |
お客様の例で、Google ウォレットに以下のポイントカードが保存されています。 app:
- ILuvCoffee: R-Basic
- Coffee-Foo: 特典
以前と同様に、次の値が redemptionIssuers
プロパティ
記録します
- R-Basic:
["456", "789"]
- 特典:
["456"]
ユーザーが各販売者の端末でデバイスをタップすると、次の 3 つが表示されます。 起こりうる結果:
販売者の端末 | 結果 |
---|---|
ILuvCoffee | ILuvCoffee(クーポン発行者 ID 123 )は
独自のポイントクラスを利用するように設定されている
R-Basic: 何も送信されません。 |
コーヒーフー | Google ウォレット アプリが Coffee-Foo に対して認証を行う
bbb 公開鍵でターミナルを作成します。影響
ユーザーがデバイスで閲覧している現在の画面、
シナリオに沿って
ユーザー エクスペリエンスのセクション
発生します。 |
Mocha-R-Us | この例では、Mocha-R-Us の公開鍵はありません。 R-Basic プログラムは 決済端末への認証ができないため、 何も送信されません。 |
認証の上限
パスがユーザーの Google ウォレット アプリに同期されると、 Google ウォレットのバックエンドから検索されます。コレクタ ID、公開 鍵、各クーポン発行者の鍵バージョンは、 Google ウォレット アプリ。
1 つのパスに複数のクーポン発行者 ID を設定できます。それぞれが特定のリソースにマッピング 特定の販売者のコレクタ ID。さらに、多数のパブリック クラウド プロバイダの 1 つのコレクタ ID 用に複数の鍵と鍵バージョンを作成できます。
次のような場合、Google ウォレット アプリは端末での認証を試行しません。 には、そのターミナルで利用できるパスがありません。これは次の要素に基づいています コレクタ ID と公開鍵のバージョンが含まれます。パスの公開鍵を更新するには、次のようにします。 新しい鍵を取得するには、端末がインターネットに接続している Google ウォレットのバックエンドから公開鍵を取得できます。
1 つのパスに、一度に多数の公開鍵を関連付けることができます。詳しくは、 販売者の構成 をご覧ください。
タップ時の値の送信
タップ時にパスからデータを送信するには、パス オブジェクトの
smartTapRedemptionValue
を設定する必要があります。対応するクラスが
オブジェクトがスマートタップに対して有効の場合、この値はターミナルに送信されます。
統合とユースケースに基づいて、この値を使用して ユーザーが渡され、次のような必要なトランザクション ロジックが実行されます。
- お客様の残高またはステータスを更新する
- トランザクションに基づいて独自のバックエンドを更新する
- Google Wallet API を使用してパス オブジェクトの更新を発行し、 デバイス上のユーザーのステータス変更が反映されます
端末と Google ウォレット アプリがすべてのデータの暗号化を処理する
NFC を介して送信されます。復号化されたデータは、その後に
タップが行われる。データ内には、サービス オブジェクトの NDEF レコードが
送信されたパスを表します。サービス オブジェクトの
Service number NDEF Record
には、
パス オブジェクトの smartTapRedemptionValue
プロパティ。つまり、パスは
デベロッパーは送信データの暗号化を処理する必要がありません。
セキュリティをさらに強化したい場合は、
smartTapRedemptionValue
プロパティを使用して、
(POS など)で復号できます。ただし、
デベロッパーと POS 管理者は
暗号化/復号化プロセスです