Google Pay™

Permite que tus clientes realicen sus pagos utilizando Google Pay a través del TPV Virtual de Redsys.

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 Virtual.

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 Virtual 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.



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:

  1. Solicitar el acceso a producción en la URL https://developers.google.com/pay/api/web/guides/test-and-deploy/request-prod-access.
  2. 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.
  3. 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 Virtual será necesario incorporar los siguientes datos:

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": "CARD",
"paymentMethodDetails": 
	{
	"expirationYear": 2026,
	"expirationMonth": 12,
	"pan": "489537XXXXXX3478",
	"authMethod": "CRYPTOGRAM_3DS",
	"eciIndicator": "07",
	"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA="
	}
}
						
						

Estos datos se enviarán al TPV Virtual en el parámetro Ds_XPayDecodedData , en formato Json:

						
{
"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA=",	
"eciInd": "07",
"expirationDate":"2612",
"token": "489537XXXXXX3478",
"paymentMethod": "CARD"
}
						
						

Cryptogram = Referencia al criptograma.
EciInd = Referencia al eciIndicator.
ExpirationDate = Formato AAMM de la tarjeta que envía Google (Para esta tarjeta, habría que enviar 2612).
Token = Referencia al campo pan.
PaymentMethod = Referencia al campo paymentMethod, podrá ser únicamente CARD o TOKENIZED_CARD.

En la petición de autorización al TPV Virtual será necesario incorporar los siguientes datos:

A continuación se adjunta un ejmplo de petición al TPV Virtual.

						
{
<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": "07", "expirationDate":"2612", "token": "489537XXXXXX3478", "paymentMethod": "CARD" } </DS_XPAYDECODEDDATA> <DS_XPAYTYPE></DS_XPAYTYPE> <DS_XPAYORIGEN></DS_XPAYORIGEN>