#
Google Pay ™Google Pay é uma carteira virtual. Ela permite que os compradores realizem pagamentos em lojas virtuais e apps utilizando de forma prática e segura, seus cartões de crédito e débito armazenados em suas contas “Google Account” e dispositivos Android.
#
Requisitos- Concordar com os termos do Google Pay
- Integrar com o Google Pay em seu site ou app
- Contratar Tuna como adquirência, ou algum outro serviço que suporte Google Pay.
- Fazer a sua integração conforme esses passos.
#
Etapa 1: Integrando Google Pay#
Para integração Android#
Passo 1 - Configuração do Projeto Androidhttps://developers.google.com/pay/api/android/guides/setup
Nestes passos, os seguintes pontos devem ser atendidos:
- Configuração do Projeto
- Modificação do arquivo Manifest
#
Passo 2 - Implementação do Google PayPara integrar o Google Pay sem seu aplicativo, siga todos os passos indicados na documentação do Google Pay: https://developers.google.com/pay/api/android/guides/tutorial
#
Para integração Web#
Passo 1 - Configuração do Projeto WebAPI documentation: https://developers.google.com/pay/api/web Brand guidelines: https://developers.google.com/pay/api/web/guides/brand-guidelines
Para a correta integração do Google Pay via Tuna, é necessário se atentar aos pontos abaixo:
#
Passo 2: Definição do GatewayNo passo Step 2: Choose a payment tokenization method, siga o modelo indicado como “GATEWAY” e preencha o valor para parâmetro “type” como “PAYMENT_GATEWAY” e o parâmetro “gateway” como "Tuna", conforme embaixo:
private static JSONObject getTokenizationSpecification()
{
JSONObject tokenizationSpecification = new JSONObject();
tokenizationSpecification.put("type", "PAYMENT_GATEWAY");
tokenizationSpecification.put(
"parameters",
new JSONObject()
.put("gateway", "tuna")
.put("gatewayMerchantId", "MerchantId"));
return tokenizationSpecification;
}
#
Passo 3: Definição de bandeiras.No Step:Supported payment card networks Seguir com as bandeiras: “VISA”, “MASTERCARD”, “AMEX”, “DISCOVER” E “JCB”.
#
Passo 5: Definição do ambienteNo Step:Create a PaymentsClient instance, utilize o valor “WalletConstants.ENVIRONMENT_TEST” para utilizar o ambiente de teste.
#
Passo 7: Definição dos dados de compraNo Step: Create a PaymentDataRequest object, utilize o valor “BRL” para parâmetro “currencyCode”. O campo “merchantName” é o nome que o comprador visualizará durante o pagamento com Google Pay, desta forma, recomenda-se colocar um nome amigável e reconhecido.
#
Passo 9: Recuperação dos dados pagamentoNo Step: Handle the response object, está descrito o evento “Activity.RESULT_OK”, onde é retornado um objeto com todos os dados referente ao dados de pagamento, inclusive o token de pagamento.
A partir do PaymentData, obtém-se o objeto PaymentMethodToken, através da chamada do método getPaymentMethodToken().
(vide mais informações em developers google)
Na sequência, deve-se obter a string que contém tokens de pagamento a partir do método GetToken()
do objeto PaymentMethodToken.
(vide mais informações em developers google).
O token obtido no passo anterior, possui a estrutura:
{
"protocolVersion": "ECv1",
"signature": "TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ",
"signedMessage":
"{\"encryptedMessage\":
\"ZW5jcnlwdGVkTWVzc2FnZQ==\",\"ephemeralPublicKey\":
\"ZXBoZW1lcmFsUHVibGljS2V5\",\"tag\": \"c2lnbmF0dXJl\"}"
}
(vide mais informações em:developers google)
Guarde os dados “signedMessage” e “signature”, que serão requisitados na autorização na próxima etapa
#
Etapa 2: Autorização de pagamentos com Google PayTem duas formas de autorizar com o token de google pay:
- Fazer a autorização no init do pagamento direto com o token do google.
- Fazer a tokenização do token de google, na nossa api token e depois autorizar com um token da tuna.
#
Autorização com token de google no initA autorização com o token do Google Pay acontece da mesma forma que uma autorização padrão de um cartão de crédito, porém, ao invés de fornecer os dados do cartão abertos no init, deverá fornecer o token recebido pelo Google Pay, confore o exemplo abaixo:
"PaymentData":{
"PaymentMethods":[
{
"PaymentMethodType":"1",
"Amount":107.87,
"Installments":1,
"CardInfo":{
"ExternalProvider":"GooglePay",
"ExternalProviderInfo":"{\"Signature\":\"MEYCIQDkZmYQ7/oREtDYSIZCBabF+jXqQTey5bapQlSoUyGDkAIhAM5cCR6z00hbsNhTb3k5Qy+uK8RUCoTavIHSOivPe/wj\"}",
"Data":{
"WalletKey":"{\"encryptedMessage\":\"z3bmezrKEHU4OUm1rGdACku4SbvDUCWpy0ZmP5J1UwLcgtCv0vdqCuyF3fI+G/aO7+O2KT1wZTPpL1unIbGjVJeVCZcxxQW38REmiz9IIEZOjW/5kmMiefd4QwwHeoI2ZmOAf0QAne8cYXW3flRej4UCHAzdJZJ/abHgYXwIQtCfAp+2fkFJMXtj3N12sjDop0Ru5sq0/Y1kGivI+ATLbHHEGtcYAt0ZFTyM2FHeOjf/ymezzGwI0VbEtwhhGXKzI2cnfOC8qjGDBIGX3oBno61swQxWnwWeihlGQrwl8ZmMWSrHUrnmY8ewIB+3o6xjISqv+kDd6ktXyR2VntrgRUMvcDpnbzRgU+QriSx96U+6/Yw5RQvixicXHOPZyUA8Y02hKpOCz/CA91r5Tfen8GV9ltFH+44mivwbAglsfg7tVMG9xY6Yq14we5NmZJDqwRXiNQMYaNjmCrl9nvVKFxX3oZE36+G4cIQI/cKIIw\\u003d\\u003d\",\"ephemeralPublicKey\":\"BEdhNDShqdQ4chuv3fJSpZbW3SCL0mT0bOcfDvyYYFfzWAfxd74bwf2MU0Us7ODTKD89OYYzH2q2DG4O4k6rNO4\\u003d\",\"tag\":\"kdoBfqSRS7JSWG17ZxaFHn/JSU+2UwNQ1NoT5kg6/ic\\u003d\"}"
}
}
}
],
#
Autorização com token de tunaCom o dado do token recebido pelo google pay, deve chamar ao endpoint /api/GooglePayToken/Validate:
{
"SessionId": "0cLqHdd/hJQT9fmnGBTFjunnhjek6oqdv+naWnGz6U2mTAcsbb/U5yFgLZthw5CDgjRj6anCEyckVuanzgVQtGacx+E=",
"PayLoad": "{\"protocolVersion\":\"ECv1\",\"signedMessage\":\"{\\\"tag\\\":\\\"ZVwlJt7dU8Plk0+r8rPF8DmPTvDiOA1UAoNjDV+SqDE\\\\u003d\\\",
\\\"ephemeralPublicKey\\\":\\\"BPhVspn70Zj2Kkgu9t8+ApEuUWsI/zos5whGCQBlgOkuYagOis7qsrcbQrcprjvTZO3XOU+Qbcc28FSgsRtcgQE\\\\u003d\\\",\\\"encryptedMessage\\\":\\\"12jUObueVTdy\\\"}\",\"signature\":\"MEQCIDxBoUCoFRGReLdZ/cABlSSRIKoOEFoU3e27c14vMZtfAiBtX3pGMEpnw6mSAbnagCCgHlCk3NcFwWYEyxIE6KGZVA\\u003d\\u003d\"}"
}
Logo será retornado um token válido de tuna, com o que deve fazer a requisição do init como em qualquer outro pagamento.
#
Etapa 3: Solicitação de dados de produção#
Passo 1 - Branding GuidelineVerifique se todas as diretrizes de branding foram seguidas conforme o link: https://developers.google.com/pay/api/android/guides/brand-guidelines
#
Passo 2 - Checklist e solicitação de credenciais de produçãoVerifique se todos os itens do checklist foram atendidos. Quando estiver tudo validado, solicite os dados de acesso de produção. O checklist está disponível em [developers google.](https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist0