Вы находитесь на странице: 1из 97

Integracion TpvpcImplantado

Versin: 2.22
19/04/2012

Referencia SM.DE.DNC.MAN.0046

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
i

Integracion TpvpcImplantado

La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproduccin, venta, o cesin a terceros

Autorizaciones y control de versin

AUTOR: Redsys

VALIDADO POR:

APROBADO POR:

EMPRESA: Redsys

EMPRESA: Redsys

EMPRESA: Redsys

Firma:

Firma:

Firma:

Fecha: 01/04/2011

Fecha: 01/04/2011

Fecha: 01/04/2011

Comentarios: La gestin de la documentacin impresa es responsabilidad de la persona que la imprime.


Las versiones impresas de los documentos no garantizan ser la ltima versin aprobada. Para consultar la ltima
versin acceder a la base de datos de Alejandra.

Versin

Fecha

Afecta

Breve descripcin del cambio

2.8

12/02/10

Documentacin

Se actualiza el formato del documento.

2.9

12/05/10

Documentacin

Se aade un la ruta de un ejemplo de


Integracin en Visual Basic .Net

2.10

12/05/10

Documentacin

Arreglados errores en seccin consultas

2.11

29/09/10

Documentacin

Agregados errores AX-TPVPCXXXX del


componente ActiveX de comunicacin con
PinPad.

2.12

18/10/10

Documentacin

Se elimina la operativa PAN en claro antes


de transaccin.

2.13

25/11/10

Documentacin

Se aade la operativa de devoluciones con


lectura.

2.14

01/12/10

Documentacin

Actualizacin de cdigos de denegacin

2.15

28/12/10

Documentacin

Actualizacin de cdigos de error de


operacin

2.16

04/02/11

Documentacin

Integracin versin Linux

2.17

16/02/11

Documentacin

Integracin versin JAVA

2.18

01/03/11

Documentacin

Se especifica que la devolucin con tarjeta


no es vlida para Windows Mobile

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
ii

La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproduccin, venta, o cesin a terceros

Integracion TpvpcImplantado

Se aaden varios cdigos de error para las


diferentes funciones.

2.19

10/03/11

Anexo III

2.20

24/05/11

Documentacin

Se aade la operativa de repeticiones de


pagos con tarjeta en archivo. Nueva
plantilla de documentacin.

2.21

12/12/11

Documentacin

Se aade la operativa de reemplazo de


preautorizaciones en el interfaz ActiveX.

2.22

19/04/12

Documentacin

Se actualizan las etiquetas del mensaje


DCC.
Se actualizan referencias a REDSYS.

2.23

6/6/12

Documentacin

Adaptacin imgenes Redsys

2.24

27/7/12

Documentacin

Inclusin de operativa contactless

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
iii

Integracion TpvpcImplantado

La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproduccin, venta, o cesin a terceros

NDICE DE CONTENIDO

1.

Introduccin ........................................................................................ 1

2.

Destinatarios ........................................................................................ 1

3.

Integracin TpvpcImplantado .............................................................. 2

3.1

Iniciar Comunicacin en Modo Transparente .......................................... 3

3.2

Iniciar Comunicacin en Modo Interfaz de Usuario .................................. 4

3.3

Detener la Comunicacin .................................................................... 5

3.4

Realizar un Pago o una Preautorizacin utilizando un dispositivo PinPad .... 6

3.5

Realizar un Pago o Preautorizacin introduciendo manualmente los datos


de la tarjeta ....................................................................................... 7

3.6

Cmo validar si la operacin result AUTORIZADA? ..............................10

3.7

Realizar una operacin de Confirmacin o Devolucin ............................11

3.8

Cmo realizar una Devolucin/Confirmacin desde otro terminal? ..........13

3.9

Realizar una operacin de Devolucin con lectura desde el Pinpad ...........14

3.10 Cmo validar si la operacin result AUTORIZADA? ..............................16


3.11 Realizar una operacin de Devolucin sin Original ..................................16
3.12 Realizar una operacin de Devolucin sin Original introduciendo
manualmente los datos de la tarjeta ....................................................18
3.13 Cmo validar si la operacin result AUTORIZADA? ..............................19
3.14 Realizar consultas de Operaciones .......................................................20
3.15 Realizar Consulta de Totales ...............................................................23
3.16 Realizar Operacin DCC ......................................................................25
3.17 Realizar Operacin DCC con Entrada Manual de Datos ............................27
3.18 Ejemplo de Operacin DCC .................................................................28
3.19 Realizar una repeticin de pago con tarjeta en archivo ...........................33
4.

ANEXO I. Integracin ActiveX ............................................................ 35

5.

ANEXO II. Integracin Windows Mobile (Pocket PC) ......................... 38

6.

ANEXO III. Errores devueltos............................................................. 40

7.

ANEXO IV. Versiones Librera ............................................................. 46

7.1

Cundo debe realizarse una actualizacin de esta Librera? ...................46

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
iv

Integracion TpvpcImplantado

8.

ANEXO V. Diccionario de Datos .......................................................... 48

9.

ANEXO VI. Cdigos Error TPVPC ......................................................... 51

La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproduccin, venta, o cesin a terceros

10. ANEXO VII. Cdigos de Denegacin ................................................... 58


11. ANEXO VIII. Ejemplos Impresin de Recibos .................................... 60
11.1 Recibo para una operacin realizada con Lectura de Banda o Entrada
Manual de Datos: ..............................................................................60
11.2 Recibo para una operacin realizada con una Tarjeta con Chip EMV: ........61
11.3 Recibo para una operacin realizada con una Tarjeta DCC: .....................62
11.4 Ejemplo de Recibo de una operacin en la que se recibe el elemento
<ReciboSoloCliente>. ........................................................................63
11.5 Ejemplo de Recibo cuando se recibe elemento <autenticadoPorPin> ........64
11.6 Ejemplo de Recibo cuando se recibe elemento <operContactLess> ..........65
11.7 Ejemplo de Recibo cuando Deniega Tarjeta EMV ....................................67
12. ANEXO IX. Al llamar a la funcin de Pago, Preautorizacin,
Confirmacin o Devolucin nos devuelve el cdigo -2 ........................ 70
13. ANEXO X. Operativas Adicionales ....................................................... 72
13.1 Operativa DCC realizadas directamente en PinPad. ................................72
13.2 Inhibicin de recibo. ..........................................................................74
13.3 Ejemplo de Integracin ActiveX desde pgina HTML ...............................75
13.4 Ejemplo de Integracin de Librera .dll desde Aplicacin en C#................75
13.5 Ejemplo de Integracin de ActiveX desde Aplicacin Visual Basic 6.0 .......75
13.6 Ejemplo de Integracin de ActiveX desde Aplicacin Visual Basic .NET
(2005) .............................................................................................75
13.7 Ejemplo de Integracin de ActiveX desde Aplicacin PowerBuilder 11 .......76
13.8 Ejemplo de Integracin de Librera desde C# para Windows Mobile
(Pocket Pc) .......................................................................................76
13.9 Ejemplo de Integracin de ActiveX desde Aplicacin Java .......................76
13.10 Ejemplo de Integracin de Librera en Visual C++ 6.0 ............................77
14. ANEXO XI. Tratamiento Firma Digitalizada ......................................... 78
15. ANEXO XII. Tratamiento PIN.............................................................. 81
16. ANEXO XIII. Integracin Librera nativa C++ Linux ........................... 83
16.1 Requisitos mnimos de uso de la librera C++ Linux ...............................83

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
v

Integracion TpvpcImplantado

16.2 Integracin entorno Linux ...................................................................83


16.3 Ejemplo de Integracin de Librera en Linux: Librera dinmica ...............86

La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproduccin, venta, o cesin a terceros

17. ANEXO XIV. Integracin Librera JAVA ............................................... 88


17.1 Requisitos mnimos de la librera JAVA .................................................88
17.2 Desarrollo .........................................................................................88
17.3 Ejecucin ..........................................................................................88

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
vi

Integracion
racion TpvpcImplantado
Integ

1.

Introduccin
Este documento describe la integracin de aplicaciones propietarias
usadas en comercios, con TpvpcImplantado. Para facilitar la integracin
de las distintas aplicaciones, se suministra una librera dinmica (DLL)
que es compatible con prcticamente el 100% de los entornos de
desarrollos utilizados en sistemas operativos Microsoft Windows.
La librera puede utilizarse en dos Modos:

Modo Interfaz de Usuario / Latente, en este modo, toda


intervencin o mensajes que se deban mostrar al Titular de la
Tarjeta, lo realizar la propia aplicacin TpvpcImplantado. La
aplicacin del comercio, slo recibir el xml con el resultado de la
operacin.
Modo Transparente, la aplicacin del comercio ser la encarga
de mostrar todos los mensajes necesarios al comercio, la
aplicacin o librera TpvpcImplantado no mostrar ningn
mensaje.

La aplicacin TpvpcImplantado cuando se inicia en Modo Latente, recibe


las peticiones utilizando un puerto de comunicacin local (socket), con lo
que si el equipo dispone de Antivirus o algn programa de control, se
deber permitir a la aplicacin TpvpcImplantado, actuar como servidor.
Esta configuracin solo se ha de tener en cuenta cuando se inicie
la librera en modo Latente.

Esta librera se ir actualizando en funcin de los nuevos requerimientos


o funcionalidades. Se enviarn notificaciones de estas actualizaciones a
la direccin de correo electrnica indicada en la solicitud de alta. Si el
sistema detecta que se est usando una versin antigua, tambin lo
informar con un campo especifico en las respuestas, en el Anexo II se
indica esta informacin.

2.

Destinatarios
Este documento est destinado a:

COMERCIOS
ENTIDADES

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
1

Integracion
racion TpvpcImplantado
Integ

3.

Integracin TpvpcImplantado
A continuacin se describen todas las funciones exportadas por la
librera y un ejemplo de acceso a estas funciones en el lenguaje C#
.NET.
Antes de poder realizar cualquier operacin, es necesario inicializar la
comunicacin con TpvpcImplantado, para ello existen dos modos:
1. Modo Transparente, la aplicacin del comercio se encargar de
interactuar con el usuario.
2. Modo Interfaz de Usuario, la aplicacin del comercio pasar
los datos a la aplicacin TpvpcImplantado, y esta se encargar de
interactuar con el usuario.

La operacin de inicializacin, slo se debe realizar cada vez que


se inicie la aplicacin, una vez inicializada, ya no es necesario realizar
este proceso.
En las siguientes URLs se pueden obtener las ltimas versiones del
TpvpcImplantado, y la librera de integracin, para aplicaciones
propietarias:
Entorno de Real:
http://sis-d.sermepa.es/TPV_PC/implantado.html

Entorno de Pruebas:
http://sas-d.sermepa.es/TPV_PC/implantado.html

Muy importante, aclarar que la versin de librera del entorno de


pruebas slo es vlida para este entorno, una vez realizadas las
pruebas en el entorno de pruebas, se debe utilizar y distribuir en
el caso de que fuese necesario, la versin descargada desde la
URL indicada en Entorno de Real.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
2

Integracion
racion TpvpcImplantado
Integ

3.1

Iniciar Comunicacin en Modo Transparente


Parmetros de entrada/salida:
cComercio, nmero de comercio. Este dato es facilitado por la entidad.
cTerminal, nmero de terminal. Este dato es facilitado por la entidad.
cClaveFirma, clave de firma del comercio. Este dato es facilitado por la
entidad.
cConfPuerto, parmetro opcional
que indica la configuracin de
puerto. A partir de la versin 1.0.4.0, este parmetro no debe
indicarse, se recuperar la configuracin establecida en el TPVPC.
Para PinPad conectados a puerto serie:
COM<puerto>:,19200,N,8,1
Para PinPad conectados a puerto USB, se define dependiendo del
modelo:

Modelo i6280, se debe utilizar la cadena USB,2816,25216,2,2.


Modelo i6550, se debe utilizar la cadena USB,2816,25936,2,2.

cVersion, parmetro opcional que indica la versin de protocolo a


utilizar. A partir de la versin 1.0.4.0, este parmetro no debe
indicarse, se recuperar la configuracin establecida en el TPVPC.
Valores posibles 3.0, 3.1, 4.0, 4.1 o 4.2. Esta versin vara
en funcin de la versin de software del modelo de pinpad. La
versin actual es la versin 4.1.

Valor devuelto:
0, se inici correctamente la aplicacin.
Distinto de 0, indica un error en la operacin. 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);

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
3

Integracion
racion TpvpcImplantado
Integ

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

3.2

Iniciar Comunicacin en Modo Interfaz de Usuario


Parmetros de entrada/salida:

cUsr, nombre o identificador de usuario. Este dato es facilitado por la


entidad.
cClave, clave de acceso del usuario. Este dato es facilitado por la
entidad.
cModo, indica el
TpvpcImplantado.

modo

en

el

que

se

inicializar

la

aplicacin

1 -> Modo Interfaz de Usuario.

int fnDllIniTpvpcLatenteExt(LPCTSTR
LPCTSTR cModo);

cUsr,

LPCTSTR

cClave,

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllIniTpvpcLatenteExt(String
cUsuario, String cClave, String cModo);

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllIniTpvpcLatenteExt Lib


"dllTpvpcLatente.dll" (ByVal cUsuario As String, ByVal cClave
As String, ByVal cModo As String) As Integer

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
4

Integracion
racion TpvpcImplantado
Integ

Una vez inicializada la aplicacin en cualquiera de sus modos, ya se


pueden realizar cualquiera de las operaciones ofrecidas por la librera.
Muy importante, recordar que esta funcin slo es necesario llamarla la
primera vez que se inicie la aplicacin, o cuando se quiera cambiar los
datos de comercio o usuario.

3.3

Detener la Comunicacin
No tiene parmetros 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
"dllTpvpcLatente.dll" () As Integer

Lib

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
5

Integracion
racion TpvpcImplantado
Integ

3.4

Realizar un Pago o una Preautorizacin utilizando un


dispositivo PinPad
Parmetros de entrada/salida:

cImporte, importe de la transaccin 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 transaccin.
cTipoOper, indica el tipo de operacin a realizar. Valores posibles:
PAGO -> Se realizar un Pago.
PREAUTORIZACION -> Se realizar una preautorizacin.
PAGO_TJT_ARCHIVO -> Se realizar un pago inicial con tarjeta en
archivo. Slo para aquellos comercios que
tengan contratado este servicio con su
entidad.
cXMLResp, buffer, que almacenar una cadena XML con el resultado de
la operacin de pago o preautorizacin. El formato de este XML se
encuentra detallado en la documentacin "Conexin con TPVPC a travs
de WEB SERVICE" versin 6.0.
iTamMaxResp, indica el tamao mximo del buffer donde se
almacenar la cadena XML con el resultado de la operacin. Se
recomienda al menos un tamao de 1024 bytes.

Valor de retorno:
Valor 0, indica que la operacin se ha procesado correctamente.
Muy importante resaltar que este resultado NO INDICA QUE LA
OPERACIN EST AUTORIZADA, tan slo es el resultado de su
proceso.
Valor distinto de 0, Cdigo de error indicando el motivo del fallo.
En el Anexo III, se detallan estos errores.
Siempre que se devuelva el cdigo -2, es necesario realizar
una consulta de la ltima operacin realizada por el comercio,
para ver si la operacin result autorizada.

int
fnDllOperPinPad(LPCTSTR
cImporte,
LPCTSTR
cFactura,
LPCTSTR cTipoOper, LPTSTR cXMLResp, int iTamMaxResp);

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
6

Integracion
racion TpvpcImplantado
Integ

Ejemplo de llamada en C# .NET:

[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

3.5

Realizar un Pago o Preautorizacin introduciendo


manualmente los datos de la tarjeta
Dependiendo del Modo elegido, se dispone de dos mtodos distintos. Si
se eligi el Modo Transparente, la aplicacin del comercio deber
solicitar y validar los datos de la tarjeta.

Modo Transparente:
Parmetros de entrada/salida:

cTarjeta, nmero de tarjeta. Las tarjetas tienen una longitud entre 15 y


19 caracteres. Campo Opcional en Modo Usuario, si no se pasa lo pedir
el TpvpcImplantado.
cCaducidad, cadena con la caducidad de la tarjeta. El formato es
AAMM. Ejemplo 06/13, el formato sera 1306. Campo Opcional en Modo
Usuario, si no se pasa lo pedir el TpvpcImplantado.
cCVC2, cadena con el valor de CVC2. Cdigo de tres dgitos de
seguridad que viene impreso generalmente en el reverso de la tarjeta, y
que ser necesario dependiendo de la actividad del comercio. Campo
Opcional en Modo Usuario, si no se pasa lo pedir el TpvpcImplantado.
cImporte, importe de la transaccin 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 transaccin.
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
7

Integracion
racion TpvpcImplantado
Integ

cTipoOper, indica el tipo de operacin a realizar. Valores posibles:


PAGO -> Se realizar un Pago.
PREAUTORIZACION -> Se realizar una preautorizacin.
PAGO_TJT_ARCHIVO -> Se realizar un pago inicial con tarjeta en
archivo. Slo para aquellos comercios que
tengan contratado este servicio con su
entidad.
cXMLResp, buffer que almacenar una cadena XML con el resultado de
la operacin de pago o preautorizacin. El formato de este XML se
encuentra detallado en la documentacin "Conexin con TPVPC a travs
de WEB SERVICE" versin 6.0.
iTamMaxResp,
indica el tamao mximo del buffer donde se
almacenar la cadena xml con el resultado de la operacin. Se
recomienda al menos un tamao de 1024 bytes.

Valor de retorno:
Valor 0, indica que la operacin se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIN EST AUTORIZADA, tan slo es el resultado de su
proceso.
Valor distinto de 0, Cdigo de error indicando el motivo del fallo.
En el Anexo III, se detallan estos errores.
Siempre que se devuelva el cdigo -2, es necesario realizar
una consulta de la ltima operacin realizada por el comercio,
para ver si la operacin 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


Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
8

Integracion
racion TpvpcImplantado
Integ

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

Modo Interfaz de Usuario:

Esta funcin recibe los mismos parmetros de entrada que la funcin


fnDllOperPinPad.

int
fnDllOperManual(LPCTSTR
cImporte,
LPCTSTR
cFactura,
LPCTSTR cTipoOper, LPTSTR cXMLResp, int iTamMaxResp);

Ejemplo de llamada en C# .NET:

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

Ejemplo de llamada en Visual Basic .NET

Public Declare Function fnDllOperManual 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

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
9

Integracion
racion TpvpcImplantado
Integ

3.6

Cmo validar si la operacin result AUTORIZADA?


En la cadena con el resultado de operacin, siempre deben aparecer los
siguientes elementos con el valor que se indica a continuacin:
<estado>F</estado>
<resultado>Autorizada</resultado>

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


transaccin DENEGADA
Ejemplo de cadena con el resultado de la operacin 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 transaccin result


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

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
10

Integracion
racion TpvpcImplantado
Integ

3.7

Realizar una operacin de Confirmacin o Devolucin


Una confirmacin se realiza siempre
preautorizacin realizadas con anterioridad.

sobre

operaciones

de

Una devolucin, como su propio nombre indica, realiza el abono o


devolucin del importe indicado, a la tarjeta con la que se realiz la
operacin original.

Parmetros de Entrada:

cNumPedido, nmero de pedido de la operacin 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 transaccin 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
descripcin o valor a la operacin. Este valor es generado por el
comercio y el TPVPC no realizar ninguna validacin sobre el mismo.
cTipoOper, indica el tipo de operacin a realizar. Puede tomar dos
posibles valores:
CONFIRMACION,
realizar
una
confirmacin
PREAUTORIZACIN que se autoriz con anterioridad.

sobre

una

DEVOLUCION, realizar una devolucin de una operacin que se


autoriz con anterioridad.
Valor obligatorio en Modo Transparente.

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


la operacin de DEVOLUCION o CONFIRMACION. El formato de este
XML se encuentra detallado en la documentacin "Conexin con TPVPC a
travs de WEB SERVICE" versin 6.0.

iTamMaxResp,
indica el tamao mximo del buffer donde se
almacenar la cadena xml con el resultado de la operacin. Se
recomienda al menos un tamao de 1024 bytes.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
11

Integracion
racion TpvpcImplantado
Integ

Valor de retorno:
Valor 0, indica que la operacin se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIN EST AUTORIZADA, tan slo es el resultado de su
proceso.
Valor distinto de 0, Cdigo 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 ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
12

Integracion
racion TpvpcImplantado
Integ

3.8

Cmo realizar una Devolucin/Confirmacin desde


otro terminal?
Cuando se quiere realizar una devolucin (o confirmacin) desde un
Terminal distinto al que realiz la operacin original, existen dos
opciones:

1) Devolucin/Confirmacin a partir del nmero de pedido de la


operacin original.
Cuando slo se dispone del nmero de pedido para identificar la
operacin original, es necesario especificar el Terminal por el que se
realiz dicha operacin. Se encuentra disponible la siguiente funcin:

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) Devolucin/Confirmacin a partir del identificador RTS de la


transaccin original.
Cuando se dispone del identificador de operacin idRTS, basta con
realizar la llamada a la funcin fnDllOperComContable como si
fuese desde el Terminal original, pero una vez inicializado con un
Terminal diferente.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
13

Integracion
racion TpvpcImplantado
Integ

Nota: esta operativa no funcionar si el tpv tiene asignado un cdigo


de comercio distinto al de la operacin original.

3.9

Realizar una operacin de Devolucin con lectura


desde el Pinpad
Una devolucin, como su propio nombre indica, realiza el abono o
devolucin del importe indicado, a la tarjeta con la que se realiz la
operacin 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 sealar que este tipo de devolucin no est soportada en
Windows Mobile.

Parmetros 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
descripcin o valor a la operacin. Este valor es generado por el
comercio y el TPVPC no realizar ninguna validacin sobre el mismo.
cNumPedido, nmero de pedido de la operacin 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 transaccin 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 operacin de DEVOLUCION. El formato de este XML se encuentra
detallado en la documentacin "Conexin con TPVPC a travs de WEB
SERVICE" version 6.0.
iTamMaxResp,
indica el tamao mximo del buffer donde se
almacenar la cadena xml con el resultado de la operacin. Se
recomienda al menos un tamao de 1024 bytes.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
14

Integracion
racion TpvpcImplantado
Integ

Valor de retorno:
Valor 0, indica que la operacin se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIN EST AUTORIZADA, tan slo es el resultado de su
proceso.
Valor distinto de 0, Cdigo 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 ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
15

Integracion
racion TpvpcImplantado
Integ

3.10

Cmo validar si la operacin result AUTORIZADA?


En la cadena con el resultado de operacin, siempre deben aparecer los
siguientes elementos con el valor que se indica a continuacin:
<estado>F</estado>
<resultado>Autorizada</resultado>

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


transaccin DENEGADA.
Ejemplo de cadena con el resultado de la operacin 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 operacin ha resultado autorizada.

3.11

Realizar una operacin de Devolucin sin Original


Para realizar este tipo de operacin, el comercio debe tener previamente
habilitada la operativa. Estas devoluciones realizan el abono del importe
especificado en la tarjeta leda desde el Pinpad. Como su nombre indica,
esta operacin no valida contra ninguna operacin realizada con
anterioridad.

Parmetros de entrada:

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
16

Integracion
racion TpvpcImplantado
Integ

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
descripcin o valor a la operacin. Este valor es generado por el
comercio y el TPVPC no realizar ninguna validacin sobre el mismo.
cXMLResp, buffer que almacenar una cadena XML con el resultado de
la operacin de DEVOLUCION.
iTamMaxResp,
indica el tamao mximo del buffer donde se
almacenar la cadena xml con el resultado de la operacin. Se
recomienda al menos un tamao de 1024 bytes

Valor de retorno:
Valor 0, indica que la operacin se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIN EST AUTORIZADA, tan slo es el resultado de su
proceso.
Valor distinto de 0, Cdigo 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 ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
17

Integracion
racion TpvpcImplantado
Integ

3.12

Realizar una operacin de Devolucin sin Original


introduciendo manualmente los datos de la tarjeta
Para realizar este tipo de operacin, 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
operacin no valida contra ninguna operacin realizada con anterioridad.

Parmetros de entrada:

cTarjeta, nmero de tarjeta. Las tarjetas tienen una longitud entre 15 y


19 caracteres. Campo Opcional si est trabajando en Modo Interfaz de
Usuario, en este modo lo solicitar la aplicacin TpvpcImplantado.
cCaducidad, cadena con la caducidad de la tarjeta. El formato es
AAMM. Ejemplo 06/13, el formato sera 1306. Campo Opcional si est
trabajando en Modo Interfaz de Usuario, en este modo lo solicitar la
aplicacin TpvpcImplantado.
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
descripcin o valor a la operacin. Este valor es generado por el
comercio y el TPVPC no realizar ninguna validacin sobre el mismo.
cXMLResp, buffer que almacenar una cadena XML con el resultado de
la operacin de DEVOLUCION.
iTamMaxResp,
indica el tamao mximo del buffer donde se
almacenar la cadena xml con el resultado de la operacin. Se
recomienda al menos un tamao de 1024 bytes

Valor de retorno:
Valor 0, indica que la operacin se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIN EST AUTORIZADA, tan slo es el resultado de su
proceso.
Valor distinto de 0, Cdigo 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)

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
18

Integracion
racion TpvpcImplantado
Integ

Ejemplo de llamada en C# .NET:

