L'API Google Wallet consente agli utenti di aggiungere un oggetto a Google Wallet dal web. Gli utenti possono aggiungere le proprie schede direttamente dal tuo sito web.
Questo riferimento fornisce dettagli sull'elemento HTML g:savetoandroidpay
che
esegue il rendering di un pulsante dell'API Google Wallet
nonché il token web JSON
che descrive il tuo servizio web a Google.
JavaScript dell'API Google Wallet
Per analizzare automaticamente g:savetoandroidpay
tag HTML al caricamento, includi lo standard
JavaScript
<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
posizionamento e vari attributi dell'elemento Aggiungi a
Pulsante Google Wallet. Utilizza questo tag se esegui il rendering di 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 sezione Pulsanti dell'API Google Wallet
per visualizzare esempi di pulsanti con diverse impostazioni di height . |
jwt |
Stringa | Y | JWT dell'API Google Wallet. |
onsuccess |
Stringa | N | Nome della stringa della funzione di gestore del callback di salvataggio riuscito. |
onfailure |
Stringa | N | Nome della stringa della funzione di gestore del callback di errore di salvataggio. Questa funzione viene passata contenente i valori di errorCode e di errorMessage. |
onprovidejwt |
Stringa | N | Nome della stringa della funzione di gestore JWT fornita. Lo scopo di questa funzione è
intercettare e potenzialmente manipolare i dati JWT prima che l'oggetto venga aggiunto a Google Wallet.
Questa funzione non accetta parametri e deve restituire il JWT come stringa.
Quando implementi il gestore di eventi, è possibile recuperare i dati JWT originali
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, esci da size
non definita quindi la larghezza si estende per adattarsi a quella dell'impostazione text .
Consulta la sezione Pulsanti dell'API Google Wallet
per visualizzare esempi di pulsanti con diverse impostazioni di size . |
text |
Stringa | N | Deprecato |
textsize |
Stringa | N | Quando viene specificato textsize=large , viene visualizzato
ha aumentato drasticamente le dimensioni del testo
dimensioni del pulsante, per 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
Pulsanti dell'API Google Wallet
per visualizzare esempi di pulsanti con diverse impostazioni di theme . |
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 | Y | Indirizzo email generato dal tuo account di servizio Google Cloud. |
aud |
Stringa | Y | Pubblico. Il pubblico degli oggetti dell'API Google Wallet sarà sempre
google . |
typ |
Stringa | Y | Tipo di JWT. Il pubblico degli oggetti dell'API Google Wallet sarà sempre
savetowallet . |
iat |
Numero intero | Y | Emesso in pochi secondi dall'epoca. |
payload |
Oggetto | Y | Payload. |
payload.eventTicketClasses |
Array | N | Classe biglietto evento per salvare. |
payload.eventTicketObjects |
Array | N | Oggetto ticket evento da salvare. |
payload.flightClasses |
Array | N | Classe di volo per risparmiare. |
payload.flightObjects |
Array | N | Flight Object per salvare. |
payload.giftCardClasses |
Array | N | Classe delle carte 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 offerta per salvare. |
payload.offerClasses |
Array | N | Offri corso per risparmiare. |
payload.transitObjects |
Array | N | Oggetto di trasporto pubblico per salvare. |
payload.transitClasses |
Array | N | Classe di trasporto pubblico per risparmiare. |
origins |
Array | Y | Array di domini da approvare per la funzionalità di salvataggio JWT. L'API Google Wallet
non verrà visualizzato se il campo origins non è definito. Potresti
ottenere potenzialmente un messaggio "Caricamento negato da X-Frame-Options" o "Rifiutato di mostrare" messaggi nel
nella console del browser quando il campo delle origini non è definito. |
Il JWT codificato dovrebbe avere un aspetto 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 esplicito del pulsante API Google Wallet.
gapi.savetoandroidpay.render("dom-container",{ "jwt": "JWT", "onsuccess": "successHandler", "onfailure": "failureHandler" });
Campo | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
dom-container |
Stringa | Y | ID del contenitore in cui inserire il pulsante dell'API Google Wallet. |
jwt |
Stringa | Y | JWT che definisce i contenuti da salvare. |
onsuccess |
Stringa | N | Nome della stringa della funzione di gestore del callback di salvataggio riuscito. |
onfailure |
Stringa | N | Nome della stringa della funzione di gestore del callback di errore di salvataggio. Questa funzione viene passata contenente i valori di errorCode e di errorMessage. |
onprovidejwt |
Stringa | N | Nome della stringa della funzione di gestore JWT fornita. Lo scopo di questa funzione è
intercettare e potenzialmente manipolare i dati JWT prima che l'oggetto venga aggiunto a Google Wallet.
Questa funzione non accetta parametri e deve restituire il JWT come stringa.
Quando implementi il gestore di eventi, è possibile recuperare i dati JWT originali
nel campo this.getOpenParams().renderData.userParams.jwt . |
Codici e messaggi di errore dell'API Google Wallet
Le seguenti tabelle elencano i codici di errore e i messaggi di errore predefiniti passati nell'errore alla funzione di callback di 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 |
Impossibile trovare la classe a cui si fa riferimento nell'oggetto. |
CLASS_MISMATCH |
L'oggetto deve essere presente, dello stesso tipo e deve fare riferimento alla classe inclusa. |
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 |
Il 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 URL di origine non valido. L'URL deve contenere un protocollo e un dominio. |
MISSING_ORIGIN |
È necessario specificare l'origine. |
MISSING_FIELDS |
In un oggetto o in una classe racchiusi mancano 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 specificata nei Il 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 nella lingua corretta in base alla logica descritta sopra oppure se la formulazione è innaturale, contatta il nostro team di assistenza.