Conceder acesso à API REST

A API Google Pay for Passes ajuda você a adicionar e gerenciar cartões de fidelidade, vales-presente, ofertas, ingressos de eventos, cartões de embarque e bilhetes de transporte no app Google Pay. Para começar, registre o projeto, conecte-o à API Google Pay for Passes Merchant Center e configure o serviço da Web para o OAuth 2.0.

1. Registrar o aplicativo

Todos os aplicativos que acessam uma API do Google precisam ser registrados por meio do Console de APIs. O resultado desse processo de registro é um conjunto de valores conhecidos apenas pelo Google e pelo aplicativo (código do cliente, endereço de e-mail e chave privada). Para registrar o aplicativo, siga estes passos:

  1. Inscreva-se para ter acesso à API Google Pay for Passes. Se você já tiver feito isso, pule este passo.
  2. Acesse o Console de APIs.
  3. Clique no botão Criar projeto ou selecione Criar um projeto no menu suspenso localizado na parte superior da página. A página "Novo projeto" é exibida.
  4. Digite o nome do projeto.
  5. Clique em Criar. Quando a configuração estiver concluída, uma notificação será exibida no canto superior direito. Clique nessa notificação para acessar a página inicial do projeto.
  6. Clique em Ir para visão geral das APIs. Em seguida, clique em ATIVAR APIS E SERVIÇOS.
  7. Pesquise pela API Google Pay for Passes e clique em Ativar.
  8. Clique em Credenciais no menu à esquerda.
  9. Clique no botão Criar credenciais e selecione Chave da conta de serviço.
  10. Crie a chave da conta de serviço na página. Talvez seja necessário criar também uma conta de serviço. Nenhuma função adicional é necessária para essa conta de serviço. Escolha json como o tipo de chave e clique em Criar.
  11. Uma nova conta de serviço é adicionada à lista de contas e uma chave privada é salva no sistema de arquivos local. Essa é a única cópia dessa chave, e você é responsável por manter esse arquivo de chave em um local seguro. Você usará essa chave depois.
  12. Copie o e-mail da conta de serviço da chave, que pode ser encontrado em Gerenciar contas de serviço, na guia "Credenciais". Você usará esse endereço depois.

Aviso: a chave privada precisa ser armazenada e gerenciada com segurança por você para os ambientes de produção e do desenvolvedor. O Google só armazena uma cópia da chave pública. Mais informações sobre como gerenciar a chave privada da conta de serviço podem ser encontradas aqui.

2. Vincular a conta de serviço à conta da API Google Pay for Passes

A conta da API Google Pay for Passes precisa ter sido criada para você por seu ponto de contato do Google. O Merchant Center da API Google Pay for Passes é um site que pode ser usado para gerenciar a conta e todas as classes e objetos associados. Siga estes passos para vincular a conta de serviço ao Merchant Center da API Google Pay for Passes:

  1. Acesse o Merchant Center da API Google Pay for Passes.
  2. Selecione a conta na lista. A página "Informações da conta" é exibida.
  3. Clique em Compartilhar. As configurações de compartilhamento são exibidas.
  4. Na seção Registrar o aplicativo, copie o e-mail da conta de serviço da chave, que termina com @<your_domain>.iam.gserviceaccount.com, e cole-o no campo Invite people.
  5. Verifique se o menu suspenso de permissões está definido como editar e clique em Enviar. A conta de serviço já está vinculada à conta da API Google Pay for Passes. Você já está pronto para emitir chamadas REST para a API.

3. Usar o OAuth 2.0 para o aplicativo de servidor para servidor

O servidor de autorização do Google OAuth 2.0 aceita interações de servidor para servidor, como as que ocorrem entre um aplicativo da Web e o Google Cloud Storage. O aplicativo solicitante precisa provar a identidade para conseguir acesso a uma API, sem qualquer envolvimento do usuário final.

É preciso receber um token de acesso para autorizar as solicitações de API. É altamente recomendável usar uma biblioteca de cliente para simplificar o processo.

Usar uma biblioteca para criar uma credencial da conta de serviço

As seguintes guias mostram exemplos de código para criar uma credencial da conta de serviço em linguagens diferentes:

Java

GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport)
  .setJsonFactory(jsonFactory)
  .setServiceAccountId("ServiceAccountEmail@developer.gserviceaccount.com")
  .setServiceAccountScopes("https://www.googleapis.com/auth/wallet_object.issuer")
  .setServiceAccountPrivateKey(new File("/example/path/to/privatekey.json"))
  .build();

PHP

$client = new Google_Client();
$client->setApplicationName('Wallet Objects App');
$client->setScopes(array('https://www.googleapis.com/auth/wallet_object.issuer'));
$client->setAuthConfigFile('/example/path/to/privatekey.json');

Python

file_path = '/example/path/to/privatekey.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
    file_path,
    'https://www.googleapis.com/auth/wallet_object.issuer')

http = httplib2.Http()
http = credentials.authorize(http)

Você usará a credencial resultante ao executar comandos da API REST, como inserir uma classe.

Receber um token de acesso manualmente

Consulte Como usar o OAuth 2.0 para aplicativos de servidor para servidor a fim de receber manualmente um token de acesso. Você precisará criar um JSON Web Token (JWT) e assiná-lo com a chave privada. Em seguida, crie uma solicitação de token de acesso no formato apropriado. Depois disso, o aplicativo enviará a solicitação de token para o servidor de autorização do Google OAuth 2.0, e um token de acesso será retornado. O aplicativo só poderá acessar a API depois de receber o token de acesso. Quando o token de acesso expirar, o aplicativo precisará repetir esse processo.

  • O campo iss no conjunto de declarações JWT usa o endereço de e-mail da conta de serviço gerado pelo Console de APIs do Google na seção Registrar o aplicativo.
  • O campo scope no conjunto de declarações JWT é uma lista delimitada por espaço de permissões solicitadas pelo aplicativo.
  • O escopo válido para aplicativos de produção é https://www.googleapis.com/auth/wallet_object.issuer.

Depois de concluir essas etapas, consulte Salvar no Google Pay para saber como os clientes podem salvar facilmente cartões de fidelidade, vales-presente, ofertas, ingressos de eventos, cartões de embarque de voos e bilhetes de transporte do seu site para o Google Pay.