Method: associateAccount

Verbindet das Konto des Kunden dem Zahlungsabwickler mit dem hinzuzufügenden Google-Zahlungsmittel.

Die Kontoverknüpfung erfolgt, nachdem der Integrator den Nutzer authentifiziert hat. Die Verknüpfung erfolgt über einen Server-zu-Server-Aufruf, der die requestId für den zugehörigen Authentifizierungsvorgang (authenticationRequestId), ein associationId und ein googlePaymentToken (GPT) enthält. Der Zahlungsabwickler sollte associationId und googlePaymentToken zur Authentifizierung mit dem Konto des Kunden verknüpfen. GPT wird zur Abwicklung von Zahlungen verwendet. Die associationId wird bei erneuten Authentifizierungsaufrufen verwendet, um das Konto für die Authentifizierung zu identifizieren.

Wenn Google ein associationId oder googlePaymentToken sendet, das der Integrator bereits bei einer anderen Verknüpfung gesehen hat, wird ein Fehler ausgegeben.

Wenn am Endpunkt bei der Verarbeitung der Anfrage ein Fehler auftritt, sollte der Antworttext von diesem Endpunkt den Typ ErrorResponse haben.

Eine Beispielanfrage sieht so aus:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "cmVxdWVzdDE",
    "requestTimestamp": "1481899949606"
 },
 "googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ__",
 "authenticationRequestId": "bnAxdWTydDX==",
 "associationId": "LmddbXBsZSByZWZlcmVuY2UgdG9rZW4gdmFsdWU_",
 "provideUserInformation": true
}

Eine Beispielantwort sieht so aus:


  {
  "responseHeader": {
    "responseTimestamp": "1481899949611"
  },
  "paymentIntegratorAssociateAccountId": "xx77df88934hfd",
  "accountId": "1234-5678-91",
  "accountNickname": "***-91",
  "tokenExpirationTime": "0",
  "userInformation": {
    "name": "Example Customer",
    "addressLine": ["123 Main St"],
    "localityName": "Springfield",
    "administrativeAreaName": "CO",
    "postalCodeNumber": "80309",
    "countryCode": "US"
  },
  "result": "SUCCESS"
}

HTTP-Anfrage

POST https://www.integratorhost.example.com/v1/associateAccount

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "requestHeader": {
    object (RequestHeader)
  },
  "provideUserInformation": boolean,
  "googlePaymentToken": string,
  "associationId": string,

  // Union field account_verification can be only one of the following:
  "authenticationRequestId": string,
  "otpVerification": {
    object (OtpVerification)
  }
  // End of list of possible types for union field account_verification.
}
Felder
requestHeader

object (RequestHeader)

ERFORDERLICH: Gemeinsamer Header für alle Anfragen.

provideUserInformation

boolean

REQUIRED: „True“, wenn der Integrator die mit diesem Konto verknüpfte Adresse angeben soll.

googlePaymentToken

string

ERFORDERLICH: Das Token, das Google für Käufe beim Zahlungsabwickler verwendet.

Dies ist ein String mit einer maximalen Länge von 100 Zeichen.

associationId

string

ERFORDERLICH: Die ID dieser Verknüpfung. Diese ID wird von Google erstellt und bei einer erneuten Authentifizierung gesendet, um das zu authentifizierende Konto zu ermitteln.

Dies ist ein String mit einer maximalen Länge von 100 Zeichen.

Union-Feld account_verification.

Für account_verification ist nur einer der folgenden Werte zulässig:

authenticationRequestId

string

OPTIONAL: requestId der Authentifizierungsanfrage, die diesem Aufruf vorausging. Diese ID wurde während des Authentifizierungsvorgangs von Google generiert. Dies ist nur vorhanden, wenn der Nutzer die Android-App-Authentifizierung, die Webauthentifizierung oder eine asynchrone Authentifizierungsmethode mit authenticationResultNotification verwendet hat.

otpVerification

object (OtpVerification)

OPTIONAL: Daten, die zur Bestätigung eines über sendOtp generierten OTP erforderlich sind. Dies ist nur vorhanden, wenn der Nutzer den Pfad sendOtp verwendet hat.

Antworttext

Antwortobjekt für die Verknüpfungskontomethode.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorAssociateAccountId": string,
  "tokenExpirationTime": string,
  "accountId": string,
  "userMessage": string,
  "userInformation": {
    object (UserInformation)
  },
  "result": enum (AssociateAccountResultCode),

  // Union field account_names can be only one of the following:
  "accountNickname": string,
  "fullAccountNickname": string
  // End of list of possible types for union field account_names.
}
Felder
responseHeader

object (ResponseHeader)

ERFORDERLICH: Gemeinsamer Header für alle Antworten.

paymentIntegratorAssociateAccountId

string

ERFORDERLICH: Diese Kennung ist für den Integrator spezifisch und wird vom Integrator generiert. Sie wird nur zur Fehlerbehebung verwendet, um diesen Aufruf zu identifizieren. Dies ist die Kennung, anhand derer der Integrator diesen Aufruf kennt.

