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

Consulta de operaciones REST

¿Qué es una consulta REST?

La funcionalidad de consultas REST del TPV Virtual permite a los comercios recuperar información detallada de las operaciones que han iniciado, sin importar si estas finalizaron correctamente o no. Es una herramienta útil para hacer seguimiento de transacciones, validar su estado o complementar procesos internos del comercio (logística, soporte, conciliación, etc.).

Este servicio está diseñado para ser consumido a través de una integración REST y utiliza el formato JSON (RFC 7159) tanto en la petición como en la respuesta.

Dado que la consulta implica el envío de datos confidenciales, es necesario validar las comunicaciones. Por este motivo, hay que implementar una firma HMAC512 (también disponible HMAC256) para autenticar la veracidad de los datos. 

Características clave de Consulta REST

En las consultas REST tienes que tener estos puntos en cuenta:

  • Por seguridad, las consultas se tienen que validar con una firma HMAC512 O 256.
  • Permite consultar información de las transacciones finalizadas o sin finalizar que haya lanzado el comercio.
  • Estas consultas se realizan sobre las base de una integración REST.

En este documento detallaremos todos estos puntos. 

Tipos de consulta REST

Los tipos de consulta REST disponibles son:

1. Detail – Consulta de detalle por número de pedido: Consulta diseñada para obtener el estado final de una operación concreta.

Limitaciones:

  • Es obligatorio indicar el campo order (número de pedido).
  • Solo se pueden consultar operaciones realizadas en los últimos 90 días.
  • Solo se devuelven las operaciones que cumplan los filtros aplicados.

2. Massive – Consulta masiva de operaciones por fechas:  Pensada para obtener un listado informativo de operaciones dentro de un rango de fechas.

Limitaciones:

  • Es obligatorio informar initialDate y finalDate.
  • El rango de fechas entre la inicial y la final no puede superar los 15 días.
  • Se devuelve un máximo de 1.000 operaciones por consulta.
  • Si se incluye un filtro por order, pueden devolverse varias operaciones con ese mismo número, por ejemplo:
    • Un pago y su devolución.
    • Un pago y varias devoluciones parciales.
    • Una preautorización y su confirmación.

Otras consideraciones

Existe una limitación de frecuencia por IP. Si se realizan demasiadas peticiones en un segundo, se devolverá el código de error HTTP 429 (Too Many Requests). Esto aplica a ambos tipos de consulta. 

URLs de envío y cabeceras

Estas son las URLs a las que tienes que enviar la consulta REST correspondiente: 

Tipo de consultaEntornoURL
DetailPruebas https://apis-i.redsys.es:20443/acquirement/commerces -channel/no-presencial/v1/operation/search
Producciónhttps://apis.redsys.es/acquirement/commerces-channel/no-presencial/v1/operation/search
MassivePruebashttps://apis-i.redsys.es:20443/acquirement/commerces-channel /no-presencial/v1/operations/search
Producciónhttps://apis.redsys.es/acquirement/commerces-channel/no-presencial/v1/operations/search

Estas son las cabeceras que tienes que enviar para generar una petición válida: 

CabeceraValor
Content-Typeapplication/json
RedsysClientId{Id de suscripción que tienes que solicitar a Soporte}
RedsysClientSecret{Clave/Secret de suscripción que tienes que solicitar a Soporte}

Petición de Consulta de Operaciones REST

Este es un ejemplo de petición de Consulta de Operaciones «Detail». Recuerda que este body le tienes que añadir las cabeceras de la sección anterior:

El JSON de la petición se envía todo junto y sin espacios, tal como ves en el ejemplo siguiente:
				
					{"info":{"data":{"fuc":"999008881","idTransaction":"00002730z328","initialDate":"2025-01-01-10.00.00","order":"00002730z328","terminal":"1"}},"signatureData":{"signatureType":"HMAC_SHA512_V1","signature":"8uRiPwqqZ8UDhsj0XUzhWjC9hG9eEX6XVuGfpp8YtoxJOfu3jUqtqEj3CPuKqLx3gmnE1dS8CiHZcFQ52IZiOA=="}}
				
			

Parámetros de la petición de Consulta de Operaciones

Estos son los parámetros que se pueden enviar en la petición de la Consulta REST: 

Par. PadreParámetroFormato Requerido / OpcionalDescripción
info
– data
finalDateAAAA-MM-DD-hh.mm.ssRequerido*Indica la fecha final del rango de fechas sobre el que se busca la operación.

