Google Pay ™

Google Pay é uma carteira virtual. Ele 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 de serviço do Google Pay
  2. Integrar com o Google Pay em seu site ou app (https://developers.google.com/pay/api/android/overview)
  3. Contratar o Pagador API REST como gateway de pagamento
  4. Contratar o Cielo 3.0 como adquirência
  5. Integrar com o Pagador API REST (https://braspag.github.io/manual/braspag-pagador)

Etapa 1: Integrando Google Pay em seu aplicativo Android

Passo 1 - Configuração do Projeto

https://developers.google.com/pay/api/android/guides/setup

Nestes passos, os seguintes pontos devem ser atendidos:

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 a correta integração do Google Pay via Braspag, é necessário se atentar aos pontos abaixo:

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 “ cielo”, conforme o exemplo ao lado:

private static JSONObject getTokenizationSpecification() {
  JSONObject tokenizationSpecification = new JSONObject();
  tokenizationSpecification.put("type", "PAYMENT_GATEWAY");
  tokenizationSpecification.put(
      "parameters",
      new JSONObject()
          .put("gateway", "cielo")
          .put("gatewayMerchantId", "exampleMerchantId"));
  return tokenizationSpecification;
}

No parâmetro “ gatewayMerchantId”, preencha o identificador de sua loja gerado pelo gateway. O identificador da loja tem o formato XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX (i.e. GUID(36)).

Definição das Bandeiras aceitas

No passo “Step 3: Define supported payment card networks”, seguir com as bandeiras: “VISA”, “MASTERCARD”, “AMEX”, “DISCOVER” E “JCB”

Definição do ambiente

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

Definição dos dados de compra

No passo “Step 7: 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.

Recuperação dos dados pagamento

No passo “Step 9: 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: https://developers.google.com/android/reference/com/google/android/gms/wallet/PaymentData)

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: https://developers.google.com/android/reference/com/google/android/gms/wallet/PaymentMethodToken)

O token obtido no passo anterior, possui uma estrutura descrita abaixo:

{
  "protocolVersion": "ECv1",
  "signature": "TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ",
  "signedMessage": "{\"encryptedMessage\":
  \"ZW5jcnlwdGVkTWVzc2FnZQ==\",\"ephemeralPublicKey\":
  \"ZXBoZW1lcmFsUHVibGljS2V5\",\"tag\": \"c2lnbmF0dXJl\"}"
}
Parâmetro Type Descrição
signedMessage string Mensagem asssinada.
signature string Assinatura da mensagem.

(vide mais informações em: https://developers.google.com/pay/api/android/guides/resources/payment-data-cryptography)

Guarde os dados “signedMessage” e “signature”, que serão requisitados na autorização via Pagador da Braspag na próxima etapa (Etapa 2: Autorização com token do Google Pay)

Etapa 2: Autorização com o token do Google Pay

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, deverá fornecer o token recebido pelo Google Pay, confore o exemplo abaixo:

Request

{
  "MerchantOrderId": "2014111708",
  "Customer": {
    (…)
  },
  "Payment": {
    "Type": "CreditCard",
    "Amount": 100,
    "Provider": "Cielo30",
    "Installments": 1,
    "Wallet": {
      "Type": "AndroidPay",
      "WalletKey": "{\"encryptedMessage\": \"ZW5jcnlwdGVkTWVzc2FnZQ==\",\"ephemeralPublicKey\": \"ZXBoZW1lcmFsUHVibGljS2V5\",\"tag\": \"c2lnbmF0dXJl\"}",
      "AdditionalData": {
        "Signature": "ZXBoZW1lcmFsUHVibGljS2V5"
      }
    }
  }
}
Parâmetros do Header Type Descrição
MerchantID GUID(36) ID do estabelecimento na Cielo 3.0. Para ambiente Sandbox, utilize 63D6ACCB-2734-4236-AB5D-843A9DAC44C7
MerchantKey String(24) Chave da API para Cielo 3.0. Para ambiente Sandbox, utilize ZCVHDJWKTGOZXADDYJFURIDIKHEMRYQAQDYEJMQK
Parâmetro Type Descrição
MerchantOrderId String (50) Número de identificação do Pedido
Customer Nó com dados do comprador Vide https://braspag.github.io/manual/braspag-pagador?json#criando-uma-transa%C3%A7%C3%A3o-com-dados-do-comprador
Payment.Type String (100) Tipo do Meio de Pagamento. Possibilidades: “CreditCard” ou “DebitCard”
Payment.Amount Número (15) Valor do Pedido (ser enviado em centavos)
Payment.Provider String (15) Nome da provedora de Meio de Pagamento. Para transações Google Pay, utilize “Cielo30”
Payment.Installments Número (2) Número de Parcelas
Payment.Wallet.Type String (15) Nome da provedora de Meio de Pagamento. Para transações Google Pay, utilize “AndroidPay”
Payment.Wallet.WalletKey String Preencher com o valor do parâmetro “signedMessage” retornado pelo Google Pay
Payment.Wallet.AdditionalData.Signature String Preencher com o valor do parâmetro “signature” retornado pelo Google Pay

Para mais informações, acesse https://braspag.github.io/manual/braspag-pagador

Response

Vide https://braspag.github.io/manual/braspag-pagador?json#resposta

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 produtivos. O checklist está disponível em: https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist