Inscrição de vale-presente do usuário

O recurso de inscrição (login) de vale-presente permite que os usuários pesquisem um vale-presente e o adicionem à Carteira do Google. 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 adicionar o cartão à Carteira do Google.

Neste guia, apresentamos uma visão geral das etapas de implementação necessárias para ativar esse recurso no seu programa de cartões-presente.

Visão geral

Para começar, verifique se você já configurou seu projeto e tem acesso à API Google Wallet.

Siga estas quatro etapas para implementar o recurso de login no programa de vale-presente:

  1. Configure uma classe de teste na Carteira do Google para testar seu fluxo de login.
  2. Desenvolva páginas de login que usam a SharedDataType da Carteira do Google.
  3. Implemente o envio do vale-presente para a Carteira do Google após o login.
  4. Solicite a verificação e a ativação.

Configurar uma classe de teste na Carteira do Google

Determine o URL de login e o logotipo do programa. Em seguida, use os campos aninhados discoverableProgram em giftcardclass para definir os valores apropriados.

Defina os valores em discoverableProgram para criar uma versão de rascunho do programa de vale-presente habilitado para login. Para garantir que isso fique visível para os testadores, verifique se eles têm acesso ao Console do Google Pay e da Carteira. Para saber como compartilhar o acesso ao Console do Google Pay e da Carteira com outras pessoas, consulte Saiba mais sobre a página "Usuários".

Para concluir a verificação da funcionalidade da sua implementação durante o processo de desenvolvimento, entre em contato conosco pelo widget de suporte de contato no Console do Google Pay e da Carteira. Enquanto estiver no console, selecione API Google Wallet no tópico e depois Login de vale-presente no subtópico.

Desenvolver uma página de login que use os dados do usuário da Carteira do Google

Quando um usuário escolhe adicionar seu cartão-presente, ele é direcionado para uma página personalizada no site para concluir o processo de login.

Você precisa fornecer um URL de login em que o usuário possa fazer login em uma conta existente.

A página de login precisa atender aos seguintes requisitos:

  • Ofereça uma experiência do usuário otimizada para dispositivos móveis.
  • Permitir que o usuário conclua o login em uma única página.
  • Use criptografia HTTPS com um certificado válido para garantir que os dados do usuário sejam transmitidos com segurança.
  • Garanta pelo menos 99,9% de tempo de atividade da página de login.

Ao apresentar a página de login, a Carteira do Google cria um Android WebView, e uma solicitação POST é enviada ao URL fornecido. Os dados do usuário são fornecidos no parâmetro SharedDataType 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 SharedDataType é um objeto JSON codificado em Base64.

Implementar envio imediato do vale-presente para a Carteira do Google

Depois da autenticação (login), a página precisa enviar imediatamente o vale-presente do usuário para a Carteira do Google.

Remeta o vale-presente à Carteira do Google redirecionando para um link que siga a estrutura.

https://pay.google.com/gp/v/save/{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 do usuário. Tente manter a maioria dos dados na classe do objeto, criando-a antes do JWT. Para objetos maiores que ultrapassem o limite, é possível criar o objeto primeiro na API Google Wallet e enviar apenas o ID do objeto no JWT.

Fluxo de comunicação típico

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

Fluxos de login

Solicitar verificação e ativação

Depois de concluir o trabalho de desenvolvimento e testar o fluxo de login, envie uma solicitação pelo widget de contato com o suporte do Console do Google Pay e da Carteira.

Depois de uma avaliação completa da implementação que confirme o recurso correto em combinação com o app Carteira do Google, o recurso de login de vale-presente será lançado publicamente para o programa de vale-presente. Isso permitirá que qualquer usuário veja o programa e use esse recurso.

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

Perguntas frequentes

  • Há algum requisito para as imagens usadas no meu programa de vales-presente?
    • Sim, as imagens precisam ser hospedadas em um local HTTPS, porque, de outra forma, não estarão visíveis na Carteira do Google.
  • 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 e não recomenda especificamente nenhum desses terceiros.
  • Como processamos corretamente os dados SharedDataType 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, em android.util.Base64 com as opções NO_WRAP e URL_SAFE. Isso corresponde à seção 4 do RFC 3548.