Skip to main content

Guia de serviços

A Tuna está integrada com vários fornecedores de serviços para pagamentos online. Todos eles ficam disponíveis para você com apenas uma integração.

Guia de serviços

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#

  1. Concordar com os termos do Google Pay
  2. Integrar com o Google Pay em seu site ou app
  3. Contratar Tuna como adquirência, ou algum outro serviço que suporte Google Pay.
  4. Fazer a sua integração conforme esses passos.

Etapa 1: Integrando Google Pay#

Para integração Android#

Passo 1 - Configuração do Projeto Android#

https://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 Pay#

Para 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 Web#

API 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 Gateway#

No 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 ambiente#

No Step:Create a PaymentsClient instance, utilize o valor “WalletConstants.ENVIRONMENT_TEST” para utilizar o ambiente de teste.

Passo 7: Definição dos dados de compra#

No 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 pagamento#

No 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 Pay#

Tem duas formas de autorizar com o token de google pay:

Autorização com token de google no init#

A 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 tuna#

Com 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 Guideline#

Verifique 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ção#

Verifique 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