Pulsante web JavaScript

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 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 Indirizzo email generato dal tuo account di servizio Google Cloud.
aud Stringa Pubblico. Il segmento di pubblico per gli oggetti dell'API Google Wallet sarà sempre google.
typ Stringa Tipo di JWT. Il segmento di pubblico per gli oggetti dell'API Google Wallet sarà sempre savetowallet.
iat Numero intero Emesso in pochi secondi dall'epoca.
payload Oggetto 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 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 ID del contenitore in cui inserire il pulsante API Google Wallet.
jwt Stringa 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:

  1. 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.
  2. 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.