Risoluzione dei problemi

La guida alla risoluzione dei problemi del web tratta problemi e domande relativi ai seguenti argomenti.

Registrazione e accesso

Potresti riscontrare i seguenti errori a un certo punto dell'integrazione. Questo elenco fornisce alcuni utili suggerimenti per la risoluzione dei problemi in caso di errori.

Questo commerciante non è abilitato per Google Pay
L'API Google Pay richiede un merchantId Google per i siti che configurano PaymentsClient per un ambiente PRODUCTION. Un Google merchantId è associato a uno o più domini completi tramite la console di Google Pay e Wallet. Per maggiori informazioni, controlla i dettagli dell'errore restituito.
Questo commerciante non ha completato la registrazione per utilizzare l'API Google Pay. Vai alla console (https://pay.google.com/business/console) per eseguire la verifica.
Non hai completato la procedura per registrare i tuoi siti web per l'API Google Pay. Revisione Richiedi l'accesso alla produzione per registrarti utilizzando la console Google Pay & Wallet e richiedi una revisione dell'utilizzo dell'API Google Pay da parte del tuo sito web.
Questo profilo del commerciante non ha accesso a questa funzionalità
Google non ha configurato il tuo sito web per utilizzare l'API Google Pay. Revisione Richiedi l'accesso alla produzione per richiedere una revisione dell'utilizzo dell'API Google Pay da parte del tuo sito web tramite la console Google Pay & Wallet.
Questa integrazione dell'API Google Pay è disabilitata. Contattaci per ulteriori informazioni (https://developers.google.com/pay/api/faq#how-to-get-support).
Contattaci per scoprire di più sui passaggi necessari per riattivare l'API Google Pay per il tuo Account Google.
Il tuo dominio "example.com" non è registrato per l'utilizzo di questa API
Il dominio in cui è ospitato il pagamento non è associato al merchantId che utilizzi. Assicurati che il parametro merchantId sia corretto e che il tuo dominio sia registrato tramite la Console di Google Pay e Wallet.
L'API Google Pay deve essere chiamata in un contesto sicuro.
L'API Google Pay può essere utilizzata solo su siti web in un contesto sicuro. Per ulteriori informazioni, vedi Contesti sicuri.
Nessuna chiave trovata per questo profilo commerciante
Per completare un'integrazione DIRECTtokenizationSpecification type, devi registrare la tua chiave di crittografia pubblica con Google tramite la console Google Pay & Wallet.

merchantId

A un certo punto dell'integrazione, potresti riscontrare i seguenti errori relativi a merchantId. Questo elenco fornisce alcuni suggerimenti utili per la risoluzione dei problemi in caso di errori.

merchantId deve essere impostato.
Il parametro merchantId all'interno di PaymentDataRequest deve essere impostato sul valore fornito utilizzando Google Pay & Wallet Console. Un parametro merchantId è obbligatorio solo quando utilizzi un PaymentsClient configurato per un ambiente PRODUCTION. Consulta la nostra lista di controllo per l'integrazione per richiedere una revisione dell'utilizzo dell'API Google Pay da parte del tuo sito web e ottenere il tuo merchantId.
merchantId non è una stringa
Il parametro merchantId all'interno di PaymentDataRequest deve essere sempre una stringa. Assicurati che il tipo di parametro merchantId che utilizzi sia una stringa prima di chiamare l'API.
merchantId non è registrato.
Il parametro merchantId all'interno di PaymentDataRequest deve essere sottoposto a provisioning tramite la Console di Google Pay e Wallet. Per saperne di più, consulta Richiedere l'accesso in produzione.

Validità del gateway

A un certo punto dell'integrazione, potresti riscontrare i seguenti errori relativi alla validità del gateway. Questo elenco fornisce alcuni suggerimenti utili per la risoluzione dei problemi in caso di errori.

Gateway sconosciuto 'yourgateway'
Il parametro gateway specificato in paymentMethodTokenizationParameters.parameters non è attualmente supportato da Google. Contatta il tuo gateway per ulteriori informazioni sul suo identificatore e sui campi associati, ad esempio gatewayMerchantId.
Il gateway "example" non può essere utilizzato in modalità di produzione
Il valore del parametro gateway di esempio viene utilizzato solo a scopo di test e non può essere utilizzato con un PaymentsClient configurato per un ambiente PRODUCTION. Contatta il tuo gateway per ulteriori informazioni sui valori dei parametri PaymentMethodTokenizationSpecification che devi impostare per l'utilizzo con l'API Google Pay.

Validità dell'oggetto

A un certo punto dell'integrazione, potresti riscontrare i seguenti errori relativi alla validità degli oggetti. Questo elenco fornisce alcuni suggerimenti utili per la risoluzione dei problemi in caso di errori.

PaymentDataRequest di Google Pay non è un JSON valido
Il parametro fornito a loadPaymentData deve essere sempre un oggetto PaymentDataRequest valido.
transactionInfo deve essere impostato.
Il parametro transactionInfo all'interno di PaymentDataRequest deve sempre essere un oggetto TransactionInfo valido.

Commercianti diretti

A un certo punto dell'integrazione, potresti riscontrare i seguenti errori relativi ai commercianti diretti. Questo elenco fornisce alcuni suggerimenti utili per la risoluzione dei problemi in caso di errori.

