Ghidul de depanare a problemelor web acoperă problemele și întrebările legate de următoarele subiecte.
- Acces la înregistrare
- ID comerciant
- Validitatea gateway-ului
- Validitatea obiectului
- Comercianți direcți
- Informații card
- Erori OR_BIBED_15
Î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ă
PaymentsClientpentru un mediuPRODUCTION. Un GooglemerchantIdeste 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
merchantIdpe care îl utilizați. Asigurați-vă că parametrulmerchantIdeste 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
typeDIRECTtokenizationSpecification.
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
merchantIddinPaymentDataRequesttrebuie setat la valoarea furnizată folosind consola Google Pay și Wallet . Un parametrumerchantIdeste necesar numai atunci când utilizați unPaymentsClientconfigurat pentru un mediuPRODUCTION. 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ținemerchantIdul. - merchantId nu este un șir de caractere
- Parametrul
merchantIddinPaymentDataRequesttrebuie să fie întotdeauna un șir de caractere. Asigurați-vă că tipul parametruluimerchantIdpe care îl utilizați este un șir de caractere înainte de a apela API-ul. - ID-ul comerciantului nu este înregistrat.
- Parametrul
merchantIddinPaymentDataRequesttrebuie 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.parametersnu 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 figatewayMerchantId. - „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
PaymentsClientconfigurat pentru un mediuPRODUCTION. Contactați gateway-ul pentru mai multe informații despre valorile parametrilorPaymentMethodTokenizationSpecificationpe 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
loadPaymentDatatrebuie să fie întotdeauna un obiectPaymentDataRequestvalid. - Valoarea transactionInfo trebuie setată!
- Parametrul
transactionInfodinPaymentDataRequesttrebuie să fie întotdeauna un obiectTransactionInfovalid.
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ă
merchantIdeste greșit. Acest lucru se poate întâmpla în mediulTESTatunci când utilizați biblioteca Tink paymentmethodtoken . Pentru a evita această problemă, setați YOUR_MERCHANT_ID la12345678901234567890î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.
- 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:
- Trebuie să implementați API-ul
createButton. - Trebuie să configurați
ButtonOptions.buttonTypesă fiebuy,longsaupay. - Utilizatorul trebuie să aibă o metodă de plată disponibilă, așa cum este definită de obiectul
CardParameters.
- Trebuie să implementați API-ul
- 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 evenimenteonLoad, 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. - 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-Policyeste setat lasame-origineste posibil să împiedice browserul să deschidă fereastra pop-up necesară pentru ca utilizatorii să finalizeze tranzacția. Încercați să schimbați valoarea antetului lasame-origin-allow-popupspentru 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 apelulloadPaymentData().
| 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 |
INTERNAL_ERROR | Eroare generală a serverului. |
Informații card
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.