Depanare

Ghidul de depanare a problemelor web acoperă problemele și întrebările legate de următoarele subiecte.

Înregistrare și acces

Este posibil să întâmpinați următoarele erori la un moment dat în timpul integrării. Această listă oferă câteva sfaturi utile de depanare în cazul în care apar aceste erori.

Acest comerciant nu este activat pentru Google Pay
API-ul Google Pay necesită un Google merchantId pentru site-urile care configurează PaymentsClient pentru un mediu PRODUCTION . Un Google merchantId este asociat cu unul sau mai multe domenii complet calificate prin intermediul consolei Google Pay & Wallet . Consultați detaliile erorii returnate pentru mai multe informații.
Acest comerciant nu a finalizat înregistrarea pentru a utiliza API-ul Google Pay. Accesați consola (https://pay.google.com/business/console) pentru a verifica.
Nu ați finalizat procesul de înregistrare a site-urilor web pentru API-ul Google Pay. Solicitați acces de producție pentru a vă înregistra folosind consola Google Pay și Wallet și solicitați o verificare a utilizării API-ului Google Pay de către site-ul web.
Acest profil de comerciant nu are acces la această funcție
Google nu a configurat site-ul dvs. web pentru a utiliza API-ul Google Pay. Solicitați acces de producție pentru a solicita o verificare a utilizării API-ului Google Pay de către site-ul dvs. web prin intermediul consolei Google Pay & Wallet .
Această integrare cu Google Pay API este dezactivată. Vă rugăm să ne contactați pentru mai multe informații (https://developers.google.com/pay/api/faq#how-to-get-support).
Contactați-ne pentru a afla mai multe despre pașii necesari pentru a reactiva API-ul Google Pay pentru Contul dvs. Google.
Domeniul dvs. „example.com” nu este înregistrat pentru a utiliza acest API
Domeniul unde este găzduită finalizarea comenzii nu este asociat cu merchantId pe care îl utilizați. Asigurați-vă că parametrul merchantId este corect și că domeniul dvs. este înregistrat prin intermediul consolei Google Pay și Wallet .
API-ul Google Pay ar trebui apelat într-un context securizat!
API-ul Google Pay poate fi utilizat doar pe site-uri web într-un context securizat. Pentru mai multe informații, consultați Contexte securizate .
Nu au fost găsite chei pentru acest profil de comerciant
Trebuie să vă înregistrați cheia publică de criptare la Google prin intermediul consolei Google Pay și Wallet pentru a finaliza o integrare type DIRECT tokenizationSpecification .

ID comerciant

Este posibil să întâmpinați următoarele erori legate de merchantId la un moment dat în timpul integrării. Această listă oferă câteva sfaturi utile de depanare în cazul în care apar aceste erori.

ID-ul comerciantului trebuie setat!
Parametrul merchantId din PaymentDataRequest trebuie setat la valoarea furnizată folosind consola Google Pay și Wallet . Un parametru merchantId este necesar numai atunci când utilizați un PaymentsClient configurat pentru un mediu PRODUCTION . Consultați lista noastră de verificare pentru integrare pentru a solicita o revizuire a utilizării API-ului Google Pay de către site-ul dvs. web și pentru a obține merchantId ul.
merchantId nu este un șir de caractere
Parametrul merchantId din PaymentDataRequest trebuie să fie întotdeauna un șir de caractere. Asigurați-vă că tipul parametrului merchantId pe care îl utilizați este un șir de caractere înainte de a apela API-ul.
ID-ul comerciantului nu este înregistrat.
Parametrul merchantId din PaymentDataRequest trebuie furnizat prin intermediul consolei Google Pay și Wallet . Consultați secțiunea Solicitare acces la producție pentru mai multe informații.

Validitatea gateway-ului

Este posibil să întâmpinați următoarele erori legate de validitatea gateway-ului la un moment dat în timpul integrării. Această listă oferă câteva sfaturi utile de depanare în cazul în care apar aceste erori.

Poartă de acces necunoscută „poarta_ta”
Parametrul gateway specificat în paymentMethodTokenizationParameters.parameters nu este acceptat în prezent de Google. Contactați gateway-ul pentru mai multe informații despre identificatorul gateway-ului și câmpurile asociate, cum ar fi gatewayMerchantId .
„Exemplu” de gateway nu poate fi utilizat în modul de producție
Valoarea parametrului gateway din exemplu este utilizată doar în scopuri de testare și nu poate fi utilizată cu un PaymentsClient configurat pentru un mediu PRODUCTION . Contactați gateway-ul pentru mai multe informații despre valorile parametrilor PaymentMethodTokenizationSpecification pe care trebuie să le setați pentru utilizare cu API-ul Google Pay.

Validitatea obiectului

Este posibil să întâmpinați următoarele erori legate de validitatea obiectelor la un moment dat în timpul integrării. Această listă oferă câteva sfaturi utile de depanare în cazul în care apar aceste erori.

Cererea PaymentDataRequest din Google Pay nu este un fișier JSN valid.
Parametrul furnizat pentru loadPaymentData trebuie să fie întotdeauna un obiect PaymentDataRequest valid.
Valoarea transactionInfo trebuie setată!
Parametrul transactionInfo din PaymentDataRequest trebuie să fie întotdeauna un obiect TransactionInfo valid.

Comercianți direcți

Este posibil să întâmpinați următoarele erori legate de comercianții direcți la un moment dat în timpul integrării. Această listă oferă câteva sfaturi utile de depanare în cazul în care apar aceste erori.

Verificarea semnăturii
Este posibil să întâmpinați o eroare de verificare a semnăturii dacă merchantId este greșit. Acest lucru se poate întâmpla în mediul TEST atunci când utilizați biblioteca Tink paymentmethodtoken . Pentru a evita această problemă, setați YOUR_MERCHANT_ID la 12345678901234567890 în:
.recipientId("merchant:YOUR_MERCHANT_ID")
Nu se poate decripta tokenul
Dacă utilizați biblioteca Tink paymentmethodtoken pentru a decripta un token, rețineți următoarele:
  • Asigurați-vă că mediul de răspuns al API-ului Google Pay corespunde cu mediul Tink paymentmethodtoken. Pentru mai multe detalii, consultați următorul exemplu:
    • Dacă răspunsul API-ului Google Pay a fost returnat de mediul TEST , atunci Tink indică mediul de testare pentru decriptare.
  • Nu modificați răspunsul de la API-ul Google Pay înainte de a-l transmite către Tink. Asigurați-vă că transmiteți întregul token returnat de răspunsul API-ului Google Pay. Pentru mai multe detalii, consultați următoarea notă:
  • Verificați dacă aveți cheia privată corectă asociată cu cheia publică pe care ați înregistrat-o la Google.
Generați o pereche de chei publice și private pe Windows
Dacă folosești Windows și vrei să urmezi pașii menționați în secțiunea Utilizarea OpenSSL pentru a genera o pereche de chei private și publice , asigură-te că ai instalat Cygwin pe calculatorul tău. Acest lucru este necesar pentru a rula comenzile Linux.

Obiecte de eroare

Obiectele de eroare sunt obiecte returnate de o promisiune respinsă de o metodă JavaScript a clientului.

Eroare de plată
Acest obiect conține detalii despre erorile returnate de metodele JavaScript ale clientului. Este posibil ca erorile să nu fie afișate într-o casetă de dialog orientată spre utilizator.
Proprietate Tip Descriere
statusCode Şir Cod scurt care descrie tipul de eroare.
statusMessage Şir Mesaj pentru dezvoltatori care descrie eroarea întâlnită și pașii posibili pentru corectarea acesteia.
Erori frecvente
Acest obiect afișează erori pe care le puteți întâmpina în toate metodele JavaScript. Asigurați-vă că verificați consola pentru dezvoltatori pentru mesaje de eroare suplimentare.
Cod de stare Descriere
BUYER_ACCOUNT_ERROR Utilizatorul Google actual nu poate furniza informații de plată.
DEVELOPER_ERROR

Un parametru transmis este formatat incorect. Este posibil să apară un mesaj de eroare în consola browserului pentru toate mediile configurate.

MERCHANT_ACCOUNT_ERROR

Site-ul care accesează API-ul Google Pay nu are permisiunea corectă. Acest lucru se poate datora fie unei configurații incorecte, fie unui identificator de comerciant setat incorect în solicitare. Pentru mai multe detalii, verificați câmpul statusMessage . Dacă problemele persistă, contactați serviciul de asistență .

INTERNAL_ERROR Eroare generală a serverului.

Informații card

Ce este funcția CardInfo?
Google Pay indică consumatorilor că în spatele butonului de plată Google Pay se află un card, ceea ce afișează atât rețeaua mărcii cardului, cât și ultimele patru cifre ale cardului.
De ce nu se afișează funcția CardInfo în implementarea mea?

Pentru ca funcția CardInfo să funcționeze, avem nevoie de următoarele condiții:

De ce se încarcă butonul de plată Google Pay la nesfârșit?
Nu eliminați listenerele de evenimente onLoad . Dacă eliminați listenerele de evenimente onLoad , acest lucru poate cauza încărcarea butonului de plată Google Pay pe termen nelimitat.
De ce nu apare nicio solicitare de plată după ce dau clic pe butonul de plată Google Pay?
Atribuiți un apel invers de tip listener de evenimente evenimentului ButtonOptions.onClick .

Erori OR_BIBED_15

Este posibil să întâmpinați o eroare OR_BIBED_15 la un moment dat în timpul integrării. Această listă oferă câteva sfaturi utile de depanare în cazul în care apare această eroare.

Lucrul cu WebView-uri
Urmați ghidurile pentru Android și iOS pentru a vă asigura că integrarea este compatibilă cu WebViews.
Antetul de răspuns HTTP Cross-Origin-Opener-Policy
Dacă antetul de răspuns HTTP Cross-Origin-Opener-Policy este setat la same-origin este posibil să împiedice browserul să deschidă fereastra pop-up necesară pentru ca utilizatorii să finalizeze tranzacția. Încercați să schimbați valoarea antetului la same-origin-allow-popups pentru a reduce aceste probleme.
Întârzierile dintre evenimentul de clic al utilizatorilor și apelul către loadPaymentData()
Dacă există o întârziere după ce se dă clic pe butonul Google Pay (sau pe un buton similar de finalizare a comenzii) și înainte de apelul loadPaymentData() (exemple: setTimeout() , apeluri de rețea suplimentare sau o logică similară cu rulare lungă), acest lucru poate duce la declanșarea mecanismului de blocare a ferestrelor pop-up din browser. Recomandarea noastră este să nu se seteze întârzieri între clicul utilizatorului și apelul loadPaymentData() .