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
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.
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 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:
- Guthaben oder Status des Nutzers aktualisieren
- Eigenes Backend anhand der Transaktion aktualisieren
- 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.