Associa a conta do cliente com o processador de pagamentos ao instrumento do Google que está sendo adicionado.
A associação de contas acontece depois que o integrador autentica o usuário. A associação ocorre por uma chamada de servidor para servidor que contém o requestId
para o fluxo de autenticação associado (authenticationRequestId
), um associationId
e um googlePaymentToken
(GPT). O processador de pagamentos precisa associar o associationId
e o googlePaymentToken
à conta do cliente para autenticação. A GPT é usada para iniciar pagamentos. O associationId
é usado durante as chamadas de reautenticação para identificar a conta que será usada.
Se o Google enviar uma associationId
ou uma googlePaymentToken
que o integrador já encontrou durante uma associação diferente, um erro será gerado.
Se o endpoint encontrar um erro ao processar a solicitação, o corpo da resposta dele precisará ser do tipo
.ErrorResponse
Um exemplo de solicitação é semelhante a este:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "cmVxdWVzdDE",
"requestTimestamp": "1481899949606"
},
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ__",
"authenticationRequestId": "bnAxdWTydDX==",
"associationId": "LmddbXBsZSByZWZlcmVuY2UgdG9rZW4gdmFsdWU_",
"provideUserInformation": true
}
Veja um exemplo de resposta:
{
"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"
}
Solicitação HTTP
POST https://www.integratorhost.example.com/v1/associateAccount
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON |
---|
{ "requestHeader": { object ( |
Campos | |
---|---|
requestHeader |
OBRIGATÓRIO: cabeçalho comum para todas as solicitações. |
provideUserInformation |
OBRIGATÓRIO: verdadeiro se quisermos que o integrador forneça o endereço associado a essa conta. |
googlePaymentToken |
OBRIGATÓRIO: o token que o Google usará para iniciar compras com o processador de pagamentos. Essa string tem tamanho máximo de 100 caracteres. |
associationId |
OBRIGATÓRIO: o identificador dessa associação. Esse identificador é criado pelo Google e enviado durante os fluxos de reautenticação para identificar qual conta precisa ser autenticada. Essa string tem tamanho máximo de 100 caracteres. |
Campo de união
|
|
authenticationRequestId |
OPCIONAL: |
otpVerification |
OPCIONAL: dados necessários para verificar uma OTP gerada por |
Corpo da resposta
Objeto de resposta para o método de conta associada.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{ "responseHeader": { object ( |
Campos | |
---|---|
responseHeader |
OBRIGATÓRIO: cabeçalho comum para todas as respostas. |
paymentIntegratorAssociateAccountId |
OBRIGATÓRIO: esse identificador é específico e gerado pelo integrador. Ele é usado para fins de depuração apenas para identificar essa chamada. O integrador conhece essa chamada pelo identificador. |
tokenExpirationTime |
OPCIONAL: milissegundos desde a época em que o token expira. Use |
accountId |
OBRIGATÓRIO: o ID da conta que o usuário tem no integrador. Isso é usado para que o Google entenda a reutilização e as relações entre contas, além de agentes de operações do cliente do Google para ajudar os clientes a diagnosticar problemas. Esse identificador deve ser reconhecido pelo usuário (por exemplo, o usuário conhece esse ID porque ele aparece no extrato ou no site depois de fazer login na conta). Esse valor não pode ser alterado durante a vida útil da conta. |
userMessage |
DESCONTINUADO: uma descrição do resultado que será mostrada ao usuário se o resultado não for |
userInformation |
OBRIGATÓRIO: informações do usuário que o integrador conhece e vai compartilhar com o Google sobre esse cliente. Usado para informações de risco e aborda o preenchimento automático. |
result |
OBRIGATÓRIO: resultado da associação. |
Campo de união
|
|
accountNickname |
OPCIONAL: string em que o usuário conhece essa conta para fins de exibição. Esse é um sufixo do apelido da conta. Por exemplo, os últimos quatro dígitos de um número de telefone. O Google vai indicar na interface do usuário que isso é apenas um sufixo do apelido. Esse valor será exibido em interfaces, como o fluxo de compra, para permitir que o usuário diferencie as formas de pagamento. |
fullAccountNickname |
OPCIONAL: string em que o usuário conhece essa conta para fins de exibição. Ao contrário de Esse valor será exibido em interfaces, como o fluxo de compra, para permitir que o usuário diferencie as formas de pagamento. |
UserInformation
Estrutura com informações sobre um usuário.
Representação JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string, "phone": string, "emailAddress": string } |
Campos | |
---|---|
name |
OPCIONAL: nome completo do cliente. |
addressLine[] |
OPCIONAL: contém texto de endereço não estruturado. |
localityName |
OPCIONAL: é um termo impreciso, mas geralmente se refere à parte da cidade de um endereço. Em regiões do mundo onde as localidades não são bem definidas ou não se encaixam bem nessa estrutura (por exemplo, Japão e China), deixe localeName em branco e use addressLine. Exemplos: cidade nos EUA, comunidade na Itália, distrito postal no Reino Unido. |
administrativeAreaName |
OPCIONAL: subdivisão administrativa de nível superior do país Exemplos: estado dos EUA, região da Itália, província da China, prefeitura do Japão." |
postalCodeNumber |
OPCIONAL: apesar do nome, os valores postalCodeNumber costumam ser alfanuméricos. Exemplos: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
OPCIONAL: código de país do endereço do cliente, que precisa ser ISO-3166-1 Alpha-2. |
phone |
OPCIONAL: número de telefone do cliente. |
emailAddress |
OPCIONAL: endereço de e-mail do cliente. |
AssociateAccountResultCode
Códigos de resultados da conta associada.
Enums | |
---|---|
UNKNOWN_RESULT |
Nunca defina esse valor padrão. |
SUCCESS |
Associação bem-sucedida. |
USER_AUTHENTICATION_FAILED |
Embora o pacote de autenticação da conta tenha sido retornado, a autenticação do usuário falhou. |
NOT_ELIGIBLE |
A conta do usuário não está qualificada para este serviço. |
OTP_NOT_MATCHED |
A OTP não correspondeu ao que o integrador enviou. |
OTP_ALREADY_USED |
A OTP já foi usada. |
OTP_LIMIT_REACHED |
O usuário solicitou ou tentou verificar muitas OTPs. |
OTP_EXPIRED |
A OTP expirou. |