Antwortobjekte

In dieser Referenz werden die Optionen für das Google Pay API-Antwortobjekt beschrieben, die Sie für Ihre Website verwenden können. Antwortobjekte sind Objekte, die von den Client-Methoden der Google Pay API zurückgegeben werden.

IsReadyToPayResponse

Dieses Objekt enthält Informationen dazu, ob ein Websitebesucher der Website, die die Zahlungsdaten anfordert, Zahlungsdaten zur Verfügung stellen kann.

Attribut Typ Immer vorhanden Beschreibung
result Boolesch Ja Der aktuelle Besucher kann der Website, die sie anfordert, Zahlungsinformationen zur Verfügung stellen. Die Zahlungsfähigkeit eines Besuchers kann davon abhängen, ob sein Webbrowser die erforderlichen Komponenten für die angegebenen Zahlungsmethoden anzeigen kann. Das gilt auch, wenn sie sich in einem Google-Konto anmelden und eine Zahlungsmethode angeben.
paymentMethodPresent Boolesch Nein

Wenn true, hat der Besucher mindestens eine Zahlungsmethode, die in der Eigenschaft allowedPaymentMethods der bereitgestellten IsReadyToPayRequest angegeben ist.

Ist nur vorhanden, wenn existingPaymentMethodRequired in IsReadyToPayRequest auf true gesetzt wurde.

Wenn PaymentsClient mit der Eigenschaft environment auf TEST initialisiert wird, ist immer eine Zahlungsmethode vorhanden.

Beispiel

Im folgenden Beispiel sehen Sie, wann der aktuelle Besucher Zahlungsdaten für die Website bereitstellen kann, die sie anfordert.

{
  "result": true
}

PaymentData

Dies ist ein Antwortobjekt, das von Google zurückgegeben wird, nachdem ein Zahlungspflichtiger die Zahlung genehmigt hat.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
Attribut Typ Immer vorhanden Beschreibung
apiVersion Zahl Ja Haupt-API-Version. Der Wert in der Antwort entspricht dem Wert, der in PaymentDataRequest angegeben wurde.
apiVersionMinor Zahl Ja Nebenversion der API. Der Wert in der Antwort entspricht dem Wert, der in PaymentDataRequest angegeben wurde.
paymentMethodData PaymentMethodData Ja Daten zur ausgewählten Zahlungsmethode.
email String Nein E-Mail-Adresse, wenn emailRequired in der PaymentDataRequest auf true gesetzt ist. Wenn die Property in einer anderen Anfrage auf true festgelegt ist, hat das keine Auswirkungen.
shippingAddress Adresse Nein Versandadresse, wenn shippingAddressRequired in der PaymentDataRequest auf true festgelegt ist.

Beispiel

In dieser Beispielantwort für die Google Pay API-Version 2.0 ist eine CARD-Zahlungsmethode zu sehen, die im Google Pay-Zahlungsblatt ausgewählt wurde. Für das example-Gateway wurde ein Zahlungsmethoden-Token generiert.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "paymentMethodData": {
    "type": "CARD",
    "description": "Visa •••• 1234",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234",
      "cardFundingSource": "CREDIT"
    },
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": "examplePaymentMethodToken"
    }
  }
}

IntermediatePaymentData

Dieses Objekt wird von der Google Pay API onPaymentDataChanged()-Eingabe zurückgegeben, wenn die Lieferadresse oder die Versandoptionen im Zahlungsblatt geändert werden.

Attribut Typ Notwendigkeit Beschreibung
callbackTrigger String Optional

Beschreibt den Grund, aus dem der Rückruf für Zahlungsdaten ausgelöst wurde.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData OfferData Optional Der vom Nutzer angegebene Gutscheincode.
shippingAddress IntermediateAddress Optional Die ausgewählte Adresse im Zahlungsformular.
shippingOptionData SelectionOptionData Optional Die ausgewählte Versandoption im Zahlungsblatt.

Beispiel

In diesem Beispiel wird die Zwischennutzlast gezeigt, die von der Google Pay API zurückgegeben wird.

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "offerData": {
    "redemptionCode": "exampleCode"
  },
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

PaymentMethodData

Dieses Objekt enthält Daten für eine ausgewählte Zahlungsmethode.

Attribut Typ Immer vorhanden Beschreibung
type String Ja PaymentMethod type im Google Pay-Zahlungsblatt ausgewählt.
description String Ja

Für Nutzer sichtbare Nachricht zur Beschreibung der Zahlungsmethode, mit der diese Transaktion finanziert wird.

