Smart-Bonus-Kommunikationsablauf

Kommunikation zwischen einem Terminal und der Google Wallet App

Ein Terminal identifiziert sich mit einem Collector-ID das einer Einlösungsaussteller-ID zugeordnet ist. Bei einem Smart-Bonus wird das Terminal sendet seine Collector-ID an das Gerät des Nutzers. In der Google Wallet App prüft die Klassen-ID und die Collector-ID jeder gespeicherten Karte bzw. jedes gespeicherten Tickets. Wenn mindestens gefunden werden, sendet die Google Wallet App die entsprechenden Karten/Tickets an den . Weitere Informationen finden Sie unter Händlerkonfiguration .

Beispiel 1: Einzelner Einlösungsaussteller

Der folgende Abschnitt beschreibt die in dieser Grafik beschriebene Einrichtung.

Im obigen Diagramm gibt es zwei verschiedene Aussteller:

  • Der Aussteller 2018 ist ein Karten-/Ticketentwickler (auch Aggregator genannt)
  • Der Aussteller 1990 ist ein Händler, fooPizza, (auch als Einlösungsaussteller bezeichnet)

Der Einlösungsaussteller fooPizza möchte die Smart-Bonus-Funktion für die Karte / das Ticket (vom Aggregator verwaltet). Aggregator und Einlösungsaussteller müssen die folgenden Schritte ausführen, um Smart-Bonus für den Händler zu aktivieren Terminals.

Schritt Rolle Beschreibung
1 Dienstleister Karten-/Ticketklasse und -objekt erstellen (im Diagramm abc) und 123).
2 Dienstleister Geben Sie die ID des Einlösungsausstellers in die redemptionIssuers-Attribut der Karten-/Ticketklasse. Dieses teilt Google Wallet mit, dass die Aussteller-ID 1990 zulässig ist um Karten-/Ticketobjekte einzulösen, die auf diese Klasse verweisen.
3 Einlösung Aussteller Ruft eine Collector-ID ab (im Diagramm 12345678).
4 Einlösung Aussteller Collector-ID 12345678 für jeden Smart-Bonus festlegen Terminal, das verwendet wird. Jedes Objekt mit dem Die Klassen-ID abc und die Collector-ID 12345678 werden zu vermitteln.

Beispiel 2: Mehrere Einlösungsaussteller

Eine einzelne Karten-/Ticketklasse kann mehrere Einlösungsaussteller haben. Um eine bestimmte Karten-/Ticketklasse einlösen, muss die Einlösungsaussteller-ID im Eigenschaft redemptionIssuers der Klasse. Jeder Einlösungsaussteller hat dann seine eigene Collector-ID, die auf ihren Smart-Bonus-fähigen Terminals konfiguriert ist.

Der folgende Abschnitt beschreibt die in dieser Grafik beschriebene Einrichtung.

Im obigen Diagramm gibt es drei verschiedene Aussteller:

  • Der Aussteller 8088 ist ein Karten-/Ticketentwickler (Aggregator)
  • Aussteller 1990 ist ein Händler, fooPizza (Einlösungsaussteller)
  • Aussteller 2018 ist ein Händler, yumPie (Einlösungsaussteller)

Der Aggregator und der Einlösungsaussteller müssen die folgenden Schritte ausführen, um Smart-Bonus für die Händlerterminals aktivieren

Schritt Rolle Beschreibung
1 Dienstleister Karten-/Ticketklasse und -objekt erstellen (im Diagramm abc) und 123).
2 Dienstleister Einlösungsaussteller einschließen IDs in den redemptionIssuers-Attribut der Karten-/Ticketklasse. Dieses wird Google Wallet mitgeteilt, dass die Aussteller-IDs 1990 und 2018 dürfen Karten-/Ticketobjekte einlösen, auf die verwiesen wird diesem Kurs.
3 Einlösung Aussteller Collector-IDs abrufen (im Diagramm 12345678 für fooPizza und 18802001 für yumPie).
4 Einlösung Aussteller Entsprechende Collector-ID für jeden Smart-Bonus festlegen Terminal, das verwendet wird. Jedes Objekt mit dem Die Klassen-ID abc und eine übereinstimmende Collector-ID werden zu vermitteln.

Beispiel 3: Kein Aggregator

Eine Karten-/Ticketklasse kann innerhalb desselben Ausstellerkontos entwickelt und ausgestellt werden. In dieser gibt es keinen Aggregator, der Karten-/Ticketklassen für mehrere Einlösungen verwaltet. Aussteller. Um eine bestimmte Karten-/Ticketklasse einlösen zu können, muss der Karten-/Ticketentwickler muss im Attribut redemptionIssuers der Klasse die Aussteller-ID angeben. Der Karten-/Ticketentwickler muss dann eine Collector-ID abrufen und diese auf seinem Smart-Bonus-fähige Terminals.

Der folgende Abschnitt beschreibt die in dieser Grafik beschriebene Einrichtung.

Der Karten-/Ticketentwickler muss die folgenden Schritte ausführen, um Smart-Bonus für die Händlerterminals.