[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
"dllTpvpcLatente.dll" (ByVal cTarjeta As String,
cCaducidad As String, ByVal cImporte As String,
cFactura As String, ByVal cXMLResp
As String,
iTamMaxREsp As Integer) As Integer

3.13

Lib
ByVal
ByVal
ByVal

Cmo validar si la operacin result AUTORIZADA?


En la cadena con el resultado de operacin siempre deben aparecer los
siguientes elementos con el valor que se indica a continuacin:
<estado>F</estado>
<resultado>Autorizada</resultado>

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


transaccin DENEGADA

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
19

Integracion
racion TpvpcImplantado
Integ

Ejemplo de cadena con el resultado de la operacin 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 operacin ha resultado autorizada.

3.14

Realizar consultas de Operaciones


Esta operativa permite realizar consultas de operaciones sobre el
comercio-terminal en la funcin de Inicializacin. Los XML de respuesta
se describen con detalle en el documento TPVPC WS Consultas. En este
documento se mostrarn algunos XML de ejemplo, pero no se entrar en
detalle en la explicacin de sus campos.

Parmetros de entrada:

cNumPedido, nmero de pedido de la operacin a recuperar. Se puede


especificar un valor NULL si no se desea realizar bsquedas por este
campo.
cRTS, identificador de transaccin, slo se devolvern los datos de la
operacin solicitada. Se puede especificar un valor NULL, si no se desea
realizar bsquedas
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 bsquedas por este campo.
cFechaIni, fecha de inicio de operacin. El formato debe ser el
siguiente: YYYYMMdd HHmmss, 20070415 172905. Se puede especificar
un valor NULL, si no se desea realizar bsquedas por este campo.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
20

Integracion
racion TpvpcImplantado
Integ

cFechaFin, fecha de fin de operacin. El formato debe ser el siguiente:


YYYYMMdd HHmmss, 20070415 182905. Se puede especificar un valor
NULL, si no se desea realizar bsquedas por este campo.
cTipo, tipo de Operacin. Se pueden
-> PAGO

indicar los siguientes valores:

-> PREAUTORIZACION
-> CONFIRMACION
-> DEVOLUCION
Se puede especificar un valor NULL, si no se desea realizar
bsquedas por este campo.
cResultado, resultado de la operacin. Se podr consultar las
operaciones Autorizadas o Denegadas. Se pueden indicar los siguientes
valores:
-> AUTORIZADA, recupera slo las operaciones autorizadas.
-> DENEGADA, recupera slo las operaciones denegadas.
Se puede especificar un valor NULL, si no se desea realizar
bsquedas por este campo.
cNumPagina, indica el nmero de pgina a recuperar. El WebService
realiza una paginacin de consulta, aqu se indica, en caso de devolver
varias pginas, el nmero de pgina a recuperar. Si se quiere recuperar
la primera pgina, se debe indicar el nmero 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, tamao mximo de la cadena que puede almacenar el
buffer cXMLResp.

Valor de retorno:
= 0, la operacin se proces correctamente. Este resultado no indica
que se haya autorizado o denegado, simplemente que la peticin se
ha realizado con xito. Para ver el resultado de la operacin se debe
analizar la respuesta recibida en cXMLResp.
!= 0, Cdigo de error indicando el motivo del fallo. Descripcin de los
posibles cdigos de error:
-1 No se han establecido correctamente los datos de
configuracin. Es necesario volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema persiste contactar con la
entidad.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
21

Integracion
racion TpvpcImplantado
Integ

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


operacin. Si el problema persiste contacte con su entidad.
-3 Error en los parmetros 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 ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
22

Integracion
racion TpvpcImplantado
Integ

</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>

3.15

Realizar Consulta de Totales


Esta operativa devuelve el total de operaciones realizadas por el
comercio/terminal en la fecha indicada.

Parmetros de entrada:

cFecha, fecha del da para recuperar los totales. Si no se especifica, se


utilizar el da 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 operacin se proces correctamente. Este resultado no indica
que se haya autorizado o denegado, simplemente que la peticin se
ha realizado con xito. Para ver el resultado de la operacin se debe
analizar la respuesta recibida en cXMLResp.
!= 0, Cdigo de error indicando el motivo del fallo. Descripcin de los
posibles cdigos de error:

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
23

Integracion
racion TpvpcImplantado
Integ

-1 No se han establecido correctamente los datos de configuracin.


Es necesario volver a llamar a la funcin fnDllIniTpvpcLatente. Si el
problema persiste contactar con la entidad.
-2 Se produjo un error interno del sistema al realizar la operacin. Si
el problema persiste contacte con su entidad.
-3 Error en los parmetros 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 ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
24

Integracion
racion TpvpcImplantado
Integ

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

3.16

Realizar Operacin DCC


Realiza una operacin de Pago o Preautorizacin utilizando la opcin
Pago en Divisas o DCC (Dinamyc Currency Conversion). Este mtodo
slo es llamado con los datos de respuesta obtenidos en la llamada a la
funcin fnDllOperPinPad.

Parmetros de entrada/salida:

cImporte, importe de la transaccin en formato XXXXXXXXX.XX.


Ejemplo: 1.23, 33.05, 0.01, etc. Mismo valor que el que se utiliz en
fnDllOperPinPad
cFactura, referencia de compra. Este valor lo puede especificar el
comercio. Mismo valor que el que se utiliz en fnDllOperPinPad
cTipoOper, operacin Pago o Preautorizacin. Mismo valor que el que
se utiliz en fnDllOperPinPad
cCodDivisa, cdigo de divisa en el que se desea realizar la transaccin.
Se debe especificar el cdigo de la moneda que ha seleccionado el
Titular, es decir, el valor del campo codigoDivisa, si el titular
seleccion pagar en su moneda, o el campo monedaOriginal.
cXMLResp, Devuelve un XML de Respuesta con el resultado de la
operacin de pago o preautorizacin. La librera validar que la firma
recibida es correcta. El formato de este XML se encuentra detallado en
la documentacin "Conexin con TPVPC a travs de WEB SERVICE"
versin 6.0.
iTamMaxResp, indica el tamao mximo del buffer de respuesta. Se
recomienda al menos un tamao de 1024 bytes.

Valor de retorno:

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
25

Integracion
racion TpvpcImplantado
Integ

En caso de que la operacin se enviase correctamente la funcin


devolver 0. Si el TPVPC devuelve un XML con un cdigo de error, la
funcin tambin devolver 0, ya que este cdigo slo indica si se
pudo enviar correctamente la peticin.
= 0, peticin realizada correctamente. Es necesario revisar el
XML con la respuesta de la transaccin.
!= 0,
Cdigo de error indicando el motivo del fallo.
Descripcin de los posibles cdigos de error:
-1 No se han establecido correctamente los datos de
configuracin. Es necesario volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema persiste contactar
con la entidad.
-2 Se ha sobrepasado el TimeOut especificado por la
aplicacin.
-3 Error del Sistema. Es necesario reiniciar aplicacin.
-4 Los datos de entrada no tienen un formato correcto.
Revisar lista de parmetros.

int fnDllOperPinPadDCC(LPCTSTR cImporte, LPCTSTR cFactura,


LPCTSTR cTipoOper, LPCTSTR cCodDivisa, LPTSTR cXmlResp, int
iTamMaxResp);

Ejemplo de llamada en C# .NET:

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

Ejemplo de llamada en Visual Basic .NET:

Public Declare Function fnDllOperPinPadDCC Lib


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

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
26

Integracion
racion TpvpcImplantado
Integ

3.17

Realizar Operacin DCC con Entrada Manual de Datos


Realiza una operacin de Pago o Preautorizacin utilizando la opcin
Pago en Divisas o DCC (Dinamyc Currency Conversion). Este mtodo
slo es llamado con los datos de respuesta obtenidos en la llamada a la
funcin fnDllOperManualExt.

Parmetros de entrada/salida:

cCodDivisa, cdigo de divisa en el que se desea realizar la transaccin.


Se debe especificar el cdigo de la moneda que ha seleccionado el
Titular, es decir, el valor del campo codigoDivisa, si el titular seleccion
pagar en su moneda, o el campo monedaOriginal.
cXMLResp, Devuelve un XML de Respuesta con el resultado de la
operacin de pago o preautorizacin. La librera validar que la firma
recibida es correcta. El formato de este XML se encuentra detallado en
la documentacin "Conexin con TPVPC a travs de WEB SERVICE"
versin 6.0.
iTamMaxResp, indica el tamao mximo del buffer de respuesta. Se
recomienda al menos un tamao de 1024 bytes.

Valor de retorno:
En caso de que la operacin se enviase correctamente la funcin
devolver 0. Si el TPVPC devuelve un XML con un cdigo de error, la
funcin tambin devolver 0, ya que este cdigo slo indica si se pudo
enviar correctamente la peticin.
= 0, peticin realizada correctamente. Es necesario revisar el XML
con la respuesta de la transaccin.
!= 0, Cdigo de error indicando el motivo del fallo. Descripcin de los
posibles cdigos de error:
-1 No se han establecido correctamente los datos de
configuracin. Es necesario volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema persiste contactar con la
entidad.
-2 Se ha sobrepasado el TimeOut especificado por la
aplicacin.
-3 Error del Sistema. Es necesario reiniciar aplicacin.
-4 Los datos de entrada no tienen un formato correcto.
Revisar lista de parmetros.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
27

Integracion
racion TpvpcImplantado
Integ

int fnDllOperManualDCC(LPCTSTR cCodDivisa, LPTSTR cXMLResp,


int iTamMaxResp);

Ejemplo de llamada en C# .NET:

[DllImport("dllTpvpcLatente.dll")]
public static extern int fnDllOperManualDCC(String
cCodDivisa, StringBuilder cXMLResp, int iTamMaxResp);

Ejemplo de llamada en Visual Basic .NET:

Public Declare Function fnDllOperManualDCC Lib


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

3.18

Ejemplo de Operacin DCC


Primero: Se realizar una operacin de Pago o Preautorizacin
estndar. Ejemplo:
fnDllOperPinPad (25.36, OPER-DCC-TST, PAGO, cXmlResp, 1024);

Si la operacin es DCC, en la variable cXmlResp obtendremos el


siguiente XML de respuesta:
<Operaciones version="6.0">
<resultadoConsulta>
<divisas>
<importeOriginal>25.36</importeOriginal>
<monedaOriginal>978</monedaOriginal>
<importeDivisa>17.81</importeDivisa>
<codigoDivisa>826</codigoDivisa>
<nombreDivisa>POUND STERLING</nombreDivisa>
<simboloDivisa>GBP</simboloDivisa>
<formatoDivisa>2</formatoDivisa>
<porcentajeComision>1.7500</porcentajeComision>
<tasaDivisaConComision>1.424209</tasaDivisaConComision>
<tasaDivisaSinComision>1.449133</tasaDivisaSinComision>
<comercio>777888991</comercio>
<terminal>5</terminal>
<csb>4000</csb>
<nombreEntTermAct>REDSYS
</nombreEntTermAct>
</divisas>
<firma>3CB335CF2F15DDDC6623B3A30C48AD9B6873679F</firma>
<InfoAuxiliar>
<aux.PaisTarjeta>826</aux.PaisTarjeta>
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
28

Integracion
racion TpvpcImplantado
Integ

<aux.MarcaTarjeta>1</aux.MarcaTarjeta>
<aux.TipoTarjeta>1</aux.TipoTarjeta>
<aux.NumeroTarjeta>
</aux.NumeroTarjeta>
<aux.NombreMarcaTarjeta>VISA</aux.NombreMarcaTarjeta>
</InfoAuxiliar>
</resultadoConsulta>
</Operaciones>

Segundo: Se mostrar al titular una pantalla donde se solicitar que


seleccione la moneda con la que quiere realizar la transaccin. Ejemplo
(los literales en negrita deben aparecer siempre y en ingls):

Muestre el siguiente mensaje al cliente:

You have the choice of paying your bill in either:


<importeOriginal > EUR or <importeDivisa> <simboloDivisa>
Service and Exchange rate provided by <nombreEntTermAct> : <simboloDivisa> 1.00 =
<tasaDivisaConComision> EUR
INCLUDES <porcentajeComision>% MARK UP over source rate provided by
<aux.NombreMarcaTarjeta>.
NO COMMISSION

Seleccione divisa segn indicaciones del cliente:

<nombreDivisa> <importeDivisa>

EURO <importeOriginal>

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
29

Integracion
racion TpvpcImplantado
Integ

Como se ve en el ejemplo, hay que utilizar la informacin devuelta en el


anterior XML de respuesta.

Tercero: Realizar la transaccin en la moneda seleccionada por el


titular:
fnDllOperPinPadDCC(25.36, OPER-DCC-TST, PAGO, 826, 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>

A continuacin mostramos un recibo (formato slo texto) con la


informacin a imprimir y elemento xml que la contiene.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
30

Integracion
racion TpvpcImplantado
Integ

En algunos elementos se puede recibir el carcter #N#, este carcter


indica un retorno de carro o nueva lnea.

El elemento linCambio slo debe mostrarse en el recibo o copia


que se quedar el comercio.

<linLitTrans>
<linLitDivisa>

<linMarca>
<linMarkUp>
<linLitComision>

<linLitEntidad>

<linCambio>

<literal>

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
31

Integracion
racion TpvpcImplantado
Integ

<linLitInf>

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
32

Integracion
racion TpvpcImplantado
Integ

3.19

Realizar una repeticin de pago con tarjeta en archivo


Una repeticin de pago con tarjeta en archivo se realiza siempre sobre
una operacin inicial de pago con tarjeta en archivo realizada con
anterioridad.
Se pueden realizar hasta 99 repeticiones de un pago con tarjeta en
archivo, siempre con el mismo importe y la misma tarjeta que el pago
original.

Parmetros de Entrada:

cNumPedido, nmero de pedido de la operacin 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 transaccin original. El campo
identificadorRTS se encuentra en todas las respuestas de peticiones de
operaciones realizadas al TPVPC. Valor obligatorio en Modo
Transparente.
cFactura, campo suministrado por el comercio, para asociar una
descripcin o valor a la operacin. Este valor es generado por el
comercio y el TPVPC no realizar ninguna validacin sobre el mismo.
cXMLResp, buffer que almacenar una cadena XML con el resultado de
la operacin. El formato de este XML se encuentra detallado en la
documentacin "Conexin con TPVPC a travs de WEB SERVICE" versin
6.0.
iTamMaxResp,
indica el tamao mximo del buffer donde se
almacenar la cadena XML con el resultado de la operacin. Se
recomienda al menos un tamao de 1024 bytes.

Valor de retorno:
Valor 0, indica que la operacin se ha procesado correctamente.
Muy importante indicar que este resultado NO INDICA QUE LA
OPERACIN EST AUTORIZADA, tan slo es el resultado de su
proceso.
Valor distinto de 0, Cdigo de error indicando el motivo del fallo.
En el Anexo III, se detallan estos errores.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
33

Integracion
racion TpvpcImplantado
Integ

int fnDllOperPagoTjtArchivo(LPCTSTR cNumPedido, LPCTSTR


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

Ejemplo de llamada en C# .NET:

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

Ejemplo de llamada en Visual Basic .NET

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

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
34

Integracion
racion TpvpcImplantado
Integ

4.

ANEXO I. Integracin ActiveX


La librera suministrada tambin dispone de un componente ActiveX,
que permite la integracin de TpvpcImplantado con aquellos entornos de
desarrollo o aplicaciones que no pueden integrar libreras dinmicas. Un
claro ejemplo sera una aplicacin Web que utilice el Navegador Internet
Explorer.
Para realizar la integracin se adjunta el CLSID y nombre del Objeto. En
la mayora de los entornos de desarrollo, se dispone de asistentes para
el uso de componentes Activex (conocidos tambin como objetos COM).

CLSID: DB09CE0A-6E1B-4107-A465-1DBA1C2DDA66
Identificador Objeto: DllTpvpcLatente.TpvpImplantado

A continuacin se define la correlacin entre los mtodos del ActiveX y


las funciones de la librera. El ActiveX simplemente hace de envoltorio
para realizar las llamadas a la librera, se indica el nombre del mtodo
en el ActiveX y su correspondencia con la librera.

int IniTpvpcLatente(BSTR bstComercio, BSTR bstTerminal, BSTR


bstClaveFirma, BSTR bstConfPuerto, BSTR bstVersion)

int fnDllIniTpvpcLatente(LPCTSTR cComercio, LPCTSTR cTerminal, LPCTSTR cClaveFirma,


LPCTSTR cConfPuerto, LPCTSTR cVersion)

int OperPinPad(BSTR bstImporte, BSTR bstFactura, BSTR bstTipoOper, BSTR


*bstXMLResp)

int fnDllOperPinPad(LPCTSTR cImporte, LPCTSTR cFactura, LPCTSTR cTipoOper, LPTSTR


cXMLResp, int iTamMaxResp);

int OperManualExt(BSTR bstTarjeta, BSTR bstCaducidad, BSTR bstCVC2,


BSTR bstImporte, BSTR bstFactura, BSTR bstTipoOper, BSTR *bstXMLResp)

int fnDllOperManualExt(LPCTSTR cTarjeta, LPCTSTR cCaducidad, LPCTSTR cCVC2,


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

int OperComContable(BSTR bstNumPedido, BSTR bstRTSOriginal, BSTR


bstImporte, BSTR bstFactura, BSTR bstTipoOper, BSTR *bstXMLResp)

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
35

Integracion
racion TpvpcImplantado
Integ

int fnDllOperComContable(LPCTSTR cNumPedido, LPCTSTR cRTSOriginal, LPCTSTR


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

int TrataPetComContableTrj (BSTR bstImporte, BSTR bstFactura, BSTR


bstNumPedido, BSTR bstRTSOriginal, BSTR *bstXMLResp)

int fnDllComContableTrj(LPCTSTR cImporte, LPCTSTR cFactura, LPCTSTR cNumPedido,


LPCTSTR cRTSOriginal LPTSTR cXMLResp, int iTamMaxResp)

int TrataPetDevSinOrigTrj(BSTR bstImporte, BSTR bstFactura, BSTR


*bstXMLResp)

int fnDllDevSinOrigTrj(LPCTSTR cImporte, LPCTSTR cFactura, LPTSTR cXMLResp, int


iTamMaxResp)

int OperDevSinOriginal(BSTR bstTarjeta, BSTR bstCaducidad, BSTR


bstImporte, BSTR bstFactura, BSTR *bstXMLResp)

int fnDllOperDevSinOrig(LPCTSTR cTarjeta, LPCTSTR cCaducidad, LPCTSTR cImporte,


LPCTSTR cFactura, LPTSTR cXMLResp, int iTamMaxResp)

int OperConsulta(BSTR bstNumPedido, BSTR bstRTS, BSTR bstFactura, BSTR


bstFechaIni, BSTR bstFechaFin, BSTR bstTipo, BSTR bstResultado, BSTR
bstNumPagina, BSTR *bstXMLResp)

int fnDllOperConsulta(LPCTSTR cNumPedido, LPCTSTR cRTS, LPCTSTR cFactura, LPCTSTR


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

int OperTotales(BSTR bstFecha, BSTR bstDesgloseVM, BSTR


bstDesgloseMarcas, BSTR *bstXMLResp)

int fnDllOperTotales(LPCTSTR cFecha, LPTSTR cDesgloseVM, LPTSTR cDesgloseMarcas,


LPTSTR cXMLResp, int iTamMaxResp)

int OperPinPadDCC(BSTR bstImporte, BSTR bstFactura, BSTR bstTipoOper,


BSTR bstCodDivisa, BSTR *bstXMLResp)
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
36

Integracion
racion TpvpcImplantado
Integ

int fnDllOperPinPadDCC(LPCTSTR cImporte, LPCTSTR cFactura, LPCTSTR cTipoOper,


LPCTSTR cCodDivisa, LPTSTR cXmlResp, int iTamMaxResp);

int TrataPetPagoTjtArchivo(BSTR bstNumPedido, BSTR bstRTSOriginal, BSTR


BSTR bstFactura, BSTR *bstXMLResp)

int fnDllOperPagoTjtArchivo(LPCTSTR cNumPedido, LPCTSTR cRTSOriginal,


cFactura, LPTSTR cXMLResp, int iTamMaxResp);

int OperAnulPreaut(BSTR bstNumPedido,


bstFactura, BSTR *bstXMLResp);

BSTR

int fnDllOperAnulPreaut(LPCTSTR cNumPedido,


cFactura, LPTSTR cXMLResp, int iTamMaxResp);

bstRTSOriginal,

LPCTSTR

cRTSOriginal,

LPCTSTR

BSTR

LPCTSTR

int OperReemplazoPreaut(BSTR bstImporte, BSTR bstNumPedido, BSTR


bstRTSOriginal, BSTR bstFactura, BSTR *bstXMLResp);

int fnDllOperReempPreaut(LPCTSTR cNumPedido, LPCTSTR cRTSOriginal,


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

LPCTSTR

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
37

Integracion
racion TpvpcImplantado
Integ

5.

ANEXO II. Integracin Windows Mobile (Pocket PC)


En este anexo se detallarn las modificaciones que afectan a la
integracin de la librera en esta plataforma.

Funcionalidad no disponible para:

Modo Interfaz de Usuario. No est disponible, slo se puede iniciar


la librera en Modo Transparente.

Acceso utilizando ActiveX. No est disponible este modo de


acceso, se deber utilizar la integracin con la librera dinmica o
DLL.

Respecto a la documentacin, nombre de funciones y parmetros son


exactamente iguales, la nica consideracin a tener en cuenta es el
nombre de la librera que para Windows Mobile cambia de
dllTpvpcLatente.dll a dllTpvpcImplantadoWM.dll.

En los ejemplos de llamada para entorno de Desarrollo .NET que se


muestran en este documento, lo nico que es necesario cambiar es el
nombre de la librera. A continuacin mostramos un ejemplo de estos
cambios:

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 C# .NET para Windows Mobile:

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

Ejemplo de llamada en Visual Basic .NET

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
38

Integracion
racion TpvpcImplantado
Integ

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

Ejemplo de llamada en Visual Basic .NET para Windows Mobile:


Public
Declare
Function
fnDllIniTpvpcLatente
Lib
"dllTpvpcImplantadoWM.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 ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
39

Integracion
racion TpvpcImplantado
Integ

6.

ANEXO III. Errores devueltos

FUNCIN

CD

DESCRIPCIN
Error Interno del Sistema. Ser
necesario reiniciar la carga de la librera
dinmica. Si el problema persiste,
notificar problema a entidad.
Error al cargar el XML con los datos de
configuracin

fnDllIniTpvpcLatente

-1

fnDllIniTpvpcLatente

-2

fnDllIniTpvpcLatente

-3

No se ha especificado ningn valor en


el elemento
datosConf/datosComercio/comercio.

fnDllIniTpvpcLatente

-4

No se ha especificado ningn valor en


el elemento
datosConf/datosComercio/terminal

fnDllIniTpvpcLatente

-5

No se ha especificado ningn valor en


el elemento
datosConf/datosComercio/clave

-6

No se ha especificado ningn valor en


el elemento
datosConf/accesoUsuario/usuario

fnDllIniTpvpcLatente

-7

No se ha especificado ningn valor en


el elemento
datosConf/accesoUsuario/clave

fnDllIniTpvpcLatente

-8

No se ha especificado ningn valor en


el elemento datosConf/modo

-9

No se ha especificado ni acceso con


datos de comercio ni usuario. Es
obligatorio especificar uno de los dos
accesos.

fnDllIniTpvpcLatente

fnDllIniTpvpcLatente

fnDllIniTpvpcLatente

-10

No se ha especificado ningn valor en


el elemento
datosConf/confDispositivo/puerto. Si no
se quiere usar un pinpad, no es
necesario incluir el elemento
confDispositivo. Si se incluye se deben
configurar todos los elementos.

fnDllIniTpvpcLatente

-11

No se ha especificado ningn valor en


el elemento
datosConf/confDispositivo/version.

fnDllIniTpvpcLatente

-12

Error Interno del sistema.

fnDllIniTpvpcLatente

-13

Error al realizar el descubrimiento del


PinPad. Se super el TimeOut mximo
de espera.

fnDllIniTpvpcLatente

-14

No se pudo iniciar la interfaz grfica del

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
40

Integracion
racion TpvpcImplantado
Integ

TPVPC Latente.

-16

Problema en la comunicacin con el


Servicio Web del TPVPC. Revisar
conexin a Internet, e intentar una
nueva inicializacin cuando el servicio
est restablecido.

-18

Se enva correctamente la peticin al


TPVPC, pero alguno de los datos
establecidos no es correcto. Revise
cdigo de comercio, terminal y la clave
de firma.

fnDllIniTpvpcLatente

-19

El Pinpad no est configurado


correctamente, es necesario contactar
con la entidad.

fnDllIniTpvpcLatente

-20

El Puerto de comunicacin especificado


no es correcto.

fnDllIniTpvpcLatente

-21

Se ha especificado una versin que es


incompatible con el PinPad instalado.
Consultar con la entidad el valor
correcto.

fnDllIniTpvpcLatente

-40

La versin de la librera ha caducado y


debe actualizarse.

fnDllIniTpvpcLatente

fnDllIniTpvpcLatente

fnDllIniTpvpcLatenteExt

-1

Error Interno del Sistema. Ser


necesario reiniciar la carga de la librera
dinmica. Si el problema persiste,
notificar problema a entidad.

-2

Error al cargar el XML con los datos de


configuracin. Revisar que se han
instalado todas las libreras.

fnDllIniTpvpcLatenteExt

-3

No se ha especificado ningn valor en


el elemento
datosConf/datosComercio/comercio.

fnDllIniTpvpcLatenteExt

-4

No se ha especificado ningn valor en


el elemento
datosConf/datosComercio/terminal

fnDllIniTpvpcLatenteExt

-5

No se ha especificado ningn valor en


el elemento
datosConf/datosComercio/clave

fnDllIniTpvpcLatenteExt

-6

No se ha especificado ningn valor en


el elemento
datosConf/accesoUsuario/usuario

fnDllIniTpvpcLatenteExt

-7

No se ha especificado ningn valor en


el elemento

fnDllIniTpvpcLatenteExt

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
41

Integracion
racion TpvpcImplantado
Integ

datosConf/accesoUsuario/clave
fnDllIniTpvpcLatenteExt

fnDllIniTpvpcLatenteExt

-8

No se ha especificado ningn valor en


el elemento datosConf/modo

-9

No se ha especificado ni acceso con


datos de comercio ni usuario. Es
obligatorio especificar uno de los dos
accesos.

-10

No se ha especificado ningn valor en


el elemento
datosConf/confDispositivo/puerto. Si no
se quiere usar un pinpad, no es
necesario incluir el elemento
confDispositivo. Si se incluye se deben
configurar todos los elementos.

fnDllIniTpvpcLatenteExt

-11

No se ha especificado ningn valor en


el elemento
datosConf/confDispositivo/version.

fnDllIniTpvpcLatenteExt

-12

Error Interno del sistema.

fnDllIniTpvpcLatenteExt

-13

Error al realizar el descubrimiento del


PinPad. Se super el TimeOut mximo
de espera.

fnDllIniTpvpcLatenteExt

-14

No se pudo iniciar la interfaz grfica del


TPVPC Latente.

fnDllOperManualExt

-1

No se han establecido correctamente


los datos de configuracin. Es necesario
volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.

fnDllOperManualExt

-2

Se ha sobrepasado el TimeOut
especificado por la aplicacin.

fnDllOperManualExt

-3

Error del Sistema. Es necesario reiniciar


aplicacin.

fnDllOperManualExt

-4

Los datos de entrada no tienen un


formato correcto. Revisar lista de
parmetros.

fnDllOperManualExt

-17

El Tamao del buffer de respuesta no


es suficiente. Se recomienda utilizar el
valor indicado en la documentacin.

-18

El formato de algn parmetro es


incorrecto. Por ejemplo, revise que el
parmetro cImporte tiene formato
#000.00. 3000 euros
cImporte=
3000.00.

fnDllIniTpvpcLatenteExt

fnDllOperManualExt

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
42

Integracion
racion TpvpcImplantado
Integ

fnDllOperPinPad

-1

No se han establecido correctamente


los datos de configuracin. Es necesario
volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.

fnDllOperPinPad

-2

Se ha sobrepasado el TimeOut
especificado por la aplicacin.

fnDllOperPinPad

-3

Error del Sistema. Es necesario reiniciar


aplicacin.

fnDllOperPinPad

-4

Los datos de entrada no tienen un


formato correcto. Revisar lista de
parmetros.

fnDllOperPinPad

-17

El Tamao del buffer de respuesta no


es suficiente. Se recomienda utilizar el
valor indicado en la documentacin.

-18

El formato de algn parmetro es


incorrecto. Por ejemplo, revise que el
parmetro cImporte tiene formato
#000.00. 3000 euros
cImporte=
3000.00

-1

No se han establecido correctamente


los datos de configuracin. Es necesario
volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.

-2

Se produjo un error interno del sistema


al realizar la operacin. Si el problema
persiste contacte con su entidad.

fnDllOperComContable

-3

Error en los parmetros de entrada. Si


el problema persiste contactar con la
entidad.

fnDllOperComContable

-12

fnDllOperPinPad

fnDllOperComContable

fnDllOperComContable

Error Interno del sistema.

-1

No se han establecido correctamente


los datos de configuracin. Es necesario
volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.

fnDllOperConsulta

-2

Se produjo un error interno del sistema


al realizar la operacin. Si el problema
persiste contacte con su entidad.

fnDllOperConsulta

-3

Error en los parmetros de entrada.

fnDllOperConsulta

-12

Error Interno del sistema.

fnDllOperConsulta

-15

Operacin no soportada.

fnDllOperConsulta

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
43

Integracion
racion TpvpcImplantado
Integ

fnDllOperTotales

-1

No se han establecido correctamente


los datos de configuracin. Es necesario
volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.

fnDllOperTotales

-2

Se produjo un error interno del sistema


al realizar la operacin. Si el problema
persiste contacte con su entidad.

fnDllOperTotales

-3

Error en los parmetros de entrada.

fnDllOperTotales

-12

Error Interno del sistema.

fnDllOperTotales

-15

Operacin no soportada.

fnDllOperPinPadDCC

-1

No se han establecido correctamente


los datos de configuracin. Es necesario
volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.

fnDllOperPinPadDCC

-2

Se ha sobrepasado el TimeOut
especificado por la aplicacin.

fnDllOperPinPadDCC

-3

Error del Sistema. Es necesario reiniciar


aplicacin.

fnDllOperPinPadDCC

-4

Los datos de entrada no tienen un


formato correcto. Revisar lista de
parmetros.

fnDllOperPinPadDCC

-15

Operacin no soportada.

fnDllOperPinPadDCC

-17

El Tamao del buffer de respuesta no


es suficiente. Se recomienda utilizar el
valor indicado en la documentacin.

-18

El formato de algn parmetro es


incorrecto. Por ejemplo, revise que el
parmetro cImporte tiene formato
#000.00. 3000 euros
cImporte=
3000.00

fnDllDevSinOrigTrj

-1

No se han establecido correctamente


los datos de configuracin. Es necesario
volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.

fnDllDevSinOrigTrj

-2

Se ha sobrepasado el TimeOut
especificado por la aplicacin.

fnDllDevSinOrigTrj

-3

Error del Sistema. Es necesario reiniciar


la aplicacin.

fnDllOperPinPadDCC

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
44

Integracion
racion TpvpcImplantado
Integ

-4

Se produjo un error interno del sistema


al realizar la operacin. Si el problema
persiste, contacte con su entidad.

fnDllDevSinOrigTrj

-5

Error en los parmetros de entrada. Si


el problema persiste, contactar con la
entidad.

fnDllDevSinOrigTrj

-15

Operacin no soportada.

-17

El tamao del buffer de respuesta no es


suficiente. Se recomienda usar el valor
indicado en la documentacin.

-18

Los datos de entrada no tienen un


formato correcto. Revisar lista de
parmetros.

fnDllDevSinOrigTrj

fnDllDevSinOrigTrj

fnDllDevSinOrigTrj

fnDllComContableTrj

-1

No se han establecido correctamente


los datos de configuracin. Es necesario
volver a llamar a la funcin
fnDllIniTpvpcLatente. Si el problema
persiste contactar con la entidad.

fnDllComContableTrj

-2

Se ha sobrepasado el TimeOut
especificado por la aplicacin.

fnDllComContableTrj

-3

Error del Sistema. Es necesario reiniciar


aplicacin.

fnDllComContableTrj

-15

Operacin no soportada.

fnDllComContableTrj

-17

El tamao del buffer de respuesta no es


suficiente. Se recomienda usar el valor
indicado en la documentacin.

fnDllComContableTrj

-18

Los datos de entrada no tienen un


formato correcto. Revisar lista de
parmetros.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
45

Integracion
racion TpvpcImplantado
Integ

7.

ANEXO IV. Versiones Librera


Siempre que la librera sufra alguna modificacin, se actualizar la
informacin en el servidor, para que las distintas aplicaciones que usen esta
librera se actualicen, si lo consideran necesario, con la ltima versin. Se
aconseja mantener siempre la ltima versin disponible de la librera.
En algunas de estas actualizaciones, el uso de una nueva versin de la
librera, implicar cambios en la aplicacin del comercio. La interfaz de
llamadas a las funciones no se ver nunca afectada, se modificarn los XML
de Respuesta, o se agregarn funciones nuevas.

7.1

Cundo debe realizarse una actualizacin de esta


Librera?
Siempre que la funcin de inicio fnDllIniTpvpcLatente devuelva el
cdigo de error -40, indicar que es necesario realizar la actualizacin,
ya que la versin actual se encuentra caducada. Tambin se podr
detectar En los XML de respuesta de las operaciones fnDllOperPinPad,
fnDllOperComContable, fnDllOperManual, aparecer un elemento
versdllimpl con la ltima versin disponible.

Ej.: Se realiza una peticin de Devolucin de una operacin autorizada


con anterioridad utilizando la funcin 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 ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
46

Integracion
racion TpvpcImplantado
Integ

En el documento de Actualizacin de Versiones, se detalla todo el


proceso necesario para realizar una actualizacin cuando sta se
encuentre disponible.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
47

Integracion
racion TpvpcImplantado
Integ

8.

ANEXO V. Diccionario de Datos


A continuacin se describen todos los campos que se pueden encontrar
en los XML de respuesta de los distintos mtodos de la librera.

tarjeta: nmero de tarjeta. Constar de 15 a 19 posiciones. Este campo


solamente podr ser informado si el comercio que realiza la transaccin
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 transaccin
tiene permiso para realizar entrada manual de datos. Consulte con su
Entidad si su comercio dispone de esta posibilidad.
cvc2: cdigo de tres dgitos 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 operacin en formato N.NN. Ej: 1.00
moneda: cdigo de la moneda de la operacin. Valores -> 978 (Euros),
840 (Dlares). Este dato depende de la moneda que tenga asociada el
terminal por el que se realice la operacin.
comercio: FUC o cdigo del comercio. Consta de 9 dgitos.
terminal: terminal en el que se realiza la operacin. Numrico del 1 al
99. Es imprescindible que el terminal se encuentre dado de alta en
REDSYS antes de realizar alguna operacin sobre l.
csb: Merchant al que pertenece el terminal. Consta de 4 dgitos.
factura: cadena alfanumrica que el comercio podr utilizar como
identificador para asociar una venta con su transaccin TPVPC
correspondiente. REDSYS no validar el formato ni la duplicidad de esta
cadena, siendo responsabilidad del comercio. El tamao mximo de esta
cadena puede ser de 20 caracteres.
pedido: nmero de pedido u operacin asociado a la transaccin. Este
nmero es devuelto por el TPVPC y servir para identificar una
determinada operacin en un comercio / terminal definido.
identificadorRTS: identificador de la operacin Esta cadena de 24
posiciones es devuelta por el TPVPC y servir para identificar una
determinada operacin en un comercio / terminal definido.
tipoPago: tipo de operacin que desea realizarse. Valores: PAGO ->
autorizacin normal, PREAUTORIZACION -> preautorizacin, RECARGA > recarga de mviles, PREAUT_REEMPLAZO -> reemplazo de
preautorizaciones, ANULACION -> anulacin de preautorizaciones.
firma: contiene la firma del mensaje en formato Hexadecimal (40
caracteres)
fechaOperacion: fecha y hora de la operacin en formato YYYY-MM-DD
hh:mm:ss.miliseg
estado: estado de la operacin. Valores -> F (finalizada), P(en
proceso), T(fallo tcnico), G(Denegada)
resultado: resultado de la operacin. Valores -> Autorizada, Denegada.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
48

Integracion
racion TpvpcImplantado
Integ

codigoRespuesta: contiene el cdigo de autorizacin de la


operacin, en el caso de operacin Aceptada, o el cdigo de denegacin
en caso de que la operacin hay sido Denegada (ver Anexo VII). Este
campo no se informa en el caso de las Devoluciones/Confirmaciones
Autorizadas.
pedidoBase: nmero de pedido de la operacin sobre la que se quiere
realizar una operacin de devolucin, confirmacin, anulacin o
reemplazo.
idRTSOriginal: identificadorRTS de la operacin original sobre la que se
realizar una operacin de devolucin, confirmacin, anulacin o
reemplazo.
timestamp: fecha y hora en la que se monta el mensaje de peticin, 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 inclusin de este
campo en el mensaje de salida es opcional.
mensaje: mensaje de informacin del error.
codigo: cdigo de error devuelto por el TPVPC
codigoDivisa: cdigo numrico asociado a la moneda en la que se
desea realizar la transaccin DCC (Dynamic Currency Conversion).
importeDivisa: Importe resultante de la operacin 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 cdigo 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 conversin de moneda
para la operativa DCC.
nombreDivisa: nombre de la moneda en la que se desea realizar la
transaccin DCC (Dynamic Currency Conversion).
simboloDivisa: codigo reducido que identifica a la moneda en la que se
desea realizar la transaccin DCC.
formatoDivisa: nmero de decimales de la moneda en la que se desea
realizar la transaccin DCC.
porcentajeComision: comisin (en %) que se aplica para calcular el
importe de la divisa.
tasaDivisaConComision: cambio aplicado para realizar la conversin
de moneda para la operativa DCC (igual que tasaCambio).
tasaDivisaSinComision: cambio aplicado para realizar la conversin de
moneda para la operativa DCC sin aplicarle el porcentaje de la comisin.
literal: literales que devuelve el TPVPC y que deben aparecer en la
boleta que imprime el comercio, en el orden en que se envan en el
mensaje de respuesta.
numTelfono (datosRecarga): nmero de telfono a recargar.
idOperador: identificador del operador al que est asociada la tarjeta
telefnica. Sus valores son 0 -> AMENA, 1 -> MOVISTAR, 2 ->
VODAFONE, 3 -> EUSKALTEL, 4 -> XFERA.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
49

Integracion
racion TpvpcImplantado
Integ

idTransOperador: nmero de referencia asignado a la transaccin por


el operador correspondiente. Este valor debe aparecer en el recibo de la
operacin.
plazoPago: cdigo de fraccionamiento que indica el tipo de
aplazamiento que se realizar.
tarjetaComercioRecibo: nmero de la tarjeta que se imprimir en el
recibo del comercio. Esta se imprimir en la boleta asteriscada o no
dependiendo de la configuracin del comercio para su propia boleta.
tarjetaClienteRecibo: nmero de la tarjeta que se imprimir en el
recibo del cliente. Esta se imprimir en la boleta asteriscada o no
dependiendo de la configuracin del comercio para la boleta del cliente.
titularTarjeta: nombre del titular de la tarjeta.
tipoOperacion: tipo de la operacin realizada (Autorizacion,
Preaurorizacion, Devolucion, Confirmacion).
fechaOper: fecha de la operacin en formato YYYY-MM-DD para las
consulta de una operacin.
operacionemv: Indica que se trata de una operacin 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 operacin.
Sus valores son 1 -> MARCA_VISA, 2 -> MARCA_MASTERCARD, 6 ->
MARCA_DINERS, 8 -> MARCA_AMEX, 9 -> MARCA_JCB.
paisTarjeta: Indica el cdigo ISO-3166 numrico de 3 cifras de la
tarjeta. Slo disponible en determinadas operativas.
tipoTasaAplicada: Indica la tasa aplicada (Crdito / Dbito) en la
respuesta de las autorizaciones OK de tarjetas nacionales en terminales
nacionales. Sus valores son Crdito -> CRED, Dbito -> DEB.
ReciboSoloCliente: Indicador para imprimir slo el recibo para el
cliente.
reciboOpcional: Indicador que permite no imprimir recibos, siempre
que se reciba en la respuesta con valor TRUE.
autenticadoPorPin: Indicador de autenticacin por pin, afecta a la
impresin 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 ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
50

Integracion
racion TpvpcImplantado
Integ

9.

ANEXO VI. Cdigos Error TPVPC


A continuacin se detallan los cdigos de error ms comunes que puede
devolver el TPVPC:
SOAP-TPVPC0000

Se ha producido un error al validar el mensaje.

SOAP-TPVPC0001

Error genrico.

SOAP-TPVPC0002

Firma incorrecta.

SOAP-TPVPC0003

La versin del mensaje no est soportada.

SOAP-TPVPC0004

El mensaje no contiene los elementos


requeridos.

SOAP-TPVPC0005

Algunos elementos no contienen los valores


esperados.

SOAP-TPVPC0006

El mensaje est caducado.

SOAP-TPVPC0007

Se ha producido un error desconocido.

SOAP-TPVPC0008

La versin del mensaje no soporta la operativa


especificada.

SOAP-TPVPC0009

El mensaje de peticin de consulta no puede


incluir banda y nmero de tarjeta en el mismo
mensaje.

SOAP-TPVPC0010
SOAP-TPVPC0014
SOAP-TPVPC0015

El mtodo al que se enva la no es el adecuado.


No existe una operacin con esos datos.
Clave no localizada

TPVPC0009

El importe de la devolucin supera el importe de


la operacin original.

TPVPC0014

Se ha producido un error en el sistema.


Intntelo ms tarde, o pngase en contacto con
el Administrador.

TPVPC0015

Faltan datos para llevar a cabo la operacin


solicitada.

TPVPC0016

El comercio no posee ningn terminal TPVPC


vlido.

TPVPC0018

La tarjeta no se ha ledo correctamente.


Asegrese de que la asociacin lector/terminal
es la correcta, e intntelo de nuevo.

TPVPC0019

La tarjeta no se ha ledo correctamente.


Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
51

Integracion
racion TpvpcImplantado
Integ

Asegrese de que la asociacin lector/terminal


es la correcta, e intntelo de nuevo.
TPVPC0020

Se ha producido un error al realizar la operacin.


Intntelo de nuevo.

TPVPC0021

No se han recibido todos los datos necesarios


para modificar su contrasea.

TPVPC0024

La contrasea especificada no puede ser


utilizada por motivos de seguridad. Por favor,
indique otra.

TPVPC0025

El formato del nmero de tarjeta introducido no


es vlido.

TPVPC0026

La tarjeta no se ha ledo correctamente.


Asegrese de que la tarjeta est en buen
estado, e intntelo de nuevo.

TPVPC0027

El formato de la fecha de caducidad introducida


no es vlido.

TPVPC0030

El sistema est ocupado. Reintntelo de nuevo


en unos instantes. Si el problema persiste,
pngase en contacto con su administrador.

TPVPC0031

Se ha producido un error al realizar la operacin.


Intntelo de nuevo.

TPVPC0032

El sistema no puede acceder a las operaciones


requeridas en este momento.

TPVPC0033

Faltan datos para realizar la autenticacin.

TPVPC0034

El usuario con el que intenta acceder ha sido


bloqueado. Pngase en contacto con su
administrador para desbloquearlo.

TPVPC0035

El usuario con el que intenta acceder est dado


de baja. Pngase en contacto con su
administrador.

TPVPC0036

Faltan datos para llevar a cabo la operacin


solicitada.

TPVPC0037

El sistema no puede acceder al usuario


especificado en este momento.

TPVPC0039

El perfil del usuario especificado slo tiene


acceso al Mdulo de Administracin TPVPC. Por
favor, indique otro usuario.

TPVPC0040

El sistema no ha podido completar la operacin


especificada. Por favor, intntelo de nuevo.

TPVPC0042

El sistema no soporta actualmente el mtodo de


Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
52

Integracion
racion TpvpcImplantado
Integ

autenticacin especificado. Por favor,


modifquelo en intente de nuevo la operacin.
TPVPC0043

Est intentando realizar una operacin de alta


sobre un usuario ya existente.

TPVPC0044

El formato del nmero de telfono introducido


no es vlido.

TPVPC0048

El medio de pago especificado no es vlido, o no


es soportado por el comercio. Por favor, pngase
en contacto con su administrador.

TPVPC0051

No se han definido criterios suficientes para


realizar la operacin solicitada.

TPVPC0052

La contrasea no es correcta, intntelo de


nuevo.

TPVPC0053

El usuario especificado no existe.

TPVPC0055

El comercio no tiene habilitada la operativa de


Entrada Manual de datos.

TPVPC0056

El usuario ha sido creado satisfactoriamente,


pero se ha producido un error al trmino de la
operacin. Si este problema persiste en el
futuro, pngase en contacto con su
administrador.

TPVPC0057

El cdigo de entidad especificado no existe.

TPVPC0058

La moneda especificada no coincide con la


moneda del terminal.

TPVPC0059

El sistema no puede acceder al terminal


especificado. Asegrese de que el terminal
existe, e intente de nuevo la operacin.

TPVPC0060

No existe ningn terminal apropiado para tratar


la marca de tarjeta introducida.

TPVPC0061

El sistema no ha podido completar la operacin


especificada. Por favor, intntelo de nuevo.

TPVPC0062

El usuario ha sido modificado satisfactoriamente,


pero se ha producido un error al trmino de la
operacin. Si este problema persiste en el
futuro, pngase en contacto con su
administrador.

TPVPC0063

El sistema no ha podido completar la operacin


especificada. Por favor, intntelo de nuevo.

TPVPC0064

El usuario ha sido dado de baja


satisfactoriamente, pero se ha producido un
error al trmino de la operacin. Si este
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
53

Integracion
racion TpvpcImplantado
Integ

problema persiste en el futuro, pngase en


contacto con su administrador.
TPVPC0065

El usuario especificado ya est dado de baja.

TPVPC0066

No se han encontrado usuarios que cumplan los


criterios de bsqueda definidos.

TPVPC0071

El comercio no tiene habilitada la operativa de


Preautorizaciones.

TPVPC0072

La operacin no puede completarse debido a que


no se ha recibido el dato de autenticacin de la
tarjeta: CVC2.

TPVPC0074

El CVC2 introducido no coincide con el


especificado en la tarjeta. Asegrese de que ha
introducido correctamente los dgitos que figuran
en el reverso de la tarjeta.

TPVPC0075

El perfil del usuario especificado no tiene acceso


al TPVPC.

TPVPC0077

Acceso denegado al sistema. El mensaje de


acceso no es vlido. Comprueba el formato del
mensaje, la firma y la fecha del mismo.

TPVPC0078

Est intentando realizar una operacin sobre la


que no tiene permisos asignados. Por favor,
pngase en contacto con su Administrador.

TPVPC0079

El comercio / terminal que ha especificado no


existe. Asegrese de que ha introducido
correctamente los datos y pngase en contacto
con su Administrador.

TPVPC0081

Contrasea incorrecta. Para realizar la operacin


requerida es necesario que especifique su
contrasea actual.

TPVPC0083

La configuracin de su lector no es la correcta.


Por favor, reintente la operacin y consulte con
su Administrador.

TPVPC0084

La tarjeta no se ha ledo correctamente.


Compruebe el estado de la tarjeta y que el lector
sea el correcto, o pngase en contacto con su
Administrador

TPVPC0085

La tarjeta no se ha ledo correctamente.


Asegrese de que la tarjeta est en buen
estado, e intntelo de nuevo.

TPVPC0087

El sistema est ocupado. Reintntelo de nuevo


en unos instantes. Si el problema persiste,

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
54

Integracion
racion TpvpcImplantado
Integ

pngase en contacto con su administrador.


TPVPC0089

Se ha producido un error al realizar la operacin.


Intntelo de nuevo.

TPVPC0090

El terminal no tiene asociado ningn lector


vlido. Por favor, configure el terminal o
pngase en contacto con el Administrador.

TPVPC0091

Se ha producido un error. La operacin


especificada no existe.

TPVPC0092

Se ha producido un error al realizar la operacin.


Intntelo de nuevo.

TPVPC0093

Se ha producido un error al realizar la operacin.


Intntelo de nuevo.

TPVPC0094

No es posible realizar ms confirmaciones sobre


la preautorizacin original.

TPVPC0096

Se ha producido un error en el sistema. El


formato de los datos pasados no es correcto.

TPVPC0097

Su contrasea no puede modificarse. Ya ha


realizado las modificaciones permitidas para
hoy.

TPVPC0099

El comercio no est habilitado para operar con la


tarjeta de fidelizacin indicada.

TPVPC0100

No puede realizar una


DEVOLUCION/CONFIRMACION sobre la
operacin especificada.

TPVPC0101

La firma no es correcta.

TPVPC0102

El certificado no es vlido o no est firmado por


una CA en la que se confe.

TPVPC0103

El certificado que est intentando asociar ya est


asociado a otro usuario.

TPVPC0104

La tarjeta no est asociada a ningn usuario


vlido en TPV_PC.

TPVPC0107

El comercio no tiene configurada la moneda


especificada.

TPVPC0108

Se ha producido un error al realizar la


conversin de divisas.

TPVPC0109

La tarjeta no admite el pago en la divisa


especificada.

TPVPC0110

El nmero de plazos indicado no es vlido.

TPVPC0112

El importe de una recarga para la operadora


Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
55

Integracion
racion TpvpcImplantado
Integ

especificada debe ser mltiplo de 5.00 Euros.


TPVPC0113

El importe de una recarga para la operadora


especificada debe ser mltiplo de 10.00 Euros.

TPVPC0114

El comercio no tiene habilitada la operativa de


Entrada Manual de datos.

TPVPC0115

La tarjeta utilizada no admite aplazamiento de


pagos.

TPVPC0117

El sistema ya est procesando una operacin


con los mismos datos. Si desea realizar una
nueva operacin, reintntelo en unos instantes.

TPVPC0118

El sistema ha detectado que existe una


operacin anterior con los mismos datos, con
resultado AUTORIZADA. Si desea duplicar la
operacin, reintntelo en unos instantes.

TPVPC0119

El sistema ha detectado que existe una


operacin anterior con los mismos datos, con
resultado de ERROR. Si desea repetir de nuevo
la operacin, reintntelo en unos instantes.

TPVPC0120

El sistema ha detectado que existe una


operacin anterior con los mismos datos, con
resultado RECHAZADA. Si desea repetir de
nuevo la operacin, reintntelo en unos
instantes.

TPVPC0121

No se puede realizar la accin requerida sobre la


operacin.

TPVPC0122

No se ha podido llevar a cabo la operacin


solicitada debido a un error en el importe.

TPVPC0123

No se puede realizar la accin requerida sobre


una operacin que result errnea o denegada.

TPVPC0124

No se puede realizar la accin requerida debido


a un error.

TPVPC0126

La tarjeta utilizada no es vlida.

TPVPC0127

No existe ninguna lista negra para el comercio


especificado.

TPVPC0128

No se puede actualizar la informacin de la


descarga para el comercio.

TPVPC0129

No se puede asignar la operativa de Lista Negra


al comercio. No existe ninguna lista negra
definida para ese comercio.

TPVPC0131

El comercio no tiene activada esta operativa.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
56

Integracion
racion TpvpcImplantado
Integ

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

AX-TPVPC0001

La configuracin especificada no es correcta.


Revise el campo descripcin para ms
informacin.

AX-TPVPC0002

Error en la comunicacin con TPVPC. Revisar


conexin con Internet.

AX-TPVPC0003

Error en la comunicacin con el PinPad. Revise


configuracin y conexin fsica con el dispositivo.

AX-TPVPC0004

Problema en la configuracin del Puerto de


comunicaciones.

AX-TPVPC0005

Error en el componente ActiveX de comunicacin


con Pinpad. Es necesario reinstalar aplicacin.

AX-TPVPC0006

Error en el PinPad, mensaje recibido no valido.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
57

Integracion
racion TpvpcImplantado
Integ

10.

ANEXO VII. Cdigos de Denegacin


Cuando una peticin de autorizacin da como resultado una operacin
denegada, en el campo codigoRespuesta se devuelve el cdigo de
denegacin asociado a dicha respuesta. Este cdigo indica el motivo por
el cual se ha denegado la operacin.
Los cdigos ms comunes se detallan a continuacin:

Cdigo

Descripcin

101

La tarjeta est caducada

102

Tarjeta bloqueada por el banco emisor

104

Operacin 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

Identificacin invlida de terminal o establecimiento

110

Importe invlido

112

Se requiere PIN obligatorio

114

Tarjeta no soporta el tipo de operacin solicitado

116

Disponible insuficiente

117

PIN incorrecto

118

Tarjeta no registrada

119

Desconocido

120

Operaciones denegadas por SIS

121

Excede lmite de importe en anticipos de efectivo

122

Denegacin por controles sobre el VCA

123

CAUV errneo

124

Titular necesita cambio de PIN previo a operar

125

Tarjeta no efectiva

126

Bloque de PIN invlido

129

Tarjeta no operativa (error en CVC2)

130

Moneda no soportada por el emisor

160

El terminal indica que la operacin de consumo CEPS no ha


finalizado correctamente

161

Marca no admitida por el emisor

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
58

Integracion
racion TpvpcImplantado
Integ

180

Tarjeta no soportada por el sistema

181

Tarjeta con restricciones dbito

182

Tarjeta con restricciones crdito

183

Tarjeta con restricciones dbito (cuenta de crdito)

184

Error en autenticacin

185

Control dispositivos no adaptados EMV

187

Error en criptografa EMV

190

Denegada por el banco emisor de la tarjeta, por diversos motivos

191

Fecha de caducidad errnea

192

Datos de case no encontrados

193

Importe excedido

194

Rechazo por el operador telefnico

195

Control Fallback

198

Denegacin DCC para envo 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

Operacin no permitida para esa tarjeta o terminal

206

Intentos de PIN excedidos. Retener tarjeta

207

Tarjeta en condiciones especiales. Retener tarjeta

210

Retencin por controles sobre el VCA

280

CVV1/CVC1 o CVV2/CVC2 errneo. Retener tarjeta

290

Denegada por diversos motivos. Orden de retirar la tarjeta

912

Nmero de tarjeta inexistente

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
59

Integracion
racion TpvpcImplantado
Integ

11.

ANEXO VIII. Ejemplos Impresin de Recibos


A continuacin se muestran ejemplos de cmo las aplicaciones de los
comercios debern imprimir los recibos, cuando realicen la integracin
con TpvpcImplantado en Modo Transparente.

11.1

Recibo para una operacin realizada con Lectura de


Banda o Entrada Manual de Datos:

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
60

Integracion
racion TpvpcImplantado
Integ

11.2

Recibo para una operacin realizada con una Tarjeta


con Chip EMV:

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
61

Integracion
racion TpvpcImplantado
Integ

11.3

Recibo para una operacin realizada con una Tarjeta


DCC:

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
62

Integracion
racion TpvpcImplantado
Integ

11.4

Ejemplo de Recibo de una operacin 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.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
63

Integracion
racion TpvpcImplantado
Integ

11.5

Ejemplo de Recibo
<autenticadoPorPin>

cuando

se

recibe

elemento

Cuando se reciba el elemento autenticadoPorPin, se debe imprimir en


lugar del recuadro de firma, el literal que se recibe en el elemento
literales/autenticadoPorPin.
<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>0.01</importe>
<moneda>978</moneda>
<tarjetaComercioRecibo>************5532</tarjetaComercioRecibo>
<tarjetaClienteRecibo>************5532</tarjetaClienteRecibo>
<marcaTarjeta>1</marcaTarjeta>
<caducidad>0207</caducidad>
<comercio>777888991</comercio>
<terminal>1</terminal>
<pedido>5221</pedido>
<tipoTasaAplicada>CRED</tipoTasaAplicada>
<identificadorRTS>070001070104095223003876</identificadorRTS>
<factura>IDOPER_PINPAD</factura>
<fechaOperacion>2007-01-04 09:52:23.656</fechaOperacion>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>000262</codigoRespuesta>
<Literales>
<literal> </literal>
<autenticadoPorPin>OPERACION CON PIN. FIRMA NO
NECESARIA.</autenticadoPorPin>
</Literales>
<firma>2F88A699FD6E68E4C5BD6E33058B3101DB0E68D4</firma>
<operacionemv>true</operacionemv>
<conttrans>000996</conttrans>
<sectarjeta>01</sectarjeta>
<idapp>A0000000031010</idapp>
<etiquetaApp>VISA CLASSIC</etiquetaApp>
<codrespauto>00</codrespauto>
<resverificacion>0880008000</resverificacion >
<autenticadoPorPin>TRUE</autenticadoPorPin>
</resultadoOperacion>
</Operaciones>

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
64

Integracion
racion TpvpcImplantado
Integ

11.6

Ejemplo de Recibo
<operContactLess>

cuando

se

recibe

elemento

Cuando se reciba el elemento operContactLess con


valor TRUE, se debe imprimir la imagen que indica
el tipo de operativa en el recibo. Esto es necesario
realizarlo independientemente a otras posibles
etiquetas que se incluyan en la respuesta, como
pueden ser el caso de autenticadoPorPin o
ReciboSoloCliente.
<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>0.01</importe>
<moneda>978</moneda>
<tarjetaComercioRecibo>************5532</tarjetaComercioRecibo>
<tarjetaClienteRecibo>************5532</tarjetaClienteRecibo>
<marcaTarjeta>1</marcaTarjeta>
<caducidad>0207</caducidad>
<comercio>777888991</comercio>
<terminal>1</terminal>
<pedido>5221</pedido>
<tipoTasaAplicada>CRED</tipoTasaAplicada>
<identificadorRTS>070001070104095223003876</identificadorRTS>
<factura>IDOPER_PINPAD</factura>
<fechaOperacion>2007-01-04 09:52:23.656</fechaOperacion>
<estado>F</estado>
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
65

Integracion
racion TpvpcImplantado
Integ

<resultado>Autorizada</resultado>
<codigoRespuesta>000262</codigoRespuesta>
<Literales>
<literal> </literal>
<autenticadoPorPin>OPERACION CON PIN. FIRMA NO
NECESARIA.</autenticadoPorPin>
</Literales>
<firma>2F88A699FD6E68E4C5BD6E33058B3101DB0E68D4</firma>
<operacionemv>true</operacionemv>
<conttrans>000996</conttrans>
<sectarjeta>01</sectarjeta>
<idapp>A0000000031010</idapp>
<etiquetaApp>VISA CLASSIC</etiquetaApp>
<codrespauto>00</codrespauto>
<resverificacion>0880008000</resverificacion >
<autenticadoPorPin>TRUE</autenticadoPorPin>
<operContactLess> TRUE </ operContactLess >
</resultadoOperacion>
</Operaciones>

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
66

Integracion
racion TpvpcImplantado
Integ

11.7

Ejemplo de Recibo cuando Deniega Tarjeta EMV


Cuando una operacin se realiza con una tarjeta con chip EMV, puede
suceder que el TPVPC de cmo autorizada la operacin, pero sea la
tarjeta quien deniegue. En este caso, se recibirn en el xml de resultado
de la operacin unos nuevos elementos cuyo valor ser necesario
imprimirlos en el recibo. A continuacin detallamos estos nuevos
elementos (el valor de estos debe ser impreso tal cual se devuelve en el
recibo o ticket):

Val5F20, en el recibo el nombre debe aparecer como 5F20


Val5F25, en el recibo el nombre debe aparecer como 5F25
Val5F2A, en el recibo el nombre debe aparecer como 5F2A
Val82, en el recibo el nombre debe aparecer como 82
Val9A, en el recibo el nombre debe aparecer como 9A
Val9C, en el recibo el nombre debe aparecer como 9C
Val9F10, en el recibo el nombre debe aparecer como 9F10
Val9F1A, en el recibo el nombre debe aparecer como 9F1A
Val9F17, en el recibo el nombre debe aparecer como 9F17
Val9F26, en el recibo el nombre debe aparecer como 9F26
Val9F27, en el recibo el nombre debe aparecer como 9F27
Val9F33, en el recibo el nombre debe aparecer como 9F33
Val9F40, en el recibo el nombre debe aparecer como 9F40
Val9F34, en el recibo el nombre debe aparecer como 9F34
Val9F37, en el recibo el nombre debe aparecer como 9F37

<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>1.01</importe>
<moneda>978</moneda>
<tarjetaClienteRecibo>************0010</tarjetaClienteRecibo>
<tarjetaComercioRecibo>************0010</tarjetaComercioRecibo>
<marcaTarjeta>1</marcaTarjeta>
<caducidad>0000</caducidad>
<comercio>777888991</comercio>
<terminal>1</terminal>
<pedido>5987</pedido>
<identificadorRTS>078090081014092317180596</identificadorRTS>
<factura>DENIEGA-TARJ</factura>
<fechaOperacion>2008-10-14 09:23:14.0</fechaOperacion>
<estado>F</estado>
<resultado>Denegada</resultado>
<codigoRespuesta>190</codigoRespuesta>
<Literales>
<literal></literal>
</Literales>
<firma>4D52D852A674557958BAB9236B567792D4ED082D</firma>
<operacionemv>true</operacionemv>
<conttrans>000001</conttrans>
<sectarjeta>01</sectarjeta>
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
67

Integracion
racion TpvpcImplantado
Integ

<idapp>A0000000031010</idapp>
<codrespauto></codrespauto>
<resverificacion>4000008000</resverificacion>
<Val5F20>46554C4C2046554E4354494F4E414C</Val5F20>
<Val5F25>101231</Val5F25>
<Val5F2A>0978</Val5F2A>
<Val82>5C00</Val82>
<Val9A>081017</Val9A>
<Val9C>00</Val9C>
<Val9F10>06011A03900000</Val9F10>
<Val9F1A>0724</Val9F1A>
<Val9F17>03</Val9F17>
<Val9F26>395E4D911AB0196D</Val9F26>
<Val9F27>00</Val9F27>
<Val9F33>E0F0C0</Val9F33>
<Val9F40>4000F0B001</Val9F40>
<Val9F34>410302</Val9F34>
<Val9F37>37AEC214</Val9F37>
</resultadoOperacion>
</Operaciones>

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
68

Integracion
racion TpvpcImplantado
Integ

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
69

Integracion
racion TpvpcImplantado
Integ

12.

ANEXO IX. Al llamar a la funcin de Pago,


Preautorizacin, Confirmacin o Devolucin nos
devuelve el cdigo -2
En algunos casos, debido en la mayora de los casos por un problema en
la lnea de conexin a Internet, o fallo en el dispositivo (en el caso de las
operaciones de Pago o Preautorizacin realizadas desde el PinPad) las
siguientes funciones nos pueden devolver el cdigo de retorno -2:

Qu hacer en estos casos?

Esta prctica no es obligatoria, pero s muy recomendable, ya que


evitar el tener que consultar la operacin manualmente desde el
mdulo de administracin, para comprobar si la operacin result
Autorizada o Denegada.
De esta forma, la aplicacin del comercio, automticamente, podr
decidir si es necesario volver a enviar la transaccin o simplemente,
imprimir el recibo con el justificante del Pago.

Ejemplo: Se realiza una operacin 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 operacin de consulta con el intervalo temporal definido


entre diez minutos antes y diez minutos despus de la hora de la
operacin original.
ResultCstr = fnDllOperConsulta(null, null, FAC123456789,
20080109 100525, 20080109 102525, PAGO, null, 0,
cXMLResp, 1024);

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


como el que se muestra a continuacin:

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
70

Integracion
racion TpvpcImplantado
Integ

<?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 operacin resulto Autorizada.

Si ResultCstr es igual a -2, se deber revisar la conexin a


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

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
71

Integracion
racion TpvpcImplantado
Integ

13.

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 activacin a la entidad.
La configuracin se realiza en base al comercio y al nmero de
terminal.

13.1

Operativa DCC realizadas directamente en PinPad.


Algunos modelos de PinPad disponen de la posibilidad de que el Titular
seleccione la moneda de la transaccin en el propio dispositivo, con lo
que para la aplicacin que utilice la librera ser transparente y no
tendr que mostrar ningn mensaje al Titular. Lo que si tendr que
hacer es analizar el xml de respuesta recibido, para, en caso de que
fuese necesario, imprimir el recibo con los datos DCC.

Siempre que en el xml de Respuesta aparezca el elemento


<codigoDivisa>, ser necesario imprimir el recibo con los
datos DCC. En el punto Ejemplo de Operacin DCC se encuentra
un ejemplo de cmo imprimir un recibo DCC.

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>
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
72

Integracion
racion TpvpcImplantado
Integ

<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>
<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>
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
73

Integracion
racion TpvpcImplantado
Integ

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

13.2

Inhibicin de recibo.
Cuando el comercio tenga activada esta operativa, no es obligatorio
imprimir el recibo de la operacin si el importe de la operacin no
supera un determinado umbral. Este control es realizado por TPVPC, y
en la respuesta a la operacin puede indicar la necesidad de imprimir el
recibo.

Siempre que en el XML de respuesta aparezca el elemento


<reciboOpcional>, con el valor TRUE no es obligatorio
imprimir el recibo de la operacin (tanto el recibo cliente como el
recibo del comercio). Asimismo, tampoco es necesario solicitar
firma al cliente.

Ejemplo de Operacin en la que la impresin del recibo es opcional:

Llamada:
resultado = fnDllOperPinPad(10.00, OPER SIN RECIBO PINPAD, PAGO,
cXMLResp, 1024)

Respuesta:
<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>
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
74

Integracion
racion TpvpcImplantado
Integ

<identificadorRTS>070001080616124524332822</identificadorRTS>
<factura>OPER SIN RECIBO PINPAD</factura>
<fechaOperacion>2008-06-16 12:45:15.0</fechaOperacion>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>022824</codigoRespuesta>
<reciboOpcional>TRUE</reciboOpcional>
<firma>84F71795299CC2AA4657E26E9070CD3DE697CDEB</firma>
</resultadoOperacion>
</Operaciones>

13.3

Ejemplo de Integracin ActiveX desde pgina HTML


En la siguiente URL, se encuentra ejemplo de uso del ActiveX. En este
ejemplo no vienen descritos todos los mtodos. No se debe tomar este
ejemplo como una referencia de uso, su propsito es slo ayudar en el
proceso de integracin.

http://sas-d.sermepa.es/TPV_PC/TpvpcImplantado.htm

13.4

Ejemplo de Integracin de Librera .dll desde


Aplicacin en C#
Ejemplo de Integracin ActiveX desde aplicacin C# .NET, se muestra
cmo usar la integracin de la librera dinmica. En el ejemplo se usa la
clase ClsTpvpcLatente.cs, como interfaz de comunicacin con la librera.
Siempre existe la posibilidad de realizar la integracin utilizando el
ActiveX.

http://sas-d.sermepa.es/TPV_PC/ActiveX/EjTpvpcImplantadoNET.zip

13.5

Ejemplo de Integracin de ActiveX desde Aplicacin


Visual Basic 6.0
Antes de abrir este proyecto, es necesario tener instalada y registrada la
librera de comunicacin.

http://sas-d.sermepa.es/TPV_PC/ActiveX/EjTpvpcImplantadoVB6.zip

13.6

Ejemplo de Integracin de ActiveX desde Aplicacin


Visual Basic .NET (2005)
Antes de abrir este proyecto, es necesario tener instalada y registrada la
librera de comunicacin

http://sas-d.sermepa.es/TPV_PC/ActiveX/ClienteVB_2005_Net.zip
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
75

Integracion
racion TpvpcImplantado
Integ

13.7

Ejemplo de Integracin de ActiveX desde Aplicacin


PowerBuilder 11
Antes de abrir este proyecto, es necesario tener instalada y registrada la
librera de comunicacin.

http://sas-d.sermepa.es/TPV_PC/ActiveX/ClientePowerBuilder_11.zip

13.8

Ejemplo de Integracin de Librera desde C# para


Windows Mobile (Pocket Pc)
Antes de abrir este proyecto, es necesario tener instalada la librera
dllTpvpcImplantadoWM.dll. Esta librera debe estar en el mismo
directorio que el archivo ejecutable.

http://sas-d.sermepa.es/TPV_PC/ActiveX/AppPrueba.zip

13.9

Ejemplo de Integracin de ActiveX desde Aplicacin


Java
Antes de abrir este proyecto, es necesario tener instalada y registrada la
librera de comunicacin. Para este proyecto se ha usado la librera
JACOB
(JAva-COM
Bridge).
Para
ms
informacin
ver
http://sourceforge.net/projects/jacob-project/

Esta librera usa dos componentes:


o

Por un lado utiliza (tanto para compilar como para ejecutar) un


fichero jar (jacob.jar). Por lo tanto, a la hora de ejecutar el
ejemplo es necesario tener en el classpath la ruta a dicho fichero.
Por otra parte, utiliza un fichero DLL (jacob-1.14.3-x86.dll o
jacob-1.14.3-x64.dll, dependiendo de la arquitectura de la
mquina donde se ejecute) para comunicacin con la librera
nativa. Es necesario especificar la ruta donde reside el fichero que
corresponde a nuestra arquitectura mediante el parmetro
java.library.path. Por ejemplo, a la hora de ejecutar el
programa de ejemplo:
java classpath <ruta_a_jacob.jar>;%CLASSPATH%
Djava.library.path=C:\_trabajo\jacob-1.14.3\dll
es.sermepa.tpvpc.implantado.TpvpcLatenteJACOB

http://sas-d.sermepa.es/TPV_PC/ActiveX/ClienteImplantadoJava.zip

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
76

Integracion
racion TpvpcImplantado
Integ

13.10 Ejemplo de Integracin de Librera en Visual C++ 6.0


Una vez descomprimido el archivo .zip, existe una carpeta SDK, que
contiene los archivos .lib y .h necesarios para compilar el ejemplo o
cualquier proyecto que realice la integracin con VC.
Importante tener en cuenta, que es necesario inicializar el modelo de
hilos para libreras COM.

Ej.: CoInitialize(NULL);

http://sas-d.sermepa.es/TPV_PC/ActiveX/ClienteVC.zip

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
77

Integracion
racion TpvpcImplantado
Integ

14.

ANEXO XI. Tratamiento Firma Digitalizada


Cuando una operacin tiene asociada una firma digital, el comercio slo
tendr la obligacin de generar la boleta para el cliente sin la necesidad
de firma. En este caso, se recibir en el XML de respuesta el tag
<ReciboSoloCliente> igual a TRUE:
<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>0.04</importe>
<moneda>978</moneda>
<tarjetaClienteRecibo>************2219</tarjetaClienteRecibo>
<tarjetaComercioRecibo>************2219</tarjetaComercioRecibo>
<marcaTarjeta>1</marcaTarjeta>
<caducidad>0000</caducidad>
<comercio>123443210</comercio>
<terminal>1</terminal>
<pedido>41722</pedido>
<tipoTasaAplicada>CRED</tipoTasaAplicada>
<identificadorRTS>070001090121162300446374</identificadorRTS>
<fechaOperacion>2009-01-21 17:24:31.0</fechaOperacion>
<titularTarjeta> REDSYS/SERVIRED
</titularTarjeta>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>000061</codigoRespuesta>
<Literales>
<literal></literal>
</Literales>
<firma>E9A797406B8D56949B7B64A092F45AD8D4C20A45</firma>
<ReciboSoloCliente>TRUE</ReciboSoloCliente>
</resultadoOperacion>
</Operaciones>

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
78

Integracion
racion TpvpcImplantado
Integ

Aunque el comercio y el Pinpad tengan la posibilidad de firma


Digitalizada, si el cliente no firma en el dispositivo (*), se deber
imprimir tanto el recibo cliente como el comercio (con la cajetilla de
firma). En este caso no se recibir el tag <ReciboSoloCliente>:

<Operaciones version="6.0">
<resultadoOperacion>
<tipoPago>PAGO</tipoPago>
<importe>0.02</importe>
<moneda>978</moneda>
<tarjetaClienteRecibo>************2229</tarjetaClienteRecibo>
<tarjetaComercioRecibo>************2229</tarjetaComercioRecibo>
<marcaTarjeta>1</marcaTarjeta>
<caducidad>0000</caducidad>
<comercio>123443210</comercio>
<terminal>1</terminal>
<pedido>41724</pedido>
<tipoTasaAplicada>CRED</tipoTasaAplicada>
<identificadorRTS>070001090121150317006247</identificadorRTS>
<fechaOperacion>2009-01-21 17:32:25.0</fechaOperacion>
<titularTarjeta>REDSYS/SERVIRED
</titularTarjeta>
<estado>F</estado>
<resultado>Autorizada</resultado>
<codigoRespuesta>012434</codigoRespuesta>
<Literales>
<literal></literal>
</Literales>
<firma>7064C7A60A974BF59A2B1D50CBD64E549803C281</firma>
</resultadoOperacion>
</Operaciones>

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
79

Integracion
racion TpvpcImplantado
Integ

(*) NOTA: aun firmando el cliente en el Pinpad, la etiqueta


<RecibeSoloCliente> puede no aparecer (la operacin se
considerar autorizada y sin firma) debido a un problema en la
recepcin de esta. En este caso, el comercio deber imprimir las
dos boletas como arriba expuesto, y el cliente firmar la copia
para el comercio.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
80

Integracion
racion TpvpcImplantado
Integ

15.

ANEXO XII. Tratamiento PIN


Cuando una operacin requiere autenticacin de titular mediante PIN
desde el dispositivo PinPad, no es necesario la realizacin 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>

Cuando aparece el tag <autenticadoPorPin> igual a TRUE, no es


obligatorio imprimir la boleta del comercio, pero s la boleta del cliente.
Si se desea imprimir la boleta del comercio se deber imprimir el literal
de la etiqueta Literales/autenticadoPorPin en lugar de la cajetilla de la
firma:

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
81

Integracion
racion TpvpcImplantado
Integ

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
82

Integracion
racion TpvpcImplantado
Integ

16.
16.1

16.2

ANEXO XIII. Integracin Librera nativa C++ Linux


Requisitos mnimos de uso de la librera C++ Linux

Kernel: 2.4.20 (i386)

Compilador: gcc 3.2.2

Integracin entorno Linux


La integracin de TpvpcImplantado es tambin posible con sistemas
Linux. Para ello se ha desarrollado una librera especfica compatible con
estos sistemas operativos, en concreto se trata de una librera dinmica:
libImplantadoLinux.so.
Esta librera exporta las funciones de TpvpcImplantado ya descritas
anteriormente, de tal forma que el desarrollador puede usar un fichero
de cabecera (TpvpcLatente.h) que tiene las definiciones de las funciones
para poder desarrollar su aplicacin y, posteriormente, usar las libreras
para realizar el enlazado y la ejecucin.
La nica diferencia con las funciones de TpvpcImplantado ya descritas
anteriormente radica en los tipos de datos, que pasan a ser tipos de
datos bsicos de C++. Este es el contenido del fichero de cabecera
TpvpcLatente.h:

/* Funcin que inicia la aplicacin TPVPC LATENTE */


extern "C" int fnDllIniTpvpcLatente(char * cComercio, char * cTerminal, char * cClaveFirma,
char * cConfPuerto, char * cVersion);

/* Fuerza la parada de TPVPC Latente. No devuelve errores. */


extern "C" int fnDllParaTpvpcLatente();

/* Funcin que realiza una peticin de Pago o Preautorizacin al TPVPC


utilizando un dispositivo PINPAD */
extern "C" int fnDllOperPinPad(char * cImporte, char * cFactura, char
* cTipoOper, char * cXMLResp, int iTamMaxResp);

/* Funcin que confirma como se quiere realizar una operacin que es


DCC.
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
83

Integracion
racion TpvpcImplantado
Integ

* Este mtodo slo debe ser llamado despus de fnDllOperPinPad */


extern "C" int fnDllOperPinPadDCC(char * cImporte, char * cFactura,
char * cTipoOper, char * cCodDivisa, char * cXmlResp, int
iTamMaxResp);

/* Funcin que confirma como se quiere realizar una operacin que es


DCC.
* Este mtodo slo debe ser llamado despus de fnDllOperManualExt */
extern "C" int fnDllOperManualDCC(char * cCodDivisa, char * cXMLResp,
int iTamMaxResp);

/* Funcin que realiza una peticin de Pago o Preautorizacin al TPVPC


tecleando
* manualmente la tarjeta, caducidad y cvc2 */
extern "C" int fnDllOperManualExt(char * cTarjeta, char * cCaducidad,
char * cCVC2, char * cImporte, char * cFactura, char * cTipoOper,
char * cXMLResp, int iTamMaxResp);

/* Funcin que realizar una peticin de Devolucin/Confirmacin de


una operacin realizada en el TPVPC */
extern "C" int fnDllOperComContable(char * cNumPedido, char *
cRTSOriginal, char * cImporte, char * cFactura, char * cTipoOper, char
* cXMLResp, int iTamMaxResp);

/* Funcin que realizar una peticin de Devolucin/Confirmacin de


una operacin realizada en el TPVPC */
extern "C" int fnDllOperComContableTerminal(char * cNumTerminal, char
* cNumPedido, char * cRTSOriginal, char * cImporte, char * cFactura,
char * cTipoOper, char * cXMLResp, int iTamMaxResp);

/*

Funcin que realizar una peticin de Devolucin Sin Original */

extern "C" int fnDllOperDevSinOrig(char * cTarjeta, char * cCaducidad,


char * cImporte, char * cFactura, char * cXMLResp, int iTamMaxResp);

/* Funcin para realizar consulta de operaciones realizadas con el


* comercio terminal especificado en la funcin de Inicializacin */
Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
84

Integracion
racion TpvpcImplantado
Integ

extern "C" int fnDllOperConsulta(char * cNumPedido, char * cRTS, char


* cFactura, char * cFechaIni, char * cFechaFin, char * cTipo, char *
cResultado, char * cNumPagina, char * cXMLResp, int iTamMaxResp);

/* Funcin que realiza una consulta de Totales, sobre el


comercio/terminal especificado al iniciar la librera */
extern "C" int fnDllOperTotales(char * cFecha, char * cDesgloseVM,
char * cDesgloseMarcas, char * cXMLResp, int iTamMaxResp);

/* Funcin que realizar una Anulacin de una operacin de


Preautorizacin realizada en el TPVPC */
extern "C" int fnDllOperAnulPreaut(char * cNumPedido, char *
cRTSOriginal, char * cFactura, char * cXMLResp, int iTamMaxResp);

/* Funcin que realizar un Reemplazo de una operacin de


Preautorizacin realizada en el TPVPC */
extern "C" int fnDllOperReempPreaut(char * cNumPedido, char *
cRTSOriginal, char * cImporte, char * cFactura, char * cXMLResp, int
iTamMaxResp);

/* Mtodo que continua una operacin de la que se han devuelto


Opciones de Pago */
extern "C" int fnDLLTrataOpcionesPago(char * cOpcionPago, char *
cXMLResp, , int iTamMaxResp);

Tambin existe una interfaz para usar un objeto C++ que se puede
encontrar en la definicin de la librera LibTPVPC.h

Para integrar la aplicacin con la librera, es necesario incluir el fichero


de cabecera en todos los ficheros que realicen las llamadas a las
funciones de la librera. Supongamos que tenemos un fichero que
contiene el cdigo fuente de la aplicacin. Es necesario incluir en este
fichero una referencia al fichero de cabecera con la definicin de las
funciones de la librera:

#include "TpvpcLatente.h"

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
85

Integracion
racion TpvpcImplantado
Integ

Junto con la librera se distribuye un archivo caTpvpcImplantado.pem


con los certificados de Verisign necesarios para la comunicacin SSL en
el entorno de REAL. La librera se ha compilado utilizando la librera
openSSL, no es necesario tenerla instalada en el sistema, pero si debe
estar accesible en el directorio de ejecucin de la aplicacin el archivo
caTpvpcImplantado.pem.

Si fuese necesaria la actualizacin de estos certificados, se


podr descargar la ltima versin disponible de la librera,
solicitar este archivo a soportetpvpc@redsys.es o realizarlo de
forma manual (openssl necesario para generar el formato PEM).
Para la descarga manual, se pueden descargar desde un
navegador de la URL https://tpvpc.sermepa.es/TPV_PC/html/

Si la librera requiere la generacin de un fichero de Log, ste se


activar de manera remota en caso de incidencia. Se generar en el
directorio
de
ejecucin
de
la
aplicacin
con
el
nombre
logDllImplantado.txt.

16.3

Ejemplo de Integracin de Librera en Linux: Librera


dinmica

Este proceso consiste en tener la librera en un fichero separado del


ejecutable, que es cargado de forma dinmica durante la ejecucin de la
aplicacin, nicamente cuando alguna de las funciones de la librera es
llamada. De esta forma, se optimiza el tamao del fichero ejecutable, se
ahorra memoria y es ms fcil el mantenimiento de la aplicacin ante
nuevas versiones de la librera.
Una vez finalizado el desarrollo, para generar el programa ejecutable,
debemos proceder de la siguiente forma:

Copiar el fichero con la librera (libImplantadoLinux.so) en un


directorio de libreras del sistema (por ejemplo, /opt/lib)

Compilar el programa indicando la ruta de las libreras con el


parmetro L e indicar, con el parmetro l el nombre de la
librera a usar (sin el prefijo lib):

g++ -Wall L/opt/lib aplicacin.cpp lTpvpcImplantado lpthread o


<nombre_fichero_ejecutable>

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
86

Integracion
racion TpvpcImplantado
Integ

donde <nombre_fichero_ejecutable>
ejecutable de la aplicacin

es

nombre

del

fichero

A la hora de ejecutar la aplicacin, al tratarse de una librera


dinmica, sta debe estar en el PATH de bsqueda del sistema.
Para ello existen diferentes posibilidades, en este documento se
recomiendan dos opciones, pero la decisin de cmo configurar
este acceso es responsabilidad del desarrollador:
-

Opcin A: es necesario incluir en la variable de sistema


LD_LIBRARY_PATH la ruta donde se ha almacenado la
librera dinmica, en el caso de que no est incluida:

export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH

Esta instruccin se puede guardar en uno de los


ficheros de arranque del sistema para que slo se deba
hacer una nica vez.
-

Opcin B: crear un enlace simblico a la librera en el


directorio /usr/lib:

cd /usr/lib
sudo ln s <PATH_LIB>/libImplantadoLinux.so
libImplantadoLinux.so

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
87

Integracion
racion TpvpcImplantado
Integ

17.

ANEXO XIV. Integracin Librera JAVA


La integracin de TpvpcImplantado es tambin posible con sistemas Linux y
MAC OS. Para ello se ha desarrollado una librera en JAVA (multiplataforma)
que es compatible con estos sistemas operativos. Como es multiplataforma,
tambin puede ser usada en el sistema operativo Windows.
Si bien esta librera es multiplataforma, usa una librera nativa de
comunicacin con puertos serie, que es especfica para cada plataforma.
Por otra parte, esta librera JAVA tiene la posibilidad de usar aquellos Pinpad
cuya conexin sea Ethernet.
Esta librera exporta las funciones de TpvpcImplantado ya descritas
anteriormente. El desarrollador nicamente debe importar la clase
es.sermepa.implantado.SerClsTpvpcLatente, que contiene los mtodos a
usar. Asimismo, deber aadir al classpath de ejecucin de la aplicacin los
ficheros JAR contenidos en la carpeta Include.

17.1

Requisitos mnimos de la librera JAVA

17.2

JDK o JRE 1.5.0 o superior

Desarrollo
Las funciones descritas anteriormente se implementan en la clase
es.sermepa.implantado.SerClsTpvpcLatente como mtodos estticos.
Esta clase se encuentra en el fichero implantado.jar.
Como particularidad, el mtodo fnDllIniTpvpcLatente recibe slo 3
parmetros, ya que recupera la configuracin del puerto desde el
Mdulo de Administracin de TPVPC. Existe, asimismo, la versin con 5
parmetros, pero est marcada como obsoleta, ya que en futuras
versiones se eliminar.
Ejemplo de llamada al mtodo fnDllIniTpvpcLatente:

import es.sermepa.implantado.SerClsTpvpcLatente;
.
String cComercio = 123443210;
String cTerminal = 1;
String cClaveFirma = AAABBB;
int retorno = SerClsTpvpcLatente.fnDllIniTpvpcLatente(cComercio, cTerminal,
cClaveFirma);

17.3

Ejecucin

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
88

Integracion
racion TpvpcImplantado
Integ

Es necesario incluir en el CLASSPATH de la aplicacin los ficheros


implantado.jar, latente.jar y todos los ficheros JAR que se incluyen en la
carpeta include.
Para configurar el acceso a puertos serie, es necesario instalar la librera
nativa RXTX, incluida en el directorio include/rxtx-2.1-7.
Dentro de este directorio, hay subdirectorios para cada sistema:

Para Linux: Seleccionar el fichero librxtxSerial.so que se encuentra


en una de las subcarpetas de include/rxtx-2.1-7/Linux.

Para Mac_OS_X: Seleccionar el fichero librxtxSerial.jnilib que se


encuentra en la carpeta include/Mac_OS_X.

Para Windows: Seleccionar el fichero rxtxSerial.dll que se encuentra


en la carpeta include/Windows.

Una vez seleccionado el fichero deseado (y copiado al directorio


requerido), es necesario aadir un parmetro de ejecucin de mquina
virtual Java (parmetro java.library.path).
Para configurar la ejecucin con esta librera:

Windows:
o

Incluir el fichero jar RXTXcomm.jar en el CLASSPATH de la


aplicacin. Este fichero se encuentra en el directorio include de
la aplicacin.

Guardar el fichero include\rxtx-2.1-7\Windows\rxtxSerial.dll en


una
carpeta
referenciable
o
bien
en
el
directorio
<java_vm>\jre\lib\ext

Ejecutar la aplicacin java con el parmetro java.library.path


referenciando la carpeta donde se ha guardado el fichero.
Ejemplo:
java -Djava.library.path=%PATH_APP%\include\rxtx-2.1-7\Windows .

Linux/Mac_OS_X:
o

Incluir el fichero jar RXTXcomm.jar en el CLASSPATH de la


aplicacin. Este fichero se encuentra en el directorio include de
la aplicacin.

Para Mac OS X: Guardar el fichero Mac_OS_X\librxtxSerial.jnilib


en la carpeta /Library/Java/Extensions

Para Linux: Guardar el fichero librxtxSerial.so correspondiente a


su arquitectura (seleccionar una de la carpeta Linux) en el
directorio <java_vm>\jre\lib\ext

Ejecutar la aplicacin java con el parmetro java.library.path


referenciando la carpeta donde se ha guardado el fichero.
Ejemplo:

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
89

Integracion
racion TpvpcImplantado
Integ

java -Djava.library.path=/Library/Java/Extensions .

El usuario que ejecuta debe tener permisos de administrador en el


equipo, adems de pertenecer a los grupos uucp y lock (en
algunas mquinas, _uucp y _lock):
-

Un usuario se aade a los grupos lock o uucp editando el


fichero /etc/groups

Por ejemplo: para aadir el usuario "tpvpcimplantado" al


grupo lock:
[Situacin previa]
lock:x:54:
[Situacin final]
lock:x:54:tpvpcimplantado

En este momento, el usuario "tpvpcimplantado" ya


pertenece ya al grupo lock

Es necesario tener permiso de escritura en los directorios


/var/spool/uucp
/var/lock
Para permitir permiso de lectura-escritura, ejecutar:
chmod 666 /var/spool/uucp
chmod 666 /var/lock

Es necesario tambin verificar que el usuario tiene permisos de


lectura y escritura en el puerto serie seleccionado:
Por ejemplo, siendo el puerto serie siguiente: /dev/ttyS1,
ejecutar el comando:
chmod 666 /dev/ttyS1

Para ejecucin con Proxy, es necesario usar los parmetros de mquina


virtual (-D) http.proxyHost (Host del proxy), http.proxyPort (Puerto de
escucha del proxy), http.proxyUser (Usuario de acceso al Proxy, en caso
de existir), http.proxyPassword (Password del usuario de acceso al Proxy)
Un ejemplo de script con ejecucin completa de la aplicacin de pruebas
se puede encontrar en el fichero implantado.bat, incluido en la carpeta
samples de la instalacin de TpvpcImplantado.

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
90

Integracion
racion TpvpcImplantado
Integ

Junto con la librera se distribuye el archivo caTpvpcImplantado.jks


con los certificados de Verisign necesarios para la comunicacin SSL en
el entorno de REAL y DESARROLLO. Este fichero debe estar en el
directorio de ejecucin de la aplicacin, para el correcto funcionamiento
de la librera.
Si fuese necesaria la actualizacin de estos certificados, se podr
descargar la ltima versin disponible de la librera, solicitar este
archivo a tpvpc@redsys.es o realizarlo de forma manual (keytool
necesario para generar el formato JKS).
Para la descarga
manual, se pueden descargar desde un navegador de la URL
https://tpvpc.sermepa.es/TPV_PC/entrada
Si la librera requiere la generacin de un fichero de Log, ste se
activar de manera remota en caso de incidencia. Se generar en el
directorio
de
ejecucin
de
la
aplicacin
con
el
nombre
logDllImplantado.txt

Redsys C/ Francisco Sancha, 12 28034 Madrid ESPAA

Ref SM.DE.DNC.MAN.0046
Versin: 2.22

19/04/2012
91

Вам также может понравиться