info Objekt Ja Der Wert dieser Eigenschaft hängt von der zurückgegebenen Zahlungsmethode type ab. Informationen zu CARD finden Sie unter CardInfo.
tokenizationData PaymentMethodTokenizationData Nein Daten zur Zahlungstokenisierung für die ausgewählte Zahlungsmethode.

Beispiel

In dieser Beispielantwort wird gezeigt, wie für eine CARD-Zahlungsmethode, die im Google Pay-Zahlungsformular ausgewählt ist, ein Zahlungsmethoden-Token für das example-Gateway generiert wird.

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

CardInfo

Dieses Objekt enthält Informationen zur ausgewählten Zahlungskarte.

Attribut Typ Immer vorhanden Beschreibung
cardDetails String Ja Details zur Karte. Dieser Wert entspricht in der Regel den letzten vier Ziffern der ausgewählten Zahlungskontonummer.
assuranceDetails AssuranceDetailsSpecifications Ja Dieses Objekt enthält Informationen zur Validierung der zurückgegebenen Zahlungsdaten, wenn assuranceDetailsRequired in den CardParameters auf true gesetzt ist.
cardNetwork String Ja

Das Zahlungskartennetzwerk der ausgewählten Zahlung. Die zurückgegebenen Werte entsprechen dem Format von allowedCardNetworks in CardParameters.

Dieser Wert des Kartennetzwerks sollte dem Käufer nicht angezeigt werden. Sie wird verwendet, wenn die Kartendetails eines Käufers benötigt werden. Beispiel: Der Kundensupport benötigt diesen Wert, um die Karte zu identifizieren, die ein Käufer für seine Transaktion verwendet hat. Verwenden Sie stattdessen die Property description von PaymentMethodData für eine für Nutzer sichtbare Beschreibung.

billingAddress Adresse Nein Die Rechnungsadresse, die mit der angegebenen Zahlungsmethode verknüpft ist, wenn billingAddressRequired in CardParameters auf true gesetzt ist.
cardFundingSource String Ja

Kartenfinanzierungsquelle für die ausgewählte Zahlungsmethode.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Beispiel

In diesem Beispiel ist eine Karte im Visa-Netzwerk zu sehen.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

AssuranceDetailsSpecifications

Dieses Objekt enthält Informationen dazu, welche Validierung für die zurückgegebenen Zahlungsanmeldedaten durchgeführt wurde, damit entsprechende Risikoprüfungen für das Zahlungsmittel angewendet werden können.

Name Typ Beschreibung
accountVerified Boolesch Wenn true, bedeutet das, dass die Validierung des Besitzes von Cardholder für die zurückgegebenen Zahlungsanmeldedaten durchgeführt wurde.
cardHolderAuthenticated Boolesch

Wenn true, gibt dies an, dass die Identifizierung und Bestätigung (ID&V) für die zurückgegebenen Zahlungsanmeldedaten durchgeführt wurde.

Wenn false, kann dieselbe risikobasierte Authentifizierung wie bei Kartentransaktionen durchgeführt werden. Diese risikobasierte Authentifizierung kann unter anderem eine zusätzliche Bestätigung mit dem 3D Secure-Protokoll umfassen, sofern zutreffend.

Sie können das Antwortobjekt auch dann empfangen und verarbeiten, wenn Sie das Feld assuranceDetails nicht verwenden. Wenn Sie dieses Objekt erhalten möchten, fügen Sie assuranceDetailsRequired: true in die des Request-Objekts ein: CardParameters.

PaymentMethodTokenizationData

Dieses Objekt enthält Tokenisierungsdaten für die Zahlungsmethode.

Attribut Typ Immer vorhanden Beschreibung
type String Ja Die Art der Tokenisierung, die auf die ausgewählte Zahlungsmethode angewendet werden soll. Dieser Wert entspricht dem in PaymentMethodTokenizationSpecification festgelegten type.
token String Nein

Das generierte Zahlungsmethoden-Token.

Beispiel

Dies ist ein Beispiel für eine tokenisierte Antwort, die für das example-Gateway vorbereitet wurde.

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

PaymentAuthorizationResult

Dieses Objekt enthält Informationen zum Ergebnis der Zahlungsautorisierung.

Attribut Typ Notwendigkeit Beschreibung
transactionState String Erforderlich Der Status der Transaktion wird durch eines der folgenden Händlerergebnisse aufgelöst:
  • SUCCESS
  • ERROR
error PaymentDataError Optional Der Fehler, der im Zahlungsformular für den Nutzer gerendert werden soll, wenn die Zahlung wiederholt werden muss.

Beispiel

Das folgende Beispiel zeigt die Rückgabe des Zahlungsergebnisses nach der Verarbeitung einer Zahlung:

