You are on page 1of 81

TPV VIRTUAL 4.

7 MANUAL DE IMPLEMENTACION PARA COMERCIOS

Confederacin Espaola de Cajas de Ahorros. Avda. de Bruselas, 37 28028 Madrid Tel.: 91 596 53 28 Email: soporte.tpv@ceca.es

CONTENIDO
CONTENIDO ....................................................................................................................................... 2 1.- INTRODUCCIN: .......................................................................................................................... 3 Caractersticas ms importantes: .................................................................................................... 3 2.- POR DNDE EMPEZAR: .............................................................................................................. 6 3.- TIPOS DE COMERCIOS: .............................................................................................................. 7 Estndar/Inseguro: .......................................................................................................................... 7 Seguro: ............................................................................................................................................ 7 Mixto: ............................................................................................................................................... 7 4.- ESCENARIOS DE PAGOS: ........................................................................................................... 9 Pago en comercio electrnico Estndar/no seguro: ........................................................................ 9 Pago en comercio electrnico Seguro (3D-Secure) ...................................................................... 11 5.- CLCULO DE LA FIRMA............................................................................................................ 13 6.- PROGRAMACIN A REALIZAR EN EL SERVIDOR DE COMERCIO ...................................... 15 6.1.- Compatibilidad con versiones anteriores .............................................................................. 16 6.2 Ejemplos de formularios .......................................................................................................... 17 Ejemplo de llamada en la que los datos de tarjeta son solicitados por el TPV ......................... 17 Ejemplo de llamada en la que los datos de tarjeta son solicitados por el comercio.................. 18 6.3 Direcciones de llamada ........................................................................................................... 19 7.- PERSONALIZACIN DE PGINAS. ........................................................................................... 20 7.1.- Descripcin de las pginas ................................................................................................... 21 MerchantID_ssl.html: ................................................................................................................. 21 MerchantID_OK.html:................................................................................................................. 22 MerchantID_error_atras.html: .................................................................................................... 22 MerchantID_error_maximo.html:................................................................................................ 23 Otras pginas: ............................................................................................................................ 23 Idiomas ....................................................................................................................................... 23 7.2 Publicacin de pginas y peticin de plantillas ....................................................................... 23 8.- COMUNICACIN ON-LINE ........................................................................................................ 25 Comunicacin online con respuesta requerida: ............................................................................ 26 9.- CONSULTA ONLINE DE OPERACIONES REALIZADAS: ......................................................... 28 10.- COMUNICACIN BATCH DE LAS OPERACIONES REALIZADAS ........................................ 29 11.- ANULACIN DE OPERACIONES ............................................................................................. 30 Anulacin parcial desde WEB del Comercio. ................................................................................ 32 12.- DIRECCIONES DE SOPORTE TPV ......................................................................................... 35 ANEXO 0. RUTINA DEL CLCULO DE LA FIRMA ANTIGUA: ....................................................... 36 Propsito ........................................................................................................................................ 36 Sintaxis .......................................................................................................................................... 36 Formas habituales de Uso y requisito del hosting ......................................................................... 37 ANEXO I. INSTRUCCIONES DE INSTALACIN EN UNIX/LINUX ................................................. 38 ANEXO II. INSTRUCCIONES DE INSTALACIN EN WINDOWS NT.- .......................................... 40 ANEXO III. INSTRUCCIONES DE INSTALACIN EN JAVA.- ........................................................ 42 ANEXO IV. Ejemplo de implementacin en Perl - PHP ................................................................... 43 ANEXO V. TARJETAS DE PRUEBAS .............................................................................................. 49 ANEXO VI. PAGO SEGURO 3D-SECURE. ..................................................................................... 50 ANEXO VII CONSOLA DE ADMINISTRACIN TPV VIRTUAL PARA COMERCIOS ..................... 53 ANEXO VIII: TRATAMIENTO DE ERRORES.................................................................................. 65 ANEXO IX: PETICIN DE CVV2/CVC2 ........................................................................................... 68 ANEXO X. OPERATORIA MULTIMONEDA ..................................................................................... 69 ANEXO XI: GESTOR DE OPERACIONES ....................................................................................... 72 ANEXO XII: OPERATORIA AMEX (AMERICAN EXPRESS) ........................................................... 75 PREGUNTAS FRECUENTES........................................................................................................... 78 RECOMENDACIONES. .................................................................................................................... 80 CONTROL DE VERSIONES: ............................................................................................................ 81

1.- INTRODUCCIN:
En este documento se describen las caractersticas de la versin 4.5 del TPV virtual ofrecido por CECA. Un TPV es un software que se implementa en los SERVIDORES WEB DEL COMERCIO y que permite realizar pagos securizados mediante una tarjeta de crdito/dbito en internet. Esta nueva versin es totalmente compatible con las versiones anteriores, por lo que aquellos COMERCIOS que ya estn utilizando el TPV virtual de CECA, podrn continuar hacindolo sin necesidad de realizar ningn cambio en su programacin, a no ser obviamente, que quieran incorporar alguna de las nuevas caractersticas. La implementacin de un TPV requiere unos conocimientos mnimos de programacin, por parte del cliente. Existe otra opcin denominada TPV-Blanco que es una aplicacin WEB que no se integra directamente en el SERVIDOR WEB del comercio y que permite de forma manual hacer transacciones por parte del titular del comercio. Esta opcin es distinta del TPV virtual y no requiere tener conocimientos de programacin. Su funcionamiento es el siguiente. La persona que quiera realizar la compra debe facilitar el nmero de tarjeta al comercio. El comercio entrar en una direccin de internet en la cual deber identificarse como usuarios del comercio. Una vez dentro introducir los datos proporcionados por su cliente y la operacin ser realizada. En caso de ser esta la utilidad deseada debe ponerse en contacto con su entidad para que le den ms informacin al respecto.

Caractersticas ms importantes:
Las caractersticas ms importantes, la versin 4.1 del TPV virtual permite: Uso protocolo SSL.- El CLIENTE slo necesita disponer de un navegador WEB que soporte SSL 3.0 con claves de cifrado de 128 bits (prcticamente todas las versiones actuales de navegadores existentes en el mercado cumplen este requisito) y el COMERCIO slo requiere estar creado y autorizado en las tablas del TPV virtual de CECA. Esta caracterstica ya estaba presente en la versin anterior del TPV virtual. Esta solucin garantiza: Secreto en la comunicacin entre el CLIENTE/COMERCIO y el TPV virtual, puesto que todo el dilogo es SSL 3.0 con claves de cifrado de 128 bits (la versin SSL 2.0 no ser soportada). Adems, desde la versin 2.0, se aadi la funcionalidad de que los datos de la tarjeta de crdito/dbito (PAN y Caducidad) puedan ser requeridos opcionalmente desde una pgina HTML presentada directamente por el TPV virtual, en lugar de por el COMERCIO, con lo que se le garantiza al CLIENTE por un lado que estos datos viajan siempre adecuadamente cifrados por la RED y por otro que nunca se le facilitan al COMERCIO.

