Method: associateAccount

Müşterinin hesabını ödeme işleyiciyle, eklenen Google aracıyla ilişkilendirir.

Hesap ilişkilendirmesi, entegrasyon aracı kullanıcının kimliğini doğruladıktan sonra gerçekleşir. İlişkilendirme, ilişkili kimlik doğrulama akışı için requestId (authenticationRequestId), associationId ve googlePaymentToken (GPT) içeren bir sunucudan sunucuya çağrı üzerinden gerçekleşir. Ödeme işleyici, kimlik doğrulama için associationId ve googlePaymentToken özelliklerini müşterinin hesabıyla ilişkilendirmesi gerekir. GPT, ödemeleri başlatmak için kullanılır. associationId, yeniden kimlik doğrulama çağrılarında, kimlik doğrulama için hesabı tanımlamak amacıyla kullanılır.

Google, entegratörün farklı bir ilişkilendirme sırasında zaten görmüş olduğu bir associationId veya googlePaymentToken gönderirse hata verir.

Uç nokta, isteği işlerken bir hatayla karşılaşırsa bu uç noktadaki yanıt gövdesi ErrorResponse türünde olmalıdır.

Örnek istek:


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

Örnek bir yanıt aşağıdaki gibidir:


  {
  "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 isteği

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

İstek içeriği

İstek gövdesi, aşağıdaki yapıya sahip verileri içerir:

JSON gösterimi
{
  "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.
}
Alanlar
requestHeader

object (RequestHeader)

ZORUNLU: Tüm istekler için ortak başlık.

provideUserInformation

boolean

ZORUNLU: Entegratörün bu hesapla ilişkili adresi sağlamasını istiyorsak True değerini alır.

googlePaymentToken

string

ZORUNLU: Google'ın ödeme işleyiciyle satın alma işlemleri başlatmak için kullanacağı jeton.

Bu, en fazla 100 karakter uzunluğunda bir dizedir.

associationId

string

ZORUNLU: Bu ilişkilendirmenin tanımlayıcısı. Bu tanımlayıcı Google tarafından oluşturulur ve hangi hesabın kimliğinin doğrulanması gerektiğini belirlemek için yeniden kimlik doğrulama akışları sırasında gönderilir.

Bu, en fazla 100 karakter uzunluğunda bir dizedir.

Birleştirme alanı account_verification.

account_verification şunlardan yalnızca biri olabilir:

authenticationRequestId

string

İSTEĞE BAĞLI: Bu çağrıdan önce gelen kimlik doğrulama isteğinin requestId kadarı. Bu tanımlayıcı, kimlik doğrulama akışı sırasında Google tarafından oluşturulmuştur. Bu seçenek yalnızca kullanıcı Android uygulaması kimlik doğrulaması, web kimlik doğrulaması veya authenticationResultNotification kullanan eşzamansız bir kimlik doğrulama yönteminden geçmişse gösterilir.

otpVerification

object (OtpVerification)

İSTEĞE BAĞLI: sendOtp tarihinden oluşturulan bir OTP'yi doğrulamak için gereken veriler. Bu uyarı yalnızca kullanıcı sendOtp yolundan gittiyse gösterilir.

Yanıt gövdesi

Ortak hesap yönteminin yanıt nesnesi.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "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.
}
Alanlar
responseHeader

object (ResponseHeader)

ZORUNLU: Tüm yanıtlar için ortak başlık.

paymentIntegratorAssociateAccountId

string

ZORUNLU: Bu tanımlayıcı, entegratöre özeldir ve entegratör tarafından oluşturulur. Bu çağrı, yalnızca bu çağrıyı tanımlamak amacıyla hata ayıklama amacıyla kullanılır. Bu, entegratörün bu çağrıyı bildiği tanımlayıcıdır.

tokenExpirationTime

string (int64 format)

İSTEĞE BAĞLI: Jetonun süresinin dolacağı dönemden bu yana geçen milisaniye sayısı. Jetonun süresinin dolmadığını belirtmek için 0 kullanın.

accountId

string

ZORUNLU: Kullanıcının entegratördeki hesap kimliği. Bu veriler, müşterilerin sorunları teşhis etmesine yardımcı olmak amacıyla Google'ın hesabın yeniden kullanımını ve hesap ilişkilerini anlamasını ve Google müşteri işlem temsilcilerini anlamasını sağlamak için kullanılır. Bu tanımlayıcı, kullanıcı tarafından tanınabilir olmalıdır (örneğin kullanıcı, ekstresinde göründüğünden veya hesaba giriş yaptıktan sonra web sitesinde göründüğünden kullanıcı bu kimliği bilir).

