Google Pay™
Google Pay permite que os seus clientes armazenem formas de pagamento na própria conta Google para fazer compras mais rápidas e com segurança.
Como Funciona
Quando o comprador clica no botão de pagamento do Google Pay, são exibidas as formas de pagamentos salvas na conta do Google dele. O comprador pode selecionar rapidamente a forma de pagamento desejada e opcionalmente preencher informações adicionais da compra. Após esta interação com a Google Pay, estes mesmos dados serão enviados/processados pelo e-SiTef para efetuar o fluxo de pagamento.
O Google Pay é suportado pelo e-SiTef, no entanto, não é suportado por todos os adquirentes e não está ativado por padrão na sua conta. Entre em contato com um membro de nossa equipe de suporte para obter mais informações.
Atenção: Ao utilizar o Google Pay pelo e-SiTef, o lojista deve estar ciente e aderente à Política de Utilização Aceitável e o mesmo aceita os Termos de Serviço da API Google Pay.
Pagamento REST
Integre-se ao Google Pay
Para começar a processar pagamentos com o Google Pay, você precisa se integrar ao Google via Web ou Android. Durante a integração, você verá que alguns parâmetros são necessários para processar o Google Pay através do e-SiTef:
- O parâmetro
gatewayMerchantId
deve ser preenchido com o merchant_id da loja no e-SiTef; - O parâmetro
gateway
deve ser preenchido comsoftwareexpress
;
Este é um exemplo da integração via web, em que é necessário configurar com os dados do e-SiTef:
const tokenizationSpecification = {
type: 'PAYMENT_GATEWAY',
parameters: {
'gateway': 'softwareexpress',
'gatewayMerchantId': '<ESITEF_MERCHANT_ID>'
}
};
Este é um trecho de exemplo da integração via Android, em que é necessário configurar com os dados do e-SiTef:
.setPaymentMethodTokenizationType(WalletConstants.PAYMENT_METHOD_TOKENIZATION_TYPE_PAYMENT_GATEWAY)
.addParameter("gateway", "softwareexpress")
.addParameter("gatewayMerchantId", "<ESITEF_MERCHANT_ID>")
Além disso, a loja precisa seguir as diretrizes de layout do Google Pay. Consulte a documentação do Google Pay para as diretrizes da marca.
As seguintes redes de cartões disponíveis no Google Pay são suportadas pelo e-SiTef: VISA
, ELECTRON
, MASTERCARD
, MAESTRO
, ELO
, ELO_DEBIT
, AMEX
, DISCOVER
e JCB
. Os seguintes meios de autorização disponíveis no Google Pay são suportados pelo e-SiTef: PAN_ONLY
e 3DS_CRYPTOGRAM
. Entre em contato com nossa equipe de suporte para ativar as configurações adequadas para a sua loja.
As telas abaixo demonstram um fluxo de compra na Web recomendado pela Google Pay.
As telas abaixo demonstram um fluxo de compra no Android recomendado pela Google Pay.
Envie os dados para o e-SiTef
Ao concluir a integração com o Google, você terá todas as informações necessárias para realizar um pagamento com o e-SiTef.
O Google responderá com a resposta PaymentData, que inclui a carga criptografada (token).
Da resposta do Google contendo as informações do cliente, extraia o token do Google Pay, seguindo as referências da API. Atualmente o token pode ser extraido de paymentData.paymentMethodData.tokenizationData.token
. Utilize este token na requisição de efetivação de pagamento no campo card.wallet_transaction_id
. Adicionalmente será necessário repassar o campo paymentData.paymentMethodData.info.cardNetwork
para o campo wallet_returned_card_brand
. Abaixo segue um exemplo desta requisição:
O conteúdo do
paymentData.paymentMethodData.tokenizationData.token
equivale a uma JSON, mas não há necessidade de tratar este conteúdo. Repasse o valor obtido sem realizar qualquer tratamento para o campocard.wallet_transaction_id
.
curl -X POST \
https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/<NIT> \
--header "Content-Type: application/json" \
--header "merchant_id: <MERCHANT_ID>" \
--header "merchant_key: <MERCHANT_KEY>" \
--data-binary '{
"authorizer_id": "405",
"card": {
"wallet_transaction_id": "{\"signatures\":\"MEUCIH1PBdMmbWMvaR/ArH08R/OT41Or2yfLqbzj2JG9VGfJAiEA+6NPKT6sAKZeaLacm29wIS8v2tUwPE281JuRBf81imo\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEm1j1auejJXFzexs/H3TasImWFERsifrx93W7wxZb0dpLxk/FaK8hQN6Ypwep8DaYrEKSp6zvxeE4ezDrssf/Bg\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1576347458323\\\"}\",\"signatures\":[\"MEYCIQCbAolg3/K2yD0/p3K7gRFhXva79STrj+rZcYp/3vi6ogIhANGT/9GkO9S1lJtnu3C6QQ/kFSR2wxtPJRGfuqSKs9FE\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"Dcm8wxtB6Bp7CyHV1OBqTskStqX3K5x7I0fV/2V0KsMLkZHP5nn+IXC+HBLkZtPF0Ov6uBD1eLbOB2KQd1cVmBPm7f4xSsB4DaYTktfk2AaLpR0BZlb9errv4jl4QAxSLdxw8Hk3EKicSmvsUNE2SzFBOONPrvv1qe03ZnzB3Q0ID1ocsBJ09PQ/2jft0WY/Py6iAA4sccZKmxLdo83NJJc1VrfcGLcqwy5InUV4nSxmXrnr/eNQDIx9p4Yf3RSVlS6/t+bEpUjpUSwSNoHwzhlWOve3/Gm+yt+OKheXOWSsXiHJL1rV1ENgDroR2uMUb85OZCF1ulStb6U8xocRVKSKkhAxFVUehz568huQdlEjns+5MMWdZkNgH3cXMgTQxZ6DiUYxMthUhdT8HINXCUYxaT/od/Njh2JZHJb2R4u4HsfViUoIVRHojSaepXP3KI2z4G9hPwKX/MWeEMyiZRUiCHHe0VJoU/8xxg\\\\u003d\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BG0eCJ8xbPN55ht7b3oDZgFgwG4rZxkRWrOFnmW9wwxUrZS0A6oeMAySLKThMydaGuoTbbiAwK38zx8pnNKgirA\\\\u003d\\\",\\\"tag\\\":\\\"uPvitOn+aGk48RlrwzYSKgDicO5oYtmMEWXzj5rUewo\\\\u003d\\\"}\"}",
"wallet_returned_card_brand" : "MASTER"
},
}'
No exemplo acima, foi definido no campo authorizer_id
com o valor 405
, que corresponde selecionar a Google Pay como forma de pagamento; e foi definido no campo wallet_transaction_id
com o valor do token da Google Pay . Uma execução bem-sucedida do comando acima retornará um JSON semelhante à abaixo.
{
"code":"0",
"message":"OK. Transaction successful.",
"payment":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK",
"status":"CON",
"nit":"<NIT>",
"order_id":"13034649671",
"customer_receipt":"====CUPOM COMPRADOR====",
"merchant_receipt":"====CUPOM ESTABELECIMENTO====",
"authorizer_id":"405",
"acquirer_id":"1005",
"acquirer_name":"Redecard",
"authorizer_date":"28/02/2020T08:57",
"authorization_number":"132030",
"merchant_usn":"13034649671",
"esitef_usn":"170713097340300",
"sitef_usn":"132030",
"host_usn":"999132030",
"payment_date":"13/07/2017T15:52",
"amount":"1000",
"payment_type":"C",
"issuer":"2",
"authorizer_merchant_id":"<MERCHANT_ID>"
}
}
Para maiores detalhes, veja a documentação do fluxo de pagamento do e-SiTef.
Armazenamento REST
É possível realizar o armazenamento de cartão, sendo que existem algumas exceções de casos, dependendo de como o token da Google Pay foi gerada. Entre em contato com a nossa equipe de suporte para realizar as configurações necessárias para possibilitar este armazenamento.
O armazenamento de cartão REST funciona como se fosse armazenar um cartão qualquer, porém com os seguintes cuidados:
- Ao invés de enviar os número do cartão, envie o campo
wallet_transaction_id
. - O envio do campo
authorizer_id
deve ser '405' (Google Pay).
Para maiores detalhes, veja aqui.
Pagamento HTML
Para utilizar o Google Pay com o pagamento HTML, entre em contato com um membro de nossa equipe de suporte para realizar a configuração necessária. É possível determinar quais bandeiras serão aceitas no Google Pay na integração HTML.