IntegracionTpvpcImplantado Slim Pack

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 69

Integración TpvpcImplantado Slim Pack

Versión: 1.1

PC0003 09/02/2018

Referencia SM.DE.DNC.MAN.0046

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 i
Integración TpvpcImplantado Slim Pack

Autorizaciones y control de versión


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta, o cesión a terceros

AUTOR: Redsys VALIDADO POR: APROBADO POR:

EMPRESA: Redsys EMPRESA: Redsys EMPRESA: Redsys

Firma: Firma: Firma:

Fecha: 05/09/2016 Fecha: 05/09/2016 Fecha:05/09/2016

Comentarios: La gestión de la documentación impresa es responsabilidad de la persona que la imprime.

Las versiones impresas de los documentos no garantizan ser la última versión aprobada. Para consultar la última versión
acceder a la base de datos de Alejandría.

Versión Fecha Afecta Breve descripción del cambio


1.0 05/09/16 Documentación Creación documento

1.1 09/02/18 Documentación Añadimos información de pago recurrente

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 ii
Integración TpvpcImplantado Slim Pack

ÍNDICE DE CONTENIDO

1. Introducción ........................................................................................ 1
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta, o cesión a terceros

2. Requerimientos del sistema ................................................................. 1


2.1 Establecimiento de la impresora para Boletas Automáticas ...................... 1
2.2 Restricciones Técnicas y operativas....................................................... 4

3. Destinatarios ........................................................................................ 5

4. Integración TpvpcImplantado SlimPack ............................................... 6


4.1 Iniciar Comunicación en Modo Transparente .......................................... 7
4.2 Detener la Comunicación .................................................................... 8
4.3 Realizar un Pago o una Preautorización utilizando un dispositivo PinPad .... 9
4.4 Realizar un Pago o Preautorización introduciendo manualmente los datos
de la tarjeta ......................................................................................10
4.5 ¿Cómo validar si la operación resultó AUTORIZADA? ..............................12
4.6 Realizar una operación de Confirmación o Devolución ............................13
4.7 ¿Cómo realizar una Devolución/Confirmación desde otro terminal? ..........15
4.8 Realizar una operación de Devolución con lectura desde el Pinpad ...........16
4.9 ¿Cómo validar si la operación resultó AUTORIZADA? ..............................18
4.10 Realizar una operación de Devolución sin Original ..................................18
4.11 Realizar una operación de Devolución sin Original introduciendo
manualmente los datos de la tarjeta ....................................................20
4.12 ¿Cómo validar si la operación resultó AUTORIZADA? ..............................21
4.13 Realizar consultas de Operaciones .......................................................22
4.14 Realizar Consulta de Totales ...............................................................25
4.15 Realizar Operación DCC ......................................................................27
4.16 Ejemplo de Operación DCC .................................................................29
4.17 Pago recurrente.................................................................................30
4.17.1 Primer pago recurrente .................................................................30

5. ANEXO I. Errores devueltos ................................................................ 32

6. ANEXO II. Versiones Librería ............................................................. 39


6.1 ¿Cuándo debe realizarse una actualización de esta Librería? ...................39

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 iii


Integración TpvpcImplantado Slim Pack

7. ANEXO III. Diccionario de Datos ........................................................ 41

8. ANEXO IV. Códigos Error TPVPC ......................................................... 45

9. ANEXO V. Códigos de Denegación ...................................................... 52


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta, o cesión a terceros

10. ANEXO VI. Ejemplos Impresión de Recibos ....................................... 54


10.1 Recibo para una operación realizada con Lectura de Banda o Entrada
Manual de Datos ...............................................................................54
10.2 Recibo para una operación realizada con una Tarjeta con Chip EMV con
PIN ..................................................................................................55
10.3 Recibo para una operación realizada con una Tarjeta DCC ......................55
10.4 Ejemplo de Recibo de una operación en la que se recibe el elemento
<ReciboSoloCliente> .........................................................................57
10.5 Ejemplo de Recibo Operación Contactless .............................................58
10.6 Ejemplo de recibo de una devolución ...................................................59
10.7 Ejemplo de recibo de devolución sin original .........................................59
10.8 Ejemplo de recibo de devolución DCC ...................................................60

11. ANEXO IX. Al llamar a la función de Pago, Preautorización,


Confirmación o Devolución nos devuelve el código -2 ........................ 61

12. ANEXO X. Operativas Adicionales ....................................................... 63


12.1 Operativa DCC realizadas directamente en PinPad. ................................63

13. ANEXO XII. Tratamiento PIN.............................................................. 65

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 iv
Integración TpvpcImplantado Slim Pack

1. Introducción

Este documento describe la integración de aplicaciones propietarias


usadas en comercios, con TpvpcImplantado Slimpack. Para facilitar la
integración de las distintas aplicaciones, se suministra una librería
dinámica (DLL) que es compatible con prácticamente el 100% de los
entornos de desarrollos utilizados en sistemas operativos Microsoft
Windows.
La librería puede utilizarse en el siguiente modo:

• Modo Transparente, la aplicación del comercio será la


encargada de mostrar todos los mensajes necesarios al comercio
y comunicarse con la aplicación o librería TpvpcImplantado
Slimpack que mostrará los mensajes de comunicación con el
Pinpad y el procesamiento de las operaciones y se encargará de
imprimir los recibos una vez realizada cualquier operativa
posible. Esta impresión queda limitada a la impresora por
defecto, por lo que habría que configurar la misma.

Esta librería se irá actualizando en función de los nuevos requerimientos


o funcionalidades. Se enviarán notificaciones de estas actualizaciones a
la dirección de correo electrónica indicada en la solicitud de alta. Si el
sistema detecta que se está usando una versión antigua, también lo
informará con un campo especifico en las respuestas, en el Anexo II se
indica esta información.

2. Requerimientos del sistema

Es imprescindible disponer de un equipo con SO Windows. La solución


será únicamente funcional si el dispositivo de pago y la librería de
comunicación se encuentran bajo el mismo equipo. Por tanto, en
soluciones distribuidas (como Windows server) no se puede asegurar su
correcto funcionamiento por definición de librería Windows.

2.1 Establecimiento de la impresora para Boletas


Automáticas

Al tratarse de una solución cerrada ya certificada la impresión de las


boletas es responsabilidad de la librería directamente. Es por ello, que
todos los requisitos certificables han sido ya definidos y por tanto no se
pueden modificar ni la boleta ni la opcionalidad de imprimirlas o no. Ya
que para cierta operativa es posible no imprimir el recibo del comercio y
éste NO se imprimirá.
Establecer la impresora que se desee para imprimir los recibos, como
impresora por defecto.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 1
Integración TpvpcImplantado Slim Pack

Es necesario configurar la página de impresión para que las boletas


aparezcan correctamente. Para ello:
1. – Iniciar el Notepad de Windows. (Bloc de notas)
2. – Acceder a Archivo  Configurar página …
3. – Eliminar encabezado y pie de página, dejar en blanco.
4. – Poner Márgenes a 0.
Configuración para páginas A4:

Configuración para páginas de Impresora ticket:

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 2
Integración TpvpcImplantado Slim Pack

5. – Establecer Fuente. Formato  Fuente:

6. – Cerrar el Notepad de Windows. (Bloc de notas)

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 3
Integración TpvpcImplantado Slim Pack

2.2 Restricciones Técnicas y operativas

• Indicar que el ámbito de la solución es únicamente válido para


terminales atendidos como (Verifone Vx820 o Ingénico iPP320)
funcionando con operativa de ventas/devoluciones.
• Para la funcionalidad adicional venta DCC multidivisa, sólo está
disponible para terminales con visor como el Vx820.
• Las boletas no son personalizables
• La decisión y responsabilidad de las mismas es de la librería, no
teniendo control de ellas la aplicación cliente.
• Las pantallas de control de flujo entre las comunicaciones, por
restricciones de certificación, no se pueden eliminar ni
personalizar.
• La solución será únicamente funcional si el dispositivo de pago y
la librería de comunicación se encuentran bajo el mismo equipo.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 4
Integración TpvpcImplantado Slim Pack

3. Destinatarios

Este documento está destinado a:


• COMERCIOS
• ENTIDADES

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 5
Integración TpvpcImplantado Slim Pack

4. Integración TpvpcImplantado SlimPack

A continuación se describen todas las funciones exportadas por la


librería y un ejemplo de acceso a estas funciones en el lenguaje C#
.NET.
Antes de poder realizar cualquier operación, es necesario inicializar la
comunicación con TpvpcImplantado, mediante el siguiente modo:
• Modo Transparente, la aplicación del comercio se encargará de
interactuar con el usuario.
La operación de inicialización, sólo se debe realizar cada vez que
se inicie la aplicación, una vez inicializada, ya no es necesario realizar
este proceso.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 6
Integración TpvpcImplantado Slim Pack

4.1 Iniciar Comunicación en Modo Transparente

Parámetros de entrada/salida:
cComercio, número de comercio. Este dato es facilitado por la entidad.
cTerminal, número de terminal. Este dato es facilitado por la entidad.
cClaveFirma, clave de firma del comercio. Este dato es facilitado por la
entidad.
cConfPuerto, parámetro opcional que indica la configuración de
puerto. Este parámetro no debe indicarse, se recuperará de la
configuración establecida en el TPVPC.
Para PinPad conectados a puerto serie:
COM<puerto>:,19200,N,8,1
cVersion, parámetro opcional que indica la versión de protocolo a
utilizar. Este parámetro no debe indicarse, se recuperará la
configuración establecida en el TPVPC.
Valores posibles “4.1”, “5.1” o “6.1”. Esta versión varía en función de
la versión de software del modelo de pinpad. La versión actual es la
versión “6.1”.

Valor devuelto:
0, se inició correctamente la aplicación.
Distinto de 0, indica un error en la operación. En el Anexo I, se
describen los errores devueltos por todas las funciones.

int fnDllIniTpvpcLatente(LPCTSTR cComercio, LPCTSTR cTerminal,


LPCTSTR cClaveFirma, LPCTSTR cConfPuerto, LPCTSTR cVersion);

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllIniTpvpcLatente(String
cComercio, String cTerminal, String cClaveFirma, String
cConfPuerto, String cVersion);

Ejemplo de llamada en Visual Basic .NET


Public Declare Function fnDllIniTpvpcLatente Lib
"dllTpvpcLatente.dll" (ByVal cComercio As String, ByVal
cTerminal As String, ByVal cClaveFirma As String, ByVal
cConfPuerto As String, ByVal cVersion As String) As Integer

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 7
Integración TpvpcImplantado Slim Pack

4.2 Detener la Comunicación

No tiene parámetros de entrada.


Fuerza la parada de TPVPC Latente. No devuelve errores.

int fnDllParaTpvpcLatente();

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllParaTpvpcLatente();

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllParaTpvpcLatente Lib


"dllTpvpcLatente.dll" () As Integer

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 8
Integración TpvpcImplantado Slim Pack

4.3 Realizar un Pago o una Preautorización utilizando un


dispositivo PinPad

Parámetros de entrada/salida:

cImporte, importe de la transacción en formato XXXXXXXXX.XX.


Ejemplo: 1.23, 33.05, 0.01, etc.
cFactura, referencia de compra. Este valor lo puede especificar el
comercio para ayudarle a identificar la transacción.
cTipoOper, indica el tipo de operación a realizar. Valores posibles:
“PAGO” -> Se realizará un Pago.
“PREAUTORIZACION” -> Se realizará una preautorización.

cXMLResp, buffer, que almacenará una cadena XML con el resultado de


la operación de pago o preautorización. El formato de este XML se
encuentra detallado en la documentación "Conexión con TPVPC a través
de WEB SERVICE" versión 6.0.
iTamMaxResp, indica el tamaño máximo del buffer donde se
almacenará la cadena XML con el resultado de la operación. Se
recomienda al menos un tamaño de 1024 bytes.