tokenExpirationTime

string (int64 format)

OPTIONAL: Millisekunden seit der Epoche, in der das Token abläuft. Verwenden Sie 0, um zu signalisieren, dass das Token nicht abläuft.

accountId

string

ERFORDERLICH: Die Konto-ID des Nutzers beim Integrator. Sie wird für das Risiko von Google verwendet, um die Wiederverwendung von Konten und Beziehungen zu Konten nachzuvollziehen, und Google-Kundenservicemitarbeiter der Kundenbetreuung, die Kunden bei der Diagnose von Problemen helfen können. Diese Kennung muss vom Nutzer leicht erkennbar sein. Der Nutzer kennt die ID beispielsweise, weil sie auf seinem Kontoauszug oder auf der Website erscheint, nachdem er sich in seinem Konto angemeldet hat.

Dieser Wert muss für die Lebensdauer des Kontos unveränderlich sein.

userMessage
(deprecated)

string

EINGESTELLT: Eine Beschreibung des Ergebnisses, das dem Nutzer angezeigt wird, wenn das Ergebnis nicht SUCCESS ist.

userInformation

object (UserInformation)

ERFORDERLICH: Nutzerinformationen, die der Integrator kennt und über den Kunden an Google weitergibt. Wird für Risikoinformationen und das Vorabausfüllen von Adressen verwendet.

result

enum (AssociateAccountResultCode)

REQUIRED: Ergebnis dieser Verknüpfung.

Union-Feld account_names.

Für account_names ist nur einer der folgenden Werte zulässig:

accountNickname

string

OPTIONAL: String, anhand dessen der Nutzer dieses Konto zu Anzeigezwecken kennt. Dies ist das Suffix des Kontoalias. Beispiel: die letzten vier Ziffern einer Telefonnummer Google gibt in der Benutzeroberfläche an, dass dies nur ein Suffix des Alias ist.

Dieser Wert wird in UIs wie dem Kaufvorgang angezeigt, damit Nutzer zwischen den Zahlungsmethoden unterscheiden können.

fullAccountNickname

string

OPTIONAL: String, anhand dessen der Nutzer dieses Konto zu Anzeigezwecken kennt. Im Gegensatz zu accountNickname ist dies der vollständige Kontoalias. Beispiel: 56565-56501 für eine Telefonnummer oder sally@sample-email.com für eine E-Mail-Identität.

Dieser Wert wird in UIs wie dem Kaufvorgang angezeigt, damit Nutzer zwischen den Zahlungsmethoden unterscheiden können.

UserInformation

Struktur, die Informationen über die Nutzenden enthält.

JSON-Darstellung
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string,
  "phone": string,
  "emailAddress": string
}
Felder
name

string

OPTIONAL: Vollständiger Name des Kunden.

addressLine[]

string

OPTIONAL: Enthält unstrukturierten Adresstext.

localityName

string

OPTIONAL: Dieser Begriff ist etwas ungenau, bezieht sich aber im Allgemeinen auf den Ortsteil einer Adresse. Lassen Sie in Regionen der Welt, in denen Orte nicht hinreichend definiert sind oder nicht dieser Struktur entsprechen (z. B. Japan und China), das Feld "localityName" leer und verwenden Sie "addressLine".

Beispiele: Stadt in den USA, italienische Gemeinde, Post Town in Großbritannien.

administrativeAreaName

string

OPTIONAL: Oberste administrative Unterteilung des Landes Beispiele: US-Bundesstaat, IT-Region, CN-Provinz, JP-Präfektur.“

postalCodeNumber

string

OPTIONAL: Trotz des Namens sind postalCodeNumber-Werte häufig alphanumerisch. Beispiele: „94043“, „SW1W“, „SW1W 9TQ“.

countryCode

string

OPTIONAL: Ländercode der Kundenadresse, erwartet ISO-3166-1 Alpha-2.

phone

string

OPTIONAL: Telefonnummer des Kunden.

emailAddress

string

OPTIONAL: E-Mail-Adresse des Kunden.

AssociateAccountResultCode

Ergebniscodes für verknüpftes Konto.

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert niemals fest.
SUCCESS Verknüpfung erfolgreich.
USER_AUTHENTICATION_FAILED Obwohl das Kontoauthentifizierungs-Bundle zurückgegeben wurde, ist die Nutzerauthentifizierung fehlgeschlagen.
NOT_ELIGIBLE Das Nutzerkonto ist für diesen Dienst nicht berechtigt.
OTP_NOT_MATCHED Das OTP stimmte nicht mit den vom Integrator gesendeten Informationen überein.
OTP_ALREADY_USED OTP wurde bereits verwendet.
OTP_LIMIT_REACHED Der Nutzer hat zu viele OTPs angefordert oder versucht, zu bestätigen.
OTP_EXPIRED OTP ist abgelaufen.