Google Pay
O Google Pay é uma carteira digital que permite que compradores façam pagamentos em lojas virtuais e aplicativos de forma prática e segura. Para isso, utiliza cartões de crédito e débito armazenados na conta do Google e em dispositivos Android.
Pré-requisitoPara usar o Google Pay, a loja deve estar cadastrada e intregrada ao Google Pay. O cadastro deve ser concluído seguindo todas as etapas exigidas e com a aceitação dos termos de serviço do Google Pay.
Integração com Google Pay
Para iniciar a integração com o Google Pay, a loja realiza a configuração do projeto e implementa o Google Pay em seu aplicativo Android.
O processo de integração do Google Pay em aplicativos Android ocorre da seguinte forma:
- A loja prepara o projeto Android para uso do Google Pay, conforme os requisitos da plataforma;
- A loja configura as dependências e ativa o Google Pay no aplicativo;
- A loja implementa o fluxo de pagamento seguindo as diretrizes do Google Pay;
- A loja define o provedor de pagamento e as bandeiras aceitas;
- A loja configura o ambiente de testes para validação da integração;
- A loja define os dados da compra que serão exibidos durante o pagamento;
- A loja recebe e processa os dados de pagamento retornados pelo Google Pay.
1. Configuração do projeto
Para configurar o projeto, siga as instruções descritas no guia de configuração do Google Pay.
Nesta etapa, é necessário adicionar as dependências do projeto, importando a biblioteca do Google Play Services ou selecionando as APIs que serão compiladas.
Em seguida, para habilitar o Google Pay no aplicativo Android, a loja deve modificar o arquivo_"AndroidManifest.xml", conforme orientações apresentadas na documentação oficial.
2. Implementação do Google Pay
Para integrar o Google Pay ao aplicativo, siga todos os passos descritos no tutorial de implementação do Google Pay. Para garantir integração, atente-se aos pontos descritos a seguir:
Definição do gateway
No passo "Step 2: Request a payment token for your payment provider", utilize o modelo indicado como "GATEWAY" e defina o valor "PAYMENT_GATEWAY" para o parâmetro type e o valor "cielo" ao parâmetro gateway
Definição das bandeiras
No passo "Step 3: Define supported payment card networks", configure as seguintes bandeiras aceitas:
- VISA;
- MASTERCARD;
- AMEX;
- DISCOVER;
- JCB.
Definição do ambiente
No passo "Step 5: Create a PaymentsClient instance", utilize o valor "WalletConstants.ENVIRONMENT_TEST" para configurar o ambiente de testes.
É recomendável que, antes de iniciar os testes, a pessoa desenvolvedora participe do grupo específico de usuários do Google Pay para ter acesso a novos cartões de teste que são utilizados com a lista de verificação de integração do Google.
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 corresponde ao nome exibido ao comprador durante o pagamento com Google Pay. Recomenda-se utilizar um nome amigável e facilmente reconhecível.
Recuperação dos dados de pagamento
No passo “Step 9: Handle the response object”, é tratado o evento Activity.RESULT_OK, que retorna um objeto contendo todos os dados relacionados ao pagamento, incluindo o token de pagamento.
A partir do objeto PaymentData, obtenha o objeto PaymentMethodToken por meio do método getPaymentMethodToken(). Para mais informações, consulte a documentação oficial.
Em seguida, recupere a string que contém o token de pagamento utilizando o método GetToken() do objeto PaymentMethodToken. Para mais detalhes, consulte a documentação oficial. A string retornada possui uma estrutura específica de criptografia. Para entender o formato e o conteúdo desse dado, consulte a documentação oficial.
Solicitação de dados de produção
Para concluir o processo, a loja deve validar todas as etapas anteriores e, em seguida, solicitar as credenciais de acesso ao ambiente de produção.
1. Diretrizes de marca (branding)
Verifique se todas as diretrizes de marca foram seguidas conforme descrito no guia de diretrizes da marca do Google Pay.
2. Checklist e solicitação de credenciais
Confirme se todos os itens do checklist de integração foram cumpridos. Após a validação completa, solicite as credenciais de acesso para o ambiente produtivo.
Criar transação com Google Pay no Gateway de Pagamento
A autorização de uma transação com token do Google Pay segue o mesmo fluxo de uma autorização padrão de cartão de crédito. A principal diferença é que, em vez de informar os dados do cartão de forma direta, a loja deve enviar o token gerado pelo Google Pay.
Nesse modelo de integração, os dados retornados pelo Google Pay devem ser informados nos campos:
Payment.Wallet.WalletKey;Payment.Wallet.AdditionalData.EphemeralPublicKey.
conforme ilustrado no exemplo abaixo.
Atenção:
A integração descrita a seguir é indicada para lojas que enviam dados de cartão criptografados. Caso a loja realize a autorização de e-wallet utilizando dados descriptografados, consulte a documentação criar pagamento com e-wallet cartão descriptografado.
Exemplo de transação com os campos de e-wallet
{
"merchantOrderId": "123456789",
"customer": {
"name": "Aline de Souza",
"identity": "58154781050",
"identityType": "CPF",
"email": "[email protected]",
"birthdate": "1990-01-01",
"ipAddress": "192.168.0.1",
"address": {
"street": "Rua das Rosas",
"number": "123",
"complement": "apartamento 101",
"zipCode": "12345987",
"city": "São Paulo",
"state": "SP",
"country": "BR",
"district": "Jardim das Flores"
},
"deliveryAddress": {
"street": "Rua das Rosas",
"number": "123",
"complement": "apartamento 101",
"zipCode": "12345987",
"city": "São Paulo",
"state": "SP",
"country": "BR",
"district": "Jardim das Flores"
}
},
"Payment": {
"Type": "CreditCard",
"Amount": 100,
"Installments": 1,
"Wallet": {
"Type": "AndroidPay",
"WalletKey":{"encryptedMessage":"0mXBb94Cy9JZhMuwtrBhMjXb8pDslrNsN5KhcEqnowOINqJgjXHD36KcCuzpQQ4cDAe64ZLmk2N3UBGXsN9hMMyeMakXlidVmteE+QMaNZIor048oJqlUIFPD54B/ic8zCdqq3xnefUmyKQe0I03x57TcEA9xAT/E4x3rYfyqLFUAEtu2lT0GwTdwgrsT8pKoTldHIgP+wVNTjrKvJrB4xM/Bhn6JfcSmOzFyI6w37mBU71/TK761nYOSxt7z1bNWSLZ4b8xBu1dlRgen2BSlqdafuQjV3UZjr6ubSvaJ8NiCh5FD/X013kAwLuLALMS2uAFS9j8cZ6R6zNIi13fK6Fe4ACbFTHwLzSNZjQiaRDb6MlMnY8/amncPIOXzpirb5ScIz8EZUL05xd+3YWVTVfpqgFo1eaaS+wZdUyRG0QEgOsr6eLBoH8d5lfV9Rx6XdioorUuT7s1Yqc0OJZO+fhBt6X0izE9hBGTexdZyg\\u003d\\u003d","ephemeralPublicKey":"BMdwrkJeEgCOtLevYsN3MbdP8xbOItXiTejoB6vXy0Kn0ZM10jy4Aasd6jTSxtoxoTpFydLhj5kzoOhbw2OzZu0\\u003d","tag":"yAQIjWZ0VuCC7SWyYwc4eXOzpSUKhZduF9ip0Ji+Gj8\\u003d"}
,
"AdditionalData": {
"Signature": "MEUCIQCGQLOmwxe5eFMSuTcr4EcwSZu35fB0KlCWcVop6ZxxhgIgbdtNHThSlynOopfxMIxkDs0cLh2NFh5es+J5uDmaViA\u003d"
}
}
}
}| Parâmetro | Descrição | Tipo e Tamanho |
|---|---|---|
Payment.Wallet.Type | Nome do provedor do 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 |
Vá para a Referência da API para acessar os exemplos completos de requisição e resposta.
Updated about 1 month ago