Valor de retorno:
Valor 0, indica que la operación se ha procesado correctamente.
Muy importante resaltar que este resultado NO INDICA QUE LA
OPERACIÓN ESTË AUTORIZADA, tan sólo es el resultado de su
proceso.
Valor distinto de 0, Código de error indicando el motivo del fallo.
En el Anexo III, se detallan estos errores.

Siempre que se devuelva el código -2, es necesario realizar


una consulta de la última operación realizada por el comercio,
para ver si la operación resultó autorizada.

int fnDllOperPinPad(LPCTSTR cImporte, LPCTSTR cFactura,


LPCTSTR cTipoOper, LPTSTR cXMLResp, int iTamMaxResp);

Ejemplo de llamada en C# .NET:

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 9
Integración TpvpcImplantado Slim Pack

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllOperPinPad(String cImporte,
String cFactura, String cTipoOper, StringBuilder cXMLResp,
int iTamMaxResp);

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllOperPinPad Lib


"dllTpvpcLatente.dll" (ByVal cImporte As String, ByVal
cFActura As String, ByVal cTipoOper As String, ByVal cXMLResp
As String, ByVal iTamMaxREsp As Integer) As Integer

4.4 Realizar un Pago o Preautorización introduciendo


manualmente los datos de la tarjeta

Dependiendo del Modo elegido, se dispone de dos métodos distintos. Si


se eligió el Modo Transparente, la aplicación del comercio deberá
solicitar y validar los datos de la tarjeta.

Modo Transparente:
Parámetros de entrada/salida:

cTarjeta, número de tarjeta. Las tarjetas tienen una longitud entre 15 y


19 caracteres.
cCaducidad, cadena con la caducidad de la tarjeta. El formato es
AAMM. Ejemplo 06/13, el formato sería 1306.
cCVC2, cadena con el valor de CVC2. Código de tres dígitos de
seguridad que viene impreso generalmente en el reverso de la tarjeta, y
que será necesario dependiendo de la actividad del comercio.
cImporte, importe de la transacción en formato XXXXXXXXX.XX.
Ejemplo: 1.23, 33.05, 0.01, etc.
cFactura, referencia de compra. Este valor lo puede especificar el
comercio para ayudarle a identificar la transacción.

cTipoOper, indica el tipo de operación a realizar. Valores posibles:


“PAGO” -> Se realizará un Pago.
“PREAUTORIZACION” -> Se realizará una preautorización.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 10
Integración TpvpcImplantado Slim Pack

cXMLResp, buffer que almacenará una cadena XML con el resultado de


la operación de pago o preautorización. El formato de este XML se
encuentra detallado en la documentación "Conexión con TPVPC a través
de WEB SERVICE" versión 6.0.
iTamMaxResp, indica el tamaño máximo del buffer donde se
almacenará la cadena xml con el resultado de la operación. Se
recomienda al menos un tamaño de 1024 bytes.

Valor de retorno:
Valor 0, indica que la operación se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIÓN ESTÉ AUTORIZADA, tan sólo es el resultado de su
proceso.
Valor distinto de 0, Código de error indicando el motivo del fallo.
En el Anexo III, se detallan estos errores.

Siempre que se devuelva el código -2, es necesario realizar


una consulta de la última operación realizada por el comercio,
para ver si la operación resultó autorizada.

int fnDllOperManualExt(LPCTSTR cTarjeta, LPCTSTR cCaducidad,


LPCTSTR cCVC2, LPCTSTR cImporte, LPCTSTR cFactura, LPCTSTR
cTipoOper, LPTSTR cXMLResp, int iTamMaxResp);

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllOperManualExt(String cTarjeta,
String cCaducidad, String cCVC2, String cImporte, String
cFactura, String cTipoOper, StringBuilder cXMLResp, int
iTamMaxResp);

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllOperManualExt Lib


"dllTpvpcLatente.dll" (ByVal cTarjeta As String, ByVal
cCaducidad As String, ByVal cCVC2 As String, ByVal cImporte
As String, ByVal cFActura As String, ByVal cTipoOper As
String, ByVal cXMLResp As String, ByVal iTamMaxREsp As
Integer) As Integer

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 11
Integración TpvpcImplantado Slim Pack

4.5 ¿Cómo validar si la operación resultó AUTORIZADA?

En la cadena con el resultado de operación, siempre deben aparecer los


siguientes elementos con el valor que se indica a continuación:
<estado>F</estado>
<resultado>Autorizada</resultado>

Si la respuesta no contiene estos valores, debe tomarse como una


transacción DENEGADA
Ejemplo de cadena con el resultado de la operación de PAGO o
PREAUTORIZACION:

<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>1.01</importe>
<moneda>978</moneda>
<tarjetaComercioRecibo>************0018</tarjetaComercioRecibo>
<tarjetaClienteRecibo>************0018</tarjetaClienteRecibo>
<marcaTarjeta>2</marcaTarjeta>
<caducidad>1210</caducidad>
<comercio>777888991</comercio>
<terminal>1</terminal>
<pedido>10549</pedido>
<tipoTasaAplicada>DEB</tipoTasaAplicada>
<identificadorRTS>070001070319153828378272</identificadorRTS>
<factura>FAC-LATENTE</factura>
<fechaOperacion>2007-03-19 15:38:28.484</fechaOperacion>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>080922</codigoRespuesta>
<Literales>
<literal>NO REFUND</literal>
</Literales>
<firma>664AD45F54C3EB4D06A354E3158A17966012A1B8</firma>
<operacionemv>true</operacionemv>
<conttrans>001391</conttrans>
<sectarjeta>00</sectarjeta>
<idapp>A0000000043060</idapp>
<codrespauto>00</codrespauto>
<resverificacion>0800208000</resverificacion>
</resultadoOperacion>
</Operaciones>

Como se puede observar en el ejemplo, la transacción resultó


AUTORIZADA, ya que aparecen los campos estado con valor F, y
resultado con el literal Autorizada. Cualquier otro valor, debe tomarse
como una transacción Denegada.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 12
Integración TpvpcImplantado Slim Pack

4.6 Realizar una operación de Confirmación o Devolución

Una confirmación se realiza siempre sobre operaciones de


preautorización realizadas con anterioridad.
Una devolución, como su propio nombre indica, realiza el abono o
devolución del importe indicado, a la tarjeta con la que se realizó la
operación original.

Parámetros de Entrada:

cNumPedido, número de pedido de la operación original. El campo


pedido se encuentra en todas las respuestas de peticiones de
operaciones realizadas al TPVPC. Valor obligatorio en Modo
Transparente.
cRTSOriginal, identificador RTS de la transacción original. El campo
identificadorRTS se encuentra en todas las respuestas de peticiones de
operaciones realizadas al TPVPC. Valor Opcional, en cualquiera de los
modos. En modo Transparente se recomienda su uso.
cImporte, importe que se quiere devolver o confirmar, en formato
XXXXXXXXX.XX. Ejemplo: 1.23, 33.05, 0.01, etc. Valor obligatorio en
Modo Transparente.
cFactura, campo suministrado por el comercio, para asociar una
descripción o valor a la operación. Este valor es generado por el
comercio y el TPVPC no realizará ninguna validación sobre el mismo.
cTipoOper, indica el tipo de operación a realizar. Puede tomar dos
posibles valores:
CONFIRMACION, realizará una confirmación sobre una
PREAUTORIZACIÓN que se autorizó con anterioridad.
DEVOLUCION, realizará una devolución de una operación que se
autorizó con anterioridad.
Valor obligatorio en Modo Transparente.

cXMLResp, buffer que almacenará una cadena XML con el resultado de


la operación de DEVOLUCION o CONFIRMACION. El formato de este
XML se encuentra detallado en la documentación "Conexión con TPVPC a
través de WEB SERVICE" versión 6.0.

iTamMaxResp, indica el tamaño máximo del buffer donde se


almacenará la cadena xml con el resultado de la operación. Se
recomienda al menos un tamaño de 1024 bytes.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 13
Integración TpvpcImplantado Slim Pack

Valor de retorno:
Valor 0, indica que la operación se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIÓN ESTÉ AUTORIZADA, tan sólo es el resultado de su
proceso.
Valor distinto de 0, Código de error indicando el motivo del fallo.
En el Anexo III, se detallan estos errores.

int fnDllOperComContable(LPCTSTR cNumPedido, LPCTSTR


cRTSOriginal, LPCTSTR cImporte, LPCTSTR cFactura, LPCTSTR
cTipoOper, LPTSTR cXMLResp, int iTamMaxResp);

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllOperComContable(String
cNumPedido, String cRTSOriginal, String cImporte, String
cFactura, String cTipoOper, StringBuilder cXMLResp, int
iTamMaxResp);

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllOperComContable Lib


"dllTpvpcLatente.dll" (ByVal cNumPedido As String, ByVal
cRTSOriginal As String, ByVal cImporte As String, ByVal
cFactura As String, ByVal cTipoOper As String, ByVal cXMLResp
As String, ByVal iTamMaxREsp As Integer) As Integer

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 14
Integración TpvpcImplantado Slim Pack

4.7 ¿Cómo realizar una Devolución/Confirmación desde


otro terminal?

Cuando se quiere realizar una devolución (o confirmación) desde un


Terminal distinto al que realizó la operación original, existen dos
opciones:

1º) Devolución/Confirmación a partir del número de pedido de la


operación original.
Cuando sólo se dispone del número de pedido para identificar la
operación original, es necesario especificar el Terminal por el que se
realizó dicha operación. Se encuentra disponible la siguiente función:

int fnDllOperComContableTerminal(LPCTSTR cNumTerminal,


LPCTSTR cNumPedido, LPCTSTR cRTSOriginal, LPCTSTR
cImporte, LPCTSTR cFactura, LPCTSTR cTipoOper, LPTSTR
cXMLResp, int iTamMaxResp);

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int
fnDllOperComContableTerminal(String cNumTerminal, String
cNumPedido, String cRTSOriginal, String cImporte, String
cFactura, String cTipoOper, StringBuilder cXMLResp, int
iTamMaxResp);

Ejemplo de llamada en Visual Basic .NET


Public Declare Function fnDllOperComContableTerminal Lib
"dllTpvpcLatente.dll" (ByVal cNumTerminal As String, ByVal
cNumPedido As String, ByVal cRTSOriginal As String, ByVal
cImporte As String, ByVal cFactura As String, ByVal
cTipoOper As String, ByVal cXMLResp As String, ByVal
iTamMaxREsp As Integer) As Integer

2º) Devolución/Confirmación a partir del identificador RTS de la


transacción original.
Cuando se dispone del identificador de operación idRTS, basta con
realizar la llamada a la función fnDllOperComContable como si
fuese desde el Terminal original, pero una vez inicializado con un
Terminal diferente.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 15
Integración TpvpcImplantado Slim Pack

Nota: esta operativa no funcionará si el tpv tiene asignado un código


de comercio distinto al de la operación original.

4.8 Realizar una operación de Devolución con lectura desde


el Pinpad

Una devolución, como su propio nombre indica, realiza el abono o


devolución del importe indicado, a la tarjeta con la que se realizó la
operación original. Para mayor seguridad, se puede obligar a pasar la
tarjeta original con la que se hizo el pago, de forma que el cliente esté
presente.
Es importante señalar que este tipo de devolución no está soportada en
Windows Mobile.

Parámetros de Entrada:

cImporte, importe que se quiere devolver, en formato XXXXXXXXX.XX.


Ejemplo: 1.23, 33.05, 0.01, etc. Valor obligatorio en Modo
Transparente.
cFactura, campo suministrado por el comercio, para asociar una
descripción o valor a la operación. Este valor es generado por el
comercio y el TPVPC no realizará ninguna validación sobre el mismo.
cNumPedido, número de pedido de la operación original. El campo
pedido se encuentra en todas las respuestas de peticiones de
operaciones realizadas al TPVPC. Valor obligatorio en Modo
Transparente.
cRTSOriginal, identificador RTS de la transacción original. El campo
identificadorRTS se encuentra en todas las respuestas de peticiones de
operaciones realizadas al TPVPC. Valor Opcional, en cualquiera de los
modos. En modo Transparente se recomienda su uso.
cXMLResp, buffer, que almacenará una cadena XML con el resultado de
la operación de DEVOLUCION. El formato de este XML se encuentra
detallado en la documentación "Conexión con TPVPC a través de WEB
SERVICE" version 6.0.
iTamMaxResp, indica el tamaño máximo del buffer donde se
almacenará la cadena xml con el resultado de la operación. Se
recomienda al menos un tamaño de 1024 bytes.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 16
Integración TpvpcImplantado Slim Pack