*Requerido si la consulta es de tipo «massive»
info
– data
initialDateAAAA-MM-DD-hh.mm.ssRequerido*Indica la fecha inicial del rango de fechas sobre el que se busca la operación.

*Requerido si la consulta es de tipo «massive»
info
– data
fuc9 caracteres
Numérico
RequeridoCódigo FUC del comercio.
info
– data
idTransaction12 caracteres
Alfanumérico
RequeridoNúmero/Identificador de la petición.
info
– data
order12 caracteres
Alfanumérico
Requerido*Número de pedido de la operación que se quiere consultar.

*Requerido si la consulta es de tipo «detail»
info
– data
terminal3 caracteres
Numérico
RequeridoNúmero de terminal del comercio.
info
– data
authenticated– S
– N
OpcionalIndicador de si la operación se ha autenticado.
S (Sí) / N (No)
info
– data
authorized– S
– N
OpcionalIndicador de si la operación se ha autorizado.
S (Sí) / N (No)
info
– data
codResponse4 caracteres
Numérico
OpcionalIndica el codigo de respuesta de la operación.
info
– data
csb4 caracteres
Numérico
OpcionalIndica el CSB adquiriente de la operación.
info
– data
dcc– S
– N
OpcionalIndicador de si la operación se ha hecho con DCC.
S (Sí) / N (No)
info
– data
transactionTypeNuméricoOpcionalIndica el tipo de operación que se quiere consultar.
signatureDatasignatureTypeValores aceptados:
– HMAC_SHA512_V1
– HMAC_SHA256_V1
RequeridoTipo de firma utilizada.
signatureDatasignatureAlfanuméricoRequeridoValor de la firma de la petición.

Respuesta de Consulta de Operaciones REST

Este es un ejemplo de la respuesta que recibes a una petición de Consulta REST:

				
					{
    "signatureData": {
        "signatureType": "HMAC_SHA512_V1",
        "signature": "AC2fXHqjoyauWwSuHBCdH4GSU_xRMzLkRSlh5KZ-BJGeqgalPYgsxFBwyRrlkX7JBfjnnPGKsAb0mtRwYDf-pA=="
    },
    "info": {
        "data": {
            "operations": [
                {
                    "fuc": "999008881",
                    "terminal": "1",
                    "csb": "2100",
                    "order": "00002730z328",
                    "transactionType": "0",
                    "date": "2025-03-25 11:25:35.187",
                    "state": "F",
                    "authorized": "S",
                    "authorizationNumber": "868043",
                    "amount": "30.20",
                    "currency": "978",
                    "codResponse": "0",
                    "cardNumber": "454881******0003",
                    "cardBrand": "1",
                    "cardCountry": "724",
                    "cardExpiryDate": "4912",
                    "cardToken": "991d0fc404eb5ce9e8aa0cb4101da113840db0f5",
                    "cardType": "C",
                    "paymethod": "78",
                    "ipClient": "115.241.28.98",
                    "ipCountry": "356",
                    "eci": "05",
                    "cofUse": "S",
                    "cofType": "C",
                    "grouperCode": "33333337",
                    "productDescription": "1x Subscription test product,",
                    "connectionType": "2",
                    "merchantData": "eyJtb2R1bGVDb21lbnQiOiJQYXNhcmVsYSBVbmlmaWNhZGEgZGUgUmVkc3lzIHBhcmEgUHJlc3Rhc2hvcCIsImlkQ2FydCI6MjczMCwib3JpZ2luYWxNZXRob2QiOiJUYXJqZXRhIn0"
                }
            ],
            "numRecords": 1
        },
        "result": {
            "code": 2000,
            "description": "Operacion realizada Correctamente"
        },
        "idTransaction": "00002730z328"
    }
}
				
			

Parámetros de la respuesta de Consulta de Operaciones

Estos son los parámetros que puedes recibir en la respuesta de una consulta de operaciones:

Par. PadreParámetroFormatoRequerido / OpcionalDescripción
info
– data
— operations
fuc9 caracteres
Numérico
RequeridoCódigo FUC asignado al comercio.
info
– data
— operations
terminal3 caracteres
Numérico
RequeridoNúmero de terminal del comercio.
info
– data
— operations
csb4 caracteres
Numérico
RequeridoIndica el CSB adquirente de la operación.
info
– data
— operations
order12 caracteres
Alfanumérico
RequeridoNúmero de pedido de la operación consultada.
info
– data
— operations
transactionTypeNuméricoRequeridoTipo de transacción que se quieren consultar.
info
– data
— operations
dateAAAA-MM-DD
hh:mm:ss.SSS
RequeridoIndica la fecha exacta en la que se inició la operación.
info
– data
— operations
stateValores disponibles:
– S: Solicitada
– P: En proceso de autorizar
– A: Autenticando
– F: Finalizada
– T: Sin respuesta / Error Técnico
– E: Transferencia, domiciliación o Paypal en proceso
– D: Domiciliación descargada.
– L: Transferencia Línea Abierta
– W: Redirigida a un Wallet
RequeridoEstado de la transacción.
info
– data
— operations
authorized– S
– N
RequeridoIndicador de si la operación se ha autorizado.
S (Sí) / N (No)
info
– data
— operations
amount12 caracteres
Numérico
RequeridoImporte de la operación.
info
– data
— operations
currency3 caracteres
Numérico
RequeridoDivisa de la operación.
info
– data
— operations
codResponse4 caracteres
Numérico
RequeridoCódigo de respuesta de la operación.
info
– data
— operations
authorizationNumber6 caracteres
Alfanumérico
OpcionalCódigo alfanumérico de autorización asignado a la aprobación de la transacción por la institución autorizadora.
info
– data
— operations
cardNumber14 a 16 caracteres
Alfanumérico
OpcionalTarjeta de la operación.
info
– data
— operations
cardBrandValores disponibles:
– 1: Visa
– 2: Master
– 6: Diners
– 8: Amex
– 9: JCB
– 22: CUP
OpcionalMarca de la tarjeta.
info
– data
— operations
cardCountry3 caracteres
Numérico
OpcionalCódigo ISO del país de la tarjeta.
info
– data
— operations
cardExpiryDateAAMMOpcionalCaducidad de la tarjeta.
info
– data
— operations
cardToken40 caracteres
Alfanumérico
OpcionalToken de la tarjeta.
info
– data
— operations
paymethod3 caracteres
Estos son los valores aceptados.
OpcionalMétodo de pago de la operación.
info
– data
— operations
ipClient15 caracteres
Alfanumérico
OpcionalIP del cliente.
info
– data
— operations
ipCountry3 caracteres
Numérico
OpcionalCódigo ISO del país de la IP.
info
– data
— operations
dccAmount12 caracteres
Numérico
OpcionalImporte DCC aplicado en la operación.
info
– data
— operations
dccCurrency3 caracteres
Numérico
OpcionalDivisa DCC aplicada en la operación.
info
– data
— operations
dccExchange12 caracteres
Alfanumérico
OpcionalCambio aplicado en la operación DCC
info
– data
— operations
eciValores posibles:
– 00: Comercio No Seguro/ Titular No Seguro (Marca Master)
– 01: Comercio Seguro/ Titular No Seguro (Marca Master).
– 02: Comercio Seguro/ Titular Seguro (Marca Master).
– 05: Comercio Seguro/ Titular Seguro (Resto de marcas).
– 06: Comercio Seguro/ Titular No Seguro (Resto de marcas).
– 07: Comercio No Seguro/ Titular No Seguro (Resto de marcas).
OpcionalCódigo que identifica el nivel de seguridad de la operación.
info
– data
— operations
cofUseValores posibles:
– S: COF Inicial
– N: COF Sucesiva
OpcionalIndicador del uso de COF (operaciones donde el comercio tokeniza o guarda la tarjeta del cliente) aplicado en la operación.
info
– data
— operations
cofTypeValores posibles:
– I: Installments
– R: Recurring
– H: Reauthorization
– E: Resubmission
– D: Delayed
– M: Incremental
– N: No Show
– C: Others
Opcional Tipo de operación COF que se ha aplicado en la operación.
info
– data
— operations
mpiIndicator1 caracter
Numérico
Opcional Indicador de MPI Externo.
info
– data
— operations
opMarketplace1 caracter
Numérico
Opcional Indicador de Marketplace.
info
– data
— operations
grouperCodeNuméricoOpcional Código agrupador.
info
– data
— operations
productDescriptionAlfanuméricoOpcional Descripción del producto.
info
– data
numRecords12 caracteres
Numérico
RequeridoNúmero de operaciones retornadas.
info
– result
codeValores posibles
– 2000: Operación realizada correctamente.
– 4001: Error Validación campos de Entrada.
– 5000: Error Interno del Sistema.
RequeridoCódigo de resultado de la operación.
info
– result
descriptionAlfanuméricoRequeridoDescripción del resultado de la operación. Depende del «code» recibido en el campo anterior, si se recibe un «4001», se especificará el causante del error.
infoidTransaction12 caracteres
Alfanumérico
RequeridoNúmero/Identificador de la petición.
infotimeStampAAAA-MM-DD
hh:mm:ss.SSS
RequeridoFecha y hora de la petición.
signatureDatasignatureTypeValores aceptados:
– HMAC_SHA512_V1
– HMAC_SHA256_V1
RequeridoTipo de firma utilizada.
signatureDatasignatureAlfanuméricoRequeridoValor de firma de la respuesta.