Autentificacin del COMERCIO e Integridad de los datos enviados entre el CLIENTE/COMERCIO y el TPV virtual. Comunicaciones Firmadas Todas las comunicaciones hacia el TPV virtual van protegidas por una firma electrnica que es calculada e insertada por el COMERCIO en base a sus propios datos (MerchantID, AcquirerBIN y TerminalID) y a los datos de la operacin (Nmero de operacin, Importe, Tipo de Moneda, Exponente). La firma electrnica es recalculada por el TPV virtual y comparada con la firma electrnica recibida antes de proceder a aceptar cualquier pago. De esta forma se evita que un tercero pueda manipular cualquier dato entre el envo de los datos desde el comercio hasta el TPV virtual. El mismo mecanismo se sigue en la comunicacin desde el TPV Virtual hacia el COMERCIO, en caso de que la haya. Pago 3D-Secure (Verified by Visa / Mastercard SecureCode.- Una Compra

securizada en Internet consiste bsicamente en la Autentificacin del titular de la tarjeta. El CLIENTE, para ser autenticado por su entidad emisora debe tener acceso
a alguna herramienta de identificacin. El COMERCIO slo requiere estar creado y autorizado en las tablas del TPV virtual de CECA y haber sido declarado como Securizado o Mixto. La transaccin se procesar independientemente de si el CLIENTE dispone o no de una herramienta de autenticacin. Esta solucin garantiza: Secreto en la comunicacin entre el CLIENTE/COMERCIO y el TPV virtual, puesto que todo el dilogo es SSL 3.0 con claves de cifrado de 128 bits. Securizacin del COMERCIO e Integridad de los datos enviados entre el CLIENTE/COMERCIO y el TPV virtual. Autenticacin del Cliente. Las operaciones realizadas por este mtodo tratan de garantizar el pago al comercio en las operaciones en que los titulares niegan su participacin en las mismas (repudio). . El emisor de la tarjeta trata de autentificar al titular. Garanta de pago. En general para este tipo de operaciones, el COMERCIO tendr garanta de pago ante posibles repudios del titular. . Para mas detalle sobre la garanta de pago, revisar la versin actualizada del REGLAMENTO DEL TERMINAL PUNTO DE VENTA VIRTUAL DE CONFEDERACIN ESPAOLA DE CAJAS DE AHORROS Desde CECA (Confederacin Espaola de Cajas de Ahorro) impulsamos el estndar internacional de Comercio Electrnico Seguro desarrollado por Visa y MasterCard, basado en la securizacin de la identidad del comercio y autenticacin del titular de la tarjeta.. El mecanismo de autenticacin lo marcarn los distintos emisores pudiendo ser totalmente diferentes en funcin de la entidad. Cuando el cliente aprueba la operacin a travs de una identificacin positiva el comercio recibe entonces confirmacin del pago. Es en ese momento cuando la compra est efectuada y pagada con seguridad para el comercio y para el titular. Una compra efectuada a travs de este sistema tendr en general garanta de pago para el comercio ante posibles repudios del titular. De est forma se trata de eliminar uno de los mayores problemas de las operaciones actuales en Internet que denominaramos como compras estndar, donde al no estar identificado el cliente, este puede a posteriori anular la operacin alegando desconocimiento o participacin en la operacin.
En ciertos casos puntuales, y ante la certeza de que un comercio escudado en la garanta de pago ha iniciado una actividad fraudulenta (o ha relajado sus mecanismos de control del fraude permitiendo a un tercero una actividad fraudulenta en el mismo), los sistemas internacionales o nacionales pueden acordar su prdida de la garanta de pago durante un periodo determinado de tiempo, as como imponerle otras penalizaciones.

2.- POR DNDE EMPEZAR:


A continuacin se muestran una serie de pasos a realizar para implementar un TPV en la WEB del comercio. Estos pasos son orientativos, y cada comercio puede adaptarlos segn su forma de trabajar. 1. Cmo se deca en el punto primero de este manual, la persona que vaya a implementar el TPV deber tener los conocimientos de programacin necesarios. 2. El comercio deber tener un espacio web donde albergar la tienda, ya sea a travs de sus propios recursos o contratando un hosting con alguna empresa que permita la instalacin de TPVs. En el apartado 5 Rutina del clculo de la firma - Formas habituales de Uso y requisito del hosting se describen los requisitos que debe tener. 3. Tener instalada alguna aplicacin de comercio electrnico (pgina web de la tienda) que permita al cliente poder seleccionar los productos que desea comprar 4. Conocer el tipo de comercio que ha contratado y su funcionamiento. (Ver apartados 3 Tipo de comercios y 4 Escenarios de pagos) 5. Instalar en el hosting los ficheros necesarios para calcular la firma que ser enviada al TPV. La firma es un campo encriptado a partir de una serie de campos que se utiliza en el pago y que servir para comprobar la autenticidad de los datos recibidos del comercio basndose en una clave de encriptacin nica. (Ver apartado 5 RUTINA DEL CLCULO DE LA FIRMA y anexos 1,2 y 3 para saber como se instala)

6. Una vez que el cliente ha seleccionado los productos y va a proceder al pago, se debe calcular
una firma a partir de una serie de campos. Para calcular dicha firma el comercio debe utilizar la clave de cifrado recibida. Una vez calculada la firma desde el script (php, perl, etc) sta ser enviada a CECA junto con e resto de campos necesarios, bien al entorno de pruebas bien al entorno de produccin (Ver Apartado 6.2- Programacin a realizar en el servidor del comercio - Ejemplos de formulario) 7. Una vez que se compruebe que las operaciones se lanzan correctamente habr que personalizar las pginas de pago alojadas en el servidor del TPV. (Ver apartado 7 Personalizacin de pginas) 8. Por ltimo y si de desea tener confirmacin en la WEB del comercio de las operaciones realizadas se proceder a configurar la comunicacin on-line. Para ello el comercio tendr que realizar el desarrollo de un proceso con esa funcin e indicar a CECA su URL. (Ver apartado 8 Comunicacin on-line)

3.- TIPOS DE COMERCIOS:


Existen varios tipos de comercios definidos dentro de la solucin TPV de las Cajas de Ahorros. El desarrollo WEB para un comercio es el mismo para todos los casos, slo depende del acuerdo que se tenga con la entidad. El cambio de un tipo a otro es transparente para el comercio, pero antes se debe tener claro lo que significa cada tipo. Ahora mismo hay definidos 3 tipos de Comercios.

Estndar/Inseguro:
No se pide ninguna autentificacin del cliente, solo se comprueba que la tarjeta tenga saldo y en algunos casos el CVV2/CVC2. Es importante destacar que No existe garanta de pago para el comercio, es decir, un cliente puede ir a su oficina varios meses despus de realizar una operacin y reclamar el importe alegando que desconoce el motivo del cargo. El banco retroceder la operacin y despus debe ser el comercio quien inicie las acciones legales que considere oportunas contra el cliente para demostrar que el cargo es valido, pero por defecto, la entidad retrocede las operaciones. Sin duda alguna este tipo de comercio es el que ms operaciones puede procesar, sin embargo debido al alto numero de incidencias tiende a desaparecer salvo en sectores que tienen un fraude bajo, como venta de entradas, donde posteriormente se exige la presentacin de la tarjeta. La mayora de entidades no concede altas para este tipo de comercios.

Seguro:
Solo se admiten operaciones donde el cliente se ha autenticado correctamente contra su entidad o bien la entidad se hace responsable del posible uso fraudulento de sus tarjetas en caso de no autenticar al titular y autorizar la operacin. En principio, todas las operaciones que se admiten con este sistema tienen garanta de pago. Por tanto la ventaja es clara, sin embargo actualmente no todas las tarjetas estn activas para funcionar en este sistema y son muchos los clientes que por desconocimiento o simplemente porque no quieren introducir sus datos de Banca Electrnica, no se autentican y por tanto la operacin no finaliza correctamente.
En ciertos casos puntuales, y ante la certeza de que un comercio escudado en la garanta de pago ha iniciado una actividad fraudulenta (o ha relajado sus mecanismos de control del fraude permitiendo a un tercero una actividad fraudulenta en el mismo), los sistemas internacionales o nacionales pueden acordar su prdida de la garanta de pago durante un periodo determinado de tiempo, as como imponerle otras penalizaciones.

Mixto:
Es una mezcla de lo anterior. En primer lugar las operaciones se intentan hacer como seguras. Si la operacin no puede ser lanzada por este modo, se lanza como una operacin normal, siempre y cuando el importe sea menor al definido por el comercio (Limite a securizar), que puede consultar y modificar desde la administracin del comercio. En este caso en las operaciones seguras el comercio tiene garanta de pago y en las no seguras el responsable es el propio comercio.
Que el comercio sea mixto no quiere decir que las operaciones con importes inferiores a importe indicado se procesen de modo inseguro. El limite securizado no funciona de ese modo. Si una tarjeta admite autenticacin, el proceso de autenticacin se inicia independientemente del importe de la operacin. El TPV si el comercio es seguro o mixto interroga a Visa/MasterCard para saber si una tarjeta admite autenticacin. Si la tarjeta admite auntenticacin en todos los casos (no importa el importe) se presenta la pagina de autenticacin de la entidad que corresponda. Una vez se presenta la pagina del banco para iniciar el proceso de autenticacin hay dos

opciones. -. El banco que corresponda no permite continuar sin autentificarte -. El banco que corresponda permite continuar temporalmente sin autentificarte o te pide el CVC2 o un dato de seguridad inferior para que temporalmente puedas comprar en comercio seguro El TPV no influye para nada en este proceso, es decisin nica del banco emisor que permita a sus clientes continuar o no continuar, es decir, comprar o no comprar en comercio seguro sin autenticarse.

4.- ESCENARIOS DE PAGOS:


Pago en comercio electrnico Estndar/no seguro:
El esquema bsico de funcionamiento es el siguiente: nto

1 Cliente

Comercio

7 10 4 3 2

TPV Virtual

Pasarela SET/SEP

1. Una vez que el cliente ha finalizado de confeccionar el pedido, y solicita pagar mediante tarjeta de crdito/dbito, el comercio le presenta la pgina de pago en un formulario HTML en el que no se requieren los datos de la tarjeta de crdito/dbito. 2. Al pulsar el cliente el botn Aceptar, la informacin es enviada al TPV virtual instalado en CECA. 3. Si los datos recibidos son correctos, el TPV virtual le presenta al cliente una pgina HTML con un formulario que contiene los mismos campos ocultos recibidos en el punto 2, en el que se requieren los datos de la tarjeta de crdito/dbito. Esta pgina podr ser personalizada por Comercio Caja Merchant. 4. El cliente rellena el formulario y al pulsar el botn Aceptar, la informacin es enviada al TPV virtual instalado en CECA. 5. Si los datos recibidos son correctos, el TPV virtual solicita el pago a la pasarela SET/SEP. 6. La pasarela SET/SEP devuelve el resultado de la operacin al TPV virtual. 7. Si la operacin se ha efectuado correctamente, el TPV virtual informa al comercio. 8. El Comercio comprueba y registra la operacin y comunica nuevamente el resultado al TPV virtual. 9. Si en el paso anterior el TPV virtual no consigue comunicar la operacin al comercio o ste detecta algn problema, el TPV virtual solicita a la pasarela SET/SEP que anule la operacin. 10. El TPV virtual informa finalmente al cliente del resultado de la operacin.

NOTA: Como se ver ms adelante, los pasos 7, 8 y 9 son opcionales por comercio. Este caso se corresponde a un caso con comunicacin on-line y respuesta requerida activada. En este caso el comercio nunca conocer el nmero de tarjeta empleado en la transaccin ya que este dato no se enva ni en los procesos de comunicacin on line ni aparece reflejado en la consulta de operaciones. Existe la posibilidad de que los datos de la tarjeta sean solicitados por el comercio. En este caso el comercio debe justificar la necesidad de operar de esta forma y tener la aprobacin por parte de la entidad bancaria. Adems el comercio deber auditar los procesos de seguridad necesarios definidos por VISA y Mastercard que permita custodiar los datos de la tarjeta de forma totalmente segura. El comercio podr recibir una auditoria para verificar que dichos procesos de seguridad se estn realizando.

10

Pago en comercio electrnico Seguro (3D-Secure)


El esquema bsico de funcionamiento es el siguiente:

Comercio Cliente

2 7 13 14

6 16

Identificacin Titular

TPV Virtual

10 12 7 8

15

11

BANK Server Pasarela SET/SEP

11

Siendo: 1. Una vez que el cliente ha finalizado de confeccionar el pedido en una tienda que presente los logotipos "Verified by Visa" o "MasterCard Secure Code", seleccionados los productos y solicitado el pago mediante tarjeta de crdito / dbito, el comercio le presenta la pgina de pago en un formulario HTML en el que no se requieren los datos de la tarjeta de crdito / dbito. 2. Al pulsar el cliente el botn Aceptar, la informacin es enviada al TPV virtual instalado en CECA. 3. Si los datos recibidos son correctos, el TPV virtual le presenta al cliente una pgina HTML con un formulario que contiene los mismos campos ocultos recibidos en el punto 2, en el que se requieren los datos de la tarjeta de crdito/dbito. Esta pgina podr ser personalizada por Comercio Caja Merchant. 4. El cliente rellena el formulario y al pulsar el botn Aceptar, la informacin es enviada al TPV virtual instalado en CECA. 5. El sistema detecta que su tarjeta est activada en Comercio Electrnico Seguro, e inicia la autenticacin de su titular. 6. Esta autenticacin del titular se realizar a travs de una pequea pantalla que en ese momento se abre. Esta securizacin se podr realizar por varios caminos, a travs de Vini, por Telfono mvil, contra banca electrnica, etc.. Este mecanismo es propio del emisor de la tarjeta y por tanto difiere bastante en funcin de quien es el emisor de la tarjeta. 7. El cliente debe identificarse mediante el mecanismo facilitado por su entidad y por tanto autorizar la operacin. 8. Si se confirma la identidad del usuario, el emisor procede a autorizar la operacin. La ventana emergente se cerrar y continuar la operacin adelante. 9. El emisor autoriza la operacin emitiendo una firma nica para esta operacin, enva la operacin al TPV. 10. El TPV acepta la peticin, comprueba datos e identifica la operacin como securizada y lo remite al emisor. 11. Tras recibir el mensaje de peticin de autorizacin, el emisor validar que el AAV de la peticin de autorizacin es igual al generado originalmente y determinar si ese AAV fue usado anteriormente. De ser as, se deniega la operacin. 12. La pasarela SET/SEP devuelve el resultado de la operacin al TPV virtual. 13. Si la operacin se ha efectuado correctamente, el TPV virtual informa al comercio. 14. El Comercio comprueba y registra la operacin y comunica nuevamente el resultado al TPV virtual. 15. Si en el paso anterior el TPV virtual no consigue comunicar la operacin al Comercio o ste detecta algn problema, el TPV virtual solicita a la Pasarela SET/SEP que anule la operacin. 16. El TPV virtual informa finalmente al cliente del resultado de la operacin.

NOTA: Como se ver ms adelante, los pasos 13,14 y 15 son opcionales por comercio. Este caso se corresponde a un caso con comunicacin on line y respuesta requerida activada. En este caso el comercio nunca conocer el nmero de tarjeta empleado en la transaccin ya que este dato no se enva ni en los procesos de comunicacin on line ni aparece reflejado en la consulta de operaciones. Existe la posibilidad de que los datos de la tarjeta sean solicitados por el comercio. En este caso el comercio debe justificar la necesidad de operar de esta forma y tener la aprobacin por parte de la entidad bancaria. Adems el comercio deber auditar los procesos de seguridad necesarios definidos por VISA y Mastercard que permita custodiar los datos de la tarjeta de forma totalmente segura. El comercio podr recibir una auditoria para verificar que dichos procesos de seguridad se estn realizando.

12

5.- CLCULO DE LA FIRMA


Uno de los parmetros que recibe TPV en su llamada es el parmetro firma. Dicho parmetro es utilizado para autenticar la llamada realizada y comprobar que su contenido no ha sido alterado por terceros. El algoritmo utilizado para calcular la Firma es: Secure Hashing Standard FIPS PUB 180-1 [http://www.itl.nist.gov/fipspubs/fip180-1.htm], comnmente conocido como SHA-1. El resultado produce una salida de 160 bits (20 bytes) que se debe codificar en HEXADECIMAL con letras minsculas. La mayora de los algoritmos suelen devolver 5 bloques de 4 bytes cada uno, para posteriormente convertirlo en una cadena a enviar en un formulario HTML. Dicha cadena se debe convertir a hexadecimal y rellenar a ceros por la izquierda en caso necesario. La mayoria de los lenguajes de programacin tienen una segunda funcin que realiza esta operaciin. Para aclarar un poco lo explicado en el prrafo anterior vamos a utilizar el siguiente ejemplo: Cadena: SHA1("11439044111950028000055405200000003221__0.67530300126148883300000000000197 82120035304709122214340106007000") Longitud: 106 Resultado: 62753a72 498191fd 09175074 7b8750bc 6cb06e8f En el tercer bloque, algunos algoritmos pueden devolver 9175074 , es necesario que sean 8 caracteres, por tanto ser 09175074 . SHA1("") = da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA1("El coche amarillo") = 968be676ad7988e8d911fce686da3fececbb22eb En internet existen varios sirios online para realizar pruebas de cifrado por SHA1 que puede servirle al comercio como referencia. Una vez explicado a grandes rasgos el funcionamiento del algoritmo SHA1 pasamos a explicar la forma de calcular la firma para su implementacin en el comercio. El comercio debe enviar dos parmetros con el siguiente formato (En el punto siguiente del manual se explica detalladamente todos los parmetros que son necesarios enviar) <INPUT NAME="Cifrado" TYPE=hidden VALUE="SHA1"> <INPUT NAME="Firma" TYPE=hidden VALUE="Valor calculado de la firma">

y la firma calculada con SHA1 concatenando los parmetros Clave_encriptacion+MerchantID+AcquirerBIN+TerminalID+Num_operacion+Importe+Tipo Moneda+Exponente+Referencia+Cifrado+URL_OK+URL_NOK Ejemplo: Clave encriptacion: 99888888 (no viaja en el formulario) MerchantID: 111950028 AcquirerBIN: 0000554052 TerminalID: 00000003 Num_operacion: 123

13

Importe: 500 TipoMoneda: 978 Exponente: 2 Referencia: URL_OK: http://www.ceca.es URL_NOK: http://www.ceca.es -->Cadena_sha1: 998888881119500280000554052000000031235009782SHA1http://www.ceca.eshttp://www.ceca.e s -->Longitud:[85] -->Firma_calculada: 15ba153908476895d9edd75ff23b207707d2c885

Para la comunicacin on line, el proceso es el mismo. La firma enviada por el TPV es con los campos actuales Clave_encriptacion+MerchantID+AcquirerBIN+TerminalID+Num_operacion+Importe+Tipo Moneda+Exponente+Referencia

14

6.- PROGRAMACIN A REALIZAR EN EL SERVIDOR DE COMERCIO


Como se dijo en la introduccin de este manual, la implantacin requiere de unos conocimientos de programacin por parte del comercio y los cuales se detallan a continuacin Una vez que el cliente conectado al Servidor WEB del Comercio finalice de elaborar la lista de la compra y solicite efectuar el pago mediante tarjeta de crdito/dbito, dicho servidor deber presentarle una pgina HTML que contendr obligatoriamente un formulario con los siguientes campos:
Nombre MerchantID AcquirerBIN TerminalID Requerido/ Opcional Requerido Requerido Requerido Longitud 9 10 8 Descripcin Identifica al comercio. Facilitado por la caja en el proceso de alta Identifica la caja. Facilitado por la caja en el proceso de alta. Identificativo del Terminal. Actualmente para todos los TPV virtuales es siempre 00000003 a no ser que tenga ms de un TPV contratado. En ese caso el cdigo de Terminal ser 00000003, 00000004, Identifica para el comercio la operacin, n de pedido, factura, albaran, etc. Puede ser alfanumrico pero estn prohibidos los caracteres extraos tpicos como ,?,%,&,*,etc. Importe de la operacin sin formatear. Siempre ser un nmero entero donde los dos ltimos dgitos sern los cntimos de Euro. Es el cdigo ISO-4217 correspondiente a la moneda en la que se efecta el pago. Contendr el valor 978 para Euros. * Ver apndice para cdigos otras moneda Actualmente siempre ser 2 URL completa (http://). Es la URL determinada por el comercio a la que CECA devolver el control en el caso de que la operacin finalice correctamente. URL completa (http://) Es la URL determinada por el comercio a la que CECA devolver el control en el caso de que la operacin no pueda realizarse por algn motivo. Es una cadena de caracteres calculada mediante una rutina proporcionada por CECA al comercio en una librera. En principio, esta librera estar disponible para entornos UNIX (SOLARIS, HP-UX, AIX y LINUX) y WINDOWS-NT/2000. En esta versin tambin se ha portado esta rutina a JAVA, por lo cual queda resuelta la portabilidad a todas las mquinas en las que est instalada la Mquina Virtual JAVA. Cdigo alfanumrico de idiomas SSL Dependiendo de quien solicite los datos de la tarjeta. Si los solicita el comercio ser SSL. Si los solicita el TPV ser vaco o no viajar. Campo reservado para mostrar informacin extra en la pgina de pago. N de tarjeta del cliente. Solamente necesario si el cliente solicita estos datos. Fecha de Caducidad. Formato AAAAMM. Solamente necesario si el cliente solicita estos datos.

Num_operacion

Requerido

50

Importe

Requerido

10

TipoMoneda

Requerido

Exponente URL_OK

Requerido Requerido

1 500

URL_NOK

Requerido

500

Firma

Requerido

256

Idioma Pago_soportado Pago_elegido

Opcional Requerido Opcional

1 SSL SSL

Descripcion PAN Caducidad

Opcional Opcional Opcional

1000 19 6

15

CVV2 Referencia

Opcional Opcional 30

CVC2 de la tarjeta. Solamente necesario si el cliente solicita estos datos. En las compras ser "", en las anulaciones el valor asignado en su momento a la operacin de compra.

Cualquier otro parmetro enviado al TPV virtual no ser tenido en cuenta y se perder en el proceso.

El campo ACTION del formulario apuntar a una URL de un Servidor WEB de CECA correspondiente al CGI que tratar tanto los datos de la operacin rellenos por el Servidor WEB del Comercio como los posibles datos de la tarjeta rellenos por el cliente. La direccin se encuentra en el punto 6.3 Direcciones que veremos ms adelante.

6.1.- Compatibilidad con versiones anteriores

a) Pago_soportado.- Este campo, aadido en la versin 2.0 del TPV Virtual es opcional con el fin de poder mantener la compatibilidad con la versin anterior. Para las nuevas implementaciones su valor ser obligatorio y deber contener el valor SSL.

b) PAN.- Campo opcional de entrada de 19 caracteres como mximo. Es el Nmero de la tarjeta introducido por el cliente.
Con objeto de mantener la compatibilidad con la versin anterior del TPV virtual, este campo slo deber ir relleno si el campo Pago_soportado y Pago_elegido estn informados con el valor SSL, puesto que de lo contrario, ser el propio TPV virtual quien deba solicitar los datos de la tarjeta al cliente, tal y como ya se ha descrito en un punto anterior.

c) Caducidad.- Campo opcional de entrada de 6 caracteres. Es la fecha de caducidad de la tarjeta en formato AAAAMM introducido por el cliente. Con objeto de mantener la compatibilidad con la versin anterior del TPV virtual, este campo
slo deber ir relleno si el campo Pago_soportado y Pago_elegido estn informados con el valor SSL, puesto que de lo contrario, ser el propio TPV virtual quien solicite los datos de la

tarjeta al cliente, tal y como ya se ha descrito anteriormente.

d) Idioma. Los idiomas soportados actualmente son: 1.- Espaol 6.- Ingls 2.- Cataln 7.- Francs 3.- Euskera 8.- Alemn 4.- Gallego 9.- Portugus 5.- Valenciano 10.- Italiano

e) Descripcin.- Campo opcional, variable y oculto. Es la descripcin del pedido asignada por el comercio que podr visualizarse en la pagina de pago o bien en algn tipo de monedero compatible con est especificacin.

16

6.2 Ejemplos de formularios

Ejemplo de llamada en la que los datos de tarjeta son solicitados por el TPV

<HTML> <HEAD> <TITLE>P&aacute;gina de pago</TITLE> </HEAD> <BODY> <FORM ACTION="https://pgw.ceca.es/cgi-bin/tpv" METHOD="POST" ENCTYPE="application/xwww-form-urlencoded"> <INPUT NAME="MerchantID" TYPE=hidden VALUE=##MerchantID##> <INPUT NAME="AcquirerBIN" TYPE=hidden VALUE=##AcquirerBIN##> <INPUT NAME="TerminalID" TYPE=hidden VALUE=##TerminalID##> <INPUT NAME="URL_OK" TYPE=hidden VALUE=##URL_OK##> <INPUT NAME="URL_NOK" TYPE=hidden VALUE=##URL_NOK##> <INPUT NAME="Firma" TYPE=hidden VALUE=##Firma##> <INPUT NAME="Num_operacion" TYPE=hidden VALUE=##Num_operacion##> <INPUT NAME="Importe" TYPE=hidden VALUE=##Importe##> <INPUT NAME="TipoMoneda" TYPE=hidden VALUE=978> <INPUT NAME="Exponente" TYPE=hidden VALUE=2> <INPUT NAME=Pago_soportado TYPE=hidden VALUE=SSL> <INPUT NAME=Idioma TYPE=hidden VALUE=1> <CENTER> <INPUT TYPE="submit" VALUE="Comprar"> </CENTER> </FORM> </BODY> </HTML> Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

Obviamente, la aplicacin deber sustituir los literales de los campos VALUE que comienzan y terminan con ## por los valores adecuados.

