Inscrição e login

O recurso de inscrição e login no programa de fidelidade permite que os usuários procurem seu programa e participem ou façam login na conta pelo Google Pay. Os usuários serão direcionados para o site otimizado para dispositivos móveis a fim de concluir o processo. Depois disso, eles poderão salvar facilmente os cartões no Google Pay.

Neste guia, apresentamos uma visão geral dos passos de implementação obrigatórios para ativar esse recurso para o seu programa de fidelidade.

Visão geral

Para dar os primeiros passos, verifique se você já configurou o projeto e tem acesso à API Google Pay for Passes. Se não tiver feito isso, siga as instruções nos Links e botões da Web.

Siga estes três passos para implementar o recurso de inscrição e login no programa de fidelidade:

  1. Desenvolva páginas de inscrição/login que aproveitem os dados do usuário do Google Pay.
  2. Implemente o envio do cartão de fidelidade para o Google Pay após a inscrição/login.
  3. Solicite a verificação e a ativação.

Determine os URLs de inscrição e login, além do logotipo do programa e dos campos de usuário desejados. Em seguida, use os campos aninhados discoverableProgram da loyaltyclass para definir os valores apropriados.

Definir os valores no discoverableProgram criará uma versão de rascunho do programa de fidelidade com inscrição/login ativado que será visível apenas para os usuários que tenham acesso ao Merchant Center da API Google Pay for Passes. Isso permitirá verificar a funcionalidade correta da implementação durante o processo de desenvolvimento.

Desenvolver páginas de inscrição/login que aproveitam os dados do usuário do Google Pay

Ao optar por fazer login ou se inscrever no programa de fidelidade, um usuário é direcionado para uma página personalizada no site para concluir o processo de inscrição ou login. Se um usuário quiser se inscrever, o Google Pay solicitará que ele compartilhe os respectivos dados com você.

O fornecimento de duas páginas que permitam aos usuários concluir essas ações é obrigatório.

  1. Um URL em que um usuário possa fazer login em uma conta atual.
  2. Um URL de inscrição em que um usuário possa criar uma conta nova.

As páginas de login e inscrição precisam atender aos seguintes requisitos:

  • Proporcionar uma experiência de usuário otimizada para dispositivos móveis.
  • Minimizar o número de campos obrigatórios durante o processo de inscrição.
  • Permitir que o usuário conclua o login ou a inscrição em uma única página.
  • Usar criptografia HTTPS com um certificado válido para garantir que os dados do usuário sejam transmitidos com segurança.
  • Garantir pelo menos 99,9% de tempo de atividade das páginas de login e inscrição.

Além dos requisitos acima, recomendamos permitir que os usuários se inscrevam no programa de fidelidade sem preencher nenhum formulário ou manter a página apenas com a aceitação dos termos de serviço.

  • Aproveitando os dados do usuário fornecidos, crie uma conta e remeta imediatamente o cartão de fidelidade.
  • Posteriormente, envie ao usuário por e-mail uma senha única ou um link para configurar a senha e detalhes opcionais da conta.
  • Isso reduz a chance de abandono do processo de inscrição pelo usuário, porque cada passo extra pode levar a mais desistências.

Ao apresentar a página de login ou inscrição, o Google Pay criará um Android WebView e uma solicitação POST será enviada ao URL fornecido. Os dados do usuário serão fornecidos no parâmetro userProfile incluído na solicitação POST usando o tipo de conteúdo application/x-www-form-urlencoded e a codificação UTF-8. O valor do parâmetro userProfile é um objeto JSON codificado em Base64.

Dependendo da ação escolhida pelo usuário e dos campos especificados para solicitação ao usuário, o objeto JSON pode conter os campos a seguir.

Campo Inscrição Login
email
firstName  
lastName  
addressLine [1-3]  
city  
state  
zipcode  
country  
phone  

Consulte o objeto JSON de exemplo decodificado abaixo contido no userProfile.

Recurso