Valor de retorno:
Valor 0, indica que la operación se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIÓN ESTÉ AUTORIZADA, tan sólo es el resultado de su
proceso.
Valor distinto de 0, Código de error indicando el motivo del fallo.
En el Anexo III, se detallan estos errores.

int fnDllComContableTrj(LPCTSTR cImporte, LPCTSTR cFactura,


LPCTSTR cNumPedido, LPCTSTR cRTSOriginal, LPTSTR cXMLResp,
int iTamMaxResp);

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllComContableTrj(String cImporte,
String cFactura, String cNumPedido, String cRTSOriginal,
StringBuilder cXMLResp, int iTamMaxResp);

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllComContableTrj Lib


"dllTpvpcLatente.dll" (ByVal cImporte As String, ByVal
cFactura As String, ByVal cNumPedido As String, ByVal
cRTSOriginal As String, ByVal cXMLResp As String, ByVal
iTamMaxREsp As Integer) As Integer

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 17
Integración TpvpcImplantado Slim Pack

4.9 ¿Cómo validar si la operación resultó AUTORIZADA?

En la cadena con el resultado de operación, siempre deben aparecer los


siguientes elementos con el valor que se indica a continuación:
<estado>F</estado>
<resultado>Autorizada</resultado>

Si la respuesta no contiene estos valores, debe tomarse como una


transacción DENEGADA.
Ejemplo de cadena con el resultado de la operación de DEVOLUCION o
CONFIRMACION:

<Operaciones version="6.0">
<comunicacionContable tipo="DEVOLUCION">
<resultadoComunicacion>
<importe>1.01</importe>
<moneda>978</moneda>
<comercio>777888991</comercio>
<terminal>1</terminal>
<pedido>10550</pedido>
<factura>FAC_384572</factura>
<identificadorRTS>070001070319164116378278</identificadorRTS>
<pedidoBase>10549</pedidoBase>
<fechaOperacion>2007-03-19 16:41:16</fechaOperacion>
<estado>F</estado>
<resultado>Autorizada</resultado>
<firma>DBBCA72FC4A5FEBB76E3260789DDCF51A3903D4F</firma>
</resultadoComunicacion>
</comunicacionContable>
</Operaciones>

En el ejemplo descrito la operación ha resultado autorizada.

4.10 Realizar una operación de Devolución sin Original

Para realizar este tipo de operación, el comercio debe tener previamente


habilitada la operativa. Estas devoluciones realizan el abono del importe
especificado en la tarjeta leída desde el Pinpad. Como su nombre indica,
esta operación no valida contra ninguna operación realizada con
anterioridad.

Parámetros de entrada:

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 18
Integración TpvpcImplantado Slim Pack

cImporte, importe que se quiere devolver o confirmar, en formato


XXXXXXXXX.XX. Ejemplo: 1.23, 33.05, 0.01, etc. Valor obligatorio en
Modo Transparente.
cFactura, campo suministrado por el comercio, para asociar una
descripción o valor a la operación. Este valor es generado por el
comercio y el TPVPC no realizará ninguna validación sobre el mismo.
cXMLResp, buffer que almacenará una cadena XML con el resultado de
la operación de DEVOLUCION.
iTamMaxResp, indica el tamaño máximo del buffer donde se
almacenará la cadena xml con el resultado de la operación. Se
recomienda al menos un tamaño de 1024 bytes

Valor de retorno:
Valor 0, indica que la operación se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIÓN ESTÉ AUTORIZADA, tan sólo es el resultado de su
proceso.
Valor distinto de 0, Código de error indicando el motivo del fallo.
En el Anexo III, se detallan estos errores.

int fnDllDevSinOrigTrj (LPCTSTR cImporte, LPCTSTR cFactura,


LPTSTR cXMLResp, int iTamMaxResp)

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllDevSinOrigTrj(String cImporte,
String cFactura, StringBuilder cXMLResp, int iTamMaxResp);

Ejemplo de llamada en Visual Basic .NET:

Public Declare Function fnDllDevSinOrigTrj Lib


"dllTpvpcLatente.dll" (ByVal cImporte As String, ByVal
cFactura As String, ByVal cXMLResp As String, ByVal
iTamMaxREsp As Integer) As Integer

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 19
Integración TpvpcImplantado Slim Pack

4.11 Realizar una operación de Devolución sin Original


introduciendo manualmente los datos de la tarjeta

Para realizar este tipo de operación, el comercio debe tener previamente


habilitada la operativa. Estas devoluciones realizan el abono del importe
especificado en la tarjeta indicada. Como su nombre indica, esta
operación no valida contra ninguna operación realizada con anterioridad.

Parámetros de entrada:

cTarjeta, número de tarjeta. Las tarjetas tienen una longitud entre 15 y


19 caracteres.
cCaducidad, cadena con la caducidad de la tarjeta. El formato es
AAMM. Ejemplo 06/13, el formato sería 1306.
cImporte, importe que se quiere devolver o confirmar, en formato
XXXXXXXXX.XX. Ejemplo: 1.23, 33.05, 0.01, etc. Valor obligatorio en
Modo Transparente.
cFactura, campo suministrado por el comercio, para asociar una
descripción o valor a la operación. Este valor es generado por el
comercio y el TPVPC no realizará ninguna validación sobre el mismo.
cXMLResp, buffer que almacenará una cadena XML con el resultado de
la operación de DEVOLUCION.
iTamMaxResp, indica el tamaño máximo del buffer donde se
almacenará la cadena xml con el resultado de la operación. Se
recomienda al menos un tamaño de 1024 bytes

Valor de retorno:
Valor 0, indica que la operación se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIÓN ESTÉ AUTORIZADA, tan sólo es el resultado de su
proceso.
Valor distinto de 0, Código de error indicando el motivo del fallo.
En el Anexo III, se detallan estos errores

int fnDllOperDevSinOrig(LPCTSTR cTarjeta, LPCTSTR cCaducidad,


LPCTSTR cImporte, LPCTSTR cFactura, LPTSTR cXMLResp, int
iTamMaxResp)

Ejemplo de llamada en C# .NET:

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 20
Integración TpvpcImplantado Slim Pack

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllOperDevSinOrig(String cTarjeta,
String cCaducidad, String cImporte, String cFactura,
StringBuilder cXMLResp, int iTamMaxResp);

Ejemplo de llamada en Visual Basic .NET :

Public Declare Function fnDllOperDevSinOrig Lib


"dllTpvpcLatente.dll" (ByVal cTarjeta As String, ByVal
cCaducidad As String, ByVal cImporte As String, ByVal
cFactura As String, ByVal cXMLResp As String, ByVal
iTamMaxREsp As Integer) As Integer

4.12 ¿Cómo validar si la operación resultó AUTORIZADA?

En la cadena con el resultado de operación siempre deben aparecer los


siguientes elementos con el valor que se indica a continuación:
<estado>F</estado>
<resultado>Autorizada</resultado>

Si la respuesta no contiene estos valores, debe tomarse como una


transacción DENEGADA

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 21
Integración TpvpcImplantado Slim Pack

Ejemplo de cadena con el resultado de la operación de DEVOLUCION


SIN ORIGINAL:
<Operaciones version="6.1">
<comunicacionContable tipo="DEVOLUCION">
<resultadoComunicacion>
<importe>1.01</importe>
<moneda>978</moneda>
<comercio>123443210</comercio>
<terminal>1</terminal>
<pedido>11205</pedido>
<identificadorRTS>070001070413140553434193</identificadorRTS>
<marcaTarjeta>1</marcaTarjeta>
<fechaOperacion>2007-04-13 14:05:53</fechaOperacion>
<estado>F</estado>
<resultado>Autorizada</resultado>
<firma>09BCDC2AB6B9178D3F3ADF7EBEC879BE9F631D80</firma>
</resultadoComunicacion>
</comunicacionContable>
</Operaciones>

En este ejemplo la operación ha resultado autorizada.

4.13 Realizar consultas de Operaciones

Esta operativa permite realizar consultas de operaciones sobre el


comercio-terminal en la función de Inicialización. Los XML de respuesta
se describen con detalle en el documento TPVPC WS Consultas. En este
documento se mostrarán algunos XML de ejemplo, pero no se entrará en
detalle en la explicación de sus campos.

Parámetros de entrada:

cNumPedido, número de pedido de la operación a recuperar. Se puede


especificar un valor NULL si no se desea realizar búsquedas por este
campo.
cRTS, identificador de transacción, sólo se devolverán los datos de la
operación solicitada. Se puede especificar un valor NULL, si no se desea
realizar búsquedas por este campo. Si se indica este campo, se
ignorará el resto de los campos especificados.
cFactura, campo de factura o referencia que puede especificar el
comercio en las operaciones realizadas en el TPVPC, o NULL, si no se
desea realizar búsquedas por este campo.
cFechaIni, fecha de inicio de operación. El formato debe ser el
siguiente: YYYYMMdd HHmmss, 20070415 172905. Se puede especificar
un valor NULL, si no se desea realizar búsquedas por este campo.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 22
Integración TpvpcImplantado Slim Pack

cFechaFin, fecha de fin de operación. El formato debe ser el siguiente:


YYYYMMdd HHmmss, 20070415 182905. Se puede especificar un valor
NULL, si no se desea realizar búsquedas por este campo.
cTipo, tipo de Operación. Se pueden indicar los siguientes valores:
-> PAGO
-> PREAUTORIZACION
-> CONFIRMACION
-> DEVOLUCION
Se puede especificar un valor NULL, si no se desea realizar
búsquedas por este campo.
cResultado, resultado de la operación. Se podrá consultar las
operaciones Autorizadas o Denegadas. Se pueden indicar los siguientes
valores:
-> AUTORIZADA, recupera sólo las operaciones autorizadas.
-> DENEGADA, recupera sólo las operaciones denegadas.
Se puede especificar un valor NULL, si no se desea realizar
búsquedas por este campo.
cNumPagina, indica el número de página a recuperar. El WebService
realiza una paginación de consulta, aquí se indica, en caso de devolver
varias páginas, el número de página a recuperar. Si se quiere recuperar
la primera página, se debe indicar el número 0.
cXMLResp, buffer que almacenará la cadena con el XML de respuesta
recibido desde el TPVPC. El XML se describe en detalle en el documento
TPVPC WS Consultas 2d1.
iTamMaxResp, tamaño máximo de la cadena que puede almacenar el
buffer cXMLResp.

Valor de retorno:
= 0, la operación se procesó correctamente. Este resultado no indica
que se haya autorizado o denegado, simplemente que la petición se
ha realizado con éxito. Para ver el resultado de la operación se debe
analizar la respuesta recibida en cXMLResp.
!= 0, Código de error indicando el motivo del fallo. Descripción de los
posibles códigos de error:
-1 No se han establecido correctamente los datos de
configuración. Es necesario volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema persiste contactar con la
entidad.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 23
Integración TpvpcImplantado Slim Pack

-2 Se produjo un error interno del sistema al realizar la


operación. Si el problema persiste contacte con su entidad.
-3 Error en los parámetros de entrada. Si el problema persiste
contactar con la entidad.

int fnDllOperConsulta(LPCTSTR cNumPedido, LPCTSTR cRTS,


LPCTSTR cFactura, LPCTSTR cFechaIni, LPCTSTR cFechaFin,
LPCTSTR cTipo, LPCTSTR cResultado, LPCTSTR cNumPagina, LPTSTR
cXMLResp, int iTamMaxResp);

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllOperConsulta(String cNumPedido,
String cRTS, String cFactura, String cFechaIni, String
cFechaFin, String cTipo, String cResultado, String
cNumPagina, StringBuilder cXMLResp, int iTamMaxResp);

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllOperConsulta Lib


"dllTpvpcLatente.dll" (ByVal cNumPedido As String, ByVal cRTS
As String, ByVal cFactura As String, ByVal cFechaIni As
String, ByVal cFechaFin As String, ByVal cTipo As String,
ByVal cResultado As String, ByVal cNumPagina As String, ByVal
cXMLResp As String, ByVal iTamMaxREsp As Integer) As Integer

Ejemplo de respuesta:

<consultas version="2.1">
<resultadoConsulta>
<operacion>
<tipoOper>Autorizacion</tipoOper>
<tarjeta>************5532</tarjeta>
<caducidad>0702</caducidad>
<importe>0.01</importe>
<moneda>978</moneda>
<terminal>1</terminal>
<pedido>1110</pedido>
<identificadorRTS>070001070423122035346136</identificadorRTS>
<fechaOperacion>2007-04-23 12:20:35.628</fechaOperacion>
<factura>IDOPER_PINPAD</factura>
<estado>F</estado>
<resultado>AUTORIZADA</resultado>
<codigoRespuesta>0</codigoRespuesta>

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 24
Integración TpvpcImplantado Slim Pack

</operacion>
<operacion>
<tipoOper>Autorizacion</tipoOper>
<tarjeta>************5532</tarjeta>
<caducidad>0702</caducidad>
<importe>0.01</importe>
<moneda>978</moneda>
<terminal>1</terminal>
<pedido>1118</pedido>
<identificadorRTS>070001070423094540346125</identificadorRTS>
<fechaOperacion>2007-04-23 09:45:40.436</fechaOperacion>
<factura>IDOPER_PINPAD</factura>
<estado>F</estado>
<resultado>AUTORIZADA</resultado>
<codigoRespuesta>0</codigoRespuesta>
</operacion>
<numoperaciones>2</numoperaciones>
<numpagina>1</numpagina>
<totalpaginas>1</totalpaginas>
<comercio>777888991</comercio>
<timestamp>20070423 125118</timestamp>
<firma>8E7C43989E4586F3CA3ED781EF3CB2E1270C0075</firma>
</resultadoConsulta>
</consultas>

4.14 Realizar Consulta de Totales

Esta operativa devuelve el total de operaciones realizadas por el


comercio/terminal en la fecha indicada.

Parámetros de entrada:

cFecha, fecha del día para recuperar los totales. Si no se especifica, se


utilizará el día actual.
cDesgloseVM, "S" indica que se realice un desglose por marca de
Tarjeta Visa / Master.
cDesgloseMarcas, "S" indica que se realice un desglose por Marcas de
Tarjeta.

Valor de retorno:
= 0, la operación se procesó correctamente. Este resultado no indica
que se haya autorizado o denegado, simplemente que la petición se
ha realizado con éxito. Para ver el resultado de la operación se debe
analizar la respuesta recibida en cXMLResp.
!= 0, Código de error indicando el motivo del fallo. Descripción de los
posibles códigos de error:

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 25
Integración TpvpcImplantado Slim Pack

-1 No se han establecido correctamente los datos de configuración.


Es necesario volver a llamar a la función fnDllIniTpvpcLatente. Si el
problema persiste contactar con la entidad.
-2 Se produjo un error interno del sistema al realizar la operación. Si
el problema persiste contacte con su entidad.
-3 Error en los parámetros de entrada.

int fnDllOperTotales(LPCTSTR cFecha, LPTSTR cDesgloseVM,


LPTSTR cDesgloseMarcas, LPTSTR cXMLResp, int iTamMaxResp)

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllOperTotales(String cFecha,
String cDesgloseVM, String cDesgloseMarcas, StringBuilder
cXMLResp, int iTamMaxResp)

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllOperTotales Lib


"dllTpvpcLatente.dll" (ByVal cFecha As String, ByVal
cDesgloseVM As String, ByVal cDesgloseMarcas As String, ByVal
cXMLResp As String, ByVal iTamMaxREsp As Integer) As Integer

Ejemplo de Respuesta:

<consultas version="2.0">
<resultadoConsultaTotales>
<Totales>
<fecha>2007-04-23</fecha>
<moneda>978</moneda>
<formato_moneda>#.##0,00</formato_moneda>
<Autorizaciones>
<autorizadas>0</autorizadas>
<denegadas>0</denegadas>
<importe_autorizadas>0.0</importe_autorizadas>
</Autorizaciones>
<Devoluciones>
<autorizadas>0</autorizadas>
<denegadas>0</denegadas>
<importe_autorizadas>0.0</importe_autorizadas>
</Devoluciones>
<PreAutorizaciones>
<autorizadas>0</autorizadas>
<denegadas>0</denegadas>

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 26
Integración TpvpcImplantado Slim Pack

<importe_autorizadas>0.0</importe_autorizadas>
</PreAutorizaciones>
<Confirmaciones>
<autorizadas>0</autorizadas>
<denegadas>0</denegadas>
<importe_autorizadas>0.0</importe_autorizadas>
</Confirmaciones>
<total_neto>0.00</total_neto>
</Totales>
<timestamp>20070423 085423</timestamp>
<firma>D8C17407BFB547749864A68250B611F41377C502</firma>
</resultadoConsultaTotales>
</consultas>

4.15 Realizar Operación DCC

Realiza una operación de Pago o Preautorización utilizando la opción


Pago en Divisas o DCC (Dinamyc Currency Conversion). La llamada a la
función fnDllOperPinPad devolverá el resultado de la operación con los
datos DCC seleccionados en el visor por el titular de la tarjeta. Esta
funcionalidad sólo está disponible para Pinpad con visor para la selección
de divisa.
En el visor del Pinpad aparece una pantalla intermedia de selección de
divisa:

Valor de retorno:

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 27
Integración TpvpcImplantado Slim Pack

En caso de que la operación se enviase correctamente la función


devolverá 0. Si el TPVPC devuelve un XML con un código de error, la
función también devolverá 0, ya que este código sólo indica si se
pudo enviar correctamente la petición.
= 0, petición realizada correctamente. Es necesario revisar el
XML con la respuesta de la transacción.
!= 0, Código de error indicando el motivo del fallo.
Descripción de los posibles códigos de error:
-1 No se han establecido correctamente los datos de
configuración. Es necesario volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema persiste contactar
con la entidad.
-2 Se ha sobrepasado el TimeOut especificado por la
aplicación.
-3 Error del Sistema. Es necesario reiniciar aplicación.
-4 Los datos de entrada no tienen un formato correcto.
Revisar lista de parámetros.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 28
Integración TpvpcImplantado Slim Pack

4.16 Ejemplo de Operación DCC

Se realizará una operación de Pago o Preautorización estándar. Ejemplo:

fnDllOperPinPad (“25.36”, “OPER-DCC-TST”, “PAGO”, cXmlResp, 1024);

El XML de Respuesta:

<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>25.36</importe>
<moneda>978</moneda>
<tarjetaClienteRecibo>************8095</tarjetaClienteRecibo>
<tarjetaComercioRecibo>************8095</tarjetaComercioRecibo>
<marcaTarjeta>1</marcaTarjeta>
<caducidad>0000</caducidad>
<comercio>777888991</comercio>
<terminal>5</terminal>
<pedido>2336</pedido>
<identificadorRTS>070001080616130833332827</identificadorRTS>
<factura>OPER-DCC-TST</factura>
<fechaOperacion>2008-06-16 13:00:10.0</fechaOperacion>
<codigoDivisa>826</codigoDivisa>
<importeDivisa>17.81</importeDivisa>
<tasaCambio>1.424209</tasaCambio>
<tasaDivisaSinComision>1.449133</tasaDivisaSinComision>
<pocentajeComision>1.7500</pocentajeComision>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>067331</codigoRespuesta>
<Literales>
<literal>I ACCEPT THAT I HAVE BEEN OFFERED A CHOICE OF CURRENCIES FOR PAYMENT. I
ACCEPT THE CONVERSION RATE AND FINAL AMOUNT. I UNDERSTAND THAT THE CHOICE OF
TRANSACTION CURRENCY IS FINAL.</literal>
<literal>
</literal>
<datosDCC>
<linLitTrans>TRANSACTION CURRENCY</linLitTrans>
<linLitDivisa>GBP</linLitDivisa>
<linMarca>WHOLESALE RATE PROVIDED BY VISA</linMarca>
<linMarkUp>MARK-UP: 1.7500 %</linMarkUp>
<linLitComision>NO COMMISSION</linLitComision>
<linLitEntidad>SERVICE AND#N#EXCHANGE RATE PROVIDED BY#N#REDSYS</linLitEntidad>
<linCambio>GBP 1.00 = 1.424209 EUR</linCambio>
<linLitInf>Questions, if any, please#N#call (+34) 91 343 32 18#N#</linLitInf>
</datosDCC>
</Literales>
<firma>AEC91DBE60EE3A12EE8F95E16CA18EFECE41556D</firma>
</resultadoOperacion>
</Operaciones>

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 29
Integración TpvpcImplantado Slim Pack

4.17 Pago recurrente

Un pago puede llevar asociado un token único para realizar operaciones


sucesivas recurrentes.

4.17.1 Primer pago recurrente

Para realizar un primer pago recurrente, es necesario activar el modo


recurrente durante la sesión de funcionamiento. Para ello se disponen de
las siguientes funciones:

Interfaz global Interfax ActiveX


void fnDllActivaRecurrente() ActivaRecurrente()
void fnDllDesActivaRecurrente() DesActivaRecurrente()

Cada vez que se inicialice la librería ( fnDllIniTpvpcLatente ), se


desactivará automáticamente el modo recurrente, por lo que habrá que
activarlo de nuevo si se quiere operar de este modo. Una secuencia de
llamadas de ejemplo:

Primer pago recurrente


Llamada función Información
fnDllIniTpvpcLatente( )
fnDllActivaRecurrente( ) Activamos el modo
recurrente.
fnDllOperManual( ) | fnDllOperPinPad( ) Todas las operaciones que
se realicen en este
momento serán con token
recurrente
fnDllDesActivaRecurrente( ) Desactivamos el modo
recurrente
fnDllOperManualExt( ) | fnDllOperPinPad( ) Todas las operaciones que
se realicen en este
momento no serán con
token recurrente
fnDllParaTpvpcLatente( )

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 30
Integración TpvpcImplantado Slim Pack

Para la interfaz ActiveX, estas secuencias y el comportamiento es


similar.

Resultado de primera operación marcada como Recurrente, donde se


obtiene el token para las sucesivas:
<Operaciones version="6.0">
<resultadoOperacion>

<tipoPago>PAGO</tipoPago>
<importe>1.11</importe>
<moneda>978</moneda>
<tarjetaClienteRecibo>************0017</tarjetaClienteRecibo>
<tarjetaComercioRecibo>************0017</tarjetaComercioRecibo>
<marcaTarjeta>1</marcaTarjeta>
<token>90d264df618c21c527aaf836d61a6cb3d56c4bea</token>
<paisTarjeta>724</paisTarjeta>
<caducidad>0000</caducidad>
<comercio>777888991</comercio>
<terminal>3</terminal>
<pedido>2882</pedido>
<identificadorRTS>070001140915111838499692</identificadorRTS>
<fechaOperacion>2014-09-15 07:00:07.0</fechaOperacion>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>499692</codigoRespuesta>
<firma>4A0D711FAA161080DFD7A81261A36B6AC32AF6D6</firma>
</resultadoOperacion>
</Operaciones>

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 31
Integración TpvpcImplantado Slim Pack

5. ANEXO I. Errores devueltos

FUNCIÓN CÓD DESCRIPCIÓN


