Google Pay™

Permite que tus clientes realicen sus pagos utilizando Google Pay a través del TPV Get Checkout ES.
Google Pay permite que los clientes hagan pagos usando cualquier tarjeta de crédito o débito guardada en su cuenta de Google, incluidas aquellas de Google Play, YouTube, Chrome o un dispositivo Android.
Al integrar y hacer uso de Google Pay, se aceptan las condiciones de uso de Google.
NOTA: Esta integración sólo se podrá realizar en el entorno de producción del TPV Get Checkout ES.
Conexión por redirección: Aceptación de Google Pay en la web
Puedes empezar a aceptar pagos con Google Pay de forma automática en el TPV Get Checkout ES solicitando la activación del método de pago a tu entidad bancaria. No es necesario ningún desarrollo técnico.
El método de pago será seleccionable en el interfaz del TPV Virtual:
Al pulsar sobre él, se solicitará el login en la cuenta de Google (si es necesario) y se procederá a seleccionar el medio de pago con el que realizar el pago:


Una vez seleccionado, el pago será procesado automáticamente.
Si se quiere forzar la ejecución del método de pago Google Pay (en lugar de mostrar la página de introducción
de datos de tarjeta), se debe enviar en el campo DS_MERCHANT_PAYMETHODS
el valor ‘google’ (sin comillas).
En caso de tener configurado tambien Apple Pay y el dispositivo lo permite, si se quiere forzar la ejecución solamente de uno de estos método de pago
se debe enviar en el campo DS_MERCHANT_PAYMETHODS
el valor ‘xpay’ (sin comillas). Y después el titular pulsará sobre Google Pay
o Apple Pay.

Integración directa por parte del comercio
Para integrar Google Pay en tu app o sitio web, debes seguir la
guía de integración de Google Pay.
Google
Pay Tutorial Guide.
Google
Pay Reference Guide.
Incluyendo, como parametrización obligatoria, los siguientes datos:
const tokenizationSpecification = {
type: 'PAYMENT_GATEWAY',
parameters: {
'gateway': 'redsys',
'gatewayMerchantId': 'FUC proporcionado por la entidad'
}
};
allowedCardNetworks = ["AMEX", "DISCOVER", "JCB", "MASTERCARD", "VISA"];
allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];
paymentDataRequest.merchantInfo = {
//a merchant ID provided by Google is available for a production environment after approval by Google
merchantId: 'XXXXXXXXXXXXXXXXXXXX',
merchantName: 'Nombre del comercio',
merchantOrigin: 'URL del comercio'
};
Para mayor información, consultar la documentación oficial:
Una vez completada la integración en el entorno de pruebas de Google Pay, se deberá solicitar el acceso a producción. El proceso es el siguiente:
- Solicitar el acceso a producción en la URL https://developers.google.com/pay/api/web/guides/test-and-deploy/request-prod-access.
- Google revisará la información enviada por parte del comercio y podrá proponer modificaciones, que en todo caso, validarán en el mismo entorno de pruebas.
- Google revisará la información aportada por parte del comercio y en caso de aprobación, se permitirá su uso en producción.
En la petición de autorización al TPV Get Checkout ES será necesario incorporar los siguientes datos:
Parámetro | Valor |
---|---|
Ds_XPayData | Token devuelto por Google Pay codificado en Base64 (paymentData.paymentMethodData.tokenizationData.token) *La codificación en Base64 debe de hacerse en el propio navegador para evitar transformaciones involuntarias del dato |
Ds_XPayType | |
Ds_XPayOrigen |
|
Funcionalidad avanzada. Envío de datos descifrados en comercio*
*Funcionalidad avanzada con posibles implicaciones en cumplimiento de PCI-DSS.
El comercio en este caso se encargará de decodificar los datos, obteniendo un objeto con el siguiente formato (ejemplo):
Datos descifrados
Se obtendrá algo similar a esto
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1561533871082",
"messageId": "AH2Ejtc8qBlP_MCAV0jJG7ErQKeDrkEUt…",
"paymentMethod": "TOKENIZED_CARD",
"paymentMethodDetails":
{
"expirationYear": 2026,
"expirationMonth": 12,
"pan": "489537XXXXXX3478",
"authMethod": "CRYPTOGRAM_3DS",
"eciIndicator": "05",
"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA="
}
}
Estos datos se enviarán al TPV Get Checkout ES en el parámetro Ds_XPayDecodedData , en formato Json:
{
"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA=",
"eciInd": "05",
"expirationDate":"2612",
"token": "489537XXXXXX3478",
"paymentMethod": "TOKENIZED_CARD"
}
Cryptogram = Referencia al criptograma. Se deberá mandar en operaciones con tokenizadas.
EciInd = Referencia al eciIndicator. Opcional, se mandará en operaciones tokenizadas cuando se reciba.
ExpirationDate = Formato AAMM de la tarjeta que envía Google (Para esta tarjeta, habría que enviar 2612).
Token = Referencia al campo pan.
PaymentMethod = Podrá ser unicamente "CARD" o "TOKENIZED_CARD". Aquí se indicará el modo en el que viaja la tarjeta, Si en el mensaje de Google
existe un criptograma, la tarjeta estará tokenizada y habrá que enviar "TOKENIZED_CARD" en este apartado.
En la petición de autorización al TPV Get Checkout ES será necesario incorporar los siguientes datos:
Parámetro | Valor |
---|---|
Ds_XPayDecodedData | Token decodificado por parte del comercio con la información relacionada de la transacción en formato JSON. |
Ds_XPayType | |
Ds_XPayOrigen |
|
A continuación se adjunta un ejmplo de petición al TPV Get Checkout ES. con tarjeta tokenizada y tarjeta sin tokenizar.
{
<DATOSENTRADA>
<DS_MERCHANT_AMOUNT></DS_MERCHANT_AMOUNT>
<DS_MERCHANT_ORDER></DS_MERCHANT_ORDER>
<DS_MERCHANT_MERCHANTCODE></DS_MERCHANT_MERCHANTCODE>
<DS_MERCHANT_CURRENCY></DS_MERCHANT_CURRENCY>
<DS_MERCHANT_TRANSACTIONTYPE></DS_MERCHANT_TRANSACTIONTYPE>
<DS_MERCHANT_TERMINAL>></DS_MERCHANT_TERMINAL>>
<DS_XPAYDECODEDDATA>
{
"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA=",
"eciInd": "05",
"expirationDate":"2612",
"token": "489537XXXXXX3478",
"paymentMethod": "TOKENIZED_CARD"
}
</DS_XPAYDECODEDDATA>
<DS_XPAYTYPE></DS_XPAYTYPE>
<DS_XPAYORIGEN></DS_XPAYORIGEN>
{
<DATOSENTRADA>
<DS_MERCHANT_AMOUNT></DS_MERCHANT_AMOUNT>
<DS_MERCHANT_ORDER></DS_MERCHANT_ORDER>
<DS_MERCHANT_MERCHANTCODE></DS_MERCHANT_MERCHANTCODE>
<DS_MERCHANT_CURRENCY></DS_MERCHANT_CURRENCY>
<DS_MERCHANT_TRANSACTIONTYPE></DS_MERCHANT_TRANSACTIONTYPE>
<DS_MERCHANT_TERMINAL>></DS_MERCHANT_TERMINAL>>
<DS_XPAYDECODEDDATA>
{
"expirationDate":"2612",
"token": "489537XXXXXX3478",
"paymentMethod": "CARD"
}
</DS_XPAYDECODEDDATA>
<DS_XPAYTYPE></DS_XPAYTYPE>
<DS_XPAYORIGEN></DS_XPAYORIGEN>