Manual Tpv Virtual v2010

Embed Size (px)

Citation preview

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: [email protected]

1

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

2

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.

3

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

4

5

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

6

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

7

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.

8

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

8

TPV Virtual

5

6

9

Pasarela SET/SEP

9

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:

1

Comercio Cliente

5

4

3

2 7 13 14

6 16

Identificacin Titular

9

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

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

3

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

Pgina de pago 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

Pgina de pago Tarjeta:
Caducidad:
CVV2/CVC2:
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 llamadaConviene 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 [email protected] 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: Comercio Electrnico Tarjeta: Fecha de caducidad: CVV2/CVC2:

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 laintroduccin 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_/, 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_/, 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_/, 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_/, 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.

IdiomasEn 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 plantillasLa 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 [email protected] 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 [email protected], 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_ (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_/.gif a las imgenes de la forma

24

8.- COMUNICACIN ON-LINELa 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: NombreMerchantID AcquirerBIN TerminalID Num_operacion

Longitud9 10 8 50

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

Respuesta correcta a la comunicacin ON-LINE $*$OKY$*$

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 [email protected], 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 procesoSin 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_OKSe 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 conERROR 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.htmlEn 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 REALIZADASTanto 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 [email protected] indicando su cdigo de comercio y forma de envo, as como los datos necesarios especificados anteriormente

29

11.- ANULACIN DE OPERACIONESCon 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: NombreMerchantID AcquirerBIN TerminalID Num_operacion

Longitud9 10 8 50

DescripcinIdentifica 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

1

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-_ok.html anulacion-_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: _ok.html _error_atrs.html si el campo Idioma no est relleno, -_ok.html -_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: Pgina de anular operaciones 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: NombreMerchantID AcquirerBIN TerminalID Num_operacin

Longitud9 9 8 50

DescripcinIdentifica 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 TPVSi 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 [email protected] 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:PropsitoClculo 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.

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

DescripcinCompone 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 hostingASP (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/LINUXSe 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 -L -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 main (argc, argv) int argc; unsigned char **argv; { if ( argc != 10) { printf (" ---ERROR EN LA SINTAXIS ---\n"); printf ("Sintaxis: calculo \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
" response.write programa & "
" 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 ASPEn 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. function lanzar() {document.forms[0].submit();} type=hidden name="Idioma" value=""> type=hidden name="TipoMoneda" value=""> type=hidden name="Exponente" value=""> type=hidden name="Pago_soportado" value="SSL"> type=hidden name="Descripcion" value=""> type=hidden name="Num_operacion" value="">

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.jarLa 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 "); } } }

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 - PHPSe 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: Ejemplo N Operacin:
Importe:
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 perlRecoge 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 ""; print ""; print "Pgina de pago"; print ""; print "function lanzar(){document.forms[0].submit();}"; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print "> > > > >
> > > >

47

> lanzar();

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 PRUEBASCon 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 datosLa 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 COMERCIOSDesde 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.

AccesoLas 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 PasswordPulsando 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 comercioVisualiza 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 compraSe 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 BINSi 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 AnulacionesDesde 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 b