Error Interno del Sistema. Será
necesario reiniciar la carga de la librería
fnDllIniTpvpcLatente -1
dinámica. Si el problema persiste,
notificar problema a entidad.
Error al cargar el XML con los datos de
fnDllIniTpvpcLatente -2 configuración
No se ha especificado ningún valor en
fnDllIniTpvpcLatente -3 el elemento
datosConf/datosComercio/comercio.
No se ha especificado ningún valor en
fnDllIniTpvpcLatente -4 el elemento
datosConf/datosComercio/terminal
No se ha especificado ningún valor en
fnDllIniTpvpcLatente -5 el elemento
datosConf/datosComercio/clave
No se ha especificado ningún valor en
fnDllIniTpvpcLatente -6 el elemento
datosConf/accesoUsuario/usuario
No se ha especificado ningún valor en
fnDllIniTpvpcLatente -7 el elemento
datosConf/accesoUsuario/clave
No se ha especificado ningún valor en
fnDllIniTpvpcLatente -8 el elemento datosConf/modo
No se ha especificado ni acceso con
datos de comercio ni usuario. Es
fnDllIniTpvpcLatente -9 obligatorio especificar uno de los dos
accesos.
No se ha especificado ningún valor en
el elemento
datosConf/confDispositivo/puerto. Si no
fnDllIniTpvpcLatente -10 se quiere usar un pinpad, no es
necesario incluir el elemento
confDispositivo. Si se incluye se deben
configurar todos los elementos.
No se ha especificado ningún valor en
fnDllIniTpvpcLatente -11 el elemento
datosConf/confDispositivo/version.

fnDllIniTpvpcLatente -12 Error Interno del sistema.


Error al realizar el descubrimiento del
fnDllIniTpvpcLatente -13 PinPad. Se superó el TimeOut máximo
de espera.
fnDllIniTpvpcLatente -14 No se pudo iniciar la interfaz gráfica del

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 32
Integración TpvpcImplantado Slim Pack

TPVPC Latente.
Problema en la comunicación con el
Servicio Web del TPVPC. Revisar
fnDllIniTpvpcLatente -16 conexión a Internet, e intentar una
nueva inicialización cuando el servicio
esté restablecido.
Se envía correctamente la petición al
TPVPC, pero alguno de los datos
fnDllIniTpvpcLatente -18 establecidos no es correcto. Revise
código de comercio, terminal y la clave
de firma.
El Pinpad no está configurado
fnDllIniTpvpcLatente -19 correctamente, es necesario contactar
con la entidad.
El Puerto de comunicación especificado
fnDllIniTpvpcLatente -20 no es correcto.
Se ha especificado una versión que es
incompatible con el PinPad instalado.
fnDllIniTpvpcLatente -21 Consultar con la entidad el valor
correcto.
La versión de la librería ha caducado y
fnDllIniTpvpcLatente -40 debe actualizarse.

Error Interno del Sistema. Será


necesario reiniciar la carga de la librería
fnDllIniTpvpcLatenteExt -1 dinámica. Si el problema persiste,
notificar problema a entidad.

Error al cargar el XML con los datos de


fnDllIniTpvpcLatenteExt -2 configuración. Revisar que se han
instalado todas las librerías.
No se ha especificado ningún valor en
fnDllIniTpvpcLatenteExt -3 el elemento
datosConf/datosComercio/comercio.
No se ha especificado ningún valor en
fnDllIniTpvpcLatenteExt -4 el elemento
datosConf/datosComercio/terminal
No se ha especificado ningún valor en
fnDllIniTpvpcLatenteExt -5 el elemento
datosConf/datosComercio/clave
No se ha especificado ningún valor en
fnDllIniTpvpcLatenteExt -6 el elemento
datosConf/accesoUsuario/usuario
No se ha especificado ningún valor en
fnDllIniTpvpcLatenteExt -7
el elemento

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 33
Integración TpvpcImplantado Slim Pack

datosConf/accesoUsuario/clave
No se ha especificado ningún valor en
fnDllIniTpvpcLatenteExt -8 el elemento datosConf/modo
No se ha especificado ni acceso con
datos de comercio ni usuario. Es
fnDllIniTpvpcLatenteExt -9 obligatorio especificar uno de los dos
accesos.
No se ha especificado ningún valor en
el elemento
datosConf/confDispositivo/puerto. Si no
fnDllIniTpvpcLatenteExt -10 se quiere usar un pinpad, no es
necesario incluir el elemento
confDispositivo. Si se incluye se deben
configurar todos los elementos.
No se ha especificado ningún valor en
fnDllIniTpvpcLatenteExt -11 el elemento
datosConf/confDispositivo/version.

fnDllIniTpvpcLatenteExt -12 Error Interno del sistema.


Error al realizar el descubrimiento del
fnDllIniTpvpcLatenteExt -13 PinPad. Se superó el TimeOut máximo
de espera.
No se pudo iniciar la interfaz gráfica del
fnDllIniTpvpcLatenteExt -14 TPVPC Latente.

No se han establecido correctamente


los datos de configuración. Es necesario
fnDllOperManualExt -1 volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.
Se ha sobrepasado el TimeOut
fnDllOperManualExt -2 especificado por la aplicación.
Error del Sistema. Es necesario reiniciar
fnDllOperManualExt -3 aplicación.
Los datos de entrada no tienen un
fnDllOperManualExt -4 formato correcto. Revisar lista de
parámetros.
El Tamaño del buffer de respuesta no
fnDllOperManualExt -17 es suficiente. Se recomienda utilizar el
valor indicado en la documentación.
El formato de algún parámetro es
incorrecto. Por ejemplo, revise que el
fnDllOperManualExt -18 parámetro cImporte tiene formato
#000.00. 3000 euros cImporte=
3000.00.

fnDllOperPinPad -1 No se han establecido correctamente

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 34
Integración TpvpcImplantado Slim Pack

los datos de configuración. Es necesario


volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.
Se ha sobrepasado el TimeOut
fnDllOperPinPad -2 especificado por la aplicación.
Error del Sistema. Es necesario reiniciar
fnDllOperPinPad -3 aplicación.
Los datos de entrada no tienen un
fnDllOperPinPad -4 formato correcto. Revisar lista de
parámetros.
Alguno de los parametros no es valido.
fnDllOperPinPad -13 Revisar lista de parámetros.
El Tamaño del buffer de respuesta no
fnDllOperPinPad -17 es suficiente. Se recomienda utilizar el
valor indicado en la documentación.
El formato de algún parámetro es
incorrecto. Por ejemplo, revise que el
fnDllOperPinPad -18 parámetro cImporte tiene formato
#000.00. 3000 euros cImporte=
3000.00

No se han establecido correctamente


los datos de configuración. Es necesario
fnDllOperComContable -1 volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.
Se produjo un error interno del sistema
fnDllOperComContable -2 al realizar la operación. Si el problema
persiste contacte con su entidad.
Error en los parámetros de entrada. Si
fnDllOperComContable -3 el problema persiste contactar con la
entidad.

fnDllOperComContable -12 Error Interno del sistema.

No se han establecido correctamente


los datos de configuración. Es necesario
fnDllOperConsulta -1 volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.
Se produjo un error interno del sistema
fnDllOperConsulta -2 al realizar la operación. Si el problema
persiste contacte con su entidad.

fnDllOperConsulta -3 Error en los parámetros de entrada.

fnDllOperConsulta -12 Error Interno del sistema.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 35
Integración TpvpcImplantado Slim Pack

fnDllOperConsulta -15 Operación no soportada.

No se han establecido correctamente


los datos de configuración. Es necesario
fnDllOperTotales -1 volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.
Se produjo un error interno del sistema
fnDllOperTotales -2 al realizar la operación. Si el problema
persiste contacte con su entidad.

fnDllOperTotales -3 Error en los parámetros de entrada.

fnDllOperTotales -12 Error Interno del sistema.

fnDllOperTotales -15 Operación no soportada.

No se han establecido correctamente


los datos de configuración. Es necesario
fnDllOperPinPadDCC -1 volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.
Se ha sobrepasado el TimeOut
fnDllOperPinPadDCC -2 especificado por la aplicación.
Error del Sistema. Es necesario reiniciar
fnDllOperPinPadDCC -3 aplicación.
Los datos de entrada no tienen un
fnDllOperPinPadDCC -4 formato correcto. Revisar lista de
parámetros.
Alguno de los parametros no es valido.
fnDllOperPinPadDCC -13 Revisar lista de parámetros.

fnDllOperPinPadDCC -15 Operación no soportada.


El Tamaño del buffer de respuesta no
fnDllOperPinPadDCC -17 es suficiente. Se recomienda utilizar el
valor indicado en la documentación.
El formato de algún parámetro es
incorrecto. Por ejemplo, revise que el
fnDllOperPinPadDCC -18 parámetro cImporte tiene formato
#000.00. 3000 euros cImporte=
3000.00

No se han establecido correctamente


los datos de configuración. Es necesario
fnDllDevSinOrigTrj -1 volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.
fnDllDevSinOrigTrj -2 Se ha sobrepasado el TimeOut

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 36
Integración TpvpcImplantado Slim Pack

especificado por la aplicación.


Error del Sistema. Es necesario reiniciar
fnDllDevSinOrigTrj -3 la aplicación.
Se produjo un error interno del sistema
fnDllDevSinOrigTrj -4 al realizar la operación. Si el problema
persiste, contacte con su entidad.
Error en los parámetros de entrada. Si
fnDllDevSinOrigTrj -5 el problema persiste, contactar con la
entidad.
Alguno de los parametros no es valido.
fnDllDevSinOrigTrj -13 Revisar lista de parámetros.

fnDllDevSinOrigTrj -15 Operación no soportada.


El tamaño del buffer de respuesta no es
fnDllDevSinOrigTrj -17 suficiente. Se recomienda usar el valor
indicado en la documentación.
Los datos de entrada no tienen un
fnDllDevSinOrigTrj -18 formato correcto. Revisar lista de
parámetros.

No se han establecido correctamente


los datos de configuración. Es necesario
fnDllComContableTrj -1 volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.
Se ha sobrepasado el TimeOut
fnDllComContableTrj -2 especificado por la aplicación.
Error del Sistema. Es necesario reiniciar
fnDllComContableTrj -3 aplicación.
Alguno de los parametros no es valido.
fnDllComContableTrj -13 Revisar lista de parámetros.

fnDllComContableTrj -15 Operación no soportada.


El tamaño del buffer de respuesta no es
fnDllComContableTrj -17 suficiente. Se recomienda usar el valor
indicado en la documentación.
Los datos de entrada no tienen un
fnDllComContableTrj -18 formato correcto. Revisar lista de
parámetros.

No se han establecido correctamente


los datos de configuración. Es necesario
fnDllOperRecurrente -1 volver a llamar a la función
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.
fnDllOperRecurrente -2 Se ha sobrepasado el TimeOut

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 37
Integración TpvpcImplantado Slim Pack

especificado por la aplicación.


Error del Sistema. Es necesario reiniciar
fnDllOperRecurrente -3 aplicación.
Los datos de entrada no tienen un
fnDllOperRecurrente -4 formato correcto. Revisar lista de
parámetros.
El Tamaño del buffer de respuesta no
fnDllOperRecurrente -17 es suficiente. Se recomienda utilizar el
valor indicado en la documentación.
El formato de algún parámetro es
incorrecto. Por ejemplo, revise que el
fnDllOperRecurrente -18 parámetro cImporte tiene formato
#000.00. 3000 euros cImporte=
3000.00.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 38
Integración TpvpcImplantado Slim Pack

6. ANEXO II. Versiones Librería

Siempre que la librería sufra alguna modificación, se actualizará la


información en el servidor, para que las distintas aplicaciones que usen esta
librería se actualicen, si lo consideran necesario, con la última versión. Se
aconseja mantener siempre la última versión disponible de la librería.
En algunas de estas actualizaciones, el uso de una nueva versión de la
librería, implicará cambios en la aplicación del comercio. La interfaz de
llamadas a las funciones no se verá nunca afectada, se modificarán los XML
de Respuesta, o se agregarán funciones nuevas.