Verifica della firma
Potresti riscontrare un errore di verifica della firma se il merchantId non è corretto. Ciò può accadere nell'ambiente TEST quando utilizzi la libreria Tink paymentmethodtoken. Per evitare questo problema, imposta YOUR_MERCHANT_ID su 12345678901234567890 in:
.recipientId("merchant:YOUR_MERCHANT_ID")
Impossibile decriptare il token
Se utilizzi la libreria Tink paymentmethodtoken per decriptare un token, tieni presente quanto segue:
  • Assicurati che l'ambiente di risposta dell'API Google Pay corrisponda all'ambiente paymentmethodtoken di Tink. Per maggiori dettagli, vedi l'esempio seguente:
    • Se la risposta dell'API Google Pay è stata restituita dall'ambiente TEST, Tink punta all'ambiente di test per la decriptografia.
  • Non modificare la risposta dell'API Google Pay prima che venga trasmessa a Tink. Assicurati di trasmettere l'intero token restituito dalla risposta dell'API Google Pay. Per maggiori dettagli, consulta la seguente nota:
  • Verifica di disporre della chiave privata corretta associata alla chiave pubblica che hai registrato su Google.
Generare una coppia di chiavi pubblica e privata su Windows
Se utilizzi Windows e vuoi seguire i passaggi descritti in Utilizzare OpenSSL per generare una coppia di chiavi privata e pubblica, assicurati di installare Cygwin sul tuo computer. Questo è necessario per eseguire i comandi Linux.

Oggetti di errore

Gli oggetti di errore sono oggetti restituiti da una promessa rifiutata da un metodo JavaScript del client.

PaymentsError
Questo oggetto contiene i dettagli sugli errori restituiti dai metodi JavaScript del client. Gli errori potrebbero non essere visualizzati in una finestra di dialogo rivolta agli utenti.
Proprietà Tipo Descrizione
statusCode Stringa Codice breve che descrive il tipo di errore.
statusMessage Stringa Messaggio rivolto agli sviluppatori che descrive l'errore riscontrato e i possibili passaggi per correggerlo.
Errori comuni
Questo oggetto mostra gli errori che potresti riscontrare in tutti i metodi JavaScript. Assicurati di controllare la console per sviluppatori per altri messaggi di errore.
Codice di stato Descrizione
BUYER_ACCOUNT_ERROR L'utente Google attuale non è in grado di fornire i dati di pagamento.
DEVELOPER_ERROR

Un parametro passato non è formattato correttamente. Un messaggio di errore potrebbe essere visualizzato nella console del browser per tutti gli ambienti configurati.

MERCHANT_ACCOUNT_ERROR

Il sito che accede all'API Google Pay non dispone dell'autorizzazione corretta. Ciò potrebbe essere dovuto a una configurazione errata o a un identificatore commerciante errato impostato nella richiesta. Per ulteriori dettagli, controlla il campo statusMessage. Se continui ad avere problemi, contatta l'assistenza.

INTERNAL_ERROR Errore generale del server.

CardInfo

Che cos'è la funzionalità CardInfo?
Google Pay indica ai consumatori che dietro il pulsante di pagamento Google Pay è presente una carta, che esegue il rendering sia del network del brand della carta sia delle ultime quattro cifre della carta.
Perché la funzionalità CardInfo non viene visualizzata nella mia implementazione?

Per far funzionare la funzionalità CardInfo, sono necessarie le seguenti condizioni:

Perché il pulsante di pagamento Google Pay viene caricato all'infinito?
Non rimuovere i listener di eventi onLoad. Se rimuovi i listener di eventi onLoad, il pulsante di pagamento Google Pay potrebbe caricarsi all'infinito.
Perché non viene visualizzato alcun prompt di pagamento dopo aver fatto clic sul pulsante di pagamento Google Pay?
Assegna un callback del listener di eventi all'evento ButtonOptions.onClick.

OR_BIBED_15 errori

A un certo punto dell'integrazione, potresti riscontrare un errore OR_BIBED_15. Questo elenco fornisce alcuni suggerimenti utili per la risoluzione dei problemi in caso di errore.

Utilizzo di WebView
Segui le guide per Android e iOS per assicurarti che l'integrazione sia compatibile con WebView.
Intestazione della risposta HTTP Cross-Origin-Opener-Policy
Se l'intestazione della risposta HTTP Cross-Origin-Opener-Policy è impostata su same-origin, potrebbe impedire al browser di aprire il popup necessario per consentire agli utenti di completare la transazione. Prova a modificare il valore dell'intestazione in same-origin-allow-popups per ridurre questi problemi.
Ritardi tra l'evento di clic degli utenti e la chiamata a loadPaymentData()
Se si verifica un ritardo dopo aver fatto clic sul pulsante Google Pay (o su un pulsante di pagamento simile) e prima della chiamata loadPaymentData() (esempi: setTimeout(), chiamate di rete aggiuntive o logica a esecuzione prolungata simile), ciò può causare l'attivazione del meccanismo di blocco dei popup del browser. Il nostro consiglio è di non impostare ritardi tra il clic dell'utente e la chiamata loadPaymentData().