Bu değer, hesabın kullanım ömrü boyunca sabit olmalıdır.

userMessage
(deprecated)

string

KULLANIMDAN KALDIRILDI: Sonuç SUCCESS değilse kullanıcıya gösterilecek sonucun açıklaması.

userInformation

object (UserInformation)

ZORUNLU: Entegratörün bildiği ve bu müşteri hakkında Google ile paylaşacağı kullanıcı bilgileri. Risk bilgileri ve adres önceden doldurma için kullanılır.

result

enum (AssociateAccountResultCode)

ZORUNLU: Bu ilişkilendirmenin sonucu.

Birleştirme alanı account_names.

account_names şunlardan yalnızca biri olabilir:

accountNickname

string

İSTEĞE BAĞLI: Kullanıcının görüntüleme amacıyla bu hesabı bildiği dize. Bu, hesap takma adının son ekidir. Örneğin, bir telefon numarasının son dört hanesi. Google, kullanıcı arayüzünde bunun yalnızca takma adın bir son eki olduğunu belirtir.

Bu değer, kullanıcıların ödeme yöntemlerini ayırt edebilmesi için satın alma akışı gibi kullanıcı arayüzlerinde gösterilir.

fullAccountNickname

string

İSTEĞE BAĞLI: Kullanıcının görüntüleme amacıyla bu hesabı bildiği dize. accountNickname işlevinin aksine, bu tam hesap takma adıdır. Örneğin, telefon numarası için 56565-56501 veya e-posta kimliği için sally@sample-email.com.

Bu değer, kullanıcıların ödeme yöntemlerini ayırt edebilmesi için satın alma akışı gibi kullanıcı arayüzlerinde gösterilir.

UserInformation

Bir kullanıcı hakkındaki bilgilerin saklanması.

JSON gösterimi
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string,
  "phone": string,
  "emailAddress": string
}
Alanlar
name

string

İSTEĞE BAĞLI: Müşterinin tam adı.

addressLine[]

string

İSTEĞE BAĞLI: Yapılandırılmamış adres metni içerir.

localityName

string

İSTEĞE BAĞLI: Bu kesin olmayan bir terimdir, ancak genellikle adresin şehir/ilçe bölümünü belirtir. Dünyada konumların iyi tanımlanmadığı veya bu yapıya uygun olmadığı bölgelerde (örneğin, Japonya ve Çin), localityName'i boş bırakın ve addressLine'ı kullanın.

Örnekler: ABD şehri, BT komünü, Birleşik Krallık posta şehri.

administrativeAreaName

string

İSTEĞE BAĞLI: Bu ülkenin üst düzey idari alt bölümü" Örnekler: ABD eyaleti, BT bölgesi, CN eyaleti, JP idari bölgesi."

postalCodeNumber

string

İSTEĞE BAĞLI: Adına rağmen mailCodeNumber değerleri genellikle alfasayısaldır. Örnekler: "94043", "SW1W", "SW1W 9TQ".

countryCode

string

İSTEĞE BAĞLI: ISO-3166-1 Alpha-2 olması beklenen müşteri adresi ülke kodu.

phone

string

İSTEĞE BAĞLI: Müşterinin telefon numarası.

emailAddress

string

İSTEĞE BAĞLI: Müşterinin e-posta adresi.

AssociateAccountResultCode

Ortak hesap için sonuç kodları.

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri asla ayarlamayın.
SUCCESS İlişkilendirme başarılı.
USER_AUTHENTICATION_FAILED Hesap kimlik doğrulama paketi döndürülmesine rağmen kullanıcı kimlik doğrulaması başarısız oldu.
NOT_ELIGIBLE Kullanıcının hesabı bu hizmet için uygun değil.
OTP_NOT_MATCHED OTP, entegrasyon uzmanının gönderdiği değerle eşleşmedi.
OTP_ALREADY_USED OTP zaten kullanıldı.
OTP_LIMIT_REACHED Kullanıcı, çok fazla OTP istedi veya doğrulamayı denedi.
OTP_EXPIRED OTP'nin süresi doldu.