Fehlerbehebung

In der Anleitung zur Fehlerbehebung im Web werden Probleme und Fragen zu den folgenden Themen behandelt.

Registrierung und Zugriff

Im Laufe der Integration können die folgenden Fehler auftreten. Diese Liste enthält einige hilfreiche Tipps zur Fehlerbehebung, falls diese Fehler auftreten.

Dieser Händler ist nicht für Google Pay aktiviert
Für die Google Pay API ist eine Google-Händler-ID für Websites erforderlich, die PaymentsClient für eine PRODUCTION-Umgebung konfigurieren. Ein Google-merchantId ist über die Google Pay & Wallet Console mit einer oder mehreren vollqualifizierten Domains verknüpft. Weitere Informationen finden Sie in den zurückgegebenen Fehlerdetails.
Dieser Händler hat die Registrierung für die Verwendung der Google Pay API noch nicht abgeschlossen. Bitte rufen Sie die Console (https://pay.google.com/business/console) auf, um die Bestätigung durchzuführen.
Sie haben die Registrierung Ihrer Websites für die Google Pay API noch nicht abgeschlossen. Überprüfen Sie, ob Sie Produktionszugriff anfordern müssen, um sich über die Google Pay & Wallet Console zu registrieren und eine Überprüfung der Verwendung der Google Pay API auf Ihrer Website anzufordern.
Dieses Händlerprofil hat keinen Zugriff auf diese Funktion
Google hat Ihre Website nicht für die Verwendung der Google Pay API konfiguriert. Überprüfung Produktionszugriff anfordern: Wenn Sie eine Überprüfung der Nutzung der Google Pay API auf Ihrer Website anfordern möchten, verwenden Sie die Google Pay & Wallet Console.
Diese Google Pay API-Einbindung ist deaktiviert. Weitere Informationen erhalten Sie unter https://developers.google.com/pay/api/faq#how-to-get-support.
Kontaktieren Sie uns, um mehr über die erforderlichen Schritte zur Reaktivierung der Google Pay API für Ihr Google-Konto zu erfahren.
Ihre Domain beispiel.de ist nicht für die Verwendung dieser API registriert.
Die Domain, auf der Ihr Bezahlvorgang gehostet wird, ist nicht mit dem merchantId verknüpft, das Sie verwenden. Achten Sie darauf, dass der Parameter merchantId korrekt ist und Ihre Domain über die Google Pay & Wallet Console registriert ist.
Die Google Pay API sollte in einem sicheren Kontext aufgerufen werden.
Die Google Pay API kann nur auf Websites in einem sicheren Kontext verwendet werden. Weitere Informationen finden Sie unter Sichere Kontexte.
Für dieses Händlerprofil wurden keine Schlüssel gefunden
Sie müssen Ihren öffentlichen Verschlüsselungsschlüssel über die Google Pay & Wallet Console bei Google registrieren, um eine DIRECTtokenizationSpecification-Integration abzuschließen.type

merchantId

Im Rahmen Ihrer Integration können die folgenden Fehler im Zusammenhang mit merchantId auftreten. Diese Liste enthält einige hilfreiche Tipps zur Fehlerbehebung, falls diese Fehler auftreten.

Die Händler-ID muss festgelegt werden.
Der Parameter merchantId in PaymentDataRequest muss auf den Wert gesetzt werden, der über die Google Pay & Wallet Console angegeben wird. Ein merchantId-Parameter ist nur erforderlich, wenn Sie ein PaymentsClient verwenden, das für eine PRODUCTION-Umgebung konfiguriert ist. Sehen Sie sich unsere Checkliste für die Integration an, um eine Überprüfung der Verwendung der Google Pay API auf Ihrer Website anzufordern und Ihre merchantId zu erhalten.
merchantId ist keine Zeichenfolge
Der Parameter merchantId in PaymentDataRequest muss immer ein String sein. Achten Sie darauf, dass der Typ des Parameters merchantId, den Sie verwenden, ein String ist, bevor Sie die API aufrufen.
merchantId ist nicht registriert.
Der Parameter merchantId in PaymentDataRequest muss über die Google Pay & Wallet Console bereitgestellt werden. Weitere Informationen finden Sie unter Produktionszugriff anfordern.

Gateway-Gültigkeit

Im Rahmen Ihrer Integration können die folgenden Fehler im Zusammenhang mit der Gültigkeit des Gateways auftreten. Diese Liste enthält einige hilfreiche Tipps zur Fehlerbehebung, falls diese Fehler auftreten.

Unbekanntes Gateway yourgateway
Der Gateway-Parameter, den Sie in paymentMethodTokenizationParameters.parameters angegeben haben, wird derzeit nicht von Google unterstützt. Wenden Sie sich an Ihr Gateway, um weitere Informationen zur Gateway-Kennung und zugehörigen Feldern wie gatewayMerchantId zu erhalten.
Das Gateway „example“ kann im Produktionsmodus nicht verwendet werden
Der Beispielwert für den Gateway-Parameter wird nur zu Testzwecken verwendet und kann nicht mit einem PaymentsClient verwendet werden, das für eine PRODUCTION-Umgebung konfiguriert ist. Wenden Sie sich an Ihr Gateway, um weitere Informationen zu den PaymentMethodTokenizationSpecification-Parameterwerten zu erhalten, die Sie für die Verwendung mit der Google Pay API festlegen müssen.

Objektgültigkeit

Im Rahmen Ihrer Integration können die folgenden Fehler im Zusammenhang mit der Objektgültigkeit auftreten. Diese Liste enthält einige hilfreiche Tipps zur Fehlerbehebung, falls diese Fehler auftreten.

PaymentDataRequest von Google Pay ist kein gültiges JSON
Der Parameter, der an loadPaymentData übergeben wird, muss immer ein gültiges PaymentDataRequest-Objekt sein.
„transactionInfo“ darf nicht leer bleiben.
Der Parameter transactionInfo in PaymentDataRequest muss immer ein gültiges TransactionInfo-Objekt sein.

Direkthändler

Im Rahmen Ihrer Integration können die folgenden Fehler im Zusammenhang mit direkten Händlern auftreten. Diese Liste enthält einige hilfreiche Tipps zur Fehlerbehebung, falls diese Fehler auftreten.

Signaturüberprüfung
Ein Signaturprüfungsfehler kann auftreten, wenn die merchantId falsch ist. Dies kann in der TEST-Umgebung passieren, wenn Sie die Tink-Bibliothek für Zahlungsmethodentokens verwenden. Um dieses Problem zu vermeiden, setzen Sie YOUR_MERCHANT_ID auf 12345678901234567890 in:
.recipientId("merchant:YOUR_MERCHANT_ID")
Token kann nicht entschlüsselt werden
Wenn Sie die Tink-Bibliothek für Zahlungsmethoden-Tokens zum Entschlüsseln eines Tokens verwenden, beachten Sie Folgendes:
  • Achten Sie darauf, dass die Google Pay API-Antwortumgebung der Tink-Umgebung für paymentmethodtoken entspricht. Weitere Informationen finden Sie im folgenden Beispiel:
    • Wenn die Google Pay API-Antwort von der Umgebung TEST zurückgegeben wurde, verweist Tink zur Entschlüsselung auf die Testumgebung.
  • Ändern Sie die Antwort der Google Pay API nicht, bevor sie an Tink übergeben wird. Achten Sie darauf, dass Sie das gesamte Token übergeben, das in der Antwort der Google Pay API zurückgegeben wird. Weitere Informationen finden Sie im folgenden Hinweis:
  • Prüfen Sie, ob Sie den richtigen privaten Schlüssel haben, der dem öffentlichen Schlüssel zugeordnet ist, den Sie bei Google registriert haben.
Schlüsselpaar aus öffentlichem und privatem Schlüssel unter Windows generieren
Wenn Sie Windows verwenden und die Schritte unter OpenSSL zum Generieren eines privaten und öffentlichen Schlüsselpaars verwenden ausführen möchten, müssen Sie Cygwin auf Ihrem Computer installieren. Dies ist erforderlich, um die Linux-Befehle auszuführen.

Fehlerobjekte

Fehlerobjekte sind Objekte, die von einem abgelehnten Promise einer Client-JavaScript-Methode zurückgegeben werden.

PaymentsError
Dieses Objekt enthält Details zu Fehlern, die von Client-JavaScript-Methoden zurückgegeben werden. Fehler werden möglicherweise nicht in einem für Nutzer sichtbaren Dialogfeld angezeigt.
Attribut Typ Beschreibung
statusCode String Kurzer Code, der den Fehlertyp beschreibt.
statusMessage String Eine an Entwickler gerichtete Meldung, in der der aufgetretene Fehler und mögliche Schritte zur Behebung beschrieben werden.
Häufige Fehler
Dieses Objekt enthält Fehler, die bei allen JavaScript-Methoden auftreten können. Sehen Sie in der Entwicklerkonsole nach, ob zusätzliche Fehlermeldungen angezeigt werden.
Statuscode Beschreibung
BUYER_ACCOUNT_ERROR Der aktuelle Google-Nutzer kann keine Zahlungsinformationen angeben.
DEVELOPER_ERROR

Ein übergebener Parameter ist falsch formatiert. Für alle konfigurierten Umgebungen wird möglicherweise eine Fehlermeldung in der Browserkonsole angezeigt.

MERCHANT_ACCOUNT_ERROR

Die Website, die auf die Google Pay API zugreift, hat nicht die erforderliche Berechtigung. Das kann an einer falschen Konfiguration oder einer falschen Händler-ID liegen, die in der Anfrage festgelegt ist. Weitere Informationen finden Sie im Feld statusMessage. Wenn weiterhin Probleme auftreten, wenden Sie sich an den Support.

INTERNAL_ERROR Allgemeiner Serverfehler.

CardInfo

Was ist die Funktion „CardInfo“?
Google Pay zeigt Nutzern an, dass hinter der Google Pay-Zahlungsschaltfläche eine Karte hinterlegt ist. Dabei werden sowohl das Netzwerk der Kartenmarke als auch die letzten vier Ziffern der Karte angezeigt.
Warum wird die Funktion „CardInfo“ in meiner Implementierung nicht gerendert?

Damit die Funktion „Karteninformationen“ funktioniert, müssen die folgenden Voraussetzungen erfüllt sein:

Warum wird die Google Pay-Zahlungsschaltfläche unendlich lange geladen?
Entfernen Sie die onLoad-Event-Listener nicht. Wenn Sie die onLoad-Event-Listener entfernen, kann es passieren, dass die Google Pay-Zahlungsschaltfläche unbegrenzt geladen wird.
Warum wird nach dem Klicken auf die Google Pay-Zahlungsschaltfläche keine Zahlungsaufforderung angezeigt?
Weisen Sie dem ButtonOptions.onClick-Ereignis einen Event-Listener-Callback zu.

OR_BIBED_15 Fehler

Möglicherweise tritt bei der Integration ein OR_BIBED_15-Fehler auf. Diese Liste enthält einige hilfreiche Tipps zur Fehlerbehebung, falls dieser Fehler auftritt.

Mit WebViews arbeiten
Folgen Sie den Anleitungen für Android und iOS, damit Ihre Integration mit WebViews kompatibel ist.
Cross-Origin-Opener-Policy-HTTP-Antwortheader
Wenn der Cross-Origin-Opener-Policy-HTTP-Antwortheader auf same-origin gesetzt ist, kann dies verhindern, dass der Browser das erforderliche Pop-up-Fenster öffnet, damit Nutzer ihre Transaktion abschließen können. Ändern Sie den Wert des Headers in same-origin-allow-popups, um diese Probleme zu verringern.
Verzögerungen zwischen dem Klickereignis des Nutzers und dem Aufruf von loadPaymentData()
Wenn es nach dem Klicken auf die Google Pay-Schaltfläche (oder eine ähnliche Schaltfläche für die Zahlungsabwicklung) und vor dem Aufruf von loadPaymentData() zu einer Verzögerung kommt (z. B. setTimeout(), zusätzliche Netzwerkaufrufe oder ähnliche lang andauernde Logik), kann dies dazu führen, dass der Popup-Blockierungsmechanismus des Browsers ausgelöst wird. Wir empfehlen, keine Verzögerungen zwischen dem Klick des Nutzers und dem loadPaymentData()-Aufruf festzulegen.