L'API Google Wallet consente agli utenti di aggiungere un oggetto a Google Wallet dal web. Gli utenti possono aggiungere le proprie carte direttamente dal tuo sito web.
Questo riferimento fornisce dettagli sull'elemento HTML g:savetoandroidpay
che visualizza un pulsante dell'API Google Wallet, nonché sul token web JSON che descrive il tuo servizio web a Google.
API Google Wallet JavaScript
Per analizzare automaticamente i tag HTML g:savetoandroidpay
al caricamento, includi il codice JavaScript standard
<script src="https://apis.google.com/js/platform.js" type="text/javascript"></script>
Per le applicazioni AJAX e il rendering esplicito dei pulsanti dell'API Google Wallet, includi il parametro "parsetags": "explicit"
.
<script src="https://apis.google.com/js/platform.js" type="text/javascript"> {"parsetags": "explicit"} </script>
g:savetoandroidpay
tag HTML
Il tag dello spazio dei nomi g:savetoandroidpay
definisce il posizionamento e vari attributi del pulsante Aggiungi a Google Wallet. Utilizza questo tag se esegui il rendering di creatività HTML e JWT lato server.
<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
Campo | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
height |
Stringa | N | Altezza del pulsante da visualizzare. I valori possibili sono: small (altezza 30 px) e
standard (altezza 38 px). Il valore predefinito di height è small .
Consulta la pagina relativa ai pulsanti dell'API Google Wallet
per visualizzare esempi di pulsanti con impostazioni height diverse. |
jwt |
Stringa | Sì | JWT dell'API Google Wallet. |
onsuccess |
Stringa | N | Nome della stringa della funzione di gestore di callback di salvataggio riuscito. |
onfailure |
Stringa | N | Nome della stringa della funzione di gestore di callback dell'errore di salvataggio. A questa funzione viene passato un oggetto errore contenente un oggetto errorCode ed errorMessage. |
onprovidejwt |
Stringa | N | Nome stringa della funzione di gestore JWT fornita. Lo scopo di questa funzione è intercettare e manipolare potenzialmente i dati JWT prima che l'oggetto venga aggiunto a Google Wallet.
Questa funzione non accetta parametri e deve restituire il valore JWT come stringa.
Quando implementi il gestore di eventi, i dati JWT originali possono essere recuperati
nel campo this.getOpenParams().renderData.userParams.jwt . |
size |
Stringa | N | Larghezza del pulsante da visualizzare. Puoi impostare size su matchparent
in modo che la larghezza corrisponda a quella dell'elemento principale. In alternativa, lascia non definito size in modo che la larghezza si estenda per adattarsi alla larghezza dell'impostazione text .
Consulta la pagina relativa ai pulsanti dell'API Google Wallet
per visualizzare esempi di pulsanti con impostazioni size diverse. |
text |
Stringa | N | Deprecata |
textsize |
Stringa | N | Se textsize=large è specificato, la dimensione del testo e delle dimensioni del pulsante viene notevolmente aumentata, per i casi con requisiti di interfaccia utente speciali. |
theme |
Stringa | N | Tema del pulsante da visualizzare. I valori possibili sono: dark e
light . Il tema predefinito è dark . Consulta la pagina relativa ai pulsanti dell'API Google Wallet per visualizzare esempi di pulsanti con impostazioni theme diverse. |
JWT dell'API Google Wallet
Il JWT dell'API Google Wallet definisce gli oggetti e le classi da salvare.
Rappresentazione JSON
{ "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"] }
Campi
Campo | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
iss |
Stringa | Sì | Indirizzo email generato dal tuo account di servizio Google Cloud. |
aud |
Stringa | Sì | Pubblico. Il segmento di pubblico per gli oggetti dell'API Google Wallet sarà sempre google . |
typ |
Stringa | Sì | Tipo di JWT. Il segmento di pubblico per gli oggetti dell'API Google Wallet sarà sempre savetowallet . |
iat |
Numero intero | Sì | Emesso in pochi secondi dall'epoca. |
payload |
Oggetto | Sì | Oggetto payload. |
payload.eventTicketClasses |
Array | N | Classe biglietto per un evento. |
payload.eventTicketObjects |
Array | N | Oggetto biglietto evento da salvare. |
payload.flightClasses |
Array | N | Classe di volo per risparmiare. |
payload.flightObjects |
Array | N | Volo dell'oggetto da salvare. |
payload.giftCardClasses |
Array | N | Classe carta regalo per risparmiare. |
payload.giftCardObjects |
Array | N | Oggetto carta regalo da salvare. |
payload.loyaltyClasses |
Array | N | classe fedeltà per risparmiare. |
payload.loyaltyObjects |
Array | N | Oggetto fedeltà da salvare. |
payload.offerObjects |
Array | N | Oggetto dell'offerta da salvare. |
payload.offerClasses |
Array | N | Offri un corso e risparmia. |
payload.transitObjects |
Array | N | Oggetto trasporto pubblico da salvare. |
payload.transitClasses |
Array | N | Classe trasporto pubblico per risparmiare. |
origins |
Array | Sì | Array di domini da approvare per la funzionalità di salvataggio JWT. Il pulsante dell'API Google Wallet
non viene visualizzato se il campo origins non è definito. Quando il campo delle origini non è definito, potresti ricevere un messaggio "Carico negato da X-Frame-Options" o "Rifiutato per la visualizzazione" nella console del browser. |
Il JWT codificato dovrebbe essere simile al seguente esempio:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJnb29nbGUiLCJvcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSJdLCJpc3MiOiJzMmFwLXRvb2wuZ29vZ2xlLmNvbUBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iLCJpYXQiOjE1NTE5ODcxNTEsInR5cCI6InNhdmV0b3dhbGxldCIsInBheWxvYWQiOnsib2ZmZXJPYmplY3RzIjpbeyJpZCI6IjMyMDI0MTMyNDE4NDM2OTk0MDEuMDFfT2ZmZXJPYmplY3RJZCJ9XX19.maHX40WWT29TC_kEb90EKQBH9AiTYAZR3153K8UI7fznVnfjVdlwsH_GKTECV3PGXdNnKCcmatUbKsONC0bxrnAHYG02kuvA1D3hSctz_amU66ntsvGIDe13mpxTzhI8fPvt9KMP1iaO7uOJuLQIHwipu4uRFAjyFaHGVaSFaP9c53qQyb_Zgyyk50M-MhH2n4kDpstNCqUJKWaadQkOWjrtMjwGzQ_ME04lbR4wb_mfK1A7Rc1UieWkxM9aMl5TOPubBKxKRRk_CqillN8XoTl9MI5RRGPuElVO28zGpYlFS6BarzDaaUfmbRZGvfF8ZiKrHZKxVrJjfZIJ2TCcDw
Funzione gapi.savetoandroidpay.render
Questa funzione ti consente di eseguire il rendering del pulsante API Google Wallet.
gapi.savetoandroidpay.render("dom-container",{ "jwt": "JWT", "onsuccess": "successHandler", "onfailure": "failureHandler" });
Campo | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
dom-container |
Stringa | Sì | ID del contenitore in cui inserire il pulsante API Google Wallet. |
jwt |
Stringa | Sì | che definisce i contenuti JWT da salvare. |
onsuccess |
Stringa | N | Nome della stringa della funzione di gestore di callback di salvataggio riuscito. |
onfailure |
Stringa | N | Nome della stringa della funzione di gestore di callback dell'errore di salvataggio. A questa funzione viene passato un oggetto errore contenente un oggetto errorCode ed errorMessage. |
onprovidejwt |
Stringa | N | Nome stringa della funzione di gestore JWT fornita. Lo scopo di questa funzione è intercettare e manipolare potenzialmente i dati JWT prima che l'oggetto venga aggiunto a Google Wallet.
Questa funzione non accetta parametri e deve restituire il valore JWT come stringa.
Quando implementi il gestore di eventi, i dati JWT originali possono essere recuperati
nel campo this.getOpenParams().renderData.userParams.jwt . |
Codici e messaggi di errore dell'API Google Wallet
Le seguenti tabelle elencano i codici e i messaggi di errore predefiniti trasmessi nell'oggetto errore alla funzione di callback in errore, quando un oggetto non viene salvato correttamente utilizzando il pulsante JavaScript.
{ "errorCode": "errorCode", "errorMessage": "errorMessage" }
errorCode |
errorMessage |
---|---|
SERVICE_FAILURE |
Si è verificato un errore sul server di Google Wallet. |
CLASS_NOT_FOUND |
Classe a cui viene fatto riferimento nell'oggetto non trovata. |
CLASS_MISMATCH |
L'oggetto deve essere presente, dello stesso tipo e deve fare riferimento alla classe racchiusa. |
ORIGIN_MISMATCH |
L'origine del pulsante non corrisponde a quelle specificate nell'elenco delle origini. |
INVALID_NUM_TYPES |
È possibile specificare esattamente un tipo di oggetto. |
INVALID_SIGNATURE |
Impossibile verificare la firma. |
INVALID_DUPLICATE_IDS |
Non sono consentiti oggetti o classi duplicati. |
INVALID_JWT |
JWT non valido. |
INVALID_EXP_IAT |
JWT è scaduto o è stato emesso in futuro. |
INVALID_AUD |
Valore non valido per il campo AUD. |
INVALID_TYP |
Valore non valido per il campo TYP. |
INVALID_NUM_OBJECTS |
È possibile specificare un solo oggetto e al massimo una classe per carte fedeltà, carte regalo e offerte. |
MALFORMED_ORIGIN_URL |
Formato dell'URL di origine non valido. L'URL deve contenere un protocollo e un dominio. |
MISSING_ORIGIN |
È necessario specificare l'origine. |
MISSING_FIELDS |
In una classe o nell'oggetto racchiuso mancavano campi obbligatori. |
Localizzazione
La lingua nel pulsante JavaScript cambia in base ai seguenti criteri:
- Se l'utente ha eseguito l'accesso a Google, il pulsante viene visualizzato nella lingua preferita indicata nel profilo dell'Account Google dell'utente. Un utente può leggere Cambiare lingua per scoprire come cambiare la lingua preferita dell'Account Google.
- Se l'utente non ha eseguito l'accesso a Google, il pulsante utilizza il valore
ACCEPT-LANGUAGE
nell'intestazione HTTP.
Se noti che il pulsante non viene visualizzato nel linguaggio corretto in base alla logica di cui sopra, o se la formulazione è innaturale, contatta il nostro team di assistenza.