{
  "firstName": "Jane",
  "lastName": "Doe",
  "addressLine1": "1600 Amphitheatre Pkwy",
  "addressLine2": "Apt 123",
  "addressLine3": "Attn:Jane",
  "city": "Mountain View",
  "state": "CA",
  "zipcode": "94043",
  "country": "US",
  "email": "jane.doe@example.com",
  "phone": "555-555-5555"
}

Implementar remessa imediata do cartão de fidelidade para o Google Pay

Depois da autenticação (login) ou após a criação da conta (inscrição), a página precisa remeter imediatamente o cartão de fidelidade do usuário para o Google Pay.

Remeta o cartão de fidelidade ao Google Pay redirecionando para um link que siga a estrutura abaixo. Se você não souber gerar um JSON Web Token (JWT) para o LoyaltyObject que represente o cartão de fidelidade do seu usuário, consulte Como gerar o JWT para o LoyaltyObject.

https://www.android.com/payapp/savetoandroidpay/{jwt_generated}

O comprimento seguro de um URL é 2.000 caracteres. Os links precisam permanecer abaixo desse limite. Os objetos codificados em JWTs precisam ser pequenos e conter apenas dados específicos ao usuário. Tente manter a maioria dos dados na classe do objeto, criando-a antes do JWT. Para objetos maiores, que excedam o limite, é possível criar o objeto primeiro na API Google Pay for Passes e enviar apenas o código do objeto no JWT.

Fluxo de comunicação típico

O fluxo de comunicação para um usuário ao concluir a inscrição ou o login é ilustrado na imagem a seguir. A responsabilidade por implementar todas as ações entre "Your Server" (Seu servidor) é sua.

Solicitar verificação e ativação

Se ainda não tiver feito isso durante o trabalho de desenvolvimento, envie um formulário de registro para fornecer os URLs de login e inscrição, o logotipo do programa de fidelidade e os campos que você queira solicitar aos usuários.

Assim que recebermos os detalhes, nossa equipe de suporte criará uma versão de rascunho do programa de fidelidade com login/inscrição ativados. Ela será visível apenas para usuários com acesso ao Merchant Center da API Google Pay for Passes e que estão na lista de permissões como contas de teste do Gmail no formulário de registro.

Depois que tiver verificado a funcionalidade da implementação usando a versão de rascunho que foi ativada por nossa equipe de suporte, estará tudo pronto para que você solicite uma verificação final da implementação respondendo ao e-mail que recebeu da nossa equipe de suporte.

Depois de uma avaliação completa da implementação que confirme a funcionalidade correta com o app Google Pay, o recurso de inscrição/login será lançado publicamente para o programa de fidelidade. Isso permitirá que qualquer usuário veja o programa e use essa funcionalidade.

Para garantir uma experiência do usuário ideal, verificações recorrentes da implementação de inscrição/login serão realizadas para garantir compliance contínua com os requisitos do recurso. Você receberá uma notificação no caso de discrepâncias, e a funcionalidade de login/inscrição poderá ser desativada até o problema ser resolvido.

Perguntas frequentes

  • Há algum requisito para as imagens usadas em meu programa de fidelidade?
    • Sim, as imagens precisam ser hospedadas no local HTTPS, porque, de outra forma, elas não estarão visíveis no Google Pay.
  • Há alguma ferramenta que simplifique a implementação e a depuração de JWTs?
    • Sim, plataformas como www.jwt.io permitem decodificar e depurar os tokens durante o processo de desenvolvimento, permitindo verificar o conteúdo que está sendo enviado. O Google não tem afiliação nem recomenda especificamente nenhum desses terceiros.
  • Como processamos corretamente os dados userProfile codificados em Base64?
    • Verifique se você está usando a codificação UTF-8 em todo o processo. A string JSON é codificada primeiro em UTF-8 e, depois, usando android.util.Base64 com as opções NO_WRAP e URL_SAFE. Esse método cumpre os requisitos da seção 4 do RFC 3548 (em inglês).

Exemplo de fluxo de inscrição