17

Ejemplo de llamada en la que los datos de tarjeta son solicitados por el comercio

<HTML> <HEAD> <TITLE>P&aacute;gina de pago</TITLE> </HEAD> <BODY> <FORM ACTION="https://pgw.ceca.es/cgi-bin/tpv" METHOD="POST" ENCTYPE="application/xwww-form-urlencoded"> Tarjeta:<INPUT NAME="PAN" TYPE=text VALUE=><br> Caducidad:<INPUT NAME="Caducidad" TYPE=text VALUE=><br> CVV2/CVC2:<INPUT NAME="CVV2" TYPE=text VALUE=><br> <INPUT NAME="MerchantID" TYPE=hidden VALUE=##MerchantID##> <INPUT NAME="AcquirerBIN" TYPE=hidden VALUE=##AcquirerBIN##> <INPUT NAME="TerminalID" TYPE=hidden VALUE=##TerminalID##> <INPUT NAME="URL_OK" TYPE=hidden VALUE=##URL_OK##> <INPUT NAME="URL_NOK" TYPE=hidden VALUE=##URL_NOK##> <INPUT NAME="Firma" TYPE=hidden VALUE=##Firma##> <INPUT NAME="Num_operacion" TYPE=hidden VALUE=##Num_operacion##> <INPUT NAME="Importe" TYPE=hidden VALUE=##Importe##> <INPUT NAME="TipoMoneda" TYPE=hidden VALUE=978> <INPUT NAME="Exponente" TYPE=hidden VALUE=2> <INPUT NAME=Pago_soportado TYPE=hidden VALUE=SSL> <INPUT NAME=Pago_elegido TYPE=hidden VALUE=SSL> <INPUT NAME=Idioma TYPE=hidden VALUE=1> <CENTER> <INPUT TYPE="submit" VALUE="Comprar"> </CENTER> </FORM> </BODY> </HTML> Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

Obviamente, la aplicacin deber sustituir los literales de los campos VALUE que comienzan y terminan con ## por los valores adecuados. Es decir adems de los campos habituales en este caso deber de enviar los siguientes campos: PAN: Nmero entero sin espacios en blanco ni caracteres extraos. Caducidad: Estrictamente en el formato AAAAMM. CVV2: Tres dgitos numrico (ms informacin en apndice) Pago_soportado=SSL Pago_elegido=SSL

18

Importante: Esta forma de funcionamiento debe contar con la aprobacin por parte de la entidad bancaria, por defecto no est permitida. El comercio debe justificar la necesidad de esta forma de operar as como auditar los procesos de seguridad necesarios para solicitar datos bancarios desde su servidor.

6.3 Direcciones de llamada


Conviene tambin citar en este punto, que existen dos entornos de TPV virtual instalados en CECA, siendo sus URLs correspondientes:

https://pgw.ceca.es/cgi-bin/tpv http://tpv.ceca.es:8000/cgi-bin/tpv

ENTORNO DE PRODUCCION ENTORNO DE DESARROLLO

Estos sern los nicos valores vlidos en el campo ACTION de los formularios descritos anteriormente.

19

7.- PERSONALIZACIN DE PGINAS.


Por cada comercio, el TPV virtual maneja al menos un juego de pginas HTML (varios en el caso de multi-idioma) compuesto por 4 pginas, que dependiendo de la configuracin del comercio pueden no ser necesarias: MerchantID_ssl.html Pagina donde se solicita los datos de Tarjeta y fecha de caducidad. No se presenta si estos datos ya son enviados por el comercio. Pagina de resumen de la operacin si est finaliza correctamente. Se contina a la direccin indicada por el comercio en el campo URL_OK. Pagina de error, permite reintentar la operacin. Pagina de error. Informa del error y se contina a la direccin indicada en el campo URL_NOK indicada por el comercio.

MerchantID_ok.html

MerchantID_error_atras.html MerchantID_error_maximo.html

La mayora de las entidades dispone de un juego de paginas que todos sus comercios deben utilizar, algunas incorporan un logo del comercio y no permiten utilizar paginas propias. Antes de iniciar cualquier desarrollo es importante que contacte con su entidad o con soporte.tpv@ceca.es para saber la poltica de su entidad al respecto. En el caso donde se permita la personalizacin de las pginas se pueden enviar unas plantillas sobre las que aadir el diseo grafico Para el resto de comercios stas pginas son totalmente personalizables por comercio e idioma, aunque por defecto estas aparecen sin ninguna esttica. El comercio podr alojar en el servidor seguro del TPV virtual, imgenes, css y js. Las paginas de OK y error siempre se presentan, aunque pueden ser personalizadas de forma que su nica misin sean redirigir al cliente a la direccin indicada por el comercio.

Cada comercio ha de sustituir la palabra MerchantID por el nmero de su comercio (9 dgitos), as como escribir todo en letras minsculas.

Si el comercio no ha solicitado la personalizacin de sus pginas se mostrarn las de por defecto sin esttica alguna. Cajas de texto sobre fondo blanco.

20

7.1.- Descripcin de las pginas MerchantID_ssl.html:


Pgina mostrada por el TPV virtual en el caso de que el parmetro Pago_soportado contenga el valor SSL.. Permitir introducir los datos de la tarjeta de crdito/dbito. Deber ser de la forma: <HTML> <HEAD><TITLE>Comercio Electr&oacute;nico</TITLE></HEAD> <BODY> <FORM ACTION="https://pgw.ceca.es/cgi-bin/tpv" METHOD="POST" ENCTYPE="application/x-www-formurlencoded"> <INPUT NAME="MerchantID" TYPE=hidden VALUE=##MERCHANTID##> <INPUT NAME="AcquirerBIN" TYPE=hidden VALUE=##ACQUIRERBIN##> <INPUT NAME="TerminalID" TYPE=hidden VALUE=##TERMINALID##> <INPUT NAME="URL_OK" TYPE=hidden VALUE=##URL_OK##> <INPUT NAME="URL_NOK" TYPE=hidden VALUE=##URL_NOK##> <INPUT NAME="Firma" TYPE=hidden VALUE=##FIRMA##> <INPUT NAME="Num_operacion" TYPE=hidden VALUE=##NUMOPERACION##> <INPUT NAME="Importe" TYPE=hidden VALUE=##IMPORTE##> <INPUT NAME="TipoMoneda" TYPE=hidden VALUE=##TIPOMONEDA##> <INPUT NAME="Exponente" TYPE=hidden VALUE=##EXPONENTE##> <INPUT NAME="Pago_soportado" TYPE=hidden VALUE=##PAGO_SOPORTADO##> <INPUT NAME="Pago_elegido" TYPE=hidden VALUE=SSL> <INPUT NAME="Idioma" TYPE=hidden VALUE=##IDIOMA##> <B>Tarjeta:</B> <INPUT TYPE="text" NAME="PAN" size=19 maxlength=19><P> <P><B>Fecha de caducidad:</B> <INPUT TYPE="text" NAME="Caducidad" size=6 maxlength=6><P> <B>CVV2/CVC2:</B> <INPUT TYPE="text" NAME="CVV2" size=3 maxlength=3><P> <P><CENTER><INPUT TYPE="submit" VALUE="Comprar"> <INPUT TYPE="reset" VALUE="Borrar"></CENTER></FORM> </BODY> </HTML>

Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples) El formato del campo Caducidad tiene que ser AAAAMM. De cara a evitar errores de tecleo se puede aadir scripts en Javascript para tratar de evitar estos problemas y facilitar la
introduccin de estos datos por parte del cliente, por ejemplo solicitando la fecha de caducidad a travs de un combo que posteriormente formatea la fecha en el formato exigido. En este caso el comercio debe asegurar su compatibilidad con las distintas versiones de navegadores.

Nota importante: Si desde dichas pginas HTML se utilizan grficos en formato GIF JPG, debern referenciarse como ../images_<MerchantID>/<grfico>, con objeto de poder separar en el TPV Virtual los grficos que corresponden a cada Comercio

21

MerchantID_OK.html:
Pgina HTML mostrada por el TPV virtual en el caso de que la compra finalice correctamente. Podr contener los siguientes literales, que sern sustituidos por el TPV virtual por sus valores correspondientes, antes de ser visualizada: ##COD_AUT## .- Cdigo de Autorizacin devuelto por la pasarela SET/SEP. En las compras ser siempre 000. ##NUM_AUT## .- Nmero de Autorizacin devuelto por la pasarela SET/SEP. ##REFERENCIA## .- Referencia devuelta por la pasarela SET/SEP. Este dato es imprescindible para realizar cualquier tipo de reclamacin y/o anulacin de la compra. ##IMPORTE## .- Es el importe de la compra recibido en la orden de compra. ##NUM_OPERACION## .- Es la referencia del pedido asignada por el comercio y recibida en la orden de compra. ##FECHA## .- Fecha y hora de la operacin. Hora local de la pasarela de pagos CECA. ##URL_OK## .- Es la URL determinada por el comercio a la que CECA devolver el control en este caso. Nota importante: Si desde dichas pginas HTML se utilizan grficos en formato GIF JPG, debern referenciarse como ../images_<MerchantID>/<grfico>, con objeto de poder separar en el TPV Virtual los grficos que corresponden a cada Comercio

MerchantID_error_atras.html:
Pgina mostrada por el TPV virtual en el caso de que la compra finalice con error y no se haya alcanzado el nmero mximo de reintentos definidos por el Comercio. El comercio tiene libertad para eliminar la opcin de reintentos y modificar el comportamiento de la pgina. Es aconsejable permitir reintentar la operacin as como continuar hacia la URL_NOK del comercio. Podr contener los siguientes literales, que sern sustituidos por el TPV virtual por sus valores correspondientes antes de ser visualizada: ##MENSAJE## .- Mensaje de Error devuelto por el TPV virtual por la pasarela SET/SEP. ##NUM_OPERACION## .- Es la referencia del pedido asignada por el comercio y recibida en la orden de compra. ##FECHA## .- Fecha y hora de la operacin. Hora local de la pasarela de pagos CECA. ##URL_NOK## .- Es la URL determinada por el comercio a la que CECA devolver el control en este caso. AVISO: En los comercios seguros (Verfied by Visa & MasterCard Secure Code) tras introducir los datos bancarios se inicia el proceso de autenticacin, en caso de fallo se presenta esta pagina de error_atras. Esta pgina puede disponer un javascript con la posibilidad de reintento, pero puede no funcionar ya que al reconducir al sistema de autenticacin y este trabajar bajo sesiones de navegacin va a rechazar la operacin. El cliente debe volver al comercio o a la pgina de pago inicial para reintentar la operacin. Nota importante: Si desde dichas pginas HTML se utilizan grficos en formato GIF JPG, debern referenciarse como ../images_<MerchantID>/<grfico>, con objeto de poder separar en el TPV Virtual los grficos que corresponden a cada Comercio

22

MerchantID_error_maximo.html:
Pgina mostrada por el TPV virtual en el caso de que la compra finalice con error y se haya alcanzado el nmero mximo de reintentos definidos por el comercio. Podr contener los siguientes literales, que sern sustituidos por el TPV virtual por sus valores correspondientes antes de ser visualizada: ##MENSAJE## .- Mensaje de Error devuelto por el TPV virtual por la pasarela SET/SEP. ##NUM_OPERACION## .- Es la referencia del pedido asignada por el comercio y recibida en la orden de compra. ##FECHA## .- Fecha y hora de la operacin. Hora local de la pasarela de pagos CECA. ##URL_NOK## .- Es la URL determinada por el comercio a la que CECA devolver el control en este caso. Nota importante: Si desde dichas pginas HTML se utilizan grficos en formato GIF JPG, debern referenciarse como ../images_<MerchantID>/<grfico>, con objeto de poder separar en el TPV Virtual los grficos que corresponden a cada Comercio

Otras pginas:
Existen otro juego de pginas opcionales que se explican ms adelante para el caso de comercios que quieran realizar anulaciones de operaciones de forma automtica.

Idiomas
En caso de utilizar la opcin de multi-idioma, estas pginas se llamarn: MerchantID-Idioma_ok.html MerchantID-Idioma_error_atras.html MerchantID-Idioma_error_maximo.html MerchantID-Idioma_ssl.html

Cdigos de idioma: 1.- Espaol 2.- Cataln 6.- Ingls 7.- Francs

3.- Euskera 8.- Alemn

4.- Gallego 9.- Portugus

5.- Valenciano 10.- Italiano

7.2 Publicacin de pginas y peticin de plantillas


La mayora de las entidades dispone de un juego de paginas que todos sus comercios deben utilizar, algunas incorporan un logo del comercio y no permiten utilizar paginas propias. Antes de iniciar cualquier desarrollo es importante que contacte con su entidad o con soporte.tpv@ceca.es para saber la poltica de su entidad al respecto. En el caso donde se permita la personalizacin de las pginas se pueden enviar unas plantillas sobre las que aadir el diseo grafico En los casos donde el comercio tenga libertad para la personalizacin de estas paginas, para proceder a la instalacin de las pginas HTML especficas de cada comercio, deben anexarlas a un correo y enviarlo a la direccin soporte.tpv@ceca.es, indicando el MerchantID correspondiente y los datos de la persona de contacto. Para facilitar la tarea pueden solicitarlas previamente las paginas que por defecto se sirven, aadir su diseo grafico y devolverlas a est direccin para su publicacin. El correo ha de contener anexado un archivo zip o rar que contendr lo siguiente: Una carpeta llamada images_<MerchantID> (sustituyendo MerchantID por el nmero de comercio correspondiente) que contendr todas las imgenes, estilos, etc. que se utilicen en el diseo, los nombres de todo esto han de ir TODO en minsculas.

23

Las pginas personalizadas correctamente nombradas. En las pginas se har referencia ../images_<MerchantID>/<Nombre_imagen>.gif a las imgenes de la forma

24

8.- COMUNICACIN ON-LINE


La comunicacin on-line es utilizada por los comercios que necesita que las operaciones de COMPRA realizadas por sus clientes le sean comunicadas en el momento de producirse. Consiste en la creacin de un proceso por parte del comercio al cual el TPV invocar cuando se haya tenido la aceptacin de la operacin por parte de la entidad emisora de la tarjeta del cliente. Dicha llamada podr ser realizada por HTTP o HTTPS y se aadir los siguientes campos para que el comercio pueda identificar la operacin: Nombre
MerchantID AcquirerBIN TerminalID Num_operacion

Longitud
9 10 8 50

Descripcin
Identifica al comercio. Facilitado por la caja en el proceso de alta Identifica la caja. Facilitado por la caja en el proceso de alta. Identificativo del Terminal. Actualmente para todos los TPV virtuales es siempre 00000003. Identifica para el comercio la operacin, n de pedido, factura, albarn, etc. Puede ser alfanumrico pero estn prohibidos los caracteres extraos tpicos como ,?,%,&,*,etc. Importe de la operacin sin formatear. Siempre ser una nmero entero donde los dos ltimos dgitos sern los cntimos de Euro. Es el cdigo ISO-4217 correspondiente a la moneda en la que se efecta el pago. Contendr el valor 724 para Pesetas y 978 para Euros. Actualmente solo se permiten pagos en Euros, luego el valor ser 978. Actualmente siempre ser 2

Importe TipoMoneda

10 3

Exponente Referencia

1 30

Referencia.- Es el nico valor devuelto por la Pasarela SET/SEP. Este dato es imprescindible para realizar cualquier tipo de reclamacin y/o anulacin de la compra.
Es una cadena de caracteres calculada mediante una rutina escrita en C proporcionada por CECA al comercio en una librera. En principio, esta librera estar disponible para entornos UNIX (SOLARIS, HP-UX, AIX y LINUX) y WINDOWS-NT/2000. En esta versin tambin se ha portado esta rutina a JAVA, por lo cual queda resuelta la portabilidad a todas las mquinas en las que est instalada la Mquina Virtual JAVA. Valor asignado por la entidad emisora a la hora de autorizar una operacin. Idioma de la operacin Cdigo ISO del pas de la tarjeta que ha realizado la operacin Los 200 primeros caracteres de la descripcin

Firma

256

Num_aut Idioma Pais Descripcion

6 2 3 200

La funcionalidad de este proceso ser la que determine el comercio, pero principalmente consistir en actualizar sus bases de datos internas (situacin del pedido).
La URL a la que se envan los datos puede ser cualquier lenguaje de programacin que pueda capturar los datos enviados por un formulario HTML por mtodo POST. ASP, PHP, .net, perl, etc..

