JSON-Antwortobjekte

In dieser Referenz werden die Optionen für das Google Pay API-Antwortobjekt beschrieben, die Sie in Ihrer Anwendung verwenden können. Antwortobjekte sind Objekte, die von den Clientmethoden der Google Pay API zurückgegeben werden.

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 Hauptversion der API. Der Wert in der Antwort entspricht dem Wert, der in
apiVersionMinor Zahl Ja API-Nebenversion. Der Wert in der Antwort entspricht dem Wert, der in
paymentMethodData PaymentMethodData Ja Daten zur ausgewählten Zahlungsmethode.
email String Nein E-Mail-Adresse, wenn emailRequired in der PaymentDataRequest. Wenn die Property in einer anderen Anfrage auf true gesetzt ist, hat dies keine Auswirkungen.
shippingAddress Adresse Nein Versandadresse, wenn shippingAddressRequired in der

Beispiel

Diese Beispielantwort für die Google Pay API-Version 2.0 zeigt eine im Google Pay-Zahlungsformular ausgewählte CARD-Zahlungsmethode. Für das Gateway example 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"
    }
  }
}

PaymentMethodData

Dieses Objekt stellt Daten für eine ausgewählte Zahlungsmethode bereit.

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

Für Nutzer sichtbare Nachricht, in der die Zahlungsmethode beschrieben wird, mit der diese Transaktion finanziert wird.

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

Beispiel

Diese Beispielantwort zeigt, wie eine im Google Pay-Zahlungsformular ausgewählte CARD-Zahlungsmethode ein Zahlungsmethoden-Token für das example-Gateway generiert.

{
  "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 Die Details zur Karte. Dieser Wert besteht in der Regel aus 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.
cardNetwork String Ja

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

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

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

Kartenfinanzierungsquelle für die ausgewählte Zahlungsmethode.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Beispiel

In diesem Beispiel wird eine Karte im Visa-Netzwerk gezeigt.

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

AssuranceDetailsSpecifications

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

Name Typ Beschreibung
accountVerified boolean Wenn true, gibt dies an, dass die Cardholder-Besitzbestätigung für die zurückgegebenen Zahlungsdaten durchgeführt wurde.
cardHolderAuthenticated boolean

Wenn true, gibt dies an, dass für den zurückgegebenen Zahlungsberechtigungsnachweis eine Identifikation und Verifizierung (ID&V) durchgeführt wurde.

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

Du kannst das Antwortobjekt auch dann empfangen und verarbeiten, wenn du das Feld assuranceDetails nicht verwendest. Wenn du dieses Objekt erhalten möchtest, füge assuranceDetailsRequired: true in die 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 type, der in PaymentMethodTokenizationSpecification.
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 das Zahlungsergebnis, das nach der Verarbeitung einer Zahlung zurückgegeben wird:

{
  "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:

  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message String Erforderlich Fehlermeldung, die dem Nutzer in einem Dialogfeld angezeigt wird.
intent String Erforderlich

Der Intent des Fehlers.

  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Beispiel

In diesem Beispiel werden die Fehlerabsicht und die Fehlermeldung gezeigt, die im Zahlungsformular gerendert werden sollen.

{
  "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 zu den einzelnen Formaten gehörenden Attribute 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 Der ISO 3166-1 Alpha-2-Ländercode.
phoneNumber MIN, FULL, FULL-ISO3166 Eine Telefonnummer, wenn phoneNumberRequired im PaymentDataRequest.
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, Ort, Viertel oder Vorort.
administrativeArea FULL, FULL-ISO3166 Eine Unterteilung eines Landes, z. B. ein Bundesland oder eine Provinz.
sortingCode FULL, FULL-ISO3166 Die Bankleitzahl.
iso3166AdministrativeArea FULL-ISO3166 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 für die Adressdaten.

{
  "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"
}

IntermediatePaymentData

Dieses Objekt wird von der Google Pay API-Eingabe onPaymentDataChanged() zurückgegeben, wenn die Versandadresse oder die Versandoptionen im Zahlungsformular 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
  • PAYMENT_METHOD
shippingAddress IntermediateAddress Optional Die ausgewählte Adresse im Zahlungsformular.
shippingOptionData SelectionOptionData Optional Die ausgewählte Versandoption im Zahlungsformular.
paymentMethodData IntermediatePaymentMethodData Optional Die im Zahlungsformular ausgewählten Daten zur Zahlungsmethode.

Beispiele

In diesem Beispiel wird die Zwischennutzlast gezeigt, die von der Google Pay API für Änderungen der Versandadresse zurückgegeben wird.

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

Dieses Beispiel zeigt die Zwischennutzlast, die zurückgegeben wird, wenn sich die Zahlungsmethode ändert.

{
  "callbackTrigger": "PAYMENT_METHOD",
  "paymentMethodData": {
    "type": "CARD",
    "info": {
      "cardNetwork": "VISA",
      "cardFundingSource": "CREDIT",
      "billingAddress": {
        "administrativeArea": "NY",
        "countryCode": "US",
        "locality": "New York",
        "postalCode": "10011"
      }
    }
  }
}

IntermediateAddress

Die Zwischenadresse enthält eine unvollständige Versandadresse (ohne Adresszeilen auf Straßenebene oder Empfängernamen), damit die anfallenden Steuern und Versandoptionen berechnet werden können, bevor der Nutzer die Zahlung autorisiert.

Attribut Typ Notwendigkeit Beschreibung
administrativeArea String Erforderlich Eine Unterteilung eines Landes, z. B. ein Bundesland oder eine Provinz.
countryCode String Erforderlich Der ISO 3166-1 Alpha-2-Ländercode.
locality String Erforderlich Stadt, Ort, Viertel 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. In den USA sind das die ersten fünf Ziffern.
iso3166AdministrativeArea String Optional 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 wird die im Zahlungsformular ausgewählte Adresse angezeigt.

{
  "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 wird die im Zahlungsformular ausgewählte Versandoption angezeigt.

{
  "id": "shipping-001"
}

IntermediatePaymentMethodData

Dieses Objekt enthält begrenzte Informationen zur ausgewählten Zahlungsmethode für Entwickler-Callbacks.

Attribut Typ Notwendigkeit Beschreibung
type String Erforderlich Art der Zahlungsmethode. Für diesen Callback wird nur CARD unterstützt.
info IntermediateCardInfo Optional Informationen zur ausgewählten Karte. Nur vorhanden, wenn type den Wert CARD hat.

IntermediateCardInfo

Dieses Objekt enthält begrenzte Informationen zur ausgewählten Karte, die in Entwickler-Callbacks verwendet werden.

Attribut Typ Notwendigkeit Beschreibung
billingAddress IntermediateAddress Optional Die mit der Karte verknüpfte Rechnungsadresse. Wird nur ausgefüllt, wenn die Rechnungsadresse als erforderlich festgelegt ist.
cardNetwork String Optional

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

Dieser Wert für das Kartennetzwerk sollte dem Käufer nicht angezeigt werden.

cardFundingSource String Optional

Zahlungsquelle für die ausgewählte Zahlungskarte.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID