API – Developers Docs API – Developers Docs
  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
API – Developers Docs API – Developers Docs
API – Developers Docs
  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
Cyberpac
  • Folder icon closed Folder open iconCanales
    • Consultas de operaciones e informes
    • Devoluciones
    • Consulta de notificaciones
    • Confirmar y anular operaciones
    • PayGold desde Canales
    • MO/TO desde Canales
    • Configuración de comercio
    • Preguntas frecuentes Canales
  • Folder icon closed Folder open iconMódulos de integración
    • PrestaShop
    • WooCommerce
    • Magento (Adobe Commerce)
    • Instalación y configuración avanzada de módulos de integración
    • Preguntas y errores frecuentes módulos
  • Folder icon closed Folder open iconIntegraciones a medida
    • Redirección
      • Operativas tarjetas redirección
    • REST
      • Operativas tarjetas REST
    • InSite
      • Operativas tarjetas InSite
    • InApp
      • Integración Android
      • Integración iOS
    • PayGold
  • Folder icon closed Folder open iconMétodos de pago
    • ApplePay
    • Google Pay
    • Bizum
  • Folder icon closed Folder open iconComplementa tu integración
    • 3D Secure: Qué es y parámetros
    • Consulta de operaciones REST
    • Entorno de pruebas y pase a producción
    • Personalizar pasarela de pago
  • Folder icon closed Folder open iconRecursos
    • Códigos de Error y Denegaciones
    • Códigos: Divisas e Idiomas
    • Tarjetas para pruebas y casuísticas

Google Pay

Introducción

Google Pay es un sistema de pago que permite a sus usuarios utilizar la tarjeta que tengan guardada en su cuenta de Google para realizar pagos en tu TPV Virtual. 

Cuando integras Google Pay en tu TPV Virtual tu comercio está aceptando las condiciones de uso de de la API de Google Pay.

Para usar Google Pay, tanto el comercio como el cliente tiene que cumplir unas condiciones: 

  • Tu comercio tiene que tener activo el método de pago solicitándolo al equipo de Soporte e integrar Google Pay en su integración, como veremos en esta guía. 
  • El cliente tiene que tener un dispositivo compatible con Google Pay y haber vinculado su(s) tarjeta(s). 

Para usar Google Pay, tienes que pedir su activación al equipo de Soporte. 

Integraciones disponibles

Google Pay se puede integrar en:

  • Integración por redirección 
  • Integración REST 

Integración por Redirección

Si tienes una integración por redirección puedes integrar Google Pay únicamente solicitando su activación a Soporte. 

Si usas Google Pay en tu integración por redirección:

  • No es necesario ningún cambio técnico en tu integración. Sólo tendrás que pedir su activación. 
  • El cliente lo verá junto al resto de métodos de pago activos. 
  • Si lo prefieres, puedes limitar los métodos de pago a Google Pay, como veremos a continuación. 
Si tu comercio tiene una personalización antigua NO se mostrará el botón de pago de Google Pay aunque esté activo. 

Si tu comercio tiene una personalización antigua, no se mostrará el botón de pago de Google Pay aunque esté activo. En este caso, se deberá eliminar la personalización y hacer una nueva que sea compatible. 

En la siguiente captura tienes un ejemplo de personalización antigua: 

Flujo de pago Google Pay en redirección

A continuación tienes el flujo de pago de Google Pay en redirección:

  1. Una vez has solicitado su activación, Google Pay se mostrará en la pantalla de tu TPV Virtual donde se solicitan los datos de la tarjeta. 
  2. Si el cliente pulsa en pagar con Google Pay, se iniciará sesión en el servicio y el cliente eligirá la tarjeta que quiere usar para la compra. 
  3. El pago será procesado y se mostrará el resultado en pantalla. 

Mostrar sólo Google Pay

Si tienes activo Google Pay en tu integración por redirección, puedes mostrar al cliente únicamente la solución de pago Google Pay, ocultando la opción de introducir datos de tarjeta.

¿Cómo mostrar sólo Google Pay?

  • Para mostrar sólo Google Pay, envía el campo DS_MERCHANT_PAYMETHODS con el valor xpay.
  • Si tienes activo Apple Pay, el envío de este campo hará que se muestre también esta solución de pago. Para mostrar sólo Google Pay envía DS_MERCHANT_PAYMETHODS con el valor google.
  • Este campo se tiene que enviar en el JSON de Ds_MerchantParameters.

Integración propia

La integración propia consiste en integrar Google Pay en tu página web por tu cuenta y lanzar las peticiones mediante conexión REST. 

Si quieres integrar Google Pay en tu página web directamente tienes que seguir las guías de integración oficiales de Google:

  • Guía de instalación.
  • Guía de referencias. 

Cuando hayas completado los pasos indicados en la guía de Google, tendrás que incluir los siguientes datos como parametrización obligatoria en tu desarrollo.

Si ya tenías Google Pay integrado, recomendamos actualizar la configuración para que el liability shift de las operaciones hechas con tarjetas Visa sea el correcto. Puedes ver el proceso en la documentación oficial de Google. 

Además, si recibes el error 195 es posible que esté relacionado con esta incidencia. 

Proceso de integración

A continuación tienes ejemplos en JavaScript de lo que tienes que incluir: 

  1. Indica la pasarela de pago y tu FUC o nº de comercio: 
				
					const tokenizationSpecification = {
    type: 'PAYMENT_GATEWAY',
    parameters: {
        'gateway': 'redsys',
        'gatewayMerchantId': 'FUC' // Número de comercio de tu comercio. No cambia entre entornos. 
    }
};
				
			

2. Indica las tarjetas aceptadas y el método de seguridad de las tarjetas aceptado: 

				
					allowedCardNetworks = ["AMEX", "DISCOVER", "JCB", "MASTERCARD", "VISA"];
allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

				
			

3. Indica datos proporcionados por Google y otros datos de tu comercio: 

				
					paymentDataRequest.merchantInfo = {
  merchantId: 'XXXXXXXXXXXXXXXXXXXX', // Lo proporciona Google tras aprobarte como comerciante. Es para el entorno de producción.
  merchantName: 'Nombre del comercio',
  merchantOrigin: 'URL del comercio'
};
				
			

Puedes encontrar más información en la documentación oficial:

  • PaymentMethodTokenizationSpecification
  • CardParameters

Pase a producción

Cuando completes la integración de Google Pay en pruebas, tienes que solicitar el acceso a producción. 

Sigue estos pasos para solicitar el pase a producción en Google Pay: 

  1. Solicitar el acceso a producción en la URL. Este acceso lo tienes que solicitar en el portal DEV de Google. 
  2. Google revisará la información enviada por parte del comercio. Es posible que te propongan modificaciones, que se validarán en el entorno de pruebas.
  3. Google revisará la información aportada por parte de tu comercio. Si aprueban, se permitirá su uso en producción.
  4. Con la aprobación, podrás probar Google Pay en el entorno de producción. 

Parámetros a añadir en la petición

En la petición de autorización que envíes al TPV Virtual, tienes que añadir una serie de parámetros cuando uses Google Pay.

  • Estos parámetros los tienes que añadir en el JSON de Ds_MerchantParameters.
  • Para conocer los detalles de la integración la lógica de la petición de autorización, consulta la documentación de REST.
ParámetroFormatoRequerido/OpcionalDescripciónEjemplo
DS_MERCHANT_MERCHANTCODE9 caracteres
Numérico
RequeridoCódigo FUC o número de comercio. No cambia entre entornos.110034987
DS_MERCHANT_TERMINAL3 caracteres
Numérico
RequeridoNúmero de terminal de tu comercio. Puede cambiar entre entornos.99
DS_MERCHANT_AMOUNT12 caracteres
Numérico
RequeridoImporte de la operación. Los últimos 2 dígitos corresponden a los decimales. Por ejemplo, para una operación de 10,50€, se envía 1050.1050
DS_MERCHANT_CURRENCY4 caracteres
Numérico
RequeridoCódigo ISO 4217 de la divisa utilizada en la transacción. Ver códigos ISO divisas.978
DS_MERCHANT_ORDER12 caracteres
Alfanumérico
* (caracteres ASCII: del 48 al 57, del 65 al 90 y del 97 al 122)
RequeridoCódigo de pedido. No se puede repetir un código de pedido hasta pasados 6 meses.

