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
türünde olmalıdır.ErrorResponse
Ö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 ( |
Alanlar | |
---|---|
requestHeader |
ZORUNLU: Tüm istekler için ortak başlık. |
provideUserInformation |
ZORUNLU: Entegratörün bu hesapla ilişkili adresi sağlamasını istiyorsak True değerini alır. |
googlePaymentToken |
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 |
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ı
|
|
authenticationRequestId |
İSTEĞE BAĞLI: Bu çağrıdan önce gelen kimlik doğrulama isteğinin |
otpVerification |
İSTEĞE BAĞLI: |
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 ( |
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 ç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 |
İ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 |
accountId |
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 |
KULLANIMDAN KALDIRILDI: Sonuç |
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 |
ZORUNLU: Bu ilişkilendirmenin sonucu. |
Birleştirme alanı
|
|
accountNickname |
İ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 |
İSTEĞE BAĞLI: Kullanıcının görüntüleme amacıyla bu hesabı bildiği dize. 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 |
İSTEĞE BAĞLI: Müşterinin tam adı. |
addressLine[] |
İSTEĞE BAĞLI: Yapılandırılmamış adres metni içerir. |
localityName |
İ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 |
İ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 |
İSTEĞE BAĞLI: Adına rağmen mailCodeNumber değerleri genellikle alfasayısaldır. Örnekler: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
İSTEĞE BAĞLI: ISO-3166-1 Alpha-2 olması beklenen müşteri adresi ülke kodu. |
phone |
İSTEĞE BAĞLI: Müşterinin telefon numarası. |
emailAddress |
İ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. |