Method: associateAccount

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

Hesap ilişkilendirme, entegratör 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ı aracılığıyla gerçekleşir. Ödeme işleyici, kimlik doğrulama için associationId ve googlePaymentToken öğelerini müşteri hesabıyla ilişkilendirmelidir. GPT, ödemeleri başlatmak için kullanılır. associationId, kimlik doğrulama için hesabı tanımlamak üzere yeniden kimlik doğrulama çağrıları sırasında kullanılır.

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

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

Örnek bir istek şu şekilde görünür:


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

Örnek bir yanıt şöyle görünür:


  {
  "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ıyla birlikte veriler 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şkilendirilen adresi sağlamasını istiyorsak doğru değerini alır.

googlePaymentToken

string

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

Bu, maksimum 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 tanımlamak için yeniden kimlik doğrulama akışları sırasında gönderilir.

Bu, maksimum 100 karakter uzunluğunda bir dizedir.

account_verification alanı.

account_verification şunlardan yalnızca biri olabilir:

authenticationRequestId

string

İSTEĞE BAĞLI: Bu çağrıdan önceki 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 hata yalnızca kullanıcı Android uygulaması kimlik doğrulamasını, web kimlik doğrulamasını veya authenticationResultNotification kullanan eşzamansız bir kimlik doğrulama yöntemini gerçekleştirdiyse görünür.

otpVerification

object (OtpVerification)

İSTEĞE BAĞLI: sendOtp kaynağından oluşturulan OTP'yi doğrulamak için gerekli veriler. Bu uyarı, yalnızca kullanıcı sendOtp yolunu tamamladıysa mevcuttur.

Yanıt gövdesi

İlişkili hesap yöntemi için 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 bilgi, yalnızca bu aramayı 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 dolduğu dönemden bu yana geçen saniye sayısı (milisaniye). Jetonun süresinin sona ermediğini belirtmek için 0 kullanın.

accountId

string

ZORUNLU: Kullanıcının entegratörde sahip olduğu hesap kimliği. Bu bilgiler, Google risklerinin hesabın yeniden kullanımını ve hesap ilişkilerini anlamasını sağlarken müşterilerin sorunları teşhis etmesine yardımcı olmak için Google müşteri işlemleri temsilcilerini kullanır. Bu tanımlayıcı kullanıcı tarafından tanınabilir olmalıdır (örneğin, kullanıcı, ekstresinde veya hesaba giriş yaptıktan sonra web sitesinde göründüğü için bu kimliği tanır).

Bu değer, hesabın kullanım süresi 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 bu müşteri hakkında bildiği ve Google ile paylaşacağı kullanıcı bilgileri. Risk bilgileri ve adres önceden doldurma işlemi için kullanılır.

result

enum (AssociateAccountResultCode)

ZORUNLU: Bu ilişkilendirmenin sonucu.

account_names alanı.

account_names şunlardan yalnızca biri olabilir:

accountNickname

string

İSTEĞE BAĞLI: Kullanıcının bu hesabı görüntüleme amacıyla tanıdığı 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 son eki olduğunu belirtir.

Bu değer, kullanıcını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 bu hesabı görüntüleme amacıyla tanıdığı dize. accountNickname yerine bu tam hesap takma adıdır. Örneğin, telefon numarası için 56565-56501 veya e-posta kimliği için selam@ornek-eposta.com.

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

UserInformation

Kullanıcıyla ilgili bilgileri içeren yapı.

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: Bu, yapılandırılmamış Adres metnini içerir.

localityName

string

İSTEĞE BAĞLI: Bu, belirsiz bir terimdir, ancak genellikle adresin şehir/ilçe bölümünü ifade eder. Dünyanın konum bilgilerinin iyi tanımlanmadığı veya bu yapıya tam olarak uymadığı bölgelerde (ör. Japonya ve Çin) localityName'i boş bırakın ve addressLine'ı kullanın.

Örnekler: ABD şehri, BT topluluğu, 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 bölgesi, Japonya vilayeti."

postalCodeNumber

string

İSTEĞE BAĞLI: Ada rağmen mailCodeNumber değerleri genellikle alfanümerik olur. Örnekler: "94043", "SW1W", "SW1W 9TQ".

countryCode

string

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

phone

string

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

emailAddress

string

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

AssociateAccountResultCode

İlişkili hesap için sonuç kodları.

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri hiçbir zaman ayarlamayın.
SUCCESS Başarılı ilişkilendirme.
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, entegratörün gönderdiği ile eşleşmedi.
OTP_ALREADY_USED OTP zaten kullanıldı.
OTP_LIMIT_REACHED Kullanıcı çok fazla OTP istedi veya doğrulamaya çalıştı.
OTP_EXPIRED OTP'nin süresi doldu.