Recomendamos que los 4 primeros dígitos sean numéricos, para evitar problemas en la liquidación.

*Sólo se permiten caracteres ASCII:
– Dígitos (0–9): ASCII 48 a 57.
Letras mayúsculas (A–Z): ASCII 65 a 90.
– Letras minúsculas (a–z): ASCII 97 a 122.
– No se permiten espacios, símbolos ni acentos.
1234ABcd56EF
DS_MERCHANT_TRANSACTIONTYPEValores disponibles:
– 0: Autorización
– 1: Preautorización
RequeridoTipo de transacción. El número enviado indica el tipo de transacción.0
DS_XPAYORIGENValores disponibles:
– Google
– Apple
RequeridoOrigen de la petición. («Google» para Google Pay y «Apple» para Apple Pay)Google
DS_XPAYTYPEValores disponibles:
– WEB
– InApp
RequeridoTipo de pago, depende de la integración que tengas. WEB
DS_XPAYDATA10000 caracteres máximo
Alfanumérico
Requerido* Campo en el que se incluyen los datos del enviados por Google en formato Hexadecimal.

* Si se envía, NO se enviará «DS_XPAYDECODEDDATA».
eyJkZXNjcmlwdGlvbiI6Ik1hc5UX0dBVEVXQVkifSwidHlwZSI6IkNBUkQifQ==
DS_XPAYDECODEDDATAJSONRequerido* JSON donde se envían los parámetros decodificados de Google. En la siguiente tabla tienes los campos y el valor que tienes que enviar.

* Si se envía, NO se enviará «DS_XPAYDATA».
N/A

Envía la petición a los siguientes endpoints:

Tipo de peticiónEntornoURL
trataPeticionPruebashttps://sis-t.redsys.es:25443/sis/rest/trataPeticionREST
Producciónhttps://sis.redsys.es/sis/rest/trataPeticionREST

Envío de datos descifrados en comercio

Esta es una funcionalidad avanzada. Puede tener implicaciones en el cumplimiento de la normativa PCI-DSS. 

Otra operativa disponible en Google Pay es enviar los parámetros de Google decodificados. En esta operativa, el comercio se encarga de decodificar los datos y de enviarlos al TPV Virtual. 

1. Decodificar los datos: El comercio decodifica los datos de Google Pay. Al decodificar se obtiene un objeto JSON similar al siguiente: 

				
					{
    "gatewayMerchantId": "some-merchant-id",
    "messageExpiration": "1650574736277",
    "messageId": "AH(...)FDbWk",
    "paymentMethod": "CARD",
    "paymentMethodDetails": {
        "expirationYear": 2028,
        "expirationMonth": 12,
        "pan": "4111111111111111",
        "authMethod": "CRYPTOGRAM_3DS",
		"eciIndicator": "07",
		"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA="
    }
}
				
			

Importante: Si en este mensaje de Google recibes criptograma (parámetro cryptogram) o (ECv1: 3dsCryptogram, ECv2: cryptogram) tendrás que añadir parámetros específicos en el campo DS_XPAYDECODEDDATA, como verás a continuación. 

Tienes más ejemplos de objetos decodificados en la Documentación de Google.

2. Incorporar los parámetros decodificados a la petición: Una vez tienes los parámetros decodificados, tienes que incluirlos en la petición de Google Pay de la siguiente forma:

  • Añade los parámetros propios de Google Pay, en este caso añade DS_XPAYDECODEDDATA.
