Google Pay™

Google Pay permite a sus clientes almacenar métodos de pago en su propia cuenta de Google para realizar compras de forma más rápida y segura.

Como funciona#

Cuando el comprador hace clic en el botón de pago de Google Pay, se muestran los métodos de pago guardados en su cuenta de Google. El comprador puede seleccionar rápidamente el método de pago deseado y, opcionalmente, completar la información de compra adicional. Luego de esta interacción con Google Pay, estos mismos datos serán enviados / procesados ​​por Portal Carat para hacer el flujo de pago.

Google Pay es compatible con Portal Carat, sin embargo, no todos los adquirentes lo admiten y no está activado de forma predeterminada en su cuenta. Contacte con un miembro de nuestro equipo de soporte para obtener más información.

Atención: Al utilizar Google Pay para el Portal Carat, el comerciante debe conocer y cumplir la [Política de uso aceptable] (https://payments.developers.google.com/terms/aup) y aceptar las [Condiciones de servicio de Google Pay API] (https://payments.developers.google.com/terms/sellertos).


Pago REST#

Únase a Google Pay#

Para comenzar a procesar pagos con Google Pay, debe integrarse con Google a través de [Web] (https://developers.google.com/payments/web/setup) o [Android] (https://developers.google.com/payments/setup). Durante la integración, verá que se requieren algunos parámetros para procesar Google Pay a través del Portal Carat:

  • El parámetro gatewayMerchantId debe llenarse con el merchant_id del comerciante en Portal Carat;
  • El parámetro gateway debe llenarse con softwareexpress;

Este es un ejemplo de integración web, en el que es necesario configurar con los datos de Portal Carat:

const tokenizationSpecification = {
type: 'PAYMENT_GATEWAY',
parameters: {
gateway: 'softwareexpress',
gatewayMerchantId: '<ESITEF_MERCHANT_ID>',
},
};

Este es un extracto de un ejemplo de integración vía Android, en el que es necesario configurar con los datos de Portal Carat:

.setPaymentMethodTokenizationType(WalletConstants.PAYMENT_METHOD_TOKENIZATION_TYPE_PAYMENT_GATEWAY)
.addParameter("gateway", "softwareexpress")
.addParameter("gatewayMerchantId", "<ESITEF_MERCHANT_ID>")

Además, la tienda debe seguir las pautas de layout de Google Pay. Consulte la [documentación de Google Pay] (https://developers.google.com/pay/api) para conocer las pautas de directrices de la marca.

Las siguientes redes de tarjetas disponibles en Google Pay son compatibles con Portal Carat: VISA, ELECTRON, MASTERCARD, MAESTRO, ELO, ELO_DEBIT, AMEX, DISCOVER y JCB. Los siguientes medios de autorización disponibles en Google Pay son compatibles con Portal Carat: PAN_ONLY y 3DS_CRYPTOGRAM. Contacte con nuestro equipo de soporte para activar la configuración adecuada para su tienda.

As telas abaixo demonstram um fluxo de compra na Web recomendado pela Google Pay.  -no-filter

Las pantallas siguientes muestran un flujo de compra en la [Web] (https://developers.google.com/pay/api/web/guides/brand-guidelines) recomendado por Google Pay. ! [-no-filter] (assets / googlepay_web-buy-flow.png)

Las pantallas siguientes muestran un flujo de compra en [Android] (https://developers.google.com/pay/api/android/guides/brand-guidelines) recomendado por Google Pay. ! [-no-filter] (assets / googlepay_android-shopping-cart.png)

Enviar datos al Portal Carat#

Cuando completes la integración con Google, tendrás toda la información que necesitas para realizar un pago con Portal Carat.

Google responderá con la respuesta PaymentData, que incluye la carga útil cifrada (token). De la respuesta de Google que contiene la información del cliente, extraiga el token de Google Pay, siguiendo las [referencias de API] (https://developers.google.com/pay/api/web/reference/response-objects). Actualmente, el token se puede extraer de paymentData.paymentMethodData.tokenizationData.token. Utilice este token en la solicitud de [efecto de pago] (pagamento-rest-dopayment.md) en el campo card.wallet_transaction_id. Además, será necesario pasar el campo paymentData.paymentMethodData.info.cardNetwork al campo wallet_returned_card_brand. Abajo se muestra un ejemplo de esta solicitud:

El contenido de paymentData.paymentMethodData.tokenizationData.token es equivalente a un JSON, pero no es necesario manejar este contenido. Pasar el valor obtenido sin realizar ningún tratamiento al campo card.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"
},
}'

En el ejemplo anterior, el campo authorizer_id se definió con el valor 405, que corresponde a la selección de Google Pay como método de pago; y se definió en el campo wallet_transaction_id con el valor del token de Google Pay. La ejecución exitosa del comando anterior devolverá un JSON similar al de bajo.

{
"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 obtener más detalles, consulte la documentación de [flujo de Pago del Portal Carat] (payment-rest-fluxo.md).#

Almacenamiento REST#

Es posible realizar almacenamiento con tarjeta, con algunas excepciones en casos dependiendo de cómo se generó el token de Google Pay. Póngase en contacto con nuestro equipo de soporte para realizar las configuraciones necesarias para habilitar este almacenamiento.

El almacenamiento de tarjetas REST funciona como si fuera a almacenar cualquier tarjeta, pero con las siguientes precauciones:

  • En lugar de enviar números de tarjeta, envíe el campo wallet_transaction_id.
  • El envío del campo authorizer_id debe ser '405' (Google Pay).

Para obtener más detalles, consulte [aquí] (armazenamento-rest-fluxo.md).

Pagamento HTML#

Para utilizar Google Pay con pago HTML, comuníquese con un miembro de nuestro equipo de soporte para realizar la configuración necesaria. Es posible determinar qué tarjetas se aceptarán en Google Pay en la integración HTML.