Mit der Google Wallet API können deine Nutzer ein Objekt aus dem Web zu Google Wallet hinzufügen. Nutzer können ihre Karten direkt über Ihre Website hinzufügen.
Diese Referenz enthält Details zum HTML-Element g:savetoandroidpay
, das
rendert eine Google Wallet API-Schaltfläche
sowie das JSON Web Token
das Ihren Webdienst für Google beschreibt.
JavaScript der Google Wallet API
Um g:savetoandroidpay
-HTML-Tags beim Laden automatisch zu parsen, schließen Sie den standardmäßigen
JavaScript
<script src="https://apis.google.com/js/platform.js" type="text/javascript"></script>
Füge für AJAX-Anwendungen und das explizite Rendern von Google Wallet API-Schaltflächen den Parameter "parsetags": "explicit"
ein.
<script src="https://apis.google.com/js/platform.js" type="text/javascript"> {"parsetags": "explicit"} </script>
g:savetoandroidpay
-HTML-Tag
Das Namespace-Tag g:savetoandroidpay
definiert die
das Placement und verschiedene Attribute der Funktion
Google Wallet-Schaltfläche. Verwende dieses Tag beim Rendern von HTML und JWTs
auf der Serverseite.
<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
Feld | Typ | Erforderlich | Beschreibung |
---|---|---|---|
height |
String | N | Höhe der Schaltfläche, die angezeigt werden soll. Mögliche Werte sind: small (30 Pixel hoch) und
standard (38 Pixel hoch) Der Standardwert für height ist small .
Weitere Informationen findest du unter Google Wallet API-Schaltflächen.
, um Beispiele für Schaltflächen mit unterschiedlichen height -Einstellungen zu sehen. |
jwt |
String | Ja | Google Wallet API-JWT. |
onsuccess |
String | N | Stringname der Callback-Handler-Funktion bei erfolgreichem Speichern. |
onfailure |
String | N | Stringname der Callback-Handler-Funktion bei Fehlschlagen des Speichervorgangs. Dieser Funktion wird ein Fehlerobjekt, das einen errorCode und eine errorMessage enthält. |
onprovidejwt |
String | N | Stringname der Handler-Funktion für die Bereitstellung des JWT. Der Zweck dieser Funktion besteht darin,
JWT-Daten abfangen und möglicherweise ändern, bevor das Objekt zu Google Wallet hinzugefügt wird.
Diese Funktion akzeptiert keine Parameter und muss das JWT als String zurückgeben.
Beim Implementieren des Event-Handlers können die ursprünglichen JWT-Daten abgerufen werden.
unter dem Feld this.getOpenParams().renderData.userParams.jwt . |
size |
String | N | Breite der Schaltfläche, die angezeigt werden soll. Sie können size auf matchparent setzen
um, dass die Breite der Breite des übergeordneten Elements entspricht. Oder size verlassen
nicht definiert, sodass die Breite an die Breite der Einstellung text angepasst wird.
Weitere Informationen findest du unter Google Wallet API-Schaltflächen.
, um Beispiele für Schaltflächen mit unterschiedlichen size -Einstellungen zu sehen. |
text |
String | N | Verworfen |
textsize |
String | N | Wenn textsize=large angegeben ist, wird Folgendes angezeigt:
die Textgröße erheblich erhöht und
Schaltflächengröße für Fälle mit speziellen Anforderungen an die Benutzeroberfläche. |
theme |
String | N | Design der anzuzeigenden Schaltfläche. Mögliche Werte sind: dark und
light . Das Standarddesign ist dark . Weitere Informationen finden Sie unter
Google Wallet API-Schaltflächen
, um Beispiele für Schaltflächen mit unterschiedlichen theme -Einstellungen zu sehen. |
Google Wallet API-JWT
Das Google Wallet API-JWT definiert die zu speichernden Objekte und Klassen.
JSON-Darstellung
{ "iss": "example_service_account@developer.gserviceaccount.com", "aud": "google", "typ": "savetowallet", "iat": 1368029586, "payload": { "eventTicketClasses": [{ ... //Event ticket Class JSON }], "eventTicketObjects": [{ // Event ticket Object JSON }], "flightClasses": [{ // Flight Class JSON }], "flightObjects": [{ // Flight Object JSON }], "giftCardClasses": [{ // Gift card Class JSON }], "giftCardObjects": [{ // Gift card Object JSON }], "loyaltyClasses": [{ // Loyalty Class JSON }], "loyaltyObjects": [{ // Loyalty Object JSON }], "offerClasses": [{ // Offer Class JSON }], "offerObjects": [{ // Offer Object JSON }], "transitClasses": [{ // Transit Class JSON }], "transitObjects": [{ // Transit Object JSON }] }, "origins": ["http://baconrista.com", "https://baconrista.com"] }
Felder
Feld | Typ | Erforderlich | Beschreibung |
---|---|---|---|
iss |
String | Ja | Die von Ihrem Google Cloud-Dienstkonto generierte E-Mail-Adresse. |
aud |
String | Ja | Zielgruppe. Die Zielgruppe für Google Wallet API-Objekte ist immer
google |
typ |
String | Ja | JWT-Typ. Die Zielgruppe für Google Wallet API-Objekte ist immer
savetowallet |
iat |
Ganzzahl | Ja | In einer Zeit in Sekunden seit der Epoche ausgegeben. |
payload |
Object | Ja | Nutzlastobjekt. |
payload.eventTicketClasses |
Array | N | Zu speichernde Klasse des Veranstaltungstickets |
payload.eventTicketObjects |
Array | N | Zu speicherndes Veranstaltungsticketobjekt |
payload.flightClasses |
Array | N | Zu speichernde Flugklasse |
payload.flightObjects |
Array | N | Zu speicherndes Flight-Objekt |
payload.giftCardClasses |
Array | N | Zu speichernde Geschenkkartenklasse |
payload.giftCardObjects |
Array | N | Zu speicherndes Geschenkkartenobjekt |
payload.loyaltyClasses |
Array | N | Zu speichernde Treueklasse |
payload.loyaltyObjects |
Array | N | Zu speicherndes Treueobjekt |
payload.offerObjects |
Array | N | Zu speicherndes Angebotsobjekt |
payload.offerClasses |
Array | N | Zu speichernde Angebotsklasse |
payload.transitObjects |
Array | N | Zu speicherndes Verkehrsobjekt |
payload.transitClasses |
Array | N | Zu speichernde Verkehrsklasse |
origins |
Array | Ja | Array von Domains, die für die JWT-Speicherung genehmigt werden sollen. Die Google Wallet API
Die Schaltfläche wird nicht gerendert, wenn das Feld origins nicht definiert ist. Sie könnten
eine Meldung erhalten, dass das Laden von X-Frame-Options verweigert wird. oder „Anzeige abgelehnt“ Nachrichten im
Browserkonsole, wenn das Feld „Ursprünge“ nicht definiert ist. |
Das codierte JWT sollte in etwa so aussehen:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJnb29nbGUiLCJvcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSJdLCJpc3MiOiJzMmFwLXRvb2wuZ29vZ2xlLmNvbUBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iLCJpYXQiOjE1NTE5ODcxNTEsInR5cCI6InNhdmV0b3dhbGxldCIsInBheWxvYWQiOnsib2ZmZXJPYmplY3RzIjpbeyJpZCI6IjMyMDI0MTMyNDE4NDM2OTk0MDEuMDFfT2ZmZXJPYmplY3RJZCJ9XX19.maHX40WWT29TC_kEb90EKQBH9AiTYAZR3153K8UI7fznVnfjVdlwsH_GKTECV3PGXdNnKCcmatUbKsONC0bxrnAHYG02kuvA1D3hSctz_amU66ntsvGIDe13mpxTzhI8fPvt9KMP1iaO7uOJuLQIHwipu4uRFAjyFaHGVaSFaP9c53qQyb_Zgyyk50M-MhH2n4kDpstNCqUJKWaadQkOWjrtMjwGzQ_ME04lbR4wb_mfK1A7Rc1UieWkxM9aMl5TOPubBKxKRRk_CqillN8XoTl9MI5RRGPuElVO28zGpYlFS6BarzDaaUfmbRZGvfF8ZiKrHZKxVrJjfZIJ2TCcDw
gapi.savetoandroidpay.render
-Funktion
Mit dieser Funktion kannst du die Google Wallet API-Schaltfläche explizit rendern.
gapi.savetoandroidpay.render("dom-container",{ "jwt": "JWT", "onsuccess": "successHandler", "onfailure": "failureHandler" });
Feld | Typ | Erforderlich | Beschreibung |
---|---|---|---|
dom-container |
String | Ja | ID des Containers, in dem die Google Wallet API-Schaltfläche platziert werden soll. |
jwt |
String | Ja | JWT, mit dem die zu speichernden Inhalte definiert werden. |
onsuccess |
String | N | Stringname der Callback-Handler-Funktion bei erfolgreichem Speichern. |
onfailure |
String | N | Stringname der Callback-Handler-Funktion bei Fehlschlagen des Speichervorgangs. Dieser Funktion wird ein Fehlerobjekt, das einen errorCode und eine errorMessage enthält. |
onprovidejwt |
String | N | Stringname der Handler-Funktion für die Bereitstellung des JWT. Der Zweck dieser Funktion besteht darin,
JWT-Daten abfangen und möglicherweise ändern, bevor das Objekt zu Google Wallet hinzugefügt wird.
Diese Funktion akzeptiert keine Parameter und muss das JWT als String zurückgeben.
Beim Implementieren des Event-Handlers können die ursprünglichen JWT-Daten abgerufen werden.
unter dem Feld this.getOpenParams().renderData.userParams.jwt . |
Fehlercodes und Fehlermeldungen in der Google Wallet API
In den folgenden Tabellen sind die Fehlercodes und Standardfehlermeldungen aufgeführt, die im Fehler Objekt zur Fehler-Callback-Funktion hinzu, wenn ein Objekt nicht mithilfe der JavaScript-Schaltfläche gespeichert werden kann.
{ "errorCode": "errorCode", "errorMessage": "errorMessage" }
errorCode |
errorMessage |
---|---|
SERVICE_FAILURE |
Auf dem Google Wallet-Server ist ein Fehler aufgetreten. |
CLASS_NOT_FOUND |
Die Klasse, auf die im Objekt verwiesen wird, wurde nicht gefunden. |
CLASS_MISMATCH |
Objekt muss vorhanden sein, denselben Typ haben und auf die eingeschlossene Klasse verweisen. |
ORIGIN_MISMATCH |
Der Ursprung der Schaltfläche stimmt nicht mit dem in der Quellenliste angegebenen Ursprung überein. |
INVALID_NUM_TYPES |
Es kann genau ein Objekttyp angegeben werden. |
INVALID_SIGNATURE |
Die Signatur konnte nicht verifiziert werden. |
INVALID_DUPLICATE_IDS |
Doppelte Objekte oder Klassen sind nicht zulässig. |
INVALID_JWT |
Ungültiges JWT. |
INVALID_EXP_IAT |
Das JWT ist abgelaufen oder wurde in der Zukunft ausgestellt. |
INVALID_AUD |
Ungültiger Wert für das Feld „AUD“. |
INVALID_TYP |
Ungültiger Wert für das Feld „TYP“. |
INVALID_NUM_OBJECTS |
Für Kundenkarten, Geschenkkarten und Angebote können genau ein Objekt und höchstens eine Klasse angegeben werden. |
MALFORMED_ORIGIN_URL |
Fehlerhafte Ursprungs-URL. Die URL muss ein Protokoll und eine Domain enthalten. |
MISSING_ORIGIN |
Der Ursprung muss angegeben werden. |
MISSING_FIELDS |
Bei den eingeschlossenen Objekten oder Klassen fehlten Pflichtfelder. |
Lokalisierung
Die Sprache der JavaScript-Schaltfläche ändert sich basierend auf den folgenden Kriterien:
- Wenn der Nutzer bei Google angemeldet ist, wird die Schaltfläche in der Sprache gerendert, die im Google-Kontoprofil des Nutzers. Ein Nutzer kann Folgendes lesen: Sprache ändern .
- Wenn der Nutzer nicht bei Google angemeldet ist, verwendet die Schaltfläche den Wert
ACCEPT-LANGUAGE
im HTTP-Header.
Wenn Sie feststellen, dass die Schaltfläche gemäß der oben genannten Logik nicht in der richtigen Sprache gerendert wird, oder wenn die Formulierung unnatürlich ist, wenden Sie sich bitte an unser Supportteam.