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
türünde olmalıdır.ErrorResponse
Ö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 ( |
Alanlar | |
---|---|
requestHeader |
ZORUNLU: Tüm istekler için ortak başlık. |
provideUserInformation |
ZORUNLU: Entegratörün bu hesapla ilişkilendirilen adresi sağlamasını istiyorsak doğru değerini alır. |
googlePaymentToken |
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 |
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. |
|
|
authenticationRequestId |
İSTEĞE BAĞLI: Bu çağrıdan önceki kimlik doğrulama isteğinin |
otpVerification |
İSTEĞE BAĞLI: |
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 ( |
Alanlar | |
---|---|
responseHeader |
ZORUNLU: Tüm yanıtlar için ortak başlık. |
paymentIntegratorAssociateAccountId |
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 |
İ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 |
accountId |
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 |
KULLANIMDAN KALDIRILDI: Sonuç |
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 |
ZORUNLU: Bu ilişkilendirmenin sonucu. |
|
|
accountNickname |
İ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 |
İSTEĞE BAĞLI: Kullanıcının bu hesabı görüntüleme amacıyla tanıdığı dize. 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 |
İSTEĞE BAĞLI: Müşterinin tam adı. |
addressLine[] |
İSTEĞE BAĞLI: Bu, yapılandırılmamış Adres metnini içerir. |
localityName |
İ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 |
İ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 |
İSTEĞE BAĞLI: Ada rağmen mailCodeNumber değerleri genellikle alfanümerik olur. Örnekler: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
İSTEĞE BAĞLI: Müşteri adresi ülke kodu. ISO-3166-1 Alpha-2 olması beklenir. |
phone |
İSTEĞE BAĞLI: Müşterinin telefon numarası. |
emailAddress |
İ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. |