6.1 ¿Cuándo debe realizarse una actualización de esta


Librería?

Siempre que la función de inicio fnDllIniTpvpcLatente devuelva el


código de error -40, indicará que es necesario realizar la actualización,
ya que la versión actual se encuentra caducada. También se podrá
detectar En los XML de respuesta de las operaciones fnDllOperPinPad,
fnDllOperComContable, fnDllOperManual, aparecerá un elemento
versdllimpl con la última versión disponible.

Ej.: Se realiza una petición de Devolución de una operación autorizada


con anterioridad utilizando la función fnDllOperComContable.

XML de Respuesta recibido:

<Operaciones version="6.0">
<comunicacionContable tipo="DEVOLUCION">
<resultadoComunicacion>
<importe>1.01</importe>
<moneda>978</moneda>
<comercio>777888991</comercio>
<terminal>1</terminal>
<pedido>2550</pedido>
<factura>
</factura> <identificadorRTS>070001071212171835457307</identificadorRTS>
<marcaTarjeta>1</marcaTarjeta>
<pedidoBase>2548</pedidoBase>
<fechaOperacion>2007-12-12 17:23:32.0</fechaOperacion>
<estado>F</estado>
<resultado>Autorizada</resultado>
<firma>140D936EE212A03B823F766FF43E4C03365AC429</firma>
</resultadoComunicacion>
<versdllimpl fecha="20090430" tipo="RQS">1.0.4.1</versdllimpl>
</comunicacionContable>
</Operaciones>

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 39
Integración TpvpcImplantado Slim Pack

En el documento de Actualización de Versiones, se detalla todo el


proceso necesario para realizar una actualización cuando ésta se
encuentre disponible.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 40
Integración TpvpcImplantado Slim Pack

7. ANEXO III. Diccionario de Datos

A continuación se describen todos los campos que se pueden encontrar


en los XML de respuesta de los distintos métodos de la librería.

• tarjeta: número de tarjeta. Constará de 15 a 19 posiciones. Este campo


solamente podrá ser informado si el comercio que realiza la transacción
tiene permiso para realizar entrada manual de datos. Consulte con su
Entidad si su comercio dispone de esta posibilidad.
• caducidad: caducidad de la tarjeta en formato AAMM. Este campo
solamente podrá ser informado si el comercio que realiza la transacción
tiene permiso para realizar entrada manual de datos. Consulte con su
Entidad si su comercio dispone de esta posibilidad.
• cvc2: código de tres dígitos de seguridad que viene impreso
generalmente en el reverso de la tarjeta, y que será necesario
dependiendo de la actividad del comercio. Consulte con su Entidad si su
comercio debe enviar obligatoriamente este campo.
• importe: Importe de la operación en formato N.NN. Ej: 1.00
• moneda: código de la moneda de la operación. Valores -> 978 (Euros),
840 (Dólares). Este dato depende de la moneda que tenga asociada el
terminal por el que se realice la operación.
• comercio: FUC o código del comercio. Consta de 9 dígitos.
• terminal: terminal en el que se realiza la operación. Numérico del 1 al
99. Es imprescindible que el terminal se encuentre dado de alta en
REDSYS antes de realizar alguna operación sobre él.
• csb: Merchant al que pertenece el terminal. Consta de 4 dígitos.
• factura: cadena alfanumérica que el comercio podrá utilizar como
identificador para asociar una venta con su transacción TPVPC
correspondiente. REDSYS no validará el formato ni la duplicidad de esta
cadena, siendo responsabilidad del comercio. El tamaño máximo de esta
cadena puede ser de 20 caracteres.
• pedido: número de pedido u operación asociado a la transacción. Este
número es devuelto por el TPVPC y servirá para identificar una
determinada operación en un comercio / terminal definido.
• identificadorRTS: identificador de la operación Esta cadena de 24
posiciones es devuelta por el TPVPC y servirá para identificar una
determinada operación en un comercio / terminal definido.
• tipoPago: tipo de operación que desea realizarse. Valores: PAGO ->
autorización normal, PREAUTORIZACION -> preautorización, RECARGA -
> recarga de móviles, PREAUT_REEMPLAZO -> reemplazo de
preautorizaciones, ANULACION -> anulación de preautorizaciones.
• firma: contiene la firma del mensaje en formato Hexadecimal (40
caracteres)
• fechaOperacion: fecha y hora de la operación en formato YYYY-MM-DD
hh:mm:ss.miliseg
• estado: estado de la operación. Valores -> F (finalizada), P(en
proceso), T(fallo técnico), G(Denegada)
• resultado: resultado de la operación. Valores -> Autorizada, Denegada.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 41
Integración TpvpcImplantado Slim Pack

• codigoRespuesta: contiene el código de autorización de la


operación, en el caso de operación Aceptada, o el código de denegación
en caso de que la operación hay sido Denegada (ver Anexo VII). Este
campo no se informa en el caso de las Devoluciones/Confirmaciones
Autorizadas.
• pedidoBase: número de pedido de la operación sobre la que se quiere
realizar una operación de devolución, confirmación, anulación o
reemplazo.
• idRTSOriginal: identificadorRTS de la operación original sobre la que se
realizará una operación de devolución, confirmación, anulación o
reemplazo.
• timestamp: fecha y hora en la que se monta el mensaje de petición, en
formato yyyyMMdd HHmmss. Este dato permitirá conocer si un mensaje
está caducado, con el fin de impedir que una persona no autorizada
reutilice el mensaje para realizar operaciones.
• descripcion: detalle del error producido. En caso de un error de
formato, se incluye el campo que provoca el error. La inclusión de este
campo en el mensaje de salida es opcional.
• mensaje: mensaje de información del error.
• codigo: código de error devuelto por el TPVPC
• codigoDivisa: código numérico asociado a la moneda en la que se
desea realizar la transacción DCC (Dynamic Currency Conversion).
• importeDivisa: Importe resultante de la operación DCC en la divisa
especificada en el codigoDivisa.
• importeOriginal: Importe del que se desea obtener el cambio en la
correspondiente divisa para operaciones DCC. El código de la moneda
asociada a dicho importe se especifica en el atributo ‘codMoneda’. Si no
se informa dicho atributo, toma el valor por defecto ‘978’ (EURO).
• tasaCambio: cambio aplicado para realizar la conversión de moneda
para la operativa DCC.
• nombreDivisa: nombre de la moneda en la que se desea realizar la
transacción DCC (Dynamic Currency Conversion).
• simboloDivisa: codigo reducido que identifica a la moneda en la que se
desea realizar la transacción DCC.
• formatoDivisa: número de decimales de la moneda en la que se desea
realizar la transacción DCC.
• porcentajeComision: comisión (en %) que se aplica para calcular el
importe de la divisa.
• tasaDivisaConComision: cambio aplicado para realizar la conversión
de moneda para la operativa DCC (igual que tasaCambio).
• tasaDivisaSinComision: cambio aplicado para realizar la conversión de
moneda para la operativa DCC sin aplicarle el porcentaje de la comisión.
• literal: literales que devuelve el TPVPC y que deben aparecer en la
boleta que imprime el comercio, en el orden en que se envían en el
mensaje de respuesta.
• numTeléfono (datosRecarga): número de teléfono a recargar.
• idOperador: identificador del operador al que está asociada la tarjeta
telefónica. Sus valores son 0 -> AMENA, 1 -> MOVISTAR, 2 ->
VODAFONE, 3 -> EUSKALTEL, 4 -> XFERA.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 42
Integración TpvpcImplantado Slim Pack

• idTransOperador: número de referencia asignado a la transacción por


el operador correspondiente. Este valor debe aparecer en el recibo de la
operación.
• plazoPago: código de fraccionamiento que indica el tipo de
aplazamiento que se realizará.
• tarjetaComercioRecibo: número de la tarjeta que se imprimirá en el
recibo del comercio. Esta se imprimirá en la boleta asteriscada o no
dependiendo de la configuración del comercio para su propia boleta.
• tarjetaClienteRecibo: número de la tarjeta que se imprimirá en el
recibo del cliente. Esta se imprimirá en la boleta asteriscada o no
dependiendo de la configuración del comercio para la boleta del cliente.
• titularTarjeta: nombre del titular de la tarjeta.
• tipoOperacion: tipo de la operación realizada (Autorizacion,
Preaurorizacion, Devolucion, Confirmacion).
• fechaOper: fecha de la operación en formato YYYY-MM-DD para las
consulta de una operación.
• operacionemv: Indica que se trata de una operación EMV.
• conttrans: Contador de transacciones recibido de tarjeta EMV.
• sectarjeta: Campo recibido de tarjeta EMV.
• idapp: Campo recibido de tarjeta EMV.
• etiquetaApp: Campo recibido de tarjeta EMV
• resverificacion: Campo recibido de tarjeta EMV.
• marcaTarjeta: Indica la marca de la tarjeta utilizada en la operación.
Sus posibles valores son:

Marca Indicador
VISA 1
MASTERCARD 2
DINERS 6
AMEX 8
JCB 9
CUP 22

• paisTarjeta: Indica el código ISO-3166 numérico de 3 cifras de la


tarjeta. Sólo disponible en determinadas operativas.
• tipoTasaAplicada: Indica la tasa aplicada (Crédito / Débito) en la
respuesta de las autorizaciones OK de tarjetas nacionales en terminales
nacionales. Sus valores son Crédito -> CRED, Débito -> DEB.
• ReciboSoloCliente: Indicador para imprimir sólo el recibo para el
cliente.
• reciboOpcional: Indicador que permite no imprimir recibos, siempre
que se reciba en la respuesta con valor TRUE.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 43
Integración TpvpcImplantado Slim Pack

• autenticadoPorPin: Indicador de autenticación por pin, afecta a la


impresión de recibo. No se debe imprimir el recuadro de firma, en el
Recibo para el comercio, ya que el usuario se autentico introduciendo el
PIN de su tarjeta.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 44
Integración TpvpcImplantado Slim Pack

8. ANEXO IV. Códigos Error TPVPC

Durante una operación pueden producirse errores que la llamada


devolverá en formato xml con los datos del error.

Ejemplo:

<Operaciones>
<Error>
<codigo>TPV-PC_EMV0002</codigo>
<mensaje>Operación CANCELADA. Código de Error [0002]</mensaje>
<descripcion>XXX-XXX</descripcion>
</Error>
</Operaciones>

En la XSD del servicio están definidos estos campos para su tratamiento


y validación.

A continuación se detallan los códigos de error más comunes que puede


devolver el TPVPC:

SOAP-TPVPC0000 Se ha producido un error al validar el mensaje.

SOAP-TPVPC0001 Error genérico.


SOAP-TPVPC0002 Firma incorrecta.
SOAP-TPVPC0003 La versión del mensaje no está soportada.
El mensaje no contiene los elementos
SOAP-TPVPC0004
requeridos.
Algunos elementos no contienen los valores
SOAP-TPVPC0005
esperados.
SOAP-TPVPC0006 El mensaje está caducado.
SOAP-TPVPC0007 Se ha producido un error desconocido.
La versión del mensaje no soporta la operativa
SOAP-TPVPC0008
especificada.
El mensaje de petición de consulta no puede
SOAP-TPVPC0009 incluir banda y número de tarjeta en el mismo
mensaje.

El método al que se envía la no es el adecuado.


SOAP-TPVPC0010

No existe una operación con esos datos.


SOAP-TPVPC0014

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 45
Integración TpvpcImplantado Slim Pack