{
  "transactionState": "ERROR",
  "error": {
    "reason": "PAYMENT_DATA_INVALID",
    "message": "Cannot pay with payment credentials",
    "intent": "PAYMENT_AUTHORIZATION"
  }
}

PaymentDataError

Attribut Typ Notwendigkeit Beschreibung
reason String Erforderlich

Liste der vordefinierten Fehlerursachen:

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message String Erforderlich Fehlermeldung für den Nutzer, die in einem Dialogfeld angezeigt wird.
intent String Erforderlich

Die Absicht des Fehlers. Dies muss eine sein, die von Beginn des Ablaufs an in PaymentDataRequest registriert wurde.

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Beispiel

In diesem Beispiel sehen Sie die Fehlerabsicht und die Meldung, die im Zahlungsblatt gerendert werden soll.

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

Adresse

Dieses Objekt enthält Informationen zu einer angeforderten Postanschrift. Alle Attribute sind Strings.

Adressen können in den Formaten MIN, FULL und FULL-ISO3166 zurückgegeben werden. Die Attribute der einzelnen Formate sind in der folgenden Tabelle aufgeführt.

Attribut Adressformat Beschreibung
name MIN, FULL, FULL-ISO3166 Der vollständige Name des Empfängers.
postalCode MIN, FULL, FULL-ISO3166 Die Postleitzahl.
countryCode MIN, FULL, FULL-ISO3166 ISO 3166-1 Alpha-2-Ländercode.
phoneNumber MIN, FULL, FULL-ISO3166 Eine Telefonnummer, wenn phoneNumberRequired in der PaymentDataRequest auf true gesetzt ist.
address1 FULL, FULL-ISO3166 Die erste Zeile der Adresse.
address2 FULL, FULL-ISO3166 Die zweite Zeile der Adresse.
address3 FULL, FULL-ISO3166 Die dritte Zeile der Adresse.
locality FULL, FULL-ISO3166 Stadt, Stadtteil oder Vorort
administrativeArea FULL, FULL-ISO3166 Eine Unterteilung eines Landes, z. B. ein Bundesland oder eine Provinz.
sortingCode FULL, FULL-ISO3166 Der Sortiercode.
iso3166AdministrativeArea FULL-ISO3166 Der ISO 3166-2-Code für das Verwaltungsgebiet, der „administrativeArea“ entspricht.

Beispiel

Dies ist ein Beispiel für eine Adresse im FULL-ISO3166-Format in den USA mit mehreren Zeilen mit Straßenadressdaten.

{
  "name": "John Doe",
  "address1": "c/o Google LLC",
  "address2": "1600 Amphitheatre Pkwy",
  "address3": "Building 40",
  "locality": "Mountain View",
  "administrativeArea": "CA",
  "countryCode": "US",
  "postalCode": "94043",
  "sortingCode": ""
  "iso3166AdministrativeArea": "US-CA"
}

IntermediateAddress

Attribut Typ Notwendigkeit Beschreibung
administrativeArea String Erforderlich Eine Unterteilung eines Landes, z. B. ein Bundesland oder eine Provinz.
countryCode String Erforderlich ISO 3166-1 Alpha-2-Ländercode.
locality String Erforderlich Stadt, Stadtteil oder Vorort
postalCode String Erforderlich Die anonymisierte Postleitzahl basierend auf dem Land. Für Kanada und das Vereinigte Königreich enthält sie nur die ersten drei Zeichen. Für die USA enthält sie die ersten fünf Ziffern.
iso3166AdministrativeArea String Optional Der ISO 3166-2-Code für das Verwaltungsgebiet, der „administrativeArea“ entspricht. Nur vorhanden, wenn das Format der Versandadresse FULL-ISO3166 ist.

Beispiel

In diesem Beispiel sehen Sie die im Zahlungsblatt ausgewählte Adresse.

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelectionOptionData

Attribut Typ Notwendigkeit Beschreibung
id String Erforderlich Übereinstimmungen mit SelectionOption.id

Beispiel

In diesem Beispiel sehen Sie die im Zahlungsblatt ausgewählte Versandoption.

{
  "id": "shipping-001"
}

OfferData

Dieses Objekt enthält Informationen zu einem im Zahlungsblatt eingegebenen Angebotscode.

Attribut Typ Notwendigkeit Beschreibung
redemptionCodes Matrix Immer vorhanden Die Menge der Gutscheincodes, die in das Zahlungsformular eingegeben wurden. Enthält bereits genehmigte Codes.

Beispiel

Das folgende Beispiel zeigt ein OfferData-Objekt mit einem redemptionCodes-Array.

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}