ParámetroFormatoRequerido/OpcionalDescripciónEjemplo
DS_MERCHANT_MERCHANTCODE9 caracteres
Numérico
RequeridoCódigo FUC o número de comercio. No cambia entre entornos.110034987
DS_MERCHANT_TERMINAL3 caracteres
Numérico
RequeridoNúmero de terminal de tu comercio. Puede cambiar entre entornos.99
DS_MERCHANT_AMOUNT12 caracteres
Numérico
RequeridoImporte de la operación. Los últimos 2 dígitos corresponden a los decimales. Por ejemplo, para una operación de 10,50€, se envía 1050.1050
DS_MERCHANT_CURRENCY4 caracteres
Numérico
RequeridoCódigo ISO 4217 de la divisa utilizada en la transacción. Ver códigos ISO divisas.978
DS_MERCHANT_ORDER12 caracteres
Alfanumérico
* (caracteres ASCII: del 48 al 57, del 65 al 90 y del 97 al 122)
RequeridoCódigo de pedido. No se puede repetir un código de pedido hasta pasados 6 meses.

Recomendamos que los 4 primeros dígitos sean numéricos, para evitar problemas en la liquidación.

*Sólo se permiten caracteres ASCII:
– Dígitos (0–9): ASCII 48 a 57.
Letras mayúsculas (A–Z): ASCII 65 a 90.
– Letras minúsculas (a–z): ASCII 97 a 122.
– No se permiten espacios, símbolos ni acentos.
1234ABcd56EF
DS_MERCHANT_TRANSACTIONTYPEValores disponibles:
– 0: Autorización
– 1: Preautorización
RequeridoTipo de transacción. El número enviado indica el tipo de transacción.0
DS_XPAYORIGENValores disponibles:
– Google
– Apple
RequeridoOrigen de la petición. («Google» para Google Pay y «Apple» para Apple Pay)Google
DS_XPAYTYPEValores disponibles:
– WEB
– InApp
RequeridoTipo de pago, depende de la integración que tengas. WEB
DS_XPAYDATA10000 caracteres máximo
Alfanumérico
Requerido* Campo en el que se incluyen los datos del enviados por Google en formato Hexadecimal.

* Si se envía, NO se enviará «DS_XPAYDECODEDDATA».
eyJkZXNjcmlwdGlvbiI6Ik1hc5UX0dBVEVXQVkifSwidHlwZSI6IkNBUkQifQ==
DS_XPAYDECODEDDATAJSONRequerido* JSON donde se envían los parámetros decodificados de Google. En la siguiente tabla tienes los campos y el valor que tienes que enviar.

* Si se envía, NO se enviará «DS_XPAYDATA».
N/A
  • El parámetro DS_XPAYDECODEDDATA contiene un JSON con los siguientes parámetros. Son los parámetros decodificados que has recibido de Google. Es importante mandarlos sin modificar, tal cual los recibes de Google.
ParámetroFormatoRequerido/OpcionalDescripciónEjemplo
expirationDate4 dígitos
AAMM
RequeridoFecha de caducidad de la tarjeta AAMM. 3012
token16 a 19 dígitos
Numérico
RequeridoReferencia del campo PAN de la tarjeta. 5200828282828210
paymentMethodValores posibles:
– CARD
– TOKENIZED_CARD
RequeridoModo en el que viaja la tarjeta (tokenizada o no). La tarjeta ESTÁ tokenizada si en el mensaje de Google recibes criptograma.TOKENIZED_CARD
cryptogram28 caracteres máximo
Alfanumérico
OpcionalEs requerido si la tarjeta está tokenizada. Referencia del criptograma.AgAAAAAABk4DWZ4C28yUQAAAAAA=
eciInd2 dígitos
Numérico
OpcionalEs requerido si la tarjeta está tokenizada. Referencia al eciIndicator.05

Este es un ejemplo de la petición que tienes que enviar con los datos decodificados:

  • Recuerda que estos parámetros se tienen que codificar en BASE64 y enviar en el Ds_MerchantParameters.
				
					{
    <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":"2812",
    		"token": "4111111111111111",
    		"paymentMethod": "CARD"
    	}
    </DS_XPAYDECODEDDATA>
    <DS_XPAYTYPE></DS_XPAYTYPE>
    <DS_XPAYORIGEN></DS_XPAYORIGEN>
}
				
			