Clave no localizada
SOAP-TPVPC0015
El importe de la devolución supera el importe de
TPVPC0009
la operación original.
Se ha producido un error en el sistema.
TPVPC0014 Inténtelo más tarde, o póngase en contacto con
el Administrador.
Faltan datos para llevar a cabo la operación
TPVPC0015
solicitada.
El comercio no posee ningún terminal TPVPC
TPVPC0016
válido.
La tarjeta no se ha leído correctamente.
TPVPC0018 Asegúrese de que la asociación lector/terminal
es la correcta, e inténtelo de nuevo.
La tarjeta no se ha leído correctamente.
TPVPC0019 Asegúrese de que la asociación lector/terminal
es la correcta, e inténtelo de nuevo.
Se ha producido un error al realizar la operación.
TPVPC0020
Inténtelo de nuevo.
No se han recibido todos los datos necesarios
TPVPC0021
para modificar su contraseña.
La contraseña especificada no puede ser
TPVPC0024 utilizada por motivos de seguridad. Por favor,
indique otra.
El formato del número de tarjeta introducido no
TPVPC0025
es válido.
La tarjeta no se ha leído correctamente.
TPVPC0026 Asegúrese de que la tarjeta está en buen
estado, e inténtelo de nuevo.
El formato de la fecha de caducidad introducida
TPVPC0027
no es válido.
El sistema está ocupado. Reinténtelo de nuevo
TPVPC0030 en unos instantes. Si el problema persiste,
póngase en contacto con su administrador.
Se ha producido un error al realizar la operación.
TPVPC0031
Inténtelo de nuevo.
El sistema no puede acceder a las operaciones
TPVPC0032
requeridas en este momento.
TPVPC0033 Faltan datos para realizar la autenticación.
TPVPC0034 El usuario con el que intenta acceder ha sido

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 46
Integración TpvpcImplantado Slim Pack

bloqueado. Póngase en contacto con su


administrador para desbloquearlo.
El usuario con el que intenta acceder está dado
TPVPC0035 de baja. Póngase en contacto con su
administrador.
Faltan datos para llevar a cabo la operación
TPVPC0036
solicitada.
El sistema no puede acceder al usuario
TPVPC0037
especificado en este momento.
El perfil del usuario especificado sólo tiene
TPVPC0039 acceso al Módulo de Administración TPVPC. Por
favor, indique otro usuario.
El sistema no ha podido completar la operación
TPVPC0040
especificada. Por favor, inténtelo de nuevo.
El sistema no soporta actualmente el método de
TPVPC0042 autenticación especificado. Por favor,
modifíquelo en intente de nuevo la operación.
Está intentando realizar una operación de alta
TPVPC0043
sobre un usuario ya existente.
El formato del número de teléfono introducido
TPVPC0044
no es válido.
El medio de pago especificado no es válido, o no
TPVPC0048 es soportado por el comercio. Por favor, póngase
en contacto con su administrador.
No se han definido criterios suficientes para
TPVPC0051
realizar la operación solicitada.
La contraseña no es correcta, inténtelo de
TPVPC0052
nuevo.
TPVPC0053 El usuario especificado no existe.
El comercio no tiene habilitada la operativa de
TPVPC0055
Entrada Manual de datos.
El usuario ha sido creado satisfactoriamente,
pero se ha producido un error al término de la
TPVPC0056 operación. Si este problema persiste en el
futuro, póngase en contacto con su
administrador.
TPVPC0057 El código de entidad especificado no existe.
La moneda especificada no coincide con la
TPVPC0058
moneda del terminal.
TPVPC0059 El sistema no puede acceder al terminal

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 47
Integración TpvpcImplantado Slim Pack

especificado. Asegúrese de que el terminal


existe, e intente de nuevo la operación.
No existe ningún terminal apropiado para tratar
TPVPC0060
la marca de tarjeta introducida.
El sistema no ha podido completar la operación
TPVPC0061
especificada. Por favor, inténtelo de nuevo.
El usuario ha sido modificado satisfactoriamente,
pero se ha producido un error al término de la
TPVPC0062 operación. Si este problema persiste en el
futuro, póngase en contacto con su
administrador.
El sistema no ha podido completar la operación
TPVPC0063
especificada. Por favor, inténtelo de nuevo.
El usuario ha sido dado de baja
satisfactoriamente, pero se ha producido un
TPVPC0064 error al término de la operación. Si este
problema persiste en el futuro, póngase en
contacto con su administrador.
TPVPC0065 El usuario especificado ya está dado de baja.
No se han encontrado usuarios que cumplan los
TPVPC0066
criterios de búsqueda definidos.
El comercio no tiene habilitada la operativa de
TPVPC0071
Preautorizaciones.
La operación no puede completarse debido a que
TPVPC0072 no se ha recibido el dato de autenticación de la
tarjeta: CVC2.
El CVC2 introducido no coincide con el
especificado en la tarjeta. Asegúrese de que ha
TPVPC0074
introducido correctamente los dígitos que figuran
en el reverso de la tarjeta.
El perfil del usuario especificado no tiene acceso
TPVPC0075
al TPVPC.
Acceso denegado al sistema. El mensaje de
TPVPC0077 acceso no es válido. Comprueba el formato del
mensaje, la firma y la fecha del mismo.
Está intentando realizar una operación sobre la
TPVPC0078 que no tiene permisos asignados. Por favor,
póngase en contacto con su Administrador.
El comercio / terminal que ha especificado no
TPVPC0079 existe. Asegúrese de que ha introducido
correctamente los datos y póngase en contacto

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 48
Integración TpvpcImplantado Slim Pack

con su Administrador.
Contraseña incorrecta. Para realizar la operación
TPVPC0081 requerida es necesario que especifique su
contraseña actual.
La configuración de su lector no es la correcta.
TPVPC0083 Por favor, reintente la operación y consulte con
su Administrador.
La tarjeta no se ha leído correctamente.
Compruebe el estado de la tarjeta y que el lector
TPVPC0084
sea el correcto, o póngase en contacto con su
Administrador
La tarjeta no se ha leído correctamente.
TPVPC0085 Asegúrese de que la tarjeta está en buen
estado, e inténtelo de nuevo.
El sistema está ocupado. Reinténtelo de nuevo
TPVPC0087 en unos instantes. Si el problema persiste,
póngase en contacto con su administrador.
Se ha producido un error al realizar la operación.
TPVPC0089
Inténtelo de nuevo.
El terminal no tiene asociado ningún lector
TPVPC0090 válido. Por favor, configure el terminal o
póngase en contacto con el Administrador.
Se ha producido un error. La operación
TPVPC0091
especificada no existe.
Se ha producido un error al realizar la operación.
TPVPC0092
Inténtelo de nuevo.
Se ha producido un error al realizar la operación.
TPVPC0093
Inténtelo de nuevo.
No es posible realizar más confirmaciones sobre
TPVPC0094
la preautorización original.
Se ha producido un error en el sistema. El
TPVPC0096
formato de los datos pasados no es correcto.
Su contraseña no puede modificarse. Ya ha
TPVPC0097 realizado las modificaciones permitidas para
hoy.
El comercio no está habilitado para operar con la
TPVPC0099
tarjeta de fidelización indicada.
No puede realizar una
TPVPC0100 DEVOLUCION/CONFIRMACION sobre la
operación especificada.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 49
Integración TpvpcImplantado Slim Pack

TPVPC0101 La firma no es correcta.


El certificado no es válido o no está firmado por
TPVPC0102
una CA en la que se confíe.
El certificado que está intentando asociar ya está
TPVPC0103
asociado a otro usuario.
La tarjeta no está asociada a ningún usuario
TPVPC0104
válido en TPV_PC.
El comercio no tiene configurada la moneda
TPVPC0107
especificada.
Se ha producido un error al realizar la
TPVPC0108
conversión de divisas.
La tarjeta no admite el pago en la divisa
TPVPC0109
especificada.
TPVPC0110 El número de plazos indicado no es válido.
El importe de una recarga para la operadora
TPVPC0112
especificada debe ser múltiplo de 5.00 Euros.
El importe de una recarga para la operadora
TPVPC0113
especificada debe ser múltiplo de 10.00 Euros.
El comercio no tiene habilitada la operativa de
TPVPC0114
Entrada Manual de datos.
La tarjeta utilizada no admite aplazamiento de
TPVPC0115
pagos.
El sistema ya está procesando una operación
TPVPC0117 con los mismos datos. Si desea realizar una
nueva operación, reinténtelo en unos instantes.
El sistema ha detectado que existe una
operación anterior con los mismos datos, con
TPVPC0118
resultado AUTORIZADA. Si desea duplicar la
operación, reinténtelo en unos instantes.
El sistema ha detectado que existe una
operación anterior con los mismos datos, con
TPVPC0119
resultado de ERROR. Si desea repetir de nuevo
la operación, reinténtelo en unos instantes.
El sistema ha detectado que existe una
operación anterior con los mismos datos, con
TPVPC0120 resultado RECHAZADA. Si desea repetir de
nuevo la operación, reinténtelo en unos
instantes.
No se puede realizar la acción requerida sobre la
TPVPC0121
operación.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 50
Integración TpvpcImplantado Slim Pack

No se ha podido llevar a cabo la operación


TPVPC0122
solicitada debido a un error en el importe.
No se puede realizar la acción requerida sobre
TPVPC0123
una operación que resultó errónea o denegada.
No se puede realizar la acción requerida debido
TPVPC0124
a un error.
TPVPC0126 La tarjeta utilizada no es válida.
No existe ninguna lista negra para el comercio
TPVPC0127
especificado.
No se puede actualizar la información de la
TPVPC0128
descarga para el comercio.
No se puede asignar la operativa de Lista Negra
TPVPC0129 al comercio. No existe ninguna lista negra
definida para ese comercio.
TPVPC0131 El comercio no tiene activada esta operativa.
TPVPC0135 Error al tratar mensaje PUP.
TPVPC0148 No es posible realizar el aplazamiento del pago.
TPVPC_EMV0000 Error interno en el protocolo TPVPC EMV
TPVPC_EMV0001 Error interno en el protocolo TPVPC EMV
TPVPC_EMV0002 Error interno en el protocolo TPVPC EMV
TPVPC_EMV0003 Error interno en el protocolo TPVPC EMV
TPVPC_EMV0004 Error en el proceso TLS.
TPVPC_EMV0005 Pin OnLine Solicitado no Introducido.
TPVPC_EMV0006 Terminal no Operativo. Sin Claves Simétricas.
La configuración especificada no es correcta.
AX-TPVPC0001 Revise el campo descripción para más
información.
Error en la comunicación con TPVPC. Revisar
AX-TPVPC0002
conexión con Internet.
Error en la comunicación con el PinPad. Revise
AX-TPVPC0003
configuración y conexión física con el dispositivo.
Problema en la configuración del Puerto de
AX-TPVPC0004
comunicaciones.
Error en el componente ActiveX de comunicación
AX-TPVPC0005
con Pinpad. Es necesario reinstalar aplicación.
AX-TPVPC0006 Error en el PinPad, mensaje recibido no valido.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 51
Integración TpvpcImplantado Slim Pack

9. ANEXO V. Códigos de Denegación

Cuando una petición de autorización da como resultado una operación


denegada, en el campo codigoRespuesta se devuelve el código de
denegación asociado a dicha respuesta. Este código indica el motivo por
el cual se ha denegado la operación.
Los códigos más comunes se detallan a continuación:

Código Descripción
101 La tarjeta está caducada
102 Tarjeta bloqueada por el banco emisor
104 Operación no permitida para esa tarjeta o terminal
106 Intentos de PIN excedidos
107, 167 Por favor, contacte con el banco emisor de la tarjeta
109 Identificación inválida de terminal o establecimiento
110 Importe inválido
112 Se requiere PIN obligatorio
114 Tarjeta no soporta el tipo de operación solicitado
116 Disponible insuficiente
117 PIN incorrecto
118 Tarjeta no registrada
119 Desconocido
120 Operaciones denegadas por SIS
121 Excede límite de importe en anticipos de efectivo
122 Denegación por controles sobre el VCA
123 CAUV erróneo
124 Titular necesita cambio de PIN previo a operar
125 Tarjeta no efectiva
126 Bloque de PIN inválido
129 Tarjeta no operativa (error en CVC2)
130 Moneda no soportada por el emisor
El terminal indica que la operación de consumo CEPS no ha
160
finalizado correctamente
161 Marca no admitida por el emisor

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 52
Integración TpvpcImplantado Slim Pack