Schritt Rolle Beschreibung
1 Bestanden Entwickler*in Karten-/Ticketklasse und -objekt erstellen (im Diagramm abc) und 123).
2 Bestanden Entwickler*in Geben Sie die Aussteller-ID in die redemptionIssuers ein der Karten-/Ticketklasse. Dadurch wird Google Wallet mitgeteilt, Die Aussteller-ID 2018 darf die Karte bzw. das Ticket einlösen. -Objekte, die auf diese Klasse verweisen.
3 Bestanden Entwickler*in Ruft eine Collector-ID ab (im Diagramm 12345678).
4 Bestanden Entwickler*in Entsprechende Collector-ID für jeden Smart-Bonus festlegen Terminal, das verwendet wird. Jedes Objekt mit dem Die Klassen-ID abc und eine übereinstimmende Collector-ID werden zu vermitteln.

Nutzererfahrung und -verhalten

Das Verhalten der Daten, die zwischen einem Terminal und der Google Wallet App übertragen werden hängt vom Nutzer und davon ab, wie er mit der Google Wallet App unter .

Szenario 1: Der Nutzer öffnet eine bestimmte Karte bzw. ein bestimmtes Ticket

Schritt Rolle Beschreibung
1 Nutzer Wählen Sie in der Google Wallet App eine bestimmte Karte bzw. ein bestimmtes Ticket aus.
2 Nutzer Tippen Sie auf ein Smart-Bonus-fähiges Terminal.
3 Terminal (Collector-ID stimmt überein) Die Karte / das Ticket wird an den .
(Collector-ID stimmt nicht überein) Die Karte / das Ticket ist nicht an das Terminal übertragen werden.

Szenario 2: Google Wallet-Tab „Startseite“ oder entsperrter Bildschirmaufruf

Schritt Rolle Beschreibung
1 Nutzer Öffne den Tab „Startseite“ in der Google Wallet App oder entsperre auf dem Bildschirm des Geräts.
2 Nutzer Tippen Sie auf ein Smart-Bonus-fähiges Terminal.
3 Terminal (Einzelne gültige Collector-ID stimmt überein) Die Karte bzw. das Ticket ist an das Terminal übertragen werden.
(Mehrere gültige Collector-IDs stimmen überein) Karussell anzeigen gültiger Karten/Tickets an und übertragen die vom Nutzer.

Hinweis: Die Gültigkeit einer Karte / eines Tickets hängt von der spezifischen Konfiguration der Karte / des Tickets ab -Objekt enthält. Prüfe die folgenden Eigenschaften des Karten-/Ticketobjekts:

  • state
  • validTimeInterval

Beispiel für die Smart-Bonus-Sammlung

In der folgenden Tabelle werden die Aussteller und Karten/Tickets beschrieben, die in diesem Beispiel:

Händlername ILuvCoffee Kaffee-Foo Mocha-R-Us
Aussteller-ID 123 456 789
Collector-ID 11111111 44444444 77777777
Stufen des Treuepunkteprogramms R-Basic Meine Prämien
R-Gold

ILuvCoffee hat zwei verschiedene Treuestufen: R-Basic und R-Gold. In der Zwischenzeit Coffee-Foo hat ein Treuepunkteprogramm mit einer einzigen Stufe, My Rewards, und Mocha-R-Us hat kein Treuepunkteprogramm.

Im Rahmen einer Cross-Promotion-Kampagne sollen die Händler die folgenden Optionen zur Verfügung:

  • Kunden der R-Basic-Stufe können Smart-Bonus verwenden, um ihre Treue einzulösen. Mitgliedschaft bei Coffee-Foo und Mocha-R-Us
  • Kunden der R-Gold-Stufe benötigen keine Smart-Bonus-Einlösung
  • My Rewards-Kunden können Smart-Bonus nutzen, um ihre Treuepunkteprogramm-Mitgliedschaft einzulösen. nur bei Coffee-Foo

Damit diese Kampagne funktioniert, sind für jede Treueklasse die folgenden Werte erforderlich im Attribut redemptionIssuers der Klassendefinition festgelegt.

Treueklasse Einlösungsaussteller-IDs
R-Basic ["456", "789"]
R-Gold []
Meine Prämien ["456"]

Mit dieser Konfiguration haben alle Karten-/Ticketobjekte, die auf diese Klassen verweisen, folgende Collector-IDs:

  • R-Basic:44444444, 77777777
  • R-Gold:Es werden keine Collector-IDs angegeben.
  • Meine Prämien: 44444444

Collector-Authentifizierung beim Anlegen des Geräts

Im Rahmen des Ausstellerkonfiguration, ein Mit dem Ausstellerkonto können mehrere öffentliche Schlüssel verknüpft sein. Diese öffentlichen Die Schlüssel werden in der Google Wallet App gespeichert, die sie zur Authentifizierung nutzt Ein Nutzer hält sein Gerät an ein Smart-Bonus-fähiges Terminal. Dieses Authentifizierungsschritt findet statt, nachdem die App ein Karten-/Ticketobjekt gefunden hat mit einer Collector-ID, die mit dem Wert übereinstimmt, der vom .