Nota: Diferencias en el nombre y formato de parámetros que envía Google:

  • «pan» es «token».
  • «expirationYear» y «expirationMonth» se envía combinados en «expirationDate» (formato AAMM).
  • «eciIndicator» es «eciInd».

Pagos tokenizados en Google Pay

Con Google Pay, puedes generar un token de la tarjeta del cliente para, posteriormente, usarlo en pagos recurrentes en operativas MIT (Pagos Iniciados por el Comercio).

¿Qué parámetros hay que incluir para tokenizar?

En la petición tienes que incluir una serie de parámetros para indicar que quieres tokenizar esa tarjeta, y el tipo de operaciones posteriores que vas a hacer:

  • "DS_MERCHANT_IDENTIFIER": "REQUIRED" // Indica que quieres guardar la tarjeta. En la notificación recibirás este mismo parámetro con el token de la tarjeta en formato alfanumérico. 
  • "DS_MERCHANT_COF_INI": "S" // Indica si es la primera operación COF o no. «S» Sí, «N» No. 
  • "DS_MERCHANT_COF_TYPE": "R" // Indica el tipo de operación COF. En este caso, se utiliza «R» (Recurrente). 
  • Además de estos parámetros, tendrás que enviar los campos propios de las peticiones con Google Pay.

¿Qué parámetros guardo de la notificación?

Recibirás una notificación similar a la del siguiente ejemplo: 

				
					{
  "Ds_Date": "01%2F04%2F2025",
  "Ds_Hour": "12%3A01",
  "Ds_SecurePayment": "1",
  "Ds_Amount": "100",
  "Ds_Currency": "978",
  "Ds_Order": "78567431",
  "Ds_MerchantCode": "223108853",
  "Ds_Terminal": "200",
  "Ds_Response": "0000",
  "Ds_TransactionType": "0",
  "Ds_MerchantData": "",
  "Ds_AuthorisationCode": "T42671",
  "Ds_Card_Number": "524726******9976",
  "Ds_ExpiryDate": "3201",
  "Ds_Merchant_Identifier": "02267cb7f84d857df0be84541d0ed1aad44f2717",
  "Ds_ConsumerLanguage": "1",
  "Ds_Card_Country": "724",
  "Ds_Card_Typology": "CONSUMO",
  "Ds_Card_Brand": "2",
  "Ds_Merchant_Cof_Txnid": "232025091836877",
  "Ds_ProcessedPayMethod": "79"
}

				
			

En la notificación, tienes que guardar:

  • "Ds_Merchant_Identifier" // Contiene el token de la tarjeta en formato alfanumérico. Lo tendrás que enviar en futuras operaciones.
  • "Ds_Merchant_Cof_Txnid" // Contiene el identificador de la operación original, que tendrás que enviar en operaciones sucesivas. 

Códigos de error

  • En la notificación recibes el parámetro DS_RESPONSE, que son unos dígitos que indican el resultado de la operación.
  • También puedes recibir el parámetro DS_ERRORCODE.

En el siguiente enlace tienes los códigos de error y denegaciones:

Códigos de error y denegaciones

Códigos de error comunes Google Pay y soluciones

En Google Pay, hay unos errores comunes que se suelen repetir. Los tienes en los siguientes desplegables, junto a su solución: 

9499 / SIS0499

El error 9499 o SIS0499 se debe a un error obteniendo claves del comercio en Google/Apple Pay.

Principalmente, este error puede surgir por los siguientes motivos:

  1. Indicar correctamente el gateway y el FUC: Para integraciones hechas por el comercio (REST). Tienes que indicar el valor «redsys» en el campo «gateway», y tu FUC en el campo «gatewayMerchantId». Puede que se haya indicado en un mal formato o que esté incompleto. Revisa el paso 1 de esta sección.
  2. No se ha completado/configurado el pase a producción: El comercio tiene que pasar la revisión de Google. Además, la variable environment debe estar en producción environment:'PRODUCTION'.
  3. BASE64 incorrecto: El BASE64 del campo paymentData.paymentMethodData (que se recibe en el campo DS_XPAYDATA) está mal formateado o se está enviando de forma incorrecta. Recomendamos hacer el BASE64 cuando se reciban los datos de Google, y no tras enviarlo a tu servidor (es posible que se pierda algún dato). 

