Informações gerais
O objetivo do fluxo de associação é estabelecer um token de longa duração (também conhecido como um identificador opaco) que o integrador de pagamentos (a empresa que define a forma de pagamento no nosso sistema) e o Google concordam que representam o vínculo entre a conta de usuário do Google e a conta de usuário do integrador. Esse token de longa duração é chamado de Google Payment Token (GPT
), que é uma forma de pagar por serviços e produtos nos vários ecossistemas e mercados do Google. Um cliente do Google pode ter mais de um instrumento.
Como o fluxo funciona
- O Google negocia um token para representar um link entre o cliente do Google e a conta de usuário do integrador.
- O Google coleta as informações necessárias de primeira configuração para criar e estabelecer o
GPT
.
Um comprovante de identidade e autenticação precisa ser estabelecido primeiro pelo fluxo de autenticação. A saída do fluxo de autenticação é transmitida para o método associateAccount
. Em seguida, o fluxo de associação associará a conta de usuário do Google ao instrumento do Google. Isso configura o instrumento para que ele possa ser usado para pagamentos.
Veja um diagrama que detalha o fluxo de associação:
Diagrama de sequência do fluxo de associação
Veja a seguir uma lista dos objetos e do que eles representam:
- Usuário: o usuário quer adicionar uma forma de pagamento à Conta do Google.
- IU do Google: a interface do Google em que o cliente começa a configurar uma forma de pagamento.
- IU do integrador de pagamentos: a interface do integrador (Web ou Android) a que o cliente tem acesso para essa conta.
- Servidor do Google: os servidores de back-end do Google que realizam as verificações de autenticação e associam a conta de integrador do usuário a um
GPT
(token do Google Payments). - Servidor do integrador de pagamentos: o servidor de back-end do integrador em que o usuário tem uma conta.
Esse é um fluxo de associação em que a Conta do Google do usuário está sendo vinculada à conta de integrador por um token do Google. Veja como esse fluxo funciona.
- O usuário inicia o fluxo na interface do Google (como em uma interface da Web ou de um app).
- A interface do Google envia uma mensagem ao servidor do Google para fornecer uma solicitação de autenticação (Solicitar dados de autenticação).
- O servidor do Google envia uma solicitação de autenticação (
authenticationRequest
) de volta à IU do Google. - A interface do Google conecta o usuário à interface do integrador de pagamentos (
authenticationRequest
). - A identidade e as credenciais são solicitadas ao usuário.
- A IU do integrador de pagamentos envia a resposta ao servidor do integrador de pagamentos.
- O servidor do integrador de pagamentos autentica a resposta e envia a resposta de autenticação (
authenticationResponse
) para a interface do integrador de pagamentos. - Essa resposta de autenticação é encaminhada à interface do Google.
- A IU do Google envia uma mensagem ao servidor do Google para verificar a resposta do integrador e configurar o instrumento do usuário.
- O servidor do Google valida a resposta verificando a assinatura e associa a conta do usuário ao integrador de pagamentos a um
GPT
e um ID de associação (authenticationRequestID
,associationID
) no Google. - Uma mensagem de êxito é enviada ao servidor do Google.
- Uma mensagem de sucesso é enviada à interface do Google.
- Uma mensagem de êxito é enviada ao usuário, informando que o instrumento está pronto para uso.
Práticas recomendadas e outras considerações
Vários instrumentos
O integrador precisa permitir que muitos GPT
s sejam associados à conta de integrador de um único usuário. Por exemplo, isso será necessário se um usuário excluir o instrumento e criar um novo com a mesma conta de usuário do integrador.
Dois clientes do Google podem se associar à mesma conta de integrador do mesmo usuário. Se esse for o caso, cada usuário teria um instrumento diferente associado. Para cada instrumento, há um fluxo de associação independente e um GPT
exclusivo.
Medidas de segurança
Se o integrador acreditar que houve uma invasão de conta na conta de integrador de um usuário, novas associações poderão ser recusadas para essa conta, e os instrumentos existentes que já foram associados poderão retornar códigos recusados em compras futuras.
Vida útil da GPT
O objetivo do GPT
é ter longa duração e, por padrão, não tem expiração. O Google recomenda um GPT
que não expira. Isso permite que o usuário tenha uma experiência de compra ininterrupta.
No caso de integradores que não oferecem suporte a um token sem expiração, o integrador pode informar o prazo de validade usando o campo tokenExpirationTime
do método associateAccount
. Quando um token estiver perto de expirar, o Google enviará o usuário pelo fluxo de token de atualização para prolongar a vida útil dele.
Outros identificadores
Há outros identificadores além de GPT
que são trocados durante a associação. Veja uma lista deles com links para mais informações.
AssociationId
: um token público definido pelo Google que identifica a associação entre a conta do cliente no Google e o instrumento. EnquantoGPT
é usado apenas em solicitações de servidor para servidor, oAssociationId
é o equivalente do cliente. Consulte a entrada do glossário para mais informações.AccountId:
Um identificador definido pelo fornecedor (geralmente um número de conta), usado para descobrir fraudes e entender as relações da conta. Os agentes de operações do cliente do Google também utilizam para identificar e ajudar a diagnosticar problemas do cliente. Consulte a entrada do glossário para mais informações.AccountNickname
(oufullAccountNickname
): uma string que os fornecedores usam para identificar os clientes. Ela também é usada para fins de exibição. OAccountNickname
é mascarado pelo fornecedor para SPII. OfullAccountNickname
não é mascarado.