- HTTP-Anfrage
- Anfragetext
- Antworttext
- UserInformation (Nutzerinformationen)
- AssociateAccountResultCode
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
sein.ErrorResponse
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 ( |
Felder | |
---|---|
requestHeader |
ERFORDERLICH: Allgemeiner Header für alle Anfragen. |
provideUserInformation |
REQUIRED: „true“, wenn der Integrator die mit diesem Konto verknüpfte Adresse angeben soll. |
googlePaymentToken |
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 |
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 Für |
|
authenticationRequestId |
OPTIONAL: |
otpVerification |
OPTIONAL: Daten, die zur Bestätigung eines über |
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 ( |
Felder | |
---|---|
responseHeader |
REQUIRED: Allgemeiner Header für alle Antworten. |
paymentIntegratorAssociateAccountId |
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 |
OPTIONAL: Millisekunden seit der Epoche, wenn das Token abläuft. Verwenden Sie |
accountId |
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 |
EINGESTELLT: Eine Beschreibung des Ergebnisses, die dem Nutzer angezeigt wird, wenn das Ergebnis nicht |
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 |
REQUIRED: Ergebnis dieser Verknüpfung. |
Union-Feld Für |
|
accountNickname |
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 |
OPTIONAL: String, anhand dessen der Nutzer dieses Konto zu Anzeigezwecken kennt. Im Gegensatz zu 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 |
OPTIONAL: vollständiger Name des Kunden |
addressLine[] |
OPTIONAL: Enthält unstrukturierten Adresstext. |
localityName |
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 |
OPTIONAL: Oberste Verwaltungseinheit dieses Landes. Beispiele: US-Bundesstaat, IT-Region, CN-Provinz, JP-Präfektur. |
postalCodeNumber |
OPTIONAL: Trotz des Namens sind postalCodeNumber-Werte häufig alphanumerisch. Beispiele: „94043“, „SW1W“, „SW1W 9TQ“. |
countryCode |
OPTIONAL: Ländercode für die Kundenadresse gemäß ISO-3166-1 Alpha-2 |
phone |
OPTIONAL: Telefonnummer des Kunden. |
emailAddress |
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. |