Firma de los mensajes SHA-512

Todas las peticiones y respuestas del servicio de consulta REST incluyen una firma digital que garantiza la autenticidad e integridad de los mensajes intercambiados entre el comercio y el TPV Virtual.

El sistema de firma se basa en HMAC SHA-512, aunque también está disponible HMAC SHA-256 si la integración no es nueva. Consulta el anexo para ver la firma SHA-256. 

A continuación te explicamos el proceso de firma, también tienes en las librerías de Redsys un código que puedes adaptar para la firma de las Consultas REST: 

Librerías Redsys

Firma en la petición (comercio)

Para enviar una consulta firmada correctamente, el comercio debe generar la firma utilizando su clave secreta compartida, la misma que usa para firmar operaciones en el TPV Virtual.

¿Qué necesito para calcular la firma?

Firma de la petición. Para calcular la firma, debes tener estos valores:

  1. El objeto data con los datos de la operación que quieres consultar.
  2. El número de pedido. Es el valor de idTransaction.
  3. La clave específica de tu terminal. Esta clave cambia del entorno de pruebas y el de producción. Tipado: Texto plano.
    • La clave del terminal para producción se obtiene desde Canales, y la de pruebas se envía en el Welcome Pack. Consulta la documentación para más detalles.
    • Guarda la clave de producción en un lugar seguro para evitar su uso fraudulento.

¿Cómo se obtiene?

  1. Pre-procesa la clave de tu terminal: La clave tiene que tener exactamente 16 caracteres.
    • Si tiene MÁS de 16 caracteres: Utiliza únicamente los 16 primeros caracteres de la clave.
    • Si tiene MENOS de 16 caracteres: Rellena por la derecha con ceros (0) hasta llegar a 16 caracteres.
  2. Genera la clave diversificada: Esto se hace mediante un cifrado AES CBC, usando como vector de inicialización IV un vector de ceros. Este cifrado AES CBC se hace entre:
    • La clave de tu terminal pre-procesada en el paso anterior.
    • El número de pedido de la operación idTransaction (sin codificar en BASE64).
    • Realiza un cifrado AES CBC entre estos 2 valores.
  3. Codifica en BASE64: Codifica en BASE64 el resultado obtenido en el paso anterior. Este valor se llama clave diversificada, y lo utilizarás más adelante.
  4. Calcula el HMAC-SHA512: Aplica el algoritmo HMAC-SHA512 sobre el data, utilizando la clave diversificada obtenida en el paso anterior.
  5. Codifica en BASE64URL: Se codifica el resultado del HMAC-SHA512 en BASE64URL.
    • Este es el valor que tienes que enviar en Ds_Signature.

Firma para PSPs:

En el caso de los PSPs el proceso es igual, pero se sustituye la clave secreta de comercio por la clave de PSP.

Verificar firma en la respuesta

Cuando recibes una respuesta del TPV Virtual tras realizar una consulta, esta viene firmada. Es responsabilidad del comercio verificar la firma para asegurarse de que el mensaje no ha sido alterado y proviene realmente de tu TPV Virtual. ¿Qué necesito para calcular la firma? Firma de la petición. Para calcular la firma, debes tener estos valores:
  1. El objeto data con los datos de la operación recibida que quieres verificar.
  2. El número de pedido recibido. Es el valor de idTransaction.
  3. La clave específica de tu terminal. Esta clave cambia del entorno de pruebas y el de producción. Tipado: Texto plano.
    • La clave del terminal para producción se obtiene desde Canales, y la de pruebas se envía en el Welcome Pack. Consulta la documentación para más detalles.
    • Guarda la clave de producción en un lugar seguro para evitar su uso fraudulento.
