Przewodnik rozwiązywania problemów z wersją internetową obejmuje problemy i pytania związane z tymi tematami:
- Dostęp do rejestracji
- merchantID
- Ważność bramy
- Ważność obiektu
- Sprzedawcy bezpośredni
- CardInfo
- Błędy OR_BIBED_15
Rejestracja i dostęp
W trakcie integracji możesz napotkać te błędy. Ta lista zawiera przydatne wskazówki dotyczące rozwiązywania problemów, które mogą się pojawić.
- Ten sprzedawca nie ma włączonej usługi Google Pay
- Google Pay API wymaga identyfikatora sprzedawcy Google w przypadku witryn, które konfigurują
PaymentsClientdla środowiskaPRODUCTION.merchantIdGoogle jest powiązany z co najmniej jedną pełną i jednoznaczną domeną za pomocą Konsoli usług Google Pay i Portfela Google. Więcej informacji znajdziesz w szczegółach zwróconego błędu. - Ten sprzedawca nie zakończył rejestracji, aby korzystać z Google Pay API. Aby dokonać weryfikacji, otwórz konsolę (https://pay.google.com/business/console).
- Nie udało Ci się zarejestrować witryn w Google Pay API. Zapoznaj się z artykułem Prośba o dostęp produkcyjny, aby zarejestrować się w Konsoli usług Google Pay i Portfela Google i poprosić o sprawdzenie wykorzystania Google Pay API na Twojej stronie.
- Ten profil sprzedawcy nie ma dostępu do tej funkcji
- Google nie skonfigurował Twojej witryny do korzystania z Google Pay API. Zapoznaj się z artykułem Prośba o dostęp produkcyjny, aby poprosić o sprawdzenie wykorzystania Google Pay API na Twojej stronie za pomocą Konsoli usług Google Pay i Portfela Google.
- Ta integracja Google Pay API jest wyłączona. Aby uzyskać więcej informacji, skontaktuj się z nami (https://developers.google.com/pay/api/faq#how-to-get-support).
- Skontaktuj się z nami, aby dowiedzieć się więcej o krokach, które musisz wykonać, aby ponownie włączyć Google Pay API na swoim koncie Google.
- Twoja domena „example.com” nie jest zarejestrowana do korzystania z tego interfejsu API.
- Domena, w której hostowana jest płatność, nie jest powiązana z
merchantId, którego używasz. Sprawdź, czy parametrmerchantIdjest prawidłowy i czy domena jest zarejestrowana w Konsoli usług Google Pay i Portfela Google. - Interfejs Google Pay API powinien być wywoływany tylko w bezpiecznym kontekście.
- Google Pay API można używać tylko w bezpiecznym kontekście w witrynach. Więcej informacji znajdziesz w artykule Bezpieczne konteksty.
- Nie znaleziono żadnych kluczy dla tego profilu sprzedawcy.
- Aby dokonać integracji
DIRECTtokenizationSpecificationtype, musisz zarejestrować swój publiczny klucz szyfrowania w Google za pomocą Konsoli usług Google Pay i Portfela Google.
merchantId
Podczas integracji możesz napotkać te błędy związane z merchantId. Ta lista zawiera przydatne wskazówki dotyczące rozwiązywania problemów, które mogą się pojawić.
- Musisz ustawić parametr merchantId.
- Parametr
merchantIdwPaymentDataRequestmusi mieć wartość podaną w Konsoli usług Google Pay i Portfela Google. ParametrmerchantIdjest wymagany tylko wtedy, gdy używasz parametruPaymentsClientskonfigurowanego dla środowiskaPRODUCTION. Zapoznaj się z naszą listą kontrolną integracji, aby poprosić o sprawdzenie wykorzystania Google Pay API na Twojej stronie i uzyskaćmerchantId. - merchantId nie jest ciągiem znaków.
- Parametr
merchantIdwewnątrzPaymentDataRequestmusi zawsze być ciągiem znaków. Przed wywołaniem interfejsu API upewnij się, że typ używanego parametrumerchantIdto ciąg znaków. - merchantId nie jest zarejestrowany.
- Parametr
merchantIdwPaymentDataRequestmusi być udostępniony w Konsoli usług Google Pay i Portfela Google. Więcej informacji znajdziesz w sekcji Zgłaszanie prośby o dostęp produkcyjny.
Ważność bramy
W trakcie integracji możesz napotkać te błędy związane z ważnością bramy. Ta lista zawiera przydatne wskazówki dotyczące rozwiązywania problemów, które mogą się pojawić.
- Nieznana brama „twojabrama”.
- Parametr bramy podany w
paymentMethodTokenizationParameters.parametersnie jest obecnie obsługiwany przez Google. Aby dowiedzieć się więcej o identyfikatorze bramy i powiązanych polach, takich jakgatewayMerchantId, skontaktuj się z dostawcą bramy. - Bramy „example” nie można używać w trybie produkcyjnym
- Ta przykładowa wartość parametru bramy służy tylko do testowania i nie można jej używać, gdy
PaymentsClientjest skonfigurowany w środowiskuPRODUCTION. Skontaktuj się z dostawcą bramy, aby uzyskać więcej informacji o wartościach parametrówPaymentMethodTokenizationSpecification, które musisz skonfigurować przy korzystaniu z Google Pay API.
Ważność obiektu
W trakcie integracji możesz napotkać te błędy związane z ważnością obiektu. Ta lista zawiera przydatne wskazówki dotyczące rozwiązywania problemów, które mogą się pojawić.
- PaymentDataRequest używany do obsługi Google Pay nie jest prawidłowym obiektem JSON
- Parametr przekazywany do
loadPaymentDatamusi być zawsze prawidłowym obiektemPaymentDataRequest. - Musisz ustawić transactionInfo.
- Parametr
transactionInfowewnątrzPaymentDataRequestmusi zawsze być prawidłowym obiektemTransactionInfo.
Sprzedawcy bezpośredni
W trakcie integracji możesz napotkać te błędy związane z bezpośrednimi sprzedawcami. Ta lista zawiera przydatne wskazówki dotyczące rozwiązywania problemów, które mogą się pojawić.
- Weryfikacja podpisu
- Jeżeli
merchantIdjest nieprawidłowy, możesz napotkać błąd weryfikacji podpisu. Może to mieć miejsce w środowiskuTESTpodczas korzystania z biblioteki Tink paymentmethodtoken. Aby tego uniknąć, podaj12345678901234567890jako YOUR_MERCHANT_ID w: .recipientId("merchant:YOUR_MERCHANT_ID")
- Nie można odszyfrować tokena
- Jeśli do odszyfrowywania tokena używasz biblioteki Tink paymentmethodtoken, pamiętaj o tych kwestiach:
- Sprawdź, czy środowisko, z którego pochodzi odpowiedź Google Pay API, odpowiada środowisku paymentmethodtoken Tink. Na przykład:
- Jeśli odpowiedź Google Pay API została zwrócona przez środowisko
TEST, Tink wskazuje, że odszyfrowywanie ma się odbywać w środowisku testowym. - Nie zmieniaj odpowiedzi z Google Pay API, dopóki nie zostanie przekazana do Tink. Sprawdź, czy przekazujesz cały token zwrócony w odpowiedzi z Google Pay API. Więcej informacji znajdziesz w tej uwadze:
- Sprawdź, czy masz odpowiedni klucz prywatny powiązany z kluczem publicznym zarejestrowanym w Google.
- Generowanie pary kluczy (publicznego i prywatnego) w systemie Windows
- Jeśli korzystasz z systemu Windows i chcesz wykonać czynności opisane w sekcji Wykorzystanie OpenSSL do generowania pary kluczy (prywatnego i publicznego), zainstaluj na swoim urządzeniu kolekcję narzędzi Cygwin. Jest ona potrzebna do obsługi poleceń Linux.
Obiekty błędu
Obiekty błędu są obiektami zwracanymi przez odrzuconą obietnicę z metody JavaScript klienta.
- PaymentsError
- Ten obiekt zawiera szczegółowe informacje dotyczące błędów zwracanych przez metody JavaScript klienta. Błędy mogą nie być wyświetlane w oknie dialogowym skierowanym do użytkownika.
| Właściwość | Typ | Opis |
|---|---|---|
statusCode |
Ciąg znaków | Krótki kod opisujący rodzaj błędu. |
statusMessage |
Ciąg znaków | Wiadomość widoczna dla programisty opisująca napotkany błąd i możliwe kroki, by go naprawić. |
- Typowe błędy
- Ten obiekt wyświetla błędy, które możesz napotkać we wszystkich metodach JavaScript. Sprawdź, czy w konsoli programisty są dodatkowe komunikaty o błędach.
- Czym jest funkcja CardInfo?
- Google Pay informuje klientów, że przycisk płatności Google Pay działa jak karta, wyświetlając zarówno markę karty, jak i ostatnie 4 cyfry jej numeru.
- Dlaczego funkcja CardInfo nie jest renderowana w mojej implementacji?
Aby funkcja CardInfo działała, musisz spełnić te warunki:
- Musisz wdrożyć interfejs API
createButton. - Musisz skonfigurować
ButtonOptions.buttonTypenabuy,longlubpay. - Użytkownik musi mieć dostępną formę płatności zdefiniowaną w obiekcie
CardParameters.
- Musisz wdrożyć interfejs API
- Dlaczego przycisk płatności Google Pay ładuje się w nieskończoność?
- Nie usuwaj detektorów zdarzeń
onLoad. Jeśli usunieszonLoaddetektory zdarzeń, przycisk płatności Google Pay może ładować się w nieskończoność. - Dlaczego po kliknięciu przycisku płatności Google Pay nie pojawia się prośba o płatność?
- Przypisz wywołanie zwrotne detektora zdarzeń do zdarzenia
ButtonOptions.onClick. - Praca z komponentami WebView
- Postępuj zgodnie z przewodnikami dotyczącymi Androida i iOS, aby mieć pewność, że integracja jest zgodna z widokami WebView.
Cross-Origin-Opener-PolicyNagłówek odpowiedzi HTTP- Jeśli nagłówek odpowiedzi HTTP
Cross-Origin-Opener-Policyma wartośćsame-origin, może to uniemożliwić przeglądarce otwarcie niezbędnego wyskakującego okienka, w którym użytkownicy mogą dokończyć transakcję. Aby zmniejszyć te problemy, spróbuj zmienić wartość nagłówka nasame-origin-allow-popups. - Opóźnienia między kliknięciem użytkownika a wywołaniem funkcji
loadPaymentData(). -
Jeśli po kliknięciu przycisku Google Pay (lub podobnego przycisku płatności) występuje opóźnienie przed wywołaniem
loadPaymentData()(np.setTimeout(), dodatkowe wywołania sieciowe lub podobna długotrwała logika), może to spowodować uruchomienie mechanizmu blokowania wyskakujących okienek w przeglądarce. Zalecamy, aby nie ustawiać żadnych opóźnień między kliknięciem użytkownika a wywołaniem funkcjiloadPaymentData().
| Kod stanu | Opis |
|---|---|
BUYER_ACCOUNT_ERROR |
Bieżący użytkownik Google nie może podać danych karty. |
DEVELOPER_ERROR |
Przekazany parametr jest nieprawidłowo sformatowany. We wszystkich skonfigurowanych środowiskach komunikat o błędzie może wyświetlić się w konsoli przeglądarki. |
MERCHANT_ACCOUNT_ERROR |
Witryna uzyskująca dostęp do Google Pay API nie ma odpowiednich uprawnień. Może to być spowodowane nieprawidłową konfiguracją lub niepoprawnym identyfikatorem sprzedawcy określonym w żądaniu. Więcej informacji znajdziesz w polu |
INTERNAL_ERROR |
Ogólny błąd serwera. |
CardInfo
OR_BIBED_15 błędu
W pewnym momencie integracji może wystąpić błąd OR_BIBED_15. Ta lista zawiera przydatne wskazówki, które pomogą Ci rozwiązać ten problem.