A continuación adjuntamos un ejemplo de cómo se debe enviar el campo en BASE64. Importante: Es sólo un ejemplo de formateo, no es un mensaje válido ya que los campos van a cambiar. 

				
					{"description":"Mastercard •••• 9148","info":{"cardDetails":"9148","cardNetwork":"MASTERCARD"},"tokenizationData":{"token":"{\"signature\":\"MEUCIG43427SquBLGUx3iWjuHFqX2fpWy3aGyCDk5+eLyxNAiEA1YjncLidOwtkrIOlVnAU+EJKDCTjRjsj0LC/otj+40g\\u003d\",\"protocolVersion\":\"ECv1\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"PmElaaaedj2ZT9BwjRyAyHXOuZccF3UiK2gqc13UOmG4rWbhsIMr4cGuU0gMTlS30QPBiffLRGwVmxou9IFmlcnNIYz76HaWCz5JBvHALSfWFklt4CjQtRrU24yL8Le7UTkgnvwfOyqhGl8sHUqNMocSt/Kt0534523FWUi+8t9Eo9Eo84Azo5sTIYvpal9n3gNNrMTaqcuZ1N2hFpbTzyiViIuiFpeK7/lEXNgkxiS342d0ojI0ksOrVTz8IzKtZb+CmYYEggRETifn/XPDflYnZ+1lOaZELbxTEgbpB233NiilzsVozSls2NJ56g2V6cENZVr41SeeyMnNB9PA54561bWvoUi9rlW8uMuIGHVMYl7rFiY7klBPIpcrtfoZ9yYiwFLQpCLZHkNhykWyoNgNHd07L0Wp8Q\\\\u003d\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BDuLeOx1yIIJGMHErJeGQvlzE8IznHf5Rb8pVqOhEuOnImEraGpo6HvHjb8taJ29l4WRzGN9X234K2tPx5p4\\\\u003d\\\",\\\"tag\\\":\\\"xlCcB7oznOpCbrAwztSNV/XG/n/B/g6UI31GKIWerww\\\\u003d\\\"}\"}","type":"PAYMENT_GATEWAY"},"type":"CARD"}
				
			
				
					eyJkZXNjcmlwdGlvbiI6Ik1hc3RlcmNhcmTigIbigKLigKLigKLigKLigIY5MTQ4IiwiaW5mbyI6eyJjYXJkRGV0YWlscyI6IjkxNDgiLCJjYXJkTmV0d29yayI6Ik1BU1RFUkNBUkQifSwidG9rZW5pemF0aW9uRGF0YSI6eyJ0b2tlbiI6IntcInNpZ25hdHVyZVwiOlwiTUVVQ0lHNDM0MjdTcXVCTEdVeDNpV2p1SEZxWDJmcFd5M2FHeUNEazUrZUx5eE5BaUVBMVlqbmNMaWRPd3RrcklPbFZuQVUrRUpLRENUalJqc2owTEMvb3RqKzQwZ1xcdTAwM2RcIixcInByb3RvY29sVmVyc2lvblwiOlwiRUN2MVwiLFwic2lnbmVkTWVzc2FnZVwiOlwie1xcXCJlbmNyeXB0ZWRNZXNzYWdlXFxcIjpcXFwiUG1FbGFhYWVkajJaVDlCd2pSeUF5SFhPdVpjY0YzVWlLMmdxYzEzVU9tRzRyV2Joc0lNcjRjR3VVMGdNVGxTMzBRUEJpZmZMUkd3Vm14b3U5SUZtbGNuTklZejc2SGFXQ3o1SkJ2SEFMU2ZXRmtsdDRDalF0UnJVMjR5TDhMZTdVVGtnbnZ3Zk95cWhHbDhzSFVxTk1vY1N0L0t0MDUzNDUyM0ZXVWkrOHQ5RW85RW84NEF6bzVzVElZdnBhbDluM2dOTnJNVGFxY3VaMU4yaEZwYlR6eWlWaUl1aUZwZUs3L2xFWE5na3hpUzM0MmQwb2pJMGtzT3JWVHo4SXpLdFpiK0NtWVlFZ2dSRVRpZm4vWFBEZmxZblorMWxPYVpFTGJ4VEVnYnBCMjMzTmlpbHpzVm96U2xzMk5KNTZnMlY2Y0VOWlZyNDFTZWV5TW5OQjlQQTU0NTYxYld2b1VpOXJsVzh1TXVJR0hWTVlsN3JGaVk3a2xCUElwY3J0Zm9aOXlZaXdGTFFwQ0xaSGtOaHlrV3lvTmdOSGQwN0wwV3A4UVxcXFx1MDAzZFxcXFx1MDAzZFxcXCIsXFxcImVwaGVtZXJhbFB1YmxpY0tleVxcXCI6XFxcIkJEdUxlT3gxeUlJSkdNSEVySmVHUXZsekU4SXpuSGY1UmI4cFZxT2hFdU9uSW1FcmFHcG82SHZIamI4dGFKMjlsNFdSekdOOVgyMzRLMnRQeDVwNFxcXFx1MDAzZFxcXCIsXFxcInRhZ1xcXCI6XFxcInhsQ2NCN296bk9wQ2JyQXd6dFNOVi9YRy9uL0IvZzZVSTMxR0tJV2Vyd3dcXFxcdTAwM2RcXFwifVwifSIsInR5cGUiOiJQQVlNRU5UX0dBVEVXQVkifSwidHlwZSI6IkNBUkQifQ==
				
			
