Google Pay
O 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.
Pré-Requisitos
Para utilização do Google Pay, é necessário que a loja já possua cadastro e integração Google Pay. Além disso, você deve:
- Concordar com os termos de serviço do Google Pay;
- Seguir os passos dessa documentação para completar a integração junto à Google Pay;
- Contratar a API E-commerce Cielo;
- Contratar o Cielo 3.0 como adquirência;
- Integrar com a API E-commerce Cielo.
ETAPA 1: Integração com Google Pay
Nesta etapa inicial, você deverá configurar seu projeto e implementar o Google Pay em seu aplicativo Android.
Passo 1 - Configuração do Projeto
Para configurar seu projeto, siga as instruções descritas no Guia de Configuração do Google Pay.
Neste passo, você deverá adicionar dependências importando a biblioteca do Google Play Services ou então escolhendo as APIs que deseja compilar. E então, para ativar o Google Pay no seu aplicativo Android, você deverá **modificar o arquivo _"AndroidManifest.xml"_** do seu projeto de acordo com as instruções dadas na página.
Passo 2 - Implementação do Google Pay
Para integrar o Google Pay em seu aplicativo, siga todos os passos indicados no Tutorial de Implementação do Google Pay.
Para a correta integração do Google Pay via Cielo, é necessário se atentar aos pontos abaixo:
Definição do Gateway
No passo "Step 2: Request a payment token for your payment provider", siga o modelo indicado como "GATEWAY" e atribua o valor "PAYMENT_GATEWAY" ao parâmetro type
e o valor "cielo" ao parâmetro gateway
, conforme o exemplo dado:
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;
}
Preencha o parâmetro gatewayMerchantId
com o identificador de sua loja, gerado pelo gateway. O identificador da loja segue o formato "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" (tipo GUID / tamanho 36).
Definição das Bandeiras
No passo "Step 3: Define supported payment card networks", configure conforme as bandeiras aceitas pela wallet.
Definição do Ambiente
No passo "Step 5: Create a PaymentsClient instance", utilize o valor "WalletConstants.ENVIRONMENT_TEST" para o ambiente de testes.
Definição dos Dados de Compra
No passo "Step 7: Create a PaymentDataRequest object", utilize o valor "BRL" para o parâmetro currencyCode
. O campo merchantName
é o nome que o comprador visualizará durante o pagamento com Google Pay e recomenda-se, desta forma, colocar-se um nome amigável e reconhecido.
Recuperação dos Dados de Pagamento
No passo "Step 9: Handle the response object", está descrito o evento Activity.RESULT_OK
, onde é retornado um objeto com todos os dados referentes 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()
. Clique aqui para mais informações.
Na sequência, deve-se obter a string que contém tokens de pagamento a partir do método GetToken()
do objeto PaymentMethodToken
. Clique aqui para mais informações.
A string obtida no passo anterior possui uma estrutura como a mostrada a seguir. Clique aqui para mais informações.
{
"protocolVersion": "ECv1",
"signature": "TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ",
"signedMessage": "{\"encryptedMessage\":
\"ZW5jcnlwdGVkTWVzc2FnZQ==\",\"ephemeralPublicKey\":
\"ZXBoZW1lcmFsUHVibGljS2V5\",\"tag\": \"c2lnbmF0dXJl\"}"
}
Parâmetro | Type | Descrição |
---|---|---|
signedMessage | string | Mensagem assinada. |
signature | string | Assinatura da mensagem. |
Guarde os dados signedMessage
e signature
, que serão requisitados na autorização via API E-commerce Cielo na ETAPA 2, descrita a seguir.
ETAPA 2: Autorização com Token
A autorização com o token do Google Pay acontece da mesma forma que a autorização padrão de um cartão de crédito. Porém, ao invés de se fornecer os dados do cartão abertamente, deverá ser fornecido o token recebido pelo Google Pay, conforme o exemplo a seguir:
Atenção: A integração a seguir deve ser feita por lojas que enviam dados de cartão de forma criptografada. Se a sua loja envia a requisição de autorização de e-wallet com dados descriptografados, vá para Cartão descriptografado.
Requisição
{
"MerchantOrderId": "2014111708",
"Customer": {
(…)
},
"Payment": {
"Type": "CreditCard",
"Amount": 100,
"Installments": 1,
"Wallet": {
"Type": "AndroidPay",
"WalletKey": "{\"encryptedMessage\": \"ZW5jcnlwdGVkTWVzc2FnZQ==\",\"ephemeralPublicKey\": \"ZXBoZW1lcmFsUHVibGljS2V5\",\"tag\": \"c2lnbmF0dXJl\"}",
"AdditionalData": {
"Signature": "ZXBoZW1lcmFsUHVibGljS2V5"
}
}
}
}
Parâmetros do Header | Descrição | Tipo e tamanho |
---|---|---|
MerchantId | ID do estabelecimento na Cielo 3.0. Para ambiente Sandbox, utilize 63D6ACCB-2734-4236-AB5D-843A9DAC44C7. | GUID (36) |
MerchantKey | Chave da API para Cielo 3.0. Para ambiente Sandbox, utilize ZCVHDJWKTGOZXADDYJFURIDIKHEMRYQAQDYEJMQK. | String (24) |
Parâmetro | Descrição | Tipo e tamanho |
---|---|---|
MerchantOrderId | Número de identificação do pedido. | String (50) |
Customer | Nó com dados do comprador. | Consulte o manual da API E-commerce Cielo. |
Payment.Type | Tipo do meio de pagamento. Possibilidades: "CreditCard" / "DebitCard". | String (100) |
Payment.Amount | Valor do pedido, em centavos. | Número (15) |
Payment.Installments | Número de parcelas. | Número (2) |
Payment.Wallet.Type | Nome do provedor de meio de pagamento. Para transações Google Pay, utilize "AndroidPay". | String (15) |
Payment.Wallet.WalletKey | Preencher com o valor do parâmetro signedMessage retornado pelo Google Pay. | String |
Payment.Wallet.AdditionalData.Signature | Preencher com o valor do parâmetro signature retornado pelo Google Pay. | String |
Para mais informações, consulte a Referência da API.
Resposta
A resposta de autorização da wallet terá os mesmos campos apresentados em nossa documentação do API E-commerce, porém com a adição do nó Payment.Wallet
repetindo os mesmos campos utilizados na autorização, como descrito acima.
ETAPA 3: Solicitação de dados de produção
Para finalizar o processo, é necessário validar os passos das etapas anteriores e então solicitar as credenciais de acesso para entrar em produção.
Passo 1 - Branding guideline
Verifique se todas as diretrizes de branding foram seguidas conforme descrito no Guia Diretrizes de Marca.
Passo 2 - Checklist e solicitação de credenciais
Verifique se todos os itens do checklist de integração foram atendidos. Após tudo validado, solicite os dados de acesso do ambiente de produção.
Updated 2 months ago