Fluxo de usuários de associação

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

  1. O Google negocia um token para representar um link entre o cliente do Google e a conta de usuário do integrador.
  2. 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

Diagrama 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.

  1. O usuário inicia o fluxo na interface do Google (como em uma interface da Web ou de um app).
  2. A interface do Google envia uma mensagem ao servidor do Google para fornecer uma solicitação de autenticação (Solicitar dados de autenticação).
  3. O servidor do Google envia uma solicitação de autenticação (authenticationRequest) de volta à IU do Google.
  4. A interface do Google conecta o usuário à interface do integrador de pagamentos (authenticationRequest).
  5. A identidade e as credenciais são solicitadas ao usuário.
  6. A IU do integrador de pagamentos envia a resposta ao servidor do integrador de pagamentos.
  7. O servidor do integrador de pagamentos autentica a resposta e envia a resposta de autenticação (authenticationResponse) para a interface do integrador de pagamentos.
  8. Essa resposta de autenticação é encaminhada à interface do Google.
  9. A IU do Google envia uma mensagem ao servidor do Google para verificar a resposta do integrador e configurar o instrumento do usuário.
  10. 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.
  11. Uma mensagem de êxito é enviada ao servidor do Google.
  12. Uma mensagem de sucesso é enviada à interface do Google.
  13. 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 GPTs 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. Enquanto GPT é usado apenas em solicitações de servidor para servidor, o AssociationId é 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 (ou fullAccountNickname): uma string que os fornecedores usam para identificar os clientes. Ela também é usada para fins de exibição. O AccountNickname é mascarado pelo fornecedor para SPII. O fullAccountNickname não é mascarado.