9998 / SIS0754

El error 9998 o SS0754 es debido a falta de datos necesarios para autenticar al titular de la tarjeta.

La forma de autenticar depende de la forma de pago:

  • Pago con token: En este caso la gestiona Google mediante el dispositivo móvil del usuario.
  • Pago con tarjeta: Esta es la forma de pago que requiere autenticación y que puede dar problema.

Puedes evitar el problema de 2 formas:

  1. Utilizando la integración por redirección: En la integración por redirección https://sis.redsys.es/sis/realizarPago se redirige a Google a la URL del TPV Virtual, que se encarga de la autenticación del titular por ti.

El error 9998 o SS0754 es debido a falta de datos necesarios para autenticar al titular de la tarjeta.

La forma de autenticar depende de la forma de pago:

  • Pago con token: En este caso la gestiona Google mediante el dispositivo móvil del usuario.
  • Pago con tarjeta: Esta es la forma de pago que requiere autenticación y que puede dar problema.

Puedes evitar el problema de 2 formas:

1. Utilizando la integración por redirección: En la integración por redirección https://sis.redsys.es/sis/realizarPago se redirige a Google a la URL del TPV Virtual, que se encarga de la autenticación del titular por ti.

Por tanto, recomendamos enviar las peticiones por redirección realizarPago en vez que por REST iniciaPeticionREST o trataPeticionREST.

2. Si utilizas REST: Si aún así utilizas la integración REST, puedes enviar las peticiones al endpoint trataPeticionREST con parámetros de autenticación (ya que es necesario autenticar la tarjeta de Google). 