¿Cómo se obtiene?
  1. Pre-procesa la clave de tu terminal: La clave tiene que tener exactamente 16 caracteres.
    • Si tiene MÁS de 16 caracteres: Utiliza únicamente los 16 primeros caracteres de la clave.
    • Si tiene MENOS de 16 caracteres: Rellena por la derecha con ceros (0) hasta llegar a 16 caracteres.
  2. Genera la clave diversificada: Esto se hace mediante un cifrado AES CBC, usando como vector de inicialización IV un vector de ceros. Este cifrado AES CBC se hace entre:
    • La clave de tu terminal pre-procesada en el paso anterior.
    • El número de pedido de la operación idTransaction (sin codificar en BASE64).
    • Realiza un cifrado AES CBC entre estos 2 valores.
  3. Codifica en BASE64: Codifica en BASE64 el resultado obtenido en el paso anterior. Este valor se llama clave diversificada, y lo utilizarás más adelante.
  4. Calcula el HMAC-SHA512: Aplica el algoritmo HMAC-SHA512 sobre el data, utilizando la clave diversificada obtenida en el paso anterior.
  5. Codifica en BASE64URL: Se codifica el resultado del HMAC-SHA512 en BASE64URL.
    • Este es el valor que tienes que comparar con el en Ds_Signature recibido.

Firma para PSPs:

En el caso de los PSPs el proceso es igual, pero se sustituye la clave secreta de comercio por la clave de PSP. 

Anexo: Métodos de pago

En la siguiente tabla tienes los valores que puedes recibir en el campo paymethod. Indica el método de pago que se utiliza en la operación:

CódigoDescripción
1Verified By Visa
3Tradicional Mundial
5Finanet
11Capacidad Finanet
13Capacidad Verified By Visa
14Tradicional Europeo
22MasterCard SecureCode
23Capacidad MasterCard SecureCode
24Pago Amex
25Pago Moto
28Pago JCB
31Pago Diners
39JCB Secure
40Capacidad JCB Secure
42Transferencia
54Paypal
57Amex Safekey
58Capacidad Amex Safekey
68Bizum
70UPI ExpressPay
71GooglePay
72ApplePay
73UPI SecurePlus
74Capacidad Discover
75Discover Protect Buy
76Pago Discover
77Amazon Pay
78Challenge Visa
79Challenge Master
80Frictionless Visa
81Frictionless Master
82Attempt Visa
83Attempt Master
85Challenge Amex
86Challenge Discover
87Frictionless Amex
88Frictionless Discover
89Attempt Amex
90Attempt Discover
93Challenge Diners
94Frictionless Diners
95Attempt Diners
96Challenge JCB Secure
97Frictionless JCB Secure
98Attempt JCB Secure
100Challenge ELO
101Frictionless ELO
102Attempt ELO
103Challenge UPI Secure
104Frictionless UPI Secure
105Attempt UPI Secure

Anexo 2: Firma de los mensajes SHA-256

Todas las peticiones y respuestas del servicio de consulta REST incluyen una firma digital que garantiza la autenticidad e integridad de los mensajes intercambiados entre el comercio y el TPV Virtual.

El sistema de firma se basa en HMAC SHA-512, aunque también está disponible HMAC SHA-256 si la integración no es nueva.

A continuación te explicamos el proceso de firma, también tienes en las librerías de Redsys un código que puedes adaptar para la firma de las Consultas REST: 

Librerías Redsys

Firma en la petición (comercio)

Para enviar una consulta firmada correctamente, el comercio debe generar la firma utilizando su clave secreta compartida, la misma que usa para firmar operaciones en el TPV Virtual.

  • La clave para producción se obtiene desde Canales, y la de pruebas se envía en el Welcome Pack. Consulta la documentación para más detalles. 

Proceso para calcular la firma:

  1. Genera el objeto «data» con los datos de la operación que deseas consultar.
  2. Decodifica la clave SHA-256 de tu terminal en BASE64. Tipado: Binario.
  3. Realiza un cifrado 3DES entre:
    • La clave SHA-256 que has decodificado en el paso anterior.
    • El número de pedido idTransaction.
    • Importante: El cifrado utilizado es 3DES (DESede) en modo CBC sin padding automático. Además, se deben añadir los 0s (ceros) necesarios en bytes hasta que sea múltiplo de 8.
    • El resultado es la clave de firma diversificada. Tipado: Binario.
  4. Calcula el HMAC-256 de:
    • El valor que se envía en data.
    • La clave de firma diversificada (la clave obtenida en el paso 2).
    • Tipado: Binario.
  5. Codifica el HMAC-256 obtenido en el paso anterior en BASE64. El valor resultante es el que se debe enviar en Ds_Signature. Tipado: Texto plano.