IMPORTANTE: Si se realiza una compra en la web del comercio y en el mismo navegador web, compartiendo cookies, se encuentra la Web de administracin abierta o ha estado abierta, no se produce el proceso de comunicacin on-line aunque la operacin se realiza de forma correcta. Debe reiniciar el navegador WEB o abrir sesiones distintas de navegacin.

25

Comunicacin online con respuesta requerida:


En el caso que nos ocupa, en el que el comercio solicite una comunicacin ON-LINE de las operaciones de compra realizadas por sus clientes, se contemplan adems dos posibilidades: No se requiere una respuesta del comercio. En este caso, una vez realizado el pago, el TPV virtual de CECA intentar comunicar la operacin al comercio, pero dar por realizada correctamente la operacin aunque dicha comunicacin no sea posible. Es ms, ni siquiera esperar recibir una respuesta desde el comercio. Se requiere una respuesta del comercio. En este caso, si una vez realizado el pago, el programa no consigue comunicar la operacin al comercio detecta a partir de la respuesta recibida que algo no ha ido bien, anular la operacin y la dar como errnea al cliente. Para que el programa sea capaz de discernir a partir de la respuesta recibida desde el Comercio si todo ha funcionado correctamente si se ha producido algn error, es necesario que en la respuesta generada por el CGI del comercio aparezca el texto $*$OKY$*$ slo cuando todo vaya bien, de modo similar a como figura en el siguiente ejemplo:

<HTML> <HEAD> <TITLE>Respuesta correcta a la comunicacin ON-LINE</TITLE> </HEAD> <BODY> $*$OKY$*$ </BODY> </HTML>

Para ver la configuracin actual del comercio: Desde la Web de Administracin pulse puede visualizar la configuracin actual del comercio. Dentro de los datos mostrados se

Esta URL se debe indicar en el formulario de alta del TPV virtual. Los cambios posteriores deben solicitarse a la Caja o bien enviando un correo con el Merchantid y la nueva direccin a la direccin de soporte soporte.tpv@ceca.es, indicando la configuracin de respuesta requerida y si se trata del entorno de pruebas, real o ambos. En caso de no indicar entorno, la configuracin se realizar tanto en pruebas como en real.

26

Esquema del proceso


Sin comunicacin on line Y sin respuesta requerida Con comunicacin on line y sin respuesta requerida Con comunicacin on line y respuesta requerida

Operacin Correcta

Operacin Correcta

Operacin Correcta

Se enva formulario a la direccin especificada Se presenta la pagina OK Se enva formulario a la direccin especificada Se captura la respuesta (25 sg)

Se va a la URL_OK
Se presenta la pagina OK Incluye el string OKY No responde o no incluye el string OKY

Se presenta la pagina OK

Se va a la URL_OK Se va a la URL_OK

Se presenta la pagina Error atrs con


ERROR en la comunicacin on line.

27

9.- CONSULTA ONLINE DE OPERACIONES REALIZADAS:


Con el fin de que los Comercios puedan consultar y/o anular las operaciones efectuadas por sus clientes, CECA ha instalado en uno de sus servidores WEB seguros, una aplicacin accesible desde cualquier navegador, que permite realizar las siguientes funciones * : Identificacin del comercio.- Solicita un usuario y una contrasea para permitir el acceso nicamente a los usuarios autorizados. Modificacin de la contrasea.- Permite que el usuario cambie su contrasea de acceso. Consulta de operaciones.- Permite realizar bsquedas sobre las operaciones correctamente realizadas de acuerdo a uno varios de los siguientes criterios: a) Tipo de operacin.- Compra Devolucin. b) Fecha.- Permite especificar una fecha concreta un intervalo de fechas. c) Nmero de operacin.- Permite especificar un nmero de operacin concreto un intervalo de nmeros de operacin. d) Importe.- Permite especificar un importe concreto un intervalo de importes. e) Tarjeta.- Permite especificar un nmero de tarjeta. El resultado de la bsqueda se muestra en una tabla en la que se visualiza una fila por cada operacin que cumpla los criterios solicitados. En cada fila se muestran los siguientes campos: f) Referencia.- Es la referencia asignada por la Pasarela SET/SEP a la operacin y que en el caso de una Compra, es necesario conocer para poder efectuar reclamaciones y/o anulaciones posteriores. Anulacin de operaciones.- Permite anular una operacin de compra realizada por alguno de los clientes. Establecer filtros de compra.- Permite establecer ciertos filtros por distintos parmetros para eliminar las compras que no cumplan ciertos criterios que el comercio establecer. Simular compras .- A travs de un asistente podr efectuar pagos contra su comercio simulando un proceso normal de compra. Las URLs correspondientes a los dos entornos en los que se encuentra instalada esta aplicacin son: https://www.ceca.es/comercio/identificacion.html PRODUCCION DESARROLLO

http://www.desa.ceca.es/comercio/identificacion.html

Direcciones alternativas: Produccin: https://pgw.ceca.es/admincomercios/inicio.html Desarrollo: http://tpv.ceca.es:8000/admincomercios/inicio.html


En el anexo VII de esta manual, dentro del apartado Administracin TPV Virtual para Comercios, existe una descripcin ms detallada sobre la funcionalidad y el uso de esta consola de administracin.

28

10.- COMUNICACIN BATCH DE LAS OPERACIONES REALIZADAS


Tanto si el Comercio utiliza no la facilidad de comunicacin ON-LINE de las operaciones de compra realizada por sus clientes, tal y como se describi en el apartado compras en INTERNET, CECA podr generar y enviar al Comercio al final de cada da, un fichero que contendr el listado de las operaciones efectuadas durante el mismo. Por motivos de seguridad, este fichero ir cifrado. Para descifrarlo ser necesario hacer uso de las herramientas proporcionadas por CECA al Comercio. Para el envo de este fichero, el Comercio podr optar por uno de los siguientes sistemas: a) E-MAIL.- El Comercio deber determinar la cuenta de correo. b) FTP.- En este caso el Comercio deber especificar los siguientes datos: Nombre direccin IP en INTERNET del servidor de FTP. Usuario y contrasea de acceso. El fichero se depositar siempre en el directorio raz del usuario proporcionado, con el nombre AAAAMMDD.TPV, correspondiendo AAAAMMDD al ao, mes y da de la fecha de transmisin respectivamente. El formato del fichero consistir en registros de longitud variable, separados unos de otros por los caracteres RETORNO DE CARRO (Valor hexadecimal 0x0d) y SALTO DE LINEA (Valor hexadecimal 0x0a) con el fin de que sean fcilmente editables en un PC. Dentro de cada registro, los campos irn separados unos de otros por el carcter , (coma). Cada registro constar de los siguientes campos: 1. 2. 3. 4. 5. Tipo de operacin. Puede tomar los valores C (compra) o D (devolucin). Fecha. Fecha y hora en formato DD/MM/AAAA hh:mm:ss. Nmero de operacin. Nmero de operacin asignado por el comercio. Importe. Importe sin formatear. Referencia. Es la referencia asignada por la Pasarela SET/SEP a la operacin y que en el caso de una Compra, es necesario conocer para poder efectuar reclamaciones y/o anulaciones posteriores. 6. Num_aut. Numero de autorizacin de la operacin proporcionada por la entidad resolutora de la operacin. Para solicitar este envo deber comunicarlo a travs del correo soporte.tpv@ceca.es indicando su cdigo de comercio y forma de envo, as como los datos necesarios especificados anteriormente

29

11.- ANULACIN DE OPERACIONES


Con objeto de permitir a los Servidores de Comercio solicitar la anulacin de operaciones de Compra desde el propio Servidor, es decir, sin necesidad de utilizar las pginas de Gestin ONLINE de operaciones efectuadas descrita anteriormente, existe un CGI que permite realizar esta funcionalidad a partir de un formulario HTML generado por el Comercio. Los campos que debe contener este formulario son los siguientes: Nombre
MerchantID AcquirerBIN TerminalID Num_operacion

Longitud
9 10 8 50

Descripcin
Identifica al comercio. Facilitado por la caja en el proceso de alta Identifica la caja. Facilitado por la caja en el proceso de alta. Identificativo del Terminal. Actualmente siempre para todos los TPV virtuales es 00000003. Identifica para el comercio la operacin, n de pedido, factura, albarn, etc. Puede ser alfanumrico pero estn prohibidos los caracteres extraos tpicos como ,?,%,&,*,etc. Importe de la operacin sin formatear. Siempre ser un nmero entero donde los dos ltimos dgitos sern los cntimos de Euro. Es el cdigo ISO-4217 correspondiente a la moneda en la que se efecta el pago. Contendr el valor 724 para Pesetas y 978 para Euros. Actualmente solo se permiten pagos en Euros. Actualmente siempre ser 2

Importe Tipo_moneda

10 3

Exponente Referencia

1 30

Referencia.- Es el nico valor devuelto por la Pasarela SET/SEP. Este dato es imprescindible para realizar cualquier tipo de reclamacin y/o anulacin de la compra.
Es una cadena de caracteres calculada mediante una rutina C proporcionada por CECA al comercio en una librera. En principio, esta librera estar disponible para entornos UNIX (SOLARIS, HP-UX, AIX y LINUX) y WINDOWS-NT/2000. En esta versin tambin se ha portado esta rutina a JAVA, por lo cual queda resuelta la portabilidad a todas las mquinas en las que est instalada la Mquina Virtual JAVA. Es un campo numrico con una longitud mxima de 1 carcter. En caso de ir informado, permite que el TPV Virtual gestione diferentes juegos de pginas correspondientes a diferentes Idiomas para un mismo Comercio (soporte de multi-idioma). As mismo, los mensajes de error devueltos por el TPV Virtual por la Pasarela de Pagos SET/SEP, sern tambin traducidos al idioma correspondiente. Es un campo alfanumrico, y slo debe utilizarse si se desea que las pginas HTML mostradas al cliente sean diferentes de las pginas por defecto utilizadas por el TPV Virtual.

Firma

256

Idioma

Pagina

50

Acerca del campo Pgina.- Campo opcional variable y oculto. Es un campo alfanumrico, y slo debe utilizarse si se desea que las pginas HTML mostradas al cliente sean diferentes de las pginas por defecto utilizadas por el TPV Virtual. En caso de no ir relleno, las pginas HTML mostradas por el CGI, correspondientes al juego de pginas HTML por defecto del TPV Virtual, son: anulacion_ok.html anulacion_error_atrs.html si el campo Idioma no est relleno, anulacion-<Idioma>_ok.html anulacion-<Idioma>_error_atrs.html Anulacin correcta Problemas en la anulacin Anulacin correcta Problemas en la anulacin

30

Si va relleno, las pginas HTML mostradas por el CGI son: <Pagina>_ok.html <Pagina>_error_atrs.html si el campo Idioma no est relleno, <Pagina>-<Idioma>_ok.html <Pagina>-<Idioma>_error_atrs.html Anulacin correcta Problemas en la anulacin Anulacin correcta Problemas en la anulacin

Obviamente, en este caso las pginas HTML deben haber sido previamente proporcionadas por el Comercio.

El campo ACTION del formulario apuntar a la URL de un Servidor WEB de CECA correspondiente al CGI que tratar los datos del formulario, y que podr ser una de las siguientes:

https://pgw.ceca.es/cgi-bin/tpvanular http://tpv.ceca.es:8000/cgi-bin/tpvanular

PRODUCCION DESARROLLO

En la pgina siguiente se muestra un ejemplo de cmo debera ser este formulario HTML: <HTML> <HEAD> <TITLE>P&aacute;gina de anular operaciones</TITLE> </HEAD> <BODY> <FORM ACTION="https://pgw.ceca.es/cgi-bin/tpvanular" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded"> <INPUT NAME="MerchantID" TYPE=hidden VALUE=##MerchantID##> <INPUT NAME="AcquirerBIN" TYPE=hidden VALUE=##AcquirerBIN##> <INPUT NAME="TerminalID" TYPE=hidden VALUE=##TerminalID##> <INPUT NAME="Firma" TYPE=hidden VALUE=##Firma##> <INPUT NAME="Num_operacion" TYPE=hidden VALUE=##Num_operacion##> <INPUT NAME="Importe" TYPE=hidden VALUE=##Importe##> <INPUT NAME="TipoMoneda" TYPE=hidden VALUE=978> <INPUT NAME="Exponente" TYPE=hidden VALUE=2> <INPUT NAME="Referencia" TYPE=hidden VALUE=##Referencia##> <CENTER> <INPUT TYPE="submit" VALUE="Enviar"> <INPUT TYPE="reset" VALUE="Borrar"> </CENTER> </FORM> </BODY> </HTML> Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

31

Obviamente, la aplicacin deber sustituir los literales de los campos VALUE que comienzan y terminan con ## por los valores adecuados.

De modo similar a como ocurre con las operaciones de compra, el comercio puede requerir que las operaciones de ANULACION realizadas le sean comunicadas en el momento de producirse. En este caso, la comunicacin se realizar mediante protocolo HTTP HTTPS, por lo que el Comercio deber desarrollar e instalar un proceso, comunicando a CECA la URL (incluyendo protocolo) del mismo. Este CGI ser invocado con los siguientes parmetros: Nombre
MerchantID AcquirerBIN TerminalID Num_operacin

Longitud
9 9 8 50

Descripcin
Identifica al comercio. Facilitado por la caja en el proceso de alta Identifica la caja. Facilitado por la caja en el proceso de alta. Identificativo del Terminal. Actualmente para todos los TPV virtuales es siempre 00000003. Identifica para el comercio la operacin, n de pedido, factura, albarn, etc. Puede ser alfanumrico pero estn prohibidos los caracteres extraos tpicos como ,?,%,&,*,etc. Importe de la operacin sin formatear. Siempre ser un nmero entero donde los dos ltimos dgitos sern los cntimos de Euro. Es el cdigo ISO-4217 correspondiente a la moneda en la que se efecta el pago. Contendr el valor 724 para Pesetas y 978 para Euros. Actualmente solo se permiten pagos en Euros, luego el importe siempre ser un nmero entero sin formatear y donde los dos ltimos dgitos siempre son cntimos. Actualmente siempre ser 2

Importe Tipo_moneda

10 3

Exponente Referencia

1 30

Referencia.- Es el nico valor devuelto por la Pasarela SET/SEP. Este dato es imprescindible para realizar cualquier tipo de reclamacin y/o anulacin de la compra.
Es una cadena de caracteres calculada mediante una rutina C proporcionada por CECA al comercio en una librera. En principio, esta librera estar disponible para entornos UNIX (SOLARIS, HP-UX, AIX y LINUX) y WINDOWS-NT/2000. En esta versin tambin se ha portado esta rutina a JAVA, por lo cual queda resuelta la portabilidad a todas las mquinas en las que est instalada la Mquina Virtual JAVA.

Firma

256

La funcionalidad de este proceso ser la que determine el comercio, pero principalmente consistir en actualizar sus bases de datos internas.

Anulacin parcial desde WEB del Comercio.


El comercio debe disponer de una autorizacin por parte de su Caja antes de utilizar esta opcin. Una vez activada esta opcin por parte de la caja, el comercio cuando entra en su administracin WEB y procede a la anulacin de una operacin observar la posibilidad de anular la operacin o realizar anulacin parcial.

32

Pulsar sobre Anular

1-. Opcin antigua: Anular Operacin (totalmente) 2-. Nueva opcin que solo aparece en el caso de tener activa la opcin correspondiente. Pulsando sobre la opcin Anular parcialmente

33

Restricciones: Solo los comercios autorizados por su Caja podrn utilizar esta opcin. El importe debe ser menor o igual al importe original de la operacin. Solo se permite una sola anulacin por operacin. Esta puede ser total o parcial.

Anulaciones parciales a travs de formulario Al igual que las anulaciones totales las anulaciones parciales pueden ser procesadas a partir de un formulario enviado por el comercio. Las condiciones son iguales a las expuestas anteriormente y el comportamiento ser igual al comportamiento en las anulaciones totales. Direcciones: Pruebas: http://tpv.ceca.es:8000/cgi-bin/tpvanularparcialmente Real: https://pgw.ceca.es/cgi-bin/tpvanularparcialmente

34

12.- DIRECCIONES DE SOPORTE TPV


Si necesitan resolver cualquier duda relacionada con este producto, deben inicialmente ponerse siempre en contacto con su Caja de Ahorros. Para cualquier problema relacionado con la implementacin del TPV virtual en su comercio, pueden ponerse en contacto con la direccin de correo electrnico soporte.tpv@ceca.es y telfono 915965328.