En la propia petición trataPeticionREST enviarás el campo DS_MERCHANT_EMV3DS con los siguientes campos: 

				
					    <DS_MERCHANT_AMOUNT>22</DS_MERCHANT_AMOUNT> 
       <DS_MERCHANT_ORDER>813734</DS_MERCHANT_ORDER> 
       <DS_MERCHANT_MERCHANTCODE>999008881</DS_MERCHANT_MERCHANTCODE> 
       <DS_MERCHANT_CURRENCY>978</DS_MERCHANT_CURRENCY> 
       <DS_MERCHANT_TRANSACTIONTYPE>0</DS_MERCHANT_TRANSACTIONTYPE> 
       <DS_MERCHANT_TERMINAL>871</DS_MERCHANT_TERMINAL> 
       <DS_XPAYDATA>eyJkZXNjcmlwdGlvbiI6Ik1hc3RlcmNhcmTigIbigKLigKLigKLigKLigIY5MTQ4IiwiaW5mbyI6eyJjYXJkRGV0YWlscyI6IjkxNDgiLCJjYXJkTmV0d29yayI6Ik1BU1RFUkNBUkQifSwidG9rZW5pemF0aW9uRGF0YSI6eyJ0b2tlbiI6IntcInNpZ25hdHVyZVwiOlwiTUVVQ0lHNDM0MjdTcXVCTEdVeDNpV2p1SEZxWDJmcFd5M2FHeUNEazUrZUx5eE5BaUVBMVlqbmNMaWRPd3RrcklPbFZuQVUrRUpLRENUalJq…</DS_XPAYDATA>
       <DS_XPAYTYPE>Google</DS_XPAYTYPE>
       <DS_XPAYORIGEN>InApp</DS_XPAYORIGEN> 
       <DS_MERCHANT_EMV3DS> { 
              "threeDSInfo": "AuthenticationData", 
              "browserAcceptHeader": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36", 
              "browserJavaEnabled": "false", 
              "browserJavascriptEnabled": "false", 
              "browserLanguage": "ES-es", 
              "browserColorDepth": "24", 
              "browserScreenHeight": "1250", 
              "browserScreenWidth": "1320", 
              "browserTZ": "52", 
              "notificationURL": "https://sis-d.redsys.es/sis-simulador-web/SisRESTCreqCres_3DSecureV2.jsp", 
              "threeDSCompInd": "N" }
       </DS_MERCHANT_EMV3DS> 
				
			

Puedes enviar este campo siempre, ya que sólo se usará cuando Google envíe la tarjeta. 

Comparte este documento

Google Pay

Copiar el enlace

Clipboard Icon
Tabla de Contenidos

Productos

  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
  • Universal Pay
  • Addon 1 - XML API Integration

Ventas

Cuéntanos cómo es tu negocio para ofrecerte la mejor solución.

Contacta con un experto

Soporte técnico

¿Ya eres cliente y necesitas ayuda? Contacta con nosotros, estamos a tu disposición.

Ayuda

Socios

Trabajamos con los mejores partners de soluciones in-store y eCommerce. ¿Quieres unirte?

Únete a nosotros

© Comercia Global Payments

Política de privacidad
Ejercicio de Derechos
Información a Clientes
Canal de denuncia
Aviso Legal
Política de cookies
Pregúntale a la IA
Escribe tu pregunta. Por ejemplo: ¿Cómo creo un enlace de pago?
La SmartWiki puede omitir datos. Verifica la información o contacta con soporte.

SmartWiki, Impulsada por IA

API - Developers Docs
Gestionar el consentimiento de las cookies
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar {vendor_count} proveedores Leer más sobre estos propósitos
Ver preferencias
{title} {title} {title}

Cyberpac

Consulta la documentación de Cyberpac. Aquí tienes las distintas secciones:

Canales

Módulos de integración

Integraciones a medida

Consulta la documentación de las distintas secciones de integraciones:

Comienza a integrar

undraw_add_to_cart_re_wrdo 1 (1) (1)

Plugins para CMS

Complementa la integración

SDKs

Métodos de pago

Herramientas

Addon Payments

Consulta la documentación de Addon Payments. Aquí tienes las distintas secciones:

Integraciones

Consultas frecuentes

Portal Backoffice

Pagos integrados en TPV

Crea una solución que te ayudará a automatizar procesos. Incluso, podrás agregar procesos de pago en terminales físicos.

Pago integrado con TPV Android

Pago integrado con Smartphone TPV

Fichas Técnicas TPVs

Addon Payments

Comercia Global Payments has several integration options so you can choose the most efficient one for you.

Integrations

Frequently Asked Questions

BackOffice Portal

Consult the documentation of the different integrations sections:​

Start integration

undraw_add_to_cart_re_wrdo 1 (1) (1)

CMS Plugins

Complement your integration

SDKs

Payment Methods

Tools