Ejemplo:

Para una petición con los siguientes datos:

  • Valor del elemento «data»: {"fuc":"999008881","idTransaction":"00002730z328","initialDate":"2025-01-01-10.00.00","order":"00002730z328","terminal":"1"}
  • Clave de comercio: sq7HjrUOBfKmC576ILgskD5srU870gJ7

El valor de signature es:

  • 8uRiPwqqZ8UDhsj0XUzhWjC9hG9eEX6XVuGfpp8YtoxJOfu3jUqtqEj3CPuKqLx3gmnE1dS8CiHZcFQ52IZiOA==

Firma para PSPs:

En el caso de los PSPs el proceso es igual, pero se sustituye la clave secreta de comercio por la clave de PSP.

Verificar firma en la respuesta

Cuando recibes una respuesta del TPV Virtual tras realizar una consulta, esta viene firmada. Es responsabilidad del comercio verificar la firma para asegurarse de que el mensaje no ha sido alterado y proviene realmente de tu TPV Virtual.

Para verificar una consulta correctamente, el comercio utiliza su clave secreta compartida, la misma que usa para firmar operaciones en el TPV Virtual.

  • La clave para producción se obtiene desde Canales, y la de pruebas se envía en el Welcome Pack. Consulta la documentación para más detalles.

Proceso para verificar la firma:

  1. Genera el objeto «data» con los datos de la operación que deseas consultar.
  2. Decodifica la clave SHA-256 de tu terminal en BASE64. Tipado: Binario.
  3. Realiza un cifrado 3DES entre:
    • La clave SHA-256 que has decodificado en el paso anterior.
    • El número de pedido idTransaction.
    • Importante: El cifrado utilizado es 3DES (DESede) en modo CBC sin padding automático. Además, se deben añadir los 0s (ceros) necesarios en bytes hasta que sea múltiplo de 8.
    • El resultado es la clave de firma diversificada. Tipado: Binario.
  4. Calcula el HMAC-256 de:
    • El valor que se envía en data.
    • La clave de firma diversificada (la clave obtenida en el paso 2).
    • Tipado: Binario.
  5. Codifica el HMAC-256 obtenido en el paso anterior en BASE64. El valor resultante es el que se debe enviar en Ds_Signature. Tipado: Texto plano.

Ejemplo:

Para una petición con los siguientes datos: 

  • Valor del elemento «data»: {"operations":[{"fuc":"999008881","terminal":"1","csb":"2100","order":"00002730z328","transactionType":"0","date":"2025-03-25 11:25:35.187","state":"F","authorized":"S","authorizationNumber":"868043","amount":"30.20","currency":"978","codResponse":"0","cardNumber":"454881******0003","cardBrand":"1","cardCountry":"724","cardExpiryDate":"4912","cardToken":"991d0fc404eb5ce9e8aa0cb4101da113840db0f5","cardType":"C","paymethod":"78","ipClient":"115.241.28.98","ipCountry":"356","eci":"05","cofUse":"S","cofType":"C","grouperCode":"33333337","productDescription":"1x Subscription test product,","connectionType":"2","merchantData":"eyJtb2R1bGVDb21lbnQiOiJQYXNhcmVsYSBVbmlmaWNhZGEgZGUgUmVkc3lzIHBhcmEgUHJlc3Rhc2hvcCIsImlkQ2FydCI6MjczMCwib3JpZ2luYWxNZXRob2QiOiJUYXJqZXRhIn0"}],"numRecords":1}{"fuc":"999008881","idTransaction":"00002730z328","initialDate":"2025-01-01-10.00.00","order":"00002730z328","terminal":"1"}
  • Clave de comercio: sq7HjrUOBfKmC576ILgskD5srU870gJ7

El valor de signature es:

  • AC2fXHqjoyauWwSuHBCdH4GSU_xRMzLkRSlh5KZ-BJGeqgalPYgsxFBwyRrlkX7JBfjnnPGKsAb0mtRwYDf-pA==8uRiPwqqZ8UDhsj0XUzhWjC9hG9eEX6XVuGfpp8YtoxJOfu3jUqtqEj3CPuKqLx3gmnE1dS8CiHZcFQ52IZiOA==

Firma para PSPs:

En el caso de los PSPs el proceso es igual, pero se sustituye la clave secreta de comercio por la clave de PSP. 

Comparte este documento

Consulta de operaciones REST

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