Method: associateAccount

Das Konto des Kunden wird dem Zahlungsabwickler mit dem hinzugefügten Google-Instrument verknüpft.

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

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

Wenn am Endpunkt bei der Verarbeitung der Anfrage ein Fehler auftritt, sollte der Antworttext dieses Endpunkts vom Typ ErrorResponse sein.

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: Allgemeiner 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

REQUIRED: Die ID dieser Verknüpfung. Diese Kennung wird von Google erstellt und bei einer erneuten Authentifizierung gesendet, um zu ermitteln, welches Konto authentifiziert werden soll.

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 vorausgegangen ist. Diese Kennung wurde von Google während des Authentifizierungsvorgangs generiert. Der Fehler ist nur vorhanden, wenn der Nutzer die Android-App-Authentifizierung, 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. Dieser ist nur vorhanden, wenn der Nutzer den Pfad sendOtp verwendet hat.

Antworttext

Antwortobjekt für die Methode des verknüpften Kontos.

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)

REQUIRED: Allgemeiner Header für alle Antworten.

paymentIntegratorAssociateAccountId

string

REQUIRED: Diese Kennung ist spezifisch für den Integrator und wird vom Integrator generiert. Sie wird nur zum Zweck der 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, wenn das Token abläuft. Verwenden Sie 0, um zu signalisieren, dass das Token nicht abläuft.

accountId

string

ERFORDERLICH: Die Konto-ID, die der Nutzer beim Integrator hat. Dies wird für das Google-Risiko verwendet, um die Wiederverwendung von Konten und die Beziehungen zu Konten zu verstehen, und Google-Kundenservicemitarbeiter, die Kunden bei der Diagnose von Problemen helfen. Diese Kennung muss für den Nutzer erkennbar sein. Das ist beispielsweise der Fall, wenn der Nutzer die ID auf seinem Kontoauszug oder auf der Website sieht, nachdem er sich im Konto angemeldet hat.

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

userMessage
(deprecated)

string

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

userInformation

object (UserInformation)

ERFORDERLICH: Nutzerinformationen, die dem Integrator bekannt sind und Google über diesen Kunden mitteilen werden. Wird für Risikoinformationen und die Vorabausfüllung 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. Das ist ein Suffix des Kontoalias. Beispiel: die letzten vier Ziffern einer Telefonnummer. Google weist in der Benutzeroberfläche darauf hin, dass dies nur ein Suffix des Alias ist.

Dieser Wert wird in UIs wie dem Kaufvorgang angezeigt, damit der Nutzer zwischen Zahlungsmethoden unterscheiden kann.

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 der Nutzer zwischen Zahlungsmethoden unterscheiden kann.

UserInformation

Struktur mit Informationen zu einem Nutzer

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 nicht ganz einfach, bezieht sich aber im Allgemeinen auf den Ort einer Adresse. Lassen Sie in Regionen der Welt, in denen Ortschaften nicht hinreichend definiert sind oder sich dieser Struktur nicht zuordnet (z. B. Japan und China), leer lassen und stattdessen addressLine verwenden.

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

administrativeAreaName

string

OPTIONAL: Oberste Verwaltungseinheit dieses 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 für die Kundenadresse gemäß 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 Bundle für die Kontoauthentifizierung zurückgegeben wurde, ist die Nutzerauthentifizierung fehlgeschlagen.
NOT_ELIGIBLE Das Nutzerkonto ist nicht für diesen Dienst berechtigt.
OTP_NOT_MATCHED Das OTP entsprach nicht dem, was der Integrator gesendet hat.
OTP_ALREADY_USED OTP wurde bereits verwendet.
OTP_LIMIT_REACHED Der Nutzer hat zu viele OTPs angefordert oder versucht, sie zu bestätigen.
OTP_EXPIRED OTP ist abgelaufen.