Este documento explica como usar cURL e a API Google Pay for Passes Merchant Center para testar e depurar a integração da API Google Pay for Passes local e remotamente. Use essas ferramentas para testar a integração com muitos dos testes de aceitação obrigatórios para o lançamento.
Testes de aceitação
A integração precisa passar por todos os testes nas listas de verificação de testes de aceitação correspondentes para que seja possível iniciar. Trabalhe com o contato técnico do Google, após a conclusão do teste, para planejar o lançamento.
Testar classes e objetos usando cURL
O aplicativo usará a API REST para criar, recuperar e modificar classes e objetos. Use cURL a fim de enviar solicitações para testar os endpoints REST ou visualizar as respostas JSON brutas.
Receber um token de portador do OAuth2
Para conseguir um bearerToken
, instale a
ferramenta oauth2l e use-a no
comando a seguir. Substitua pathToPrivateKey pelo caminho da chave da conta
de serviço que você criou, conforme descrito na
seção
que discute a autenticação do OAuth 2.0.
oauth2l fetch --scope wallet_object.issuer --credentials pathToPrivateKey --cache ""
O bearerToken
é usado como parte dos seguintes comandos cURL.
Receber uma classe ou um objeto específico
Use o comando cURL a seguir para receber uma classe ou um objeto específico para testar se ele está sendo inserido
corretamente pelo aplicativo. Substitua walletObjectType pela classe
ou pelo tipo de objeto (como loyaltyClass
ou loyaltyObject
) e substitua
resourceId pelo resourceId
com o ID do objeto
ou da classe que você quer receber. Use os comandos cURL nas seções "Listar classes" e "Listar objetos" a seguir
para receber uma lista de códigos. Em seguida, use um código com esse comando cURL para recuperar o objeto ou a classe específica.
curl GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken"
Listar classes
Use o comando cURL a seguir para listar todas as classes de um issuerId
específico ou comerciante para testar se o aplicativo está inserindo as classes corretas. Substitua
classType pelo tipo de classe (como loyaltyClass
) e
issuerId pelo issuerId
(o grande número encontrado na
tela "Gerenciamento de contas" no Merchant Center da API Google Pay for Passes).
curl GET https://walletobjects.googleapis.com/walletobjects/v1/classType?issuerId=issuerId -H "Authorization: Bearer bearerToken"
Listar objetos
Use o comando cURL a seguir para listar todos os objetos associados a um
classId
específico e para testar se o aplicativo está inserindo os objetos corretos. Substitua
walletObjectType pelo tipo de objeto (como loyaltyObject
)
e classId pelo classId
pai do objeto.
curl GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType?classId=classId -H "Authorization: Bearer bearerToken"
Atualizar um objeto ou uma classe
Use os seguintes comandos cURL para atualizar um objeto ou uma classe específica:
- Receba o objeto ou a classe e salve em um arquivo. Substitua
walletObjectType pelo tipo de objeto
(como
offerObject
ouloyaltyClass
) e substitua resourceId peloresourceId
com o ID do objeto que você quer receber. Além disso, substituamyobjectfile.txt
pelo nome do arquivo local que contém seu objeto.curl -X GET https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" > myobjectfile.txt
- Faça alterações nos valores dos campos no objeto ou na classe.
- Envie a atualização para o objeto ou a classe:
curl -X PUT https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d myobjectfile.txt
Adicionar uma mensagem
Use o seguinte comando cURL para adicionar uma mensagem a um objeto ou a uma classe específica: Substitua
walletObjectType pelo tipo de objeto (como
offerObject
ou loyaltyObject
) e substitua
resourceId pelo resourceId
com o ID do objeto
que contém a mensagem você quer definir.
curl -X POST -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d '{"message":{"kind":"walletobjects#walletObjectMessage","header":"Welcome to Banconrista Rewards!","body":"Featuring our new bacon donuts.","displayInterval":{"kind":"walletobjects#timeInterval","start":{"date":"1985-04-12T23:20:50.52Z"},"end":{"date":"2085-04-12T23:20:50.52Z"}},"id":"1234"},"reviewStatus":"underReview"}' https://walletobjects.googleapis.com/walletobjects/v1/walletObjectType/resourceId/addMessage
Criar uma classe
Use o comando cURL a seguir para criar uma classe. Substitua classType
pelo tipo de classe (como loyaltyClass
) e classJSON
pela classe JSON gerada.
curl POST https://walletobjects.googleapis.com/walletobjects/v1/classType -H "Authorization: Bearer bearerToken" -H "Content-Type: application/json" -d 'classJSON'
Testar e depurar um JWT
Costuma ser útil examinar os JWTs criados. Para testar e depurar um JWT, siga estes passos:
- Copie o JWT para a área de transferência.
- Visite este site do decodificador JWT.
- Cole o JWT na caixa de texto.
- Pressione Decodificar JWT. O JWT é decodificado em duas seções: Cabeçalho e Declarações.
- Analise o payload e todos os campos próximos para garantir que o JWT esteja completo.