Ausgehend vom Beispiel im vorherigen Abschnitt wird in der folgenden Tabelle öffentliche Schlüssel, die mit jedem Aussteller verknüpft sind.

Händlername ILuvCoffee Kaffee-Foo Mocha-R-Us
Aussteller-ID 123 456 789
Collector-ID 11111111 44444444 77777777
Stufen des Treuepunkteprogramms R-Basic Meine Prämien
R-Gold
Öffentliche Schlüssel aaa bbb

Ein Beispielkunde hat die folgenden Kundenkarten in seinem Google Wallet-Konto gespeichert App:

  • ILuvCoffee:R-Basic
  • Coffee-Foo: Meine Prämien

Wie zuvor werden die folgenden Werte im Attribut redemptionIssuers für für jede Treueklasse.

  • R-Basic:["456", "789"]
  • Meine Prämien: ["456"]

Wenn der Nutzer sein Gerät an das Terminal eines Händlers hält, sind drei mögliche Ergebnisse:

Händlerterminal Ergebnis
ILuvCoffee Da ILuvCoffee (Einlösungsaussteller-ID 123) nicht derzeit zum Einlösen einer eigenen Treueklasse konfiguriert ist, R-Basic wird nichts übertragen.
Kaffee-Foo Die Google Wallet App authentifiziert sich beim CoffeeFoo mit dem öffentlichen Schlüssel bbb. Je nach den aktuellen Bildschirm, den der Nutzer auf seinem Gerät sieht, der Szenarien aus den Bereich Nutzererfahrung erfolgt.
Mocha-R-Us In diesem Beispiel gibt es keinen öffentlichen Schlüssel für Mocha-R-Us. Das R-Basic-Programm kann zwar mit kann sich das Terminal nicht am Terminal authentifizieren. wird nichts übertragen.

Authentifizierungslimits

Wenn eine Karte bzw. ein Ticket mit der Google Wallet-App eines Nutzers synchronisiert wird, werden alle Einlösungsaussteller von Diese Karten/Tickets werden im Google Wallet-Backend abgerufen. Die Collector-ID, öffentlich Schlüssel und Schlüsselversionen für jeden Einlösungsaussteller werden lokal in der Google Wallet App

Eine Karte bzw. ein Ticket kann mehrere Einlösungsaussteller-IDs haben. Jedes Element wird dann einem bestimmten Collector-ID für einen bestimmten Händler. Außerdem kann es viele öffentliche und Schlüsselversionen für eine einzelne Collector-ID.

Die Google Wallet App versucht nicht, sich bei einem Terminal zu authentifizieren, wenn es hat keine Karten/Tickets, die über dieses Terminal eingelöst werden können. Sie basieren auf die Collector-ID und die Version des öffentlichen Schlüssels. So aktualisierst du die öffentlichen Schlüssel für deine Karte bzw. dein Ticket: muss das Terminal über eine Internetverbindung verfügen, damit es die neuen öffentlichen Schlüssel aus dem Google Wallet-Backend.

Eine einzelne Karte / ein Ticket kann mit vielen öffentlichen Schlüsseln gleichzeitig verknüpft werden. Weitere Informationen finden Sie unter Händlerkonfiguration findest du Informationen zum Festlegen mehrerer öffentlicher Schlüssel für dieselbe Karte / dasselbe Ticket.

Wertübertragung beim Halten des Geräts an ein Terminal

Damit beim Tippen Daten von einer Karte / einem Ticket gesendet werden können, muss das smartTapRedemptionValue muss festgelegt werden. Sobald die Klasse, die der Objekt für Smart-Bonus aktiviert ist, wird dieser Wert an das Terminal gesendet.

Basierend auf Ihrer Integration und Ihrem Anwendungsfall wird dieser Wert verwendet, um Ihre die Karte des Nutzers und führen die erforderliche Transaktionslogik aus. Beispiel:

  1. Guthaben oder Status des Nutzers aktualisieren
  2. Eigenes Backend anhand der Transaktion aktualisieren
  3. Aktualisiere das Karten-/Ticketobjekt mithilfe der Google Wallet API, damit es Änderungen des Nutzerstatus auf seinem Gerät

Das Terminal und die Google Wallet App übernehmen die Verschlüsselung aller Daten über NFC übertragen werden. Das Terminal entschlüsselt die Daten nach der Smart- Tippen erfolgt. Innerhalb der Daten gibt es NDEF-Einträge für Dienstobjekte, die jede übertragene Karte bzw. jedes übertragene Ticket darstellen. Der Wert des Dienstobjekts Service number NDEF Record hat eine Nutzlast, die den in der smartTapRedemptionValue-Eigenschaft des Karten-/Ticketobjekts. Das bedeutet, dass die Karte bzw. das Ticket Entwickler müssen sich nicht mit der Verschlüsselung übertragener Daten auseinandersetzen.

Wenn Sie eine weitere Sicherheitsebene hinzufügen möchten, können Sie smartTapRedemptionValue, damit nur das System, das die Übertragene Daten (z. B. von einem Kassensystem) entschlüsseln können. Die Karte bzw. das Ticket Entwickler und POS-Administrator sind für die Verschlüsselungs-/Entschlüsselungsprozess.