180 Tarjeta no soportada por el sistema


181 Tarjeta con restricciones débito
182 Tarjeta con restricciones crédito
183 Tarjeta con restricciones débito (cuenta de crédito)
184 Error en autenticación
185 Control dispositivos no adaptados EMV
187 Error en criptografía EMV
190 Denegada por el banco emisor de la tarjeta, por diversos motivos
191 Fecha de caducidad errónea
192 Datos de case no encontrados
193 Importe excedido
194 Rechazo por el operador telefónico
195 Control Fallback
198 Denegación DCC para envío de contravalores
201 Tarjeta caducada. Orden de retirar la tarje
202, 208,
Tarjeta bloqueada por el banco emisor. Orden de retirar la tarjeta
209
204 Operación no permitida para esa tarjeta o terminal
206 Intentos de PIN excedidos. Retener tarjeta
207 Tarjeta en condiciones especiales. Retener tarjeta
210 Retención por controles sobre el VCA
280 CVV1/CVC1 o CVV2/CVC2 erróneo. Retener tarjeta
290 Denegada por diversos motivos. Orden de retirar la tarjeta
912 Número de tarjeta inexistente

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 53
Integración TpvpcImplantado Slim Pack

10. ANEXO VI. Ejemplos Impresión de Recibos

A continuación se muestran ejemplos de cómo el TpvpcImplantado


SlimPack realiza las impresiones de recibos en Modo Transparente.

10.1 Recibo para una operación realizada con Lectura de


Banda o Entrada Manual de Datos

REDSÝS

REDSÝS

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 54
Integración TpvpcImplantado Slim Pack

10.2 Recibo para una operación realizada con una Tarjeta


con Chip EMV con PIN

REDSÝS REDSÝS

10.3 Recibo para una operación realizada con una Tarjeta


DCC

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 55
Integración TpvpcImplantado Slim Pack

REDSÝS

REDSÝS

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 56
Integración TpvpcImplantado Slim Pack

10.4 Ejemplo de Recibo de una operación en la que se recibe


el elemento <ReciboSoloCliente>
En algunos PinPad, existe la posibilidad de capturar la firma por el propio PinPad, con
lo que no es necesario imprimir el “Ejemplar para el comercio”.

REDSÝS

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 57
Integración TpvpcImplantado Slim Pack

10.5 Ejemplo de Recibo Operación Contactless

Cuando se realiza una operación contactless se imprimirá el texto


CONTACTLESS en el recibo:

REDSÝS
REDSÝS

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 58
Integración TpvpcImplantado Slim Pack

10.6 Ejemplo de recibo de una devolución

REDSÝS REDSÝS

10.7 Ejemplo de recibo de devolución sin original

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 59
Integración TpvpcImplantado Slim Pack

10.8 Ejemplo de recibo de devolución DCC

REDSÝS REDSÝS

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 60
Integración TpvpcImplantado Slim Pack

11. ANEXO IX. Al llamar a la función de Pago,


Preautorización, Confirmación o Devolución nos
devuelve el código -2

En algunos casos, debido en la mayoría de los casos por un problema en


la línea de conexión a Internet, o fallo en el dispositivo (en el caso de las
operaciones de Pago o Preautorización realizadas desde el PinPad) las
siguientes funciones nos pueden devolver el código de retorno -2:

¿Qué hacer en estos casos?

Esta práctica no es obligatoria, pero sí muy recomendable, ya que


evitará el tener que consultar la operación manualmente desde el
módulo de administración, para comprobar si la operación resultó
Autorizada o Denegada.
De esta forma, la aplicación del comercio, automáticamente, podrá
decidir si es necesario volver a enviar la transacción o simplemente,
imprimir el recibo con el justificante del Pago.

Ejemplo: Se realiza una operación por 1.00 Euros

Capturamos la hora actual del Sistema: Por ejemplo, 20080109 101525.


Todos los lenguajes de desarrollo disponen de funciones para recuperar
la hora del Sistema.
Resultado = fnDllOperPinPad(“1.00”, “FAC123456789”, “PAGO”,
cXMLResp, 1024)

Si Resultado es igual a -2:

Realizamos una operación de consulta con el intervalo temporal definido


entre diez minutos antes y diez minutos después de la hora de la
operación original.
ResultCstr = fnDllOperConsulta(null, null, “FAC123456789”,
“20080109 100525”, “20080109 102525”, “PAGO”, null, “0”,
cXMLResp, 1024);

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 61
Integración TpvpcImplantado Slim Pack

Si ResultCstr es igual a 0, en la variable cXMLResp tendremos un xml


como el que se muestra a continuación:

<?xml version="1.0" encoding="utf-8"?>


<consultas version="2.1">
<resultadoConsulta>
<operacion>
<tipoOper>Autorizacion</tipoOper>
<tarjeta>************2219</tarjeta>
<caducidad>4912</caducidad>
<importe>1.00</importe>
<moneda>978</moneda>
<terminal>1</terminal>
<pedido>2756</pedido>
<identificadorRTS>070001080109120353167980</identificadorRTS>
<identificadorRTSBase></identificadorRTSBase>
<fechaOperacion>2008-01-09 12:03:52.0</fechaOperacion>
<factura>FAC123456789</factura>
<estado>F</estado>
<resultado>AUTORIZADA</resultado>
<codigoRespuesta>2</codigoRespuesta>
</operacion>
<numoperaciones>1</numoperaciones>
<numpagina>0</numpagina>
<totalpaginas>1</totalpaginas>
<comercio>777888991</comercio>
<timestamp>20080109 120422</timestamp>
<firma>089A2555411FF75D1E0DE794421411CF110EF638</firma>
</resultadoConsulta>
</consultas>

NOTA: En este caso la operación resulto Autorizada.

Si ResultCstr es igual a -2, se deberá revisar la conexión a


Internet, si el problema persiste, contactar con la entidad para
informar de la Incidencia.

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 62
Integración TpvpcImplantado Slim Pack

12. ANEXO X. Operativas Adicionales

En este Anexo, se describe la operativa adicional que sale del flujo


normal de las transacciones descritas en los puntos anteriores.
Esta operativa no se activa por defecto, por tanto, será
responsabilidad del comercio solicitar su activación a la entidad.
La configuración se realiza en base al comercio y al número de
terminal.

12.1 Operativa DCC realizadas directamente en PinPad.

Algunos modelos de PinPad disponen de la posibilidad de que el Titular


seleccione la moneda de la transacción en el propio dispositivo, con lo
que para la aplicación que utilice la librería será transparente y no
tendrá que mostrar ningún mensaje al Titular.
Ejemplos de Operaciones DCC realizada en un dispositivo con capacidad
DCC:
Llamada:

resultado = fnDllOperPinPad(“10.00”, “OPER DCC PINPAD”, “PAGO”,


cXMLResp, 1024)

Respuesta:

El Titular decide pagar en su moneda:

<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>10.00</importe>
<moneda>978</moneda>
<tarjetaClienteRecibo>************8095</tarjetaClienteRecibo>
<tarjetaComercioRecibo>************8095</tarjetaComercioRecibo>
<marcaTarjeta>1</marcaTarjeta>
<caducidad>0000</caducidad>
<comercio>777888991</comercio>
<terminal>5</terminal>
<pedido>2334</pedido>
<identificadorRTS>070001080616124524332822</identificadorRTS>
<factura>OPER DCC PINPAD</factura>
<fechaOperacion>2008-06-16 12:45:15.0</fechaOperacion>
<codigoDivisa>826</codigoDivisa>
<importeDivisa>7.02</importeDivisa>
<tasaCambio>1.424209</tasaCambio>
<tasaDivisaSinComision>1.449133</tasaDivisaSinComision>

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 63
Integración TpvpcImplantado Slim Pack

<pocentajeComision>1.7500</pocentajeComision>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>022824</codigoRespuesta>
<Literales>
<literal>I ACCEPT THAT I HAVE BEEN OFFERED A CHOICE OF CURRENCIES FOR
PAYMENT. I ACCEPT THE CONVERSION RATE AND FINAL AMOUNT. I UNDERSTAND
THAT THE CHOICE OF TRANSACTION CURRENCY IS FINAL.</literal>
<literal>
</literal>
<datosDCC>
<linLitTrans>TRANSACTION CURRENCY</linLitTrans>
<linLitDivisa>GBP</linLitDivisa>
<linMarca>WHOLESALE RATE PROVIDED BY VISA</linMarca>
<linMarkUp>MARK-UP: 1.7500 %</linMarkUp>
<linLitComision>NO COMMISSION</linLitComision>
<linLitEntidad>SERVICE AND#N#EXCHANGE RATE PROVIDED
BY#N#REDSYS</linLitEntidad>
<linCambio>GBP 1.00 = 1.424209 EUR</linCambio>
<linLitInf>Questions, if any, please#N#call (+34) 91 343 32 18#N#</linLitInf>
</datosDCC>
</Literales>
<firma>84F71795299CC2AA4657E26E9070CD3DE697CDEB</firma>
</resultadoOperacion>
</Operaciones>

El Titular decide pagar en la moneda del comercio (no hay operativa


DCC):

<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>10.00</importe>
<moneda>978</moneda>
<tarjetaClienteRecibo>************8095</tarjetaClienteRecibo>
<tarjetaComercioRecibo>************8095</tarjetaComercioRecibo>
<marcaTarjeta>1</marcaTarjeta>
<caducidad>0000</caducidad>
<comercio>777888991</comercio>
<terminal>5</terminal>
<pedido>2335</pedido>
<identificadorRTS>070001080616124952332823</identificadorRTS>
<factura>OPER EURO PINPAD</factura>
<fechaOperacion>2008-06-16 12:49:42.0</fechaOperacion>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>062324</codigoRespuesta>
<Literales>
<literal></literal>
</Literales>
<firma>BDD7ED68B1E775594DC9540CBE9E77A68540E2F4</firma>
</resultadoOperacion>
</Operaciones>

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 64
Integración TpvpcImplantado Slim Pack

13. ANEXO XII. Tratamiento PIN

Cuando una operación requiere autenticación de titular mediante PIN


desde el dispositivo PinPad, no es necesario la realización de firma (ya
sea manual o digitalizada) por parte del titular de la tarjeta. El resultado
se mostrará en la respuesta mediante el elemento <autenticadoPorPin>
como se muestra en el ejemplo siguiente:

<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>0.04</importe>
<moneda>978</moneda>
<tarjetaClienteRecibo>************0018</tarjetaClienteRecibo>
<tarjetaComercioRecibo>************0018</tarjetaComercioRecibo>
<marcaTarjeta>2</marcaTarjeta>
<caducidad>0000</caducidad>
<comercio>123443210</comercio>
<terminal>1</terminal>
<pedido>41726</pedido>
<tipoTasaAplicada>DEB</tipoTasaAplicada>
<identificadorRTS>078090090121171735362923</identificadorRTS>
<fechaOperacion>2009-01-21 18:19:03.0</fechaOperacion>
<titularTarjeta>DE PRUEBAS N1/TARJETA </titularTarjeta>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>070567</codigoRespuesta>
<Literales>
<literal></literal>
<autenticadoPorPin>OPERACION CON PIN. FIRMA NO
NECESARIA.</autenticadoPorPin>
</Literales>
<firma>24008043E0FEEE639C930EC7B82294A6FA7A8BFF</firma>
</resultadoOperacion>
<operacionemv>true</operacionemv>
<resverificacion>000000C000</resverificacion>
<conttrans>000724</conttrans>
<sectarjeta>00</sectarjeta>
<idapp>A0000000043060</idapp>
<etiquetaApp>MAESTRO</etiquetaApp>
<codrespauto>00</codrespauto>
<autenticadoPorPin>TRUE</autenticadoPorPin>
</Operaciones>

Redsys · C/ Francisco Sancha, 12 · 28034 · Madrid · ESPAÑA

Ref SM.DE.DNC.MAN.0046 09/02/2018

Versión: 1.1 65

También podría gustarte