Le recomendamos que antes de contactar con el soporte del TPV de las Cajas de Ahorros consulte el apartado de preguntas frecuentes, ya que en la mayora de los casos en ese apartado se encuentra la solucin al problema.

35

ANEXO 0. RUTINA DEL CLCULO DE LA FIRMA ANTIGUA:


Propsito
Clculo de firma electrnica basada en algoritmo DES. El resultado es una cadena de caracteres calculada mediante una rutina proporcionada por CECA al comercio a travs de una librera. En principio, esta librera estar disponible para entornos UNIX (SOLARIS, HP-UX, AIX y LINUX), WINDOWS-NT/2000 y JAVA, por lo cual queda resuelta la portabilidad a todas las mquinas en las que est instalada la mquina virtual JAVA. El algoritmo de cifrado para el calculo de este parmetro es propietario de CECA y por tanto no es posible obtener el mismo resultado con ningn algoritmo de cifrado que proporcionan los distintos lenguajes de programacin, debe por tanto utilizar la librera, ejecutable o clase java facilitados para obtener este valor. Esto implica que el hosting contratado requiera de unas caractersticas mnimas para hacer uso de este software.

Sintaxis
int calcular_firma (ClaveCifrado, MerchantID, AcquirerBIN, TerminalID, Num_operacion, Importe, TipoMoneda, Exponente, Referencia, Firma) char *ClaveCifrado; char *MerchantID; char *AcquirerBIN; char *TerminalID; char *Num_operacion; char *Importe; char *TipoMoneda; char *Exponente; char *Referencia; char *Firma;

Descripcin
Compone una cadena de caracteres a partir de los parmetros MerchantID, AcquirerBIN, TerminalID, Num_operacion, Importe, TipoMoneda, Exponente y Referencia y la cifra utilizando un algoritmo propietario de CECA, y dejando el resultado en la direccin apuntada por el parmetro Firma. El valor del campo ClaveCifrado ser proporcionado por CECA, despus de dar de alta un nuevo TPV. Este valor es UNICO para cada comercio, DISTINTO en pruebas que en real, no viaja por la red y por tanto garantiza que la firma solamente ha podido ser generada por el comercio. La clave de cifrado puede ser consultada a travs de la consola del TPV-Operaciones (Ver anexo VII Administracin TPV Virtual para Comercios) Esta rutina podr ser invocada por el Servidor de Comercio en dos casos: * Al preparar el formulario correspondiente a la pgina de pago. Se utilizar para enviar el valor del parmetro Firma. En este caso el parmetro Referencia deber contener el valor cadena vaca (). Dicho campo se utilizar para posibles anulaciones.

36

Cuando la pasarela de pagos le comunique que un cliente ha realizado correctamente una operacin de compra. Se utilizar para desencriptar el valor del parmetro Firma y comprobar que es correcta. En este caso, el parmetro Referencia contine el valor indicado por la pasarela.

* Cdigos devueltos: La rutina devuelve un valor 0 si la operacin se ha realizado correctamente y un valor negativo (-1) en caso contrario.

Formas habituales de Uso y requisito del hosting


ASP (clsico): El servidor debe permitir el registro de las DLLs facilitadas, algunos hosting ya disponen de estas libreras instaladas en sus servidores. Debe ponerse en contacto con el hosting para saber si se puede cumplir este requisito. Alternativas. En caso que el hosting no permita instalar estas DLLs, se puede optar por la utilizacin de PERL a travs del programa ejecutable calculo* o bien llamar a este mismo ejecutable desde ASP. Ver ejemplos posteriores. .net: No es necesario registrar DLLs, existe una DLL especfica que permite obtener el cifrado sin necesidad de registro, por tanto el hosting no debe tener ninguna caracterstica especfica PERL: Se puede obtener el resultado de la firma a travs de un ejecutable denominado calculo*, este deber situarse en el directorio cgi-bin. Ver ejemplo de uso posterior. PHP: Dado que no es posible desde PHP llamar a una funcin definida dentro de una librera, se deber utilizar o bien el registro de las DLLs o el programa calculo*. Si el servidor tiene registrado las DLLs se puede utilizar estas para el calculo de la firma (ver ejemplo). Lo habitual es la utilizacin del programa calculo a travs de la funcin EXEC() o SYSTEM(), por tanto el hosting debe tener una poltica SAFE_MODE a off y no tener disabled las funciones anteriores o bien una poltica SAFE_MODE definida mediante un SAFE_MODE_EXEC_DIR debindose alojar el programa calculo en este directorio. Esta informacin puede visualizarse en el tpico phpinfo(). JAVA: Se facilita una clase java definida en un Packaged, por tanto no ser requiere ningn tipo de requisito especfico. El programa calculo varia con el sistema operativo, estando disponible para Windows, Linux 32 y 64 bits. El de 64 bits es compatible con Linux de 32 bits pero Linux tiene que tener instalada la librera lib-a32.

Consultar los anexos 1,2 y 3 que aparecen al final de este manual para ver como se instala la librera.

37

ANEXO I. INSTRUCCIONES DE INSTALACIN EN UNIX/LINUX


Se facilita desde el TPV virtual un ejecutable compatible con la mayora de las distribuciones Linux, el comercio solo debe subir en binario este programa ejecutable va FTP a su servidor y concederle los permisos de ejecucin para poder utilizarlo. En algunos casos excepcionales hay que recurrir a compilar el programa calculo con la librera en el propio servidor. En esos casos los pasos a seguir son los siguientes:

Copiar la librera libtpv.a en cualquier directorio del Servidor al que se tenga acceso. A continuacin, para compilar el programa (suponiendo que est escrito en "C", como suele ser lo ms habitual sobre UNIX), se debe aadir a la lista de libreras con las que se debe "linkar", la nueva librera libtpv.a de la forma:

cc -o <programa_resultado> <programa_fuente> -L<directorio_de_instalacion> -ltpv Supongamos que tenemos librera libtpv.a y el cdigo fuente, denominado calculo.c (ver ejemplo posterior) en el mismo directorio. Para compilarlo simplemente pondramos. cc -o calculo calculo.c -L./ -ltpv De esta forma crearamos en el mismo directorio un ejecutable calculo que deberamos dotar de los permisos necesarios para su ejecucin y que seria el encargado de generar la firma electrnica a incorporar en nuestro formulario. Se recomienda la limitacin de los parmetros de entrada (ver definiciones de longitud en apartado 4.1

Por lo general no es necesario compilar este programa. Se facilita desde el TPV virtual un ejecutable compatible con la mayora de las distribuciones Linux, el comercio solo debe subir en binario este programa ejecutable va FTP a su servidor y concederle los permisos de ejecucin para poder utilizarlo.

38

Ejemplo sencillo de programa calculo:


#include <stdio.h> main (argc, argv) int argc; unsigned char **argv; { if ( argc != 10) { printf (" ---ERROR EN LA SINTAXIS ---\n"); printf ("Sintaxis: calculo <Password> <MerchantID> <AcquirerBIN> <TerminalID> <Num_operacion> <Importe> <TipoMoneda> <Exponente> <Referencia>\n"); exit (1); }else{ unsigned char Password [9]; unsigned char Firma [1001]; unsigned char MerchantID [10]; unsigned char AcquirerBIN [11]; unsigned char TerminalID [9]; unsigned char Num_operacion [51]; unsigned char Importe [16]; unsigned char TipoMoneda [4]; unsigned char Exponente [2]; unsigned char Referencia [51]; memset (Password, 0, sizeof (Password)); memset (Firma, 0, sizeof (Firma)); memset (MerchantID, 0, sizeof (MerchantID)); memset (AcquirerBIN, 0, sizeof (AcquirerBIN)); memset (TerminalID, 0, sizeof (TerminalID)); memset (Num_operacion, 0, sizeof (Num_operacion)); memset (Importe, 0, sizeof (Importe)); memset (TipoMoneda, 0, sizeof (TipoMoneda)); memset (Exponente, 0, sizeof (Exponente)); memset (Referencia, 0, sizeof (Referencia)); strncpy (Password, argv [1], sizeof (Password)); strncpy (MerchantID, argv [2], sizeof (MerchantID)); strncpy (AcquirerBIN, argv [3], sizeof (AcquirerBIN)); strncpy (TerminalID, argv [4], sizeof (TerminalID)); strncpy (Num_operacion, argv [5], sizeof (Num_operacion)); strncpy (Importe, argv [6], sizeof (Importe)); strncpy (TipoMoneda, argv [7], sizeof (TipoMoneda)); strncpy (Exponente, argv [8], sizeof (Exponente)); strncpy (Referencia, argv [9], sizeof (Referencia)); calcular_firma (Password,MerchantID,AcquirerBIN,TerminalID,Num_operacion,Importe,TipoMoneda,Exponente,Referencia,F irma); printf (Firma); exit (0); } }

Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

39

ANEXO II. INSTRUCCIONES DE INSTALACIN EN WINDOWS NT.Consiste en hacer lo siguiente: - Copiar la librera LIBTPV.DLL en el directorio C:\WINNT\SYSTEM32. - Copiar la librera TPV.DLL en cualquier otro directorio, por ejemplo en C:\. Es aconsejable que el nombre del directorio donde la instale no contenga espacios. - La librera que debe registrar es esta ltima, con el comando: regsvr32 C:\TPV.DLL (suponiendo que est en el directorio C:\) Esto es as porque la librera TPV.DLL busca otra librera llamada LIBTPV.DLL desarrollada en CECA y que contiene la funcin "calcular_firma" que es la que contiene el algoritmo con la firma digital. Para que TPV.DLL encuentre a LIBTPV.DLL, esta ltima debe de estar en el directorio C:\WINNT\SYSTEM32.

Algunos hosting no permiten el registro de DLLs, una alternativa es la llamada al programa ejecutable calculo desde una shell en ASP tal y como se muestra a continuacin o bien la utilizacin de un paso intermedio entre ASP y el TPV mediante un formulario en PERL (ver ejemplo)

dim tpv, x, firma, precioTpv dim programa, objShell, objScriptExec, salida ' Utilizo el calculo.exe en vez de la dll Falta de aadir el parmetro con la clave clave_encriptacion programa = "W:\TPV\calculo.exe " & MerchantID & " " & AcquirerBIN & " " & TerminalID & " " & Num_operacion & " " & Importe & " " & TipoMoneda & " " & Exponente & " " & Referencia Set objShell = CreateObject("WScript.Shell") Set objScriptExec = objShell.Exec(programa) firma = objScriptExec.StdOut.ReadAll if inStr(firma, "ERROR") then response.write "Hay un error en la firma<br>" response.write programa & "<br>" response.end 'else ' response.write "Estado: " & objScriptExec.Status & " - Salida: " & firma ' response.end end if Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

40

EJEMPLO ASP
En est pgina, se incluye un ejemplo de cdigo "ASP" desde el que se llama a la rutina "calcular_firma" y se compone y ejecuta la pgina HTML de conexin con el TPV virtual.
<head> <script language=javascript> function lanzar() {document.forms[0].submit();} </script> </head> <body> <% set tpv = CreateObject("tpv_commerce.tpv_commerce.1") tpv.clave_encriptacion = Variable1 (solo en la version 3) tpv.MerchantID = Variable2 tpv.AcquirerBIN = Variable3 tpv.TerminalID = Variable4 tpv.Num_operacion = Variable5 tpv.Importe = Variable6 tpv.TipoMoneda = Variable7 tpv.Exponente = Variable8 tpv.Referencia="" x = tpv.calcular_firma if x <> 0 then Response.Write x Response.write "<br>" Response.Write "Error en el calculo de la firma" Response.End end if firma = tpv.Firma set tpv = Nothing %> <form method=post action="http://tpv.ceca.es:8000/cgi-bin/tpv" > <input <input <input <input <input <input <input <input <input <input <input <input <input </form> <SCRIPT language=javascript>lanzar(); </script> </body></html> type=hidden name="MerchantID" value="<%=Variable2%>"> type=hidden name="AcquirerBIN" value="<%=Variable3%>"> type=hidden name="TerminalID" value="<%=Variable4%>"> type=hidden name="URL_OK" value="<%=Direccion html de ok%>"> type=hidden name="URL_NOK" value="<%=Direccion html de NOK%>"> type=hidden name="Firma" value="<%=firma%>"> type=hidden name="Importe" value="<%=variable6%>"> type=hidden name="Idioma" value="<%=cod_idioma%>"> type=hidden name="TipoMoneda" value="<%=Variable7%>"> type=hidden name="Exponente" value="<%=Variable8%>"> type=hidden name="Pago_soportado" value="SSL"> type=hidden name="Descripcion" value="<%=descripcion%>"> type=hidden name="Num_operacion" value="<%=Variable5%>">

Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

41

ANEXO III. INSTRUCCIONES DE INSTALACIN EN JAVA.Se facilita el jar ceca.tpv.jar


La librera TPV3.class se compone de una variable pblica TPV3.firma (String [] ) y de un mtodo TPV3.calcular_firma () al que se le deben pasar los siguientes argumentos: Clave de encriptacin: Es la clave de encriptacin del comercio. Esta debe ser proporcionada por CECA una vez que el comercio este implementado y se quieran realizar pruebas o bien entrar en produccin. MerchantID, AcquirerBIN, TerminalID, Num_operacin, Importe, TipoMoneda, Num_operacin, Referencia: ya han sido descritos en versiones anteriores. TPV3.calcular_firma, compone una cadena de caracteres a partir de los parmetros MerchantID, AcquirerBIN, TerminalID, Num_operacion, Importe, TipoMoneda, Exponente y Referencia, la cifra utilizando un algoritmo DES modo CBC, le aplica una codificacin de 8 a 7 bits, y deja el resultado en el string TPV3.firma. Esta rutina podr ser invocada por el Servidor de Comercio en dos casos: Al preparar el formulario correspondiente a la pgina de pago. En este caso el parmetro Referencia deber contener el valor cadena vaca () y cuando la pasarela de pagos le comunique que un cliente ha realizado correctamente una operacin de compra. En este caso, el parmetro Referencia deber contener el valor indicado por la pasarela.

Ejemplo en JAVA:
import es.ceca.TPV3.*; import java.io.*; class calculo { public static void main(String[] args) { try { TPV3 firma = new TPV3 (args[0]); System.out.println ("Firma:"+firma.calcularFirma (args[1], args[2], args[3], args[4],args[5], args[6], args[7], args[8]) ); } catch (Exception E) { System.out.println (" ------------------------------------"); System.out.println (" E R R O R D E S I N T A X I S"); System.out.println (" ------------------------------------"); System.out.println (""); System.out.println ("$ java calculo <passwd> <merchantid> <acquierbin> <terminalid> <num_operacion> <importe> <tipo_moneda> <exponente> <referencia>"); } } }

Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

42

El resultado que obtenemos si ejecutamos este ejemplo es el siguiente:


java calculo 12345678 1 2 3 4 5 6 7 8 Firma: 73609E5FA0529DC59EEF7220657C99DCCC75BFBFF92B78BD439C2FF31CC0CAEFF13A60FB805D31D81DB0C 8A22F26E44F04EB2AC842E2CEACC6E6040D6FD046CA1C59AC15F040294277766DB86E0AF7422F281855DDA 32E673AF0131D646918D12F15BF7C0749DB5F41156906A76E909A2C1352B586DD0D21C6E5F7566AE907F9

ANEXO IV. Ejemplo de implementacin en Perl - PHP


Se trata de un ejemplo de implementacin del TPV virtual muy simple, compuesto por los siguientes ficheros: Comercio.html.- Pgina HTML en la que se recogen varios campos del pedido (nmero de operacin e importe). Cuando se pulsa sobre el botn enviar, enva estos parmetros al CGI comercio.pl escrito en Perl. Es el siguiente: Evidentemente se deber de CAMBIAR EL ACTION DEL FORMULARIO a la direccin particular en cada caso donde se encuentre el programa en perl.

43

Cdigo fuente mnimo: <HTML> <HEAD> <TITLE>Ejemplo</TITLE> </HEAD> <BODY> <FORM ACTION="cgi-bin/comercio.pl" METHOD="POST" ENCTYPE="application/x-www-formurlencoded"> N Operacin: <INPUT NAME="Num_operacion" TYPE=text VALUE=><br> Importe:<INPUT NAME="Importe" TYPE=text VALUE=><br> <INPUT TYPE="submit" VALUE="Enviar"> <INPUT TYPE="reset" VALUE="Borrar"> </FORM> </BODY> </HTML> Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

44

Cdigo perl
Recoge los parmetros que enva la anterior pagina html (n operacin e importe), calcula la firma a partir de los datos identificativos del comercio ms de la operacin y genera un formulario que nos enva. Evidentemente se DEBERAN CAMBIAR LOS DATOS IDENTIFICATIVOS DEL COMERCIO.
#!/usr/bin/perl # Perl script para la implementacin del TPV Virtual de CECA # a travs del programa "calculo". # use CGI; $cgi = new CGI; $NO = $cgi->param ('Num_operacion'); $I = $cgi->param ('Importe'); $TM = "978"; $E = "2"; # Descripcin del Comercio. $PWD = "07495119"; #Password o clave de encriptacion $MID = "111950028"; #identificacin comercio MerchantID $ABIN = "0000554052"; #identificacin de la caja AquirerBIN $TID = "00000003"; #idenficicacin del terminal TerminalID $calculo = './calculo'; # Localizacin del programa calculo (Asegurese de que es correcta la ruta) # Calculo de la firma para la operacin $FR = `$calculo $PWD $MID $ABIN $TID $NO $I $TM $E ""`; # URLs de vuelta al comercio $URL_OK = "http://www.sucomercio.com/graciasporsucompra.html"; $URL_NOK = "http://www.sucomercio.com/errorensucompora.html"; #Genera formulario para enviar a la pasarela. print "Content-type: text/html\n\n"; print "<HTML>"; print "<HEAD>"; print "<TITLE>P&aacute;gina de pago</TITLE>"; print "<script language=javascript>"; print "function lanzar(){document.forms[0].submit();}</script>"; print "</HEAD>"; print "<BODY>"; print "<FORM ACTION=\"http://tpv.ceca.es:8000/cgi-bin/tpv\" METHOD=\"POST\" ENCTYPE=\"application/xwww-form-urlencoded\">"; print "<INPUT NAME=\"MerchantID\" TYPE=hidden VALUE=$MID>"; print "<INPUT NAME=\"AcquirerBIN\" TYPE=hidden VALUE=$ABIN>"; print "<INPUT NAME=\"TerminalID\" TYPE=hidden VALUE=$TID>"; print "<INPUT NAME=\"Num_operacion\" TYPE=hidden VALUE=$NO>"; print "<INPUT NAME=\"Importe\" TYPE=hidden VALUE=$I>"; print "<INPUT NAME=\"TipoMoneda\" TYPE=hidden VALUE=$TM>"; print "<INPUT NAME=\"Exponente\" TYPE=hidden VALUE=$E>"; print "<INPUT NAME=\"Firma\" TYPE=hidden VALUE=$FR>"; print "<INPUT NAME=\"URL_OK\" TYPE=hidden VALUE=$URL_OK>"; print "<INPUT NAME=\"URL_NOK\" TYPE=hidden VALUE=$URL_NOK>"; print "<INPUT NAME=\"Pago_soportado\" TYPE=hidden VALUE=SSL>"; print "<INPUT NAME=\"Idioma\" TYPE=hidden VALUE=1>"; print "<CENTER>"; print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=4 color=\"#006699\"\" > "; print "<br><br><br> Conectando con entidad financiera. Por favor, espere...</font>"; print "</CENTER>"; print "</FORM><script language=javascript>lanzar();</script>"; print "</BODY>"; print "</HTML>";

Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

45

El programa calculo es quien tras recibir 9 parmetros devolver la firma.

IMPORTANTE: Este cdigo, como todos los que aparecen en el manual es solamente un
ejemplo muy sencillo. Cada comercio tendr total libertad de modificar el programa y adecuarlo a las necesidades y requerimientos de seguridad que considere oportunas. Se recomienda la restriccin de los parmetros de entrada para aumentar la seguridad del sistema, tanto en el cdigo Perl, PHP como en el programa Clculo.

Cdigo PHP
<html> <head> <title>Ejemplo de PHP - Lanza Datos a CECA</title> <script language=javascript> function lanzar() { document.forms[0].submit(); } </script> </head> <body> <br><br> <font face="Verdana" size="3" color="#0f0084"> <center><b>Procesando operacin. <br>Enviando datos a entidad Bancaria.<br><br><br><br>Por favor espere...</center> <?php $Clave = "07495113223239"; $MerchantID = "111950323232028"; $AcquirerBIN = "000055403252"; $TerminalID = "00000003"; $Referencia = ""; $URL_OK = "http://www.ceca.es"; $URL_NOK = "http://www.ceca.es"; $string = "./calculo $Clave $MerchantID $AcquirerBIN $TerminalID $Num_operacion $Importe $Tipomoneda $Exponente \"\" "; $resultado = exec($string); ?> <FORM ACTION="http://tpv.ceca.es:8000/cgi-bin/tpv" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded"> <input name="MerchantID" type=hidden value=<?php echo $MerchantID ?>> <input name="AcquirerBIN" type=hidden value=<?php echo $AcquirerBIN ?>> <input name="TerminalID" type=hidden value=<?php echo $TerminalID ?>> <input name="Num_operacion" type=hidden value=<?php echo $Num_operacion ?>> <input name="Importe" type=hidden value=<?php echo $Importe ?>> <input name="TipoMoneda" type=hidden value=<?php echo $Tipomoneda ?>> <input name="Exponente" type=hidden value=<?php echo $Exponente ?>> <input name="URL_OK" type=hidden value=<?php echo $URL_OK ?>> <input name="URL_NOK" type=hidden value=<?php echo $URL_NOK ?>> <input name="Firma" type=hidden value=<?php echo $resultado ?>> <input name="Idioma" type=hidden value=1> <input name="Pago_soportado" type=hidden value=SSL> <SCRIPT language=javascript> lanzar(); </script> </FORM> </body> </html>

46

Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

El ejemplo en PHP es muy similar al ejemplo en PERL, aunque hay varias formas de hacer lo mismo, la clave esta en la ejecucin del programa calculo que devolver la firma a travs de la instruccin exec(). Primero se compone una cadena con la ejecucin del programa y las variables necesarias para el calculo de la firma y despus se ejecuta ese string mediante la funcin PHP exec() que devuelve el resultado a una variable.
$string = "./calculo $Clave $MerchantID $AcquirerBIN $TerminalID $Num_operacion $Importe $Tipomoneda $Exponente \"\" ";

$resultado = exec($string);

Es importante destacar que no es lo mismo


$Referencia = ;
$string = "./calculo $Clave $MerchantID $AcquirerBIN $TerminalID $Num_operacion $Importe $Tipomoneda $Exponente $Referencia ";

que poner directamente las comillas en la lnea de ejecucin, ya que de la primera forma interpreta que falta una variable y por tanto devolver un error de sintaxis..

Utilizacin de PHP con DLLs


<html> <head> <title>Ejemplo de PHP - Lanza Datos a CECA</title> <script language=javascript> function lanzar(){ document.forms[0].submit(); } </script> </head> <body> <br><br><font face="Verdana" size="3" color="#0f0084"><center><b>Procesando operacin. <br>Enviando datos a entidad Bancaria.<br><br><br><br>Por favor espere...</center> <?php $tpv = new COM('tpv_commerce.tpv_commerce.1') or die("Imposible calcular firma digital"); $tpv->Clave_Encriptacion = "11439044"; $tpv->MerchantID = "111950028"; $tpv->AcquirerBIN = "0000554052"; $tpv->TerminalID = "00000003"; $tpv->Num_Operacion = "4"; $tpv->Importe = "5"; $tpv->TipoMoneda = "978"; $tpv->Exponente = "2"; $tpv->Referencia = ""; $tpv->Calcular_Firma(); $firmadigital = $tpv->Firma; $tpv = null; $resultado = $firmadigital; ?> <br> <FORM ACTION="http://tpv.ceca.es:8000/cgi-bin/tpv" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded"> <input name="MerchantID" type=hidden value=<?php echo $MerchantID ?>> <input name="AcquirerBIN" type=hidden value=<?php echo $AcquirerBIN ?>> <input name="TerminalID" type=hidden value=<?php echo $TerminalID ?>> <input name="Num_operacion" type=hidden value=<?php echo $Num_operacion ?>> <input name="Importe" type=hidden value=<?php echo $Importe ?>> <input name="TipoMoneda" type=hidden value=<?php echo $Tipomoneda ?>> <input name="Exponente" type=hidden value=<?php echo $Exponente ?>> <input name="URL_OK" type=hidden value=<?php echo $URL_OK ?>>

47

<input name="URL_NOK" type=hidden value=<?php echo $URL_NOK ?>> <input name="Firma" type=hidden value=<?php echo $resultado ?>> <input name="Idioma" type=hidden value=1> <input name="Pago_soportado" type=hidden value=SSL> <SCRIPT language=javascript>lanzar();</script> </FORM> </body> </html>

Importante: Si hace un copiado de este cdigo a travs de la opcin copy-paste asegrese de que el cdigo destino es correcto. En algunos casos se ha detectado que al copiar el cdigo las (comillas dobles) se han sustituido por (2 comillas simples)

48

ANEXO V. TARJETAS DE PRUEBAS


Con el fin de que los comercios puedan comprobar el correcto funcionamiento de su aplicacin, ponemos a su disposicin en el entorno de PRUEBAS las siguientes tarjetas: 5540500001000004 5020470001370055 5020080001000006 4507670001000009 Caducidad: Caducidad: Caducidad: Caducidad: AAAA12 (Diciembre del ao en curso) AAAA12 (Diciembre del ao en curso) AAAA12 (Diciembre del ao en curso) AAAA12 (Diciembre del ao en curso) CVV2: 989 CVV2: 989 CVV2: 989 CVV2: 989

AAAA ser sustituido por el ao en curso. Las tarjetas se renuevan anualmente. Transcurrido el ao en curso, simplemente aumentar un ao la fecha.

Acerca de la peticin de datos


La peticin de estos dos datos (fecha de caducidad y nmero de tarjeta), ya bien sea desde el servidor del comercio o bien desde el servidor CECA mediante las paginas a personalizar puede realizarse de distintas formas, as por ejemplo es aconsejable solicitar la fecha a travs de un combo de forma que el cliente solo debe elegir una fecha y no se preocupa del formato. Es importante indicar que la fecha de caducidad a introducir en el campo Caducidad debe ser estrictamente en el formato AAAAMM, aunque en las pginas se solicite de otra forma, se tendr que componer a posteriori este formato. El nmero de tarjeta (campo PAN) deber ser un nmero entero sin caracteres extraos o espacios en blanco.

A partir del 1 de Abril de 2006 la nueva poltica de seguridad para comercio electrnico obligar a los comercios que quieran solicitar los datos de tarjeta al cliente y que no quieran delegar esta funcin en el TPV virtual, deban contar con una autorizacin expresa de la caja correspondiente y cumplir las condiciones de seguridad y tratamiento de la informacin impuestas por cada entidad.

A partir del 1 de diciembre de 2008 la nueva poltica de seguridad para comercio electrnico obligar a que todas las operaciones de comercio electrnico sean tramitadas con el valor del CVV2/CVC2 de la tarjeta. Ms informacin en anexo IV Peticin de CVV2/CVC2.

49

ANEXO VI. PAGO SEGURO 3D-SECURE.


En el siguiente Anexo se explicar el funcionamiento de un comercio que opera bajo la normativa 3D-Secure. Los comercios que utilicen este sistema podrn utilizar estos logos en su comercio, adems deben incluirlo en la pgina de pago personalizada.

Implementacin del pago 3D-Secure Este sistema se puede resumir en la securizacin de la persona que est utilizando la tarjeta con la que se est realizando el intento de pago. Esta securizacin puede ser por diferentes canales en funcin de las especificaciones de cada entidad. Qu clientes pueden realizar un pago 3D-Secure? Solamente podrn realizar pagos de este tipo los clientes cuya entidad (emisora de la tarjeta) soporte este tipo de pago y que previamente le haya dado de alta su tarjeta en este sistema. Cada entidad podra adoptar distintas soluciones, de forma, que no existir una nica manera de proceder. El cliente siempre deber consultar el manual de funcionamiento facilitado por su entidad o bien dirigirse a su entidad financiera para solucionar las dudas sobre el funcionamiento del software. Qu comercio puede soportar este tipo de pago? Todos los comercios que actualmente tienen contratado el TPV virtual CECA podrn utilizar este sistema previo contacto con la caja donde tengan concertado el servicio. Qu aporta este sistema al Comercio? Todas las operaciones realizadas bajo este sistema no podrn sufrir retrocesos, es decir el comercio tiene garantizado el pago y la responsabilidad de la operacin se trastada al emisor de la tarjeta en caso de repudio.
En ciertos casos puntuales, y ante la certeza de que un comercio escudado en la garanta de pago ha iniciado una actividad fraudulenta (o ha relajado sus mecanismos de control del fraude permitiendo a un tercero una actividad fraudulenta en el mismo), los sistemas internacionales o nacionales pueden acordar su prdida de la garanta de pago durante un periodo determinado de tiempo, as como imponerle otras penalizaciones.

Cmo se realiza esta autenticacin? Como comentbamos anteriormente este proceso puede diferir dependiendo de la entidad. Como ejemplo el sistema propuesto por CECA es a travs de la confirmacin de compra desde la BE del cliente. Esta confirmacin es suficiente para garantizar que la tarjeta empleada en el pago es propiedad de la persona identificada.

50

Pantalla de activacin de la identificacin de cliente que presenta el TPV virtual.

51

52

ANEXO VII CONSOLA DE ADMINISTRACIN TPV VIRTUAL PARA COMERCIOS


Desde este entorno de administracin es posible tener acceso a los informes sobre operaciones del comercios, realizar bsqueda de operaciones, anulaciones y establecer distintos filtros de compra.

Acceso
Las direcciones establecidas para el acceso son las siguientes: PRUEBAS http://tpv.ceca.es:8000/admincomercios/inicio.html REAL https://pgw.ceca.es/admincomercios/inicio.html El usuario y password de acceso son los mismos que para la anterior administracin.

Problemas de ACCESO: La primera vez que se accede a este entorno el password de acceso coincide con el propio nmero de comercio. Tal y como se indica mediante un aviso, es conveniente cambiar el password en ese mismo momento, indicando una clave alfanumrica de al menos ocho caracteres. Cuando accede a la pantalla anterior dispone de un minuto para intentar el acceso. Superado ese tiempo deber volver a cargar la pgina e intentar el acceso.

IMPORTAMTE: El acceso a esta administracin requiere que el navegador permita una conexin segura de 128 bytes, la ejecucin de JavaScript y permitir grabar cookies. En caso de que algunas de estas condiciones no se cumpliesen, podra no acceder, no visualizarse correctamente o no funcionar correctamente.

53

Significado de los iconos.

Significado de Icono a Icono

PRIMER ICONO. Cambio de Password


Pulsando sobre el icono tendremos acceso a una pantalla donde se solicitar el nuevo password por duplicado as como el antiguo password, siendo necesario los 3 parmetros mencionados para poder actualizar su contrasea de acceso a este entorno de administracin.

54

SEGUNDO ICONO. Datos del comercio


Visualiza los datos principales del comercio. Primeramente los datos no modificables, despus los datos de comportamiento a la hora de realizar la compra. Estos datos (activacin / desactivacin) de comunicacin on line y respuesta requerida pueden ser modificados mediante el contacto con la caja o bien a la direccin de soporte. IMPORTANTE: Est pantalla puede carecer de algunas opciones si la Caja as lo entiende.

Activacin de filtros de compra

Modificacin de los filtros de compra Importante: Se debe activar los filtros para que estos tengan efecto, aunque estn especificados, no entrarn en funcionamiento si no son activados. Si son activados y no se especifica los valores por defecto, el funcionamiento del comercio podra verse alterado. No es conveniente modificar estos filtros sino se est seguro de su funcionamiento, podra alterar el funcionamiento correcto del comercio.

55

TERCER ICONO. Filtros de compra


Se pueden establecer distintos filtros de compra. Estos lmites se pueden dividir en dos grandes grupos. Filtros por importe o por BIN/PAN/IP.

Los lmites que se pueden establecer son los siguientes: Importe Mnimo por operacin Las operaciones con un importe inferior al especificado sern rechazadas. Importe Mximo por operacin Las operaciones con un importe superior al especificado sern rechazadas. Importe Diario Mximo Cuando a lo largo del da se alcanza este tope de importe se denegarn las operaciones posteriores. Importe Mensual Mximo - Cuando a lo largo del mes se alcanza este tope de importe se denegarn las operaciones posteriores. Importe Anual Mximo - Cuando a lo largo del ao se alcanza este tope de importe se denegarn las operaciones posteriores.

56

El comercio podr establecer los filtros por IP, BIN y tarjeta que desee, tantos y como quiera.

Ejemplos de lmite por BIN


Si queremos eliminar el rango de Bines entre el 5540 y el 5550, solamente debemos poner este rango en el campo inferior y superior respectivamente. Si por el contrario queremos que el comercio solo permita los bines 5540, debemos realizar lo siguiente. Definir un filtro de 0 -> 5539 Definir otro filtro de 5541 -> 9999 De esta forma solo se permite operar con el 5540. Es importante que el nmero de dgitos coincida. Al igual que en los filtros por importe, un filtro mal establecido podra provocar un malfuncionamiento del comercio.

57

CUARTO ICONO. Consulta de Operaciones y Anulaciones


Desde est opcin se podr realizar la bsqueda de operaciones, realizar anulaciones y ver ms datos sobre la operacin. Al pulsar sobre el icono aparecer una pantalla con un calendario del mes en curso.

Pulsar sobre el da. Se obtiene el informe de Pulsar sobre el mes. Se obtiene el informe del mes.

ese da.

Aadir condiciones de bsqueda.


Se puede restringir la bsqueda por parmetros como n de operacin, tarjeta e importe.

58

Bsqueda en intervalo temporal. Esta bsqueda funciona de diferente forma. Cuando se pulsa sobre la opcin, aparecen 2 calendarios como los que se ven en la figura, primero se elige la primera fecha (el desde), posteriormente la segunda fecha (el hasta). Una vez rellenas las dos fechas se pulsa sobre Realizar consulta. Tambin se puede aadir condiciones de bsqueda como en el caso anterior.

Aspecto de la bsqueda en un intervalo temporal y con condiciones de bsqueda restrictivas.

Resultados de

la bsqueda.

59

Se devuelven en un listado con el aspecto siguiente.

+Datos Visualiza ms datos sobre la operacin.

Anulacin. Se pide confirmacin de anulacin.

60

Opciones Disponibles en la pgina

Visualizacin del importe en Pesetas. Al pasar el ratn sobre el importe se visualiza el importe en Pesetas

Se visualizan todos los intentos de compra llegados hasta medios de pago. No aparecern los intentos con tarjetas no numricas o caducadas.

Guardar estos datos bien como fichero plano (fichero txt) o bien como una pagina web como la est visualizando. Solo funciona en IE.

Imprime est pagina.

61

QUINTO ICONO. Bsqueda de operaciones.


Se podr realizar bsquedas de operaciones por ciertos criterios de seleccin. Estas bsquedas son de operaciones recientes, es decir, unos ltimos 90 das, para informes anteriores deber editarlos desde la opcin anterior.

Resultados: Los resultados se muestran en un listado.

62

SEXTO ICONO. Simulacin de Compra Desde est opcin puede simularse una operacin de compra. Es una forma rpida de comprender como funciona el TPV virtual y como se conecta con el final de cualquier carrito de compra. Realmente se trata de una compra REAL (en el entorno de produccin), para ello el comercio deber conocer el nmero de tarjeta y fecha de caducidad que el cliente la habr facilitado por otro medio. Cuando el cliente pulsa sobre el icono solamente tiene 2 campos obligatorios, un identificador de operacin (numer de operacin) y un Importe en cntimos de Euros. Adems si lo desea puede aadir una pequea descripcin. El TPV virtual es multi-idioma, por lo que se puede especificar una pagina a mostrar, aunque se debe tener en cuenta la personalizacin de las pginas.

Importante: Esta simulacin de compra puede no ser compatible con la comunicacin on line y respuesta requerida. Depende de la configuracin del comercio.

Opcin de crear enlace de compras para compras de correo.

Esta opcin esta pensada especficamente para la opcin de venta por correo. El funcionamiento es el mismo, rellenar el formulario superior y al pulsar se crea un enlace que se enviara por correo al cliente. Este lo recibir y tras pulsar sobre este enlace se conecta a la WEB donde se realizar el pago.

63

Pulsando vemos el enlace generado a enviar al cliente.

IMPORTANTE: Este enlace ser valido durante 30 das. Si se quiere aumentar o disminuir este periodo pngase en contacto con soporte.

SPTIMO ICONO. Salida. Cierre de sesin. Si pulsamos sobre el icono se borran las cookies de sesin y salimos de la aplicacin.

64

ANEXO VIII: TRATAMIENTO DE ERRORES.


En las pginas de error se puede visualizar un cdigo de error de rechazo de la operacin, ya bien sea debido a la propia aplicacin o bien al rechazo por parte del emisor de la operacin. Este cdigo viene recogido en el parmetro COD_AUT, que para las compras correctas siempre ser de valor 000 y para las anulaciones correctas 400 (900 para anulaciones parciales). El resto de valores representa un cdigo de error. Cod. Autorizacin 0 1 2 5 6 7 9 10 12 13 14 15 16 17 18 20 21 22 23 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Mensaje Operacin aprobada COMUNICACION ON-LINE INCORRECTA ERROR AL CALCULAR FIRMA ERROR. Error en el SELECT COMERCIOS <%d> ERROR. Faltan campos obligatorios ERROR. MerchantID inexistente <%d> ERROR. No se pudo conectar a ORACLE <%d> ERROR. Tarjeta errnea FIRMA: %s-%s OPERACION INCORRECTA ERROR. Error en el SELECT OPERACIONES <%d> ERROR. Operacin inexistente <%d> ERROR. Operacin ya anulada <%d> ERROR AL OBTENER CLAVE ERROR. El ETILL no acepta el pedido ERROR. Tipo de moneda no valido. La operacin debe realizarse en Euros ERROR. El comercio tiene un filtro que no permite esta operacin ERROR. El comercio tiene un filtro que no permite esta operacin ERROR. Operacin UCAF no autorizada. Importe (%d) mayor del limite establecido (%d). ERROR. Datos no numricos ERROR. Datos no alfa-numricos ERROR en el calculo del MAC ERROR en el calculo del MAC [%s - %s][cadena:%s] ERROR. Usuario o password no valido. ERROR. Tipo de moneda no valido. La operacin debe realizarse en Euros. ERROR. Importe no Integer. ERROR. Operacin no realizable 100. ERROR. Formato CVV2/CVC2 no valido. ERROR. Debe especificar el CVV2/CVC2 de su tarjeta. ERROR. CVV2 no Integer. ERROR. En estos momentos no es posible continuar sin cvc2/cvv2 ERROR. ERROR en la operatoria del comercio. ERROR. Tipo de moneda no valido. La operacin debe realizarse en Euros. ERROR. El comercio solo puede realizar pagos en Euros ERROR. Moneda o conversin no valida para esta tarjeta.[%d] ERROR. Moneda o conversin no valida.[%d] ERROR. Conversin a Euros no vlida [%s][%s]. ERROR. El comercio no dispone de esta opcin. ERROR. Respuesta Errnea del Gestor de operaciones. [%d][%s]. ERROR. No es posible continuar con la preautorizacion.

65

40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 100 101 104 106 111

ERROR. Error de comunicaciones Lus. No es posible finalizar la operacin. ERROR. TimeOut SEP. No es posible finalizar la operacin. ERROR. SEP devuelve un 20 ERROR. No es posible finalizar la operacin. ERROR. Error inesperado. No es posible finalizar la operacin [%d]. ERROR. Respuesta Errnea de SEP. No es posible finalizar la operacin. ERROR. No es posible continuar con la preautorizacin. ERROR. Error en el proceso de Autentificacin. No retroceda en el navegador. Debe volver al comercio y reintentar el pago. ERROR. Entidad no disponible. Intntelo dentro de unos minutos ERROR. Error en el proceso de Autentificacin. Respuesta PAREQ no valida [%d]. No retroceda en el navegador. Debe volver al comercio y reintentar el pago. ERROR. Error en el proceso de Autentificacin. Respuesta PAREQ de su entidad no valida: %s,TXSTATUS ERROR. Fallo en el proceso de Autentificacin. Es necesario una identificacin positiva para finalizar el proceso de compra: %s,TXSTATUS ERROR. Fallo en el proceso de Autentificacin. El comercio no acepta pagos no seguros: %s. Pngase en contacto con la entidad emisora de su tarjeta.,TXSTATUS ERROR. En estos momentos no es posible iniciar un pago seguro ERROR. Comercio seguro. Su tarjeta no admite autentificacin y no puede operar en este comercio [%s]. Pngase en contacto con la entidad emisora de su tarjeta. ERROR. No es posible iniciar un pago seguro y el importe supera el mximo permitido (%f <= %s). [Resultado: %s] ERROR. En este momento no es posible iniciar un pago seguro. [Resultado: %s] ERROR. No es posible iniciar un pago seguro y el importe supera el mximo permitido (%f <= %s). [Resultado: %s] ERROR. En este momento no es posible iniciar un pago seguro y el importe supera el mximo permitido (%f <= %s). [Resultado: %s] ERROR. En este momento no es posible iniciar un pago seguro. [Resultado: %s] ERROR. El comercio tiene un filtro que no permite esta operacin. ERROR. El Comercio solo admite pago seguro. Necesita autentificarse para continuar. ERROR. Operacin segura no permitida. Importe (%14.2f) mayor del limite establecido (%14.2f). ERROR. El comercio tiene un filtro que no permite esta operacin.(Filtro2:%d) ERROR. El comercio no acepta pagos Visa no autentificados. Pngase en contacto con su entidad para activar este tipo de pago. ERROR. El comercio no acepta pagos MasterCard no autentificado. Pngase en contacto con su entidad para activar este tipo de pago. ERROR. El comercio no acepta pagos no autentificados. Pngase en contacto con su entidad para activar este tipo de pago. ERROR. Error de proceso. El comercio no acepta pagos no autentificados. Pngase en contacto con su entidad para activar este tipo de pago. ERROR. Operacin segura no autorizada. Importe (%14.2f) mayor del limite establecido (%14.2f). ERROR. Respuesta Errnea del Gestor de operaciones. Operacin anulada [%s].Gestor: [%d][%s]. ERROR. Operatoria UCAF no valida. Pngase en contacto con su comercio o caja. Tarjeta no vlida (en negativos) Tarjeta caducada Tarjeta no vlida (electrn) Tarjeta no vlida (reintentos de PIN) Nmero de tarjeta mal tecleado (check)

66

112 114 116 118 120 121 123 125 180 190 400 480 900 904 908 909 912 913 914 930 931 932 933 940 944 948 950 999

Tarjeta no vlida (se exige PIN) No admitida la forma de pago solicitada Saldo insuficiente Tarjeta no vlida (no existente en ficheros) Tarjeta no vlida en este comercio Disponible sobrepasado Nmero mximo de operaciones superado La tarjeta todava no es operativa Tarjeta no soportada por el sistema Operacin no realizable (resto de casos) Anulacin aceptada Anulacin por TO aceptada sin encontrar la operacin original Devolucin aceptada Operacin no realizable (error de formato) Tarjeta desconocida Operacin no realizable (error de sistema) Su entidad no est disponible Operacin no realizable (clave duplicada) No existe la operacin a anular Operacin no realizable (caja merchant no vlida) Operacin no realizable (comercio no dado de alta) Operacin no realizable (bin merchant no existe) Operacin no realizable (sector desconocido) Ya recibida una anulacin Operacin no realizable (sesin no vlida) Operacin no realizable (fecha/hora invlida) Devolucin no aceptada Operacin no realizable (resto de casos)

El error ms habitual ser el 190 que es la denegacin por el emisor de la tarjeta. El TPV pide la autorizacin a la entidad emisora y esta deniega sin especificar una causa exacta de denegacin. Deber el cliente ponerse en contacto con su entidad para saber la causa exacta, es esta la nica forma de conocer la causa exacta de esta denegacin

67

ANEXO IX: PETICIN DE CVV2/CVC2


Las modificaciones a realizar por los comercios que requieran la validacin del CVV2/CVC2 son mnimas y muy sencillas. Distinguimos dos casos en funcin de si es el comercio quien solicita los datos de la tarjeta o es el TPV virtual quien presenta la pgina de pago donde se solicitan los datos. 1- .Comercios que solicitan los datos de Tarjeta y Caducidad desde su propio servidor de comercio Simplemente deben aadir un campo ms denominada CVV2 y enviarlo con el resto de campos que actualmente envan al TPV virtual <INPUT TYPE="text" NAME="CVV2" size=3 maxlength=3 > 2-.Comercios que solicitan los datos de Tarjeta y Caducidad desde el TPV virtual Lo distintos comercios que quieran solicitar este campo debern modificar el diseo de sus paginas para aadir este campo. Los comercios que no dispongan de una copia de sus paginas alojadas en nuestro servidor pueden solicitarla enviando un correo a soporte.tpv@ceca.es indicando en el correo el nmero de comercio (MerchantID), se les enviar la copia actual para poder realizar las modificaciones oportunas que consisten en aadir el campo CVV2. Ejemplo de Pagina modificada

Pginas de Ayuda a disposicin de los comercios para saber que es el CVC2 e informar desde la pgina de pago. http://tpv.ceca.es:8000/admincomercios/ayuda_cvc2.html https://pgw.ceca.es/admincomercios/ayuda_cvc2.html

Es importante sealar que el CVC2 se valida si tiene un valor no vaco, luego si el comercio quiere exigir su validacin debe asegurarse que el cliente rellena el campo.

68

ANEXO X. OPERATORIA MULTIMONEDA


Los comercios deben contar con la aprobacin de su caja para poder implementar esta opcin. Para saber si disponen de esta opcin basta comprobar que visualizan el siguiente icono en la web de administracin.

La Caja podr obligar a que el comercio sea consciente del cambio diario y obligue al comercio a enviar la conversin exacta a Euros del importe enviado en otra moneda. EL TPV Virtual facilitar un tipo de cambio para 24 horas. La tabla es transparente y constante para el comercio y tambin es visible desde la WEB de administracin.

(i) Conversin 1 Euro USD (Dlar americano) GBP (Libra Esterlina) JPY (Yen Japons) CHF (Franco Suizo)

1,2911 0,6861 138,9400 1,5535

Los comercios pueden publicar sus precios en N monedas (al principio en libras, posteriormente dlares). Los comercios deben facilitar siempre al TPV virtual el importe de la compra en la moneda en la que quiera operar y su valor correspondiente en Euros en caso que su caja as lo exija. Ejemplo: Compra de 90 dlares Importe=90 TipoMoneda=840 Importe_euros=6971 Exponente=2 *Siempre ser exponente 2, es decir, los dos ltimos dgitos siempre y en todos los casos son cntimos de la moneda que sea y los importes nmeros enteros sin formatear.

69

a)

Esquema de funcionamiento

Se distinguen 2 escenarios de funcionamiento en funcin de si el comercio esta interesado en conocer el tipo de cambio aplicado o bien delega en el TPV la conversin a Euros de la moneda enviada en la peticin de compra. Escenario 1: EL Comercio no informa de la conversin a Euros. Proceso de compra. El comercio simplemente enva el Importe y cdigo de moneda en el que desea realizar el cobro.
<INPUT TYPE=hidden name="Importe" VALUE=3750> <INPUT TYPE=hidden name="TipoMoneda" VALUE=826> <INPUT TYPE=hidden name="Exponente" VALUE=2>

En este caso se interpreta que el comercio desea realizar una operacin de 37,50 Libras esterlinas (cdigo moneda 826). El TPV buscara la conversin adecuada a la operacin y procesar la operacin de forma transparente para el comercio. En resumen, el comercio tendr un ingreso asociado en su cuenta de los euros correspondientes a la conversin aplicada y el cliente ver en los movimientos de su tarjeta un cargo de 37.50 Libras.

Escenario 2: EL Comercio debe informar de la conversin a Euros.

Paso3 Paso1 TPV


18:00

Comercio Paso2
Paso1: A las 18:00 horas, el TPV informar a travs de la WEB de administracin y mediante el envi de un email o fichero FTP en funcin de las preferencias del comercio, del cambio que ser aplicado para las 24 horas del siguiente da. Paso 2: Una vez recibida esa informacin el comercio podr incorporar ese cambio a sus tablas aunque no podr actualizar este valor hasta la 0:00 horas para que el cambio sea efectivo.

70

Paso3: A partir de ese momento el comercio puede ofertar en su WEB los nuevos tipo de cambio y la operatoria en distintas monedas a sus clientes. Proceso de compra. El comercio aadir al formulario de compra actual un nuevo campo denominado Importe_euros modificando el actual valor constante de TipoMoneda fijado en 978 (Euros) por el valor correspondiente.
<INPUT TYPE=hidden <INPUT TYPE=hidden <INPUT TYPE=hidden <INPUT TYPE=hidden name="Importe" VALUE=3750> name=Importe_euros VALUE="2566"> name="TipoMoneda" VALUE=826> name="Exponente" VALUE=2>

En este caso se interpreta que el comercio desea realizar una operacin en Libras esterlinas (cdigo moneda 826) donde 37,50 Libras que son 25,66Euros. En resumen, el comercio tendr un ingreso asociado en su cuenta de 25,66 y el cliente ver en los movimientos de su tarjeta un cargo de 37.50 Libras. Consideraciones a tener en cuenta en este caso. 1 -. El TPV comprobar que el importe peticin sea igual que el importe en euros por el factor de conversin, de lo contrario se rechaza

2)

Importe_euros = (Importe / Factor _conversin)

Aproximaciones: Si el comercio desea aproximar sus importes en Euros a importes comerciales en otra moneda, tal vez deber operar al revs, es decir, si quiere que un producto sean 99 dlares, deber aplicar la conversin a los 99 dlares y enviar el importe resultante en Euros. En ningn caso el TPV permite aproximaciones que no se correspondan estrictamente con los cntimos de euro (aproximacin al tercer decimal, + o 1 cntimo). 2 -. El comercio podr publicar el precio en una moneda distinta al euro por clculo directo del coste en euros aplicando el cambio del da o bien siguiendo el criterio que considere oportuno siempre y cuando cumpla el mnimo de cambio exigido.

Otras consideraciones a tener en cuenta en ambos escenarios 1-. Operativa en Cuentas corrientes en monedas diferentes al Euro. El ingreso al comercio siempre ser en Euros, por tanto, en caso de cuentas abiertas en moneda diferente debe hablar con su entidad para aclarar la operatoria y posibles comisiones por conversin de moneda 2-. Operaciones con tarjetas asociadas a cuentas en otra moneda a la enviada. El comercio debe tener en cuenta que si lanza una operacin por ejemplo en dlares y el cliente efecta el pago con una tarjeta asociada a una cuenta en euros, este observar un cargo diferente a la conversin establecida por el TPV ya que intervienen comisiones de terceros que el TPV desconoce en el momento de la operacin, por tanto deber explicar al cliente que seleccione siempre que pueda la moneda corriente de su cuenta, de lo contrario siempre pueden intervenir comisiones extras que el TPV desconoce.

71

ANEXO XI: GESTOR DE OPERACIONES


El acceso al gestor de operaciones debe ser aprobado por la Caja. Es un proceso diseado para procesar operaciones complejas que requieran ms de un pago. Los usos ms comunes de este tipo de operaciones puedan ser pagos aplazados, suscripciones, pagos fraccionados, etc.. El funcionamiento es el siguiente. El comercio acuerda con la caja el tipo de pago que va a utilizar (no es algo que pueda definir el comercio, sino que es la Caja quien decide los tipos de pago que existen y que por tanto el comercio puede utilizar). Ahora mismo son los siguientes Tipo 1: Pago aplazado. (Tipo A) En el campo libre (datos operacin) se le pasan los siguientes datos: - Fecha del pago aplazado (8 primeros dgitos) - Importe del pago aplazado (10 dgitos restantes) Tipo 2: Pago 25/75, (Tipo B) es decir, se ha realizado el 25% del pago y se aplaza el 75% del pago. Como indicamos, se ha realizado el primer pago y el segundo pago se realizar en la fecha indicada por el campo libre, siendo el importe de este pago el triple del que nos pasa el TPV en el parmetro importe. En el campo libre (datos operacin) se le pasan los siguientes datos: - Fecha del pago aplazado (8 dgitos) Tipo 3: Suscripcin mensual con cuota fija. (Tipo 1) Se realiza el primer pago y se programa un nmero de pagos (n de subscripciones) con el importe pasado en el campo libre. Estos pagos pueden empezar el da 1 del prximo mes (n meses gratis = 0) o aplazarse el nmero de meses indicados (n meses gratis distinto de cero). En el campo libre (datos operacin) se le pasan los siguientes datos: - Importe (10 dgitos) - Nmero de subscripciones (2 dgitos) - Nmero de meses gratis (2 dgitos) Cada vez que los pagos lleguen a su fecha y sean lanzadas, se enviar un correo de confirmacin al comercio con su resultado. Estos son los 3 tipos de pago existentes, cualquier otra tipo de casustica debe ser solicitada a la caja para que estudie si tiene sentido y apruebe su generacin. Una vez el comercio este autorizada por su entidad al uso de esta opcin, su utilizacin es muy sencilla. Solo debe aadir dos campos al formulario de compra tradicional. Por ejemplo, en este caso se trata de la operacin con identificacin 5342, de 50 y se quiere un segundo pago el 10 de Septiembre del 2010 de 200,01. El comercio enva el formulario de compra habitual para una compra de 50 donde aade dos nuevos campos

72

Estos son los nuevos campos <INPUT NAME="Datos_operaciones" value="201009100000020001" size=20> <INPUT NAME="Tipo_operacion" TYPE=text size=1 VALUE="A"> Los tres posibles valores del campo TIPO son TIPO=A TIPO=B TIPO=1 Pago Aplazado Pago 25/75 Suscripcin anual con cuota fija.

El comercio debe personalizar la pagina para incluir esta campo, ser la variable ##GESTOR##, pudiendo mostrar un aspecto como el siguiente.

Que responde al siguiente cdigo, donde en caso de una operacin del gestor de operaciones se muestra las caractersticas del pago y en caso contrario, simplemente el literal compra.

73

<tr> <td align="left"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"> <b>Operacion:</b> </font> </td> <td align="left" > <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"> <b>&nbsp;&nbsp; <SCRIPT LANGUAGE="JavaScript"> if ("##GESTOR##" != "") document.write("##GESTOR##"); else document.write("Compra"); </script> </b> </font> </td> </tr>

Cuando el comercio tiene activa esta opcin en su administracin WEB aparece un nuevo icono que le proporciona acceso al administrador de las operaciones realizadas por el gestor de operaciones y cuyo uso se comenta en el manual denominado Consola Gestor de Operaciones.pdf (solicitar a soporte.tpv@ceca.es)

74

ANEXO XII: OPERATORIA AMEX (AMERICAN EXPRESS)


Esta opcin no est activada por defecto en ningn TPV. Si un comercio desea operar con este tipo de tarjetas debe realizar los siguientes pasos administrativos antes de realizar los cambios necesarios en la programacin del TPV: 1. Contactar con su entidad para ver si es viable utilizar este tipo de tarjetas 2. Dirigirse a American Express (correo electrnico: wthspain@aexp.com) y firmar un acuerdo de adquirencia con esta Compaa 3. Contactar de nuevo con su entidad para que le habiliten este tipo de operaciones en la administracin del TPV IMPORTANTE Cualquier tema administrativo, consulta de operaciones, reclamaciones, etc, deben ser resueltos entre American Express y el Comercio en funcin del contrato entre ambas partes y las leyes aplicables en cada momento, los abonos son realizados directamente por American Express al comercio sin pasar por la entidad adquirente del TPV Virtual.

El comercio por defecto no puede utilizar la operativa AMEX, debe contar con el visto bueno de su caja. Seguramente suponga un nuevo contrato entre la Caja AMEX y el comercio, debe dirigirse a su oficina y tramitar el alta. Una vez que el comercio ha realizado los trmites administrativos, desde el punto de vista del comercio el cambio ms importante es la modificacin de la pantalla para solicitar los datos de la tarjeta, donde el campo CVV2 pasa de denominarse CSC y es de 4 dgitos de longitud. Hay varias formas de hacerlo, tal vez lo ms sencillo sea aadir un combo donde en funcin del tipo de tarjeta el valor introducido se aade al value del campo CVV2 en el caso de Visa/MasterCard y al value CSC en el caso de AMEX.

75

Para Visa y MasterCard <INPUT TYPE="text" NAME="CVV2" size=3 maxlength=3 > Para American Express <INPUT TYPE="text" NAME="CSC" size=4 maxlength=4 >

Una vez el comercio tenga disponible la operatoria AMEX en la WEB de administracin aparecer el siguiente icono

Pulsando se accede a la pantalla de bsqueda de operaciones, por defecto se muestran las del ultimo mes, pero es posible establecer una bsqueda de operaciones en intervalo temporal.

Los resultados de la bsqueda aparecen en un listado donde es posible consultar ms datos de la operacin y realizar anulaciones. Listado de operaciones

Fecha abono: Amex abona las operaciones 2 das despus de esta fecha

Opcin + Datos Visualiza ms informacin sobre la operacin Opcin Anular Realiza la devolucin de la operacin IMPORTANTE El abono de estas operaciones es independiente del cierre diario del resto de operaciones. En el contrato firmado con AMEX se explicar el proceso, aunque en resumen el abono ser dos das posterior a la fecha indicada en la autorizacin de la operacin. Existen un documento proporcionado por AMEX denominado REQUISITOS PARA UTILIZAR EL NOMBRE Y EL LOGO DE AMERICAN EXPRESS EN SU SITIO WEB que describe la forma de utilizacin de su marca y logo. Este documento debe ser consultado y las pginas a publicar deben de cumplir todos los

76

puntos .

77

PREGUNTAS FRECUENTES.
La pgina que me aparecen para introducir el nmero de tarjeta est en blanco y sin ningn formato Ello Es debido a que no ha personalizado las pginas. Consulte el apartado 7 Personalizacin de pginas de este manual

Al intentar operar me aparece un error 190 Resto de casos


El error 190 es el ms habitual. Denegacin por el emisor de la tarjeta. El TPV pide la autorizacin a la entidad emisora y esta deniega sin especificar una causa exacta de denegacin. Deber el cliente ponerse en contacto con su entidad para saber la causa exacta, es esta la nica forma de conocer la causa exacta de esta denegacin ya que es ajeno al propio funcionamiento del TPV. Si el fallo se produce en el entorno de pruebas probar de nuevo con otra tarjeta de las que aparece en el anexo V Tarjetas de pruebas.

Al intentar operar me aparece un error Faltan campos obligatorios En el 99% de los casos este os debido a que el campo firma no est viajando o lo est haciendo sin contenido. Asegrese de que viaja correctamente. Si la firma viaja pero no es correcta el error es otro. Este error tambin es debido por el campo Pago Soportado no viaja. Este campo actualmente es obligatorio y tiene que venir con valor SSL Por ltimo, en el caso de que los datos de la tarjeta sean solicitados por el comercio el campo Pago_elegido debe viajar con el valor SSL y adems tiene que enviar los datos de la tarjeta nmero, cvc2/cvv2 y fecha de caducidad.

Al intentar operar me aparece una cadena con la firma enviada En realidad no devuelve la cadena de la firma sino que muestra la firma enviada, un guin y la firma esperada. Ello es debido que la firma no se ha calculado de la forma correcta.

Cmo puedo saber desde mi aplicacin si la operacin realizada ha sido correcta? Para ello existe la comunicacin online. Consulte el apartado 8 Comunicacin on-line de este manual. No es recomendable usar la URL_OK para esta tarea ya que entonces se depende de la navegacin del usuario, es decir, de que el usuario pinche el botn ok, cosa que no siempre ocurre a veces cierran pulsando el aspa directamente.

Aparece una compra y a continuacin una anulacin con un intervalo de menos de un minuto: Normalmente este tipo de error es debido a que la comunicacin online que el comercio tiene activada ha fallado y el comercio tiene activada la respuesta requerida. Cuando no se recibe respuesta por parte del comercio al invocar a la url de la comunicacin online se procede a la anulacin de la operacin. Revise que la comunicacin online funciona correctamente. No se produce comunicacion on-line para las operaciones que se hacen desde la consola.

La operacin ha finalizado correctamente pero no se ha realizado la comunicacin on-line Si se realiza una compra en la web del comercio y en el mismo navegador web, compartiendo cookies, se encuentra la Web de administracin abierta o ha estado abierta, no se produce el proceso de comunicacin on-line aunque la operacin se realiza de forma correcta. Debe reiniciar el navegador WEB o abrir sesiones distintas de navegacin.

78

Qu tengo que hacer para pasar de pruebas a produccin? Pasar de pruebas a real es tan sencillo como cambiar el valor de la clave de cifrado y la direccin del actin a donde envas los datos, pasando de clave_encriptacion = 1111111 http://tpv.ceca.es:8000/cgi-bin/tpv a entorno seguro clave_encriptacion = 2222222 https://pgw.ceca.es/cgi-bin/tpv El entorno de pruebas sigue activo aunque el comercio pase a real. En resumen, el paso a real puedes hacerlo cuando quieras, aunque conviene avisar a tu Caja de la entrada en produccin para estar pendiente de posibles incidencias en medios de pago. Existen tarjetas para probar en el entorno de produccin? Existen tarjetas de prueba para el entorno de desarrollo. Para el entorno de produccin son necesarias tarjetas de verdad y que soporten autenticacin si el comercio es seguro.

Cmo puedo acceder a la consola de administracin del comercio?


Consultar el anexo VII Consola de administracin TPV Virtual para Comercios. Por defecto el usuario y la password son el merchantid del comercio. La pantalla de identificacin tiene un tiempo mximo para introducir usuario y password. Si se produce un error al identificarte debe cerrar y volver a abrir el navegador

79

RECOMENDACIONES.
Desde el TPV virtual siempre recomendamos que en los procesos de actualizacin de tablas, bases de datos o actualizacin de registros por parte del comercio con el fin de confirmar inmediatamente la terminacin de una transaccin se realice utilizando la llamada Comunicacin on line que se explica en este mismo manual y nunca a travs de las paginas y el proceso de navegacin del cliente. En este proceso de Comunicacin on line es conveniente o Verificar que el valor de referencia no est vaco. o Recalcular la firma para comprobar el origen y valor de la referencia. o Verificar que nmero de operacin e importe se corresponden con una operacin pendiente de pago. o Verificar direccin IP de procedencia o Y en los casos posibles utilizar una direccin HTTPS. Se recomienda la generacin del nmero de operacin de forma que estos no se repitan. En caso de ser un nmero cclico que su periodo de repeticin sea tan grande que sea imposible completar un ciclo. Administracin de password y acceso al comercio. o Recomendamos enrgicamente que el password de acceso a los entornos de administracin se cambie la primera vez de uso y que en este cambio se indique una password mayor de 8 dgitos, que sea alfanumrica con al menos 3 dgitos numricos y de una complejidad relativa. Tambin puede incorporar distincin entre maysculas y minsculas.

Recomendaciones de la Agencia de Proteccin de Datos. La Agencia Espaola de proteccin de datos, entidad cuya misin es velar por el cumplimiento de la legislacin sobre proteccin de datos y controlar su aplicacin, en especial en lo relativo a los derechos de informacin, acceso, rectificacin, oposicin y cancelacin de datos, edita unas interesantes recomendaciones para el sector de comercio electrnico que es conveniente conocer, estudiar y aplicar. Desde el TPV virtual aconsejamos que el comercio siga todas las recomendaciones que esta entidad dicta. Desde la WEB https://www.agpd.es/ se puede acceder a esta y otras documentaciones. En la seccin Protegiendo sus datos Recomendaciones puede encontrar estas recomendaciones. https://www.agpd.es/index.php?idSeccion=75 La documentacin PDF puede encontrarse en*: https://www.agpd.es/upload/recomendaciones_comercio_electronico_pdf.pdf
(* Esta direccin podra variar, se recomienda el acceso desde la pagina principal)

80

CONTROL DE VERSIONES:
01/12/2009 Versin 4.5 Revisin ntegra del manual 14/01/2010 Versin 4.6 Modificar el apartado de American Express para introducir los pasos administrativos a seguir por el comercio 17/02/2010 Versin 4.7 Modificar el apartado de American Express para hacer referencia al documento REQUISITOS PARA UTILIZAR EL NOMBRE Y EL LOGO DE AMERICAN EXPRESS EN SU SITIO WEB proporcionado por AMEX Inclusin de cifrado por SHA1

81

You might also like