24/09/2007 i
NDICE DE CONTENIDO
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
1. 2. 3. 4.
Introduccin ........................................................................................ 1 Requerimientos Previos a la Integracin.............................................. 2 Integracin del TPV en entorno de Test ............................................... 4 Un ejemplo........................................................................................... 8 Ejemplo con parmetros:.................................................................... 8 Ejemplo HTML................................................................................... 9
4.1 4.2 5. 6. 7.
Aplicacin Canales para el SIS: Mdulo de Administracin................ 11 Actualizaciones o cambios de entorno................................................ 12 Comprobacin del funcionamiento de la pasarela de pago integrada: Test/Real ........................................................................................... 13 Validacin de la realizacin de operaciones.......................................... 13 Comprobacin de la Notificacin Online............................................... 15
7.1 7.2 8.
A.1. ANEXO I: Datos del formulario de pago a travs del TPV Virtual ............. 17 A.2. ANEXO II: Firma del comercio ........................................................... 20 A.3. ANEXO III: Contestacin on-line del TPV Virtual al comercio................ 23 A.4. ANEXO IV Tabla de cdigos de error del TPV Virtual.............................. 29
24/09/2007 ii
CONTROL DOCUMENTAL
PROYECTO: TTULO: CDIGO DE REFERENCIA VERSIN FECHA DE EDICIN: FICHERO: HERRAMIENTAS DE EDICIN: AUTORES: COMPAA:
TPV Virtual SIS Gua Rpida de Comercios - TPV Virtual SIS CE0044 1.0 24/09/2007 Guia_Rapida_Comercios_SIS_v1.0Caixa.doc MICROSOFT WORD 2000 ServiRed ServiRed
24/09/2007 iii
Control de Versiones
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Versin 1.0
Fecha 24/09/2007
Afecta
24/09/2007 iv
1.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Introduccin
Esta Gua pretende dar una visin sencilla de la integracin de un comercio con la pasarela de pago. Para ello, slo se especificar aqu el ejemplo de un comercio con todos los datos por defecto y con las mnimas opciones necesarias. Cualquier opcin que no est por defecto se deber consultar en la Gua de Comercios. TPV Virtual SIS, en la que se especifican todas las posibilidades de la pasarela. El TPV Virtual es de fcil instalacin, pero necesita de una figura informtica que sepa adaptar la tienda al sistema de pago. Es responsabilidad del comercio aportar este conocimiento, bien por experiencia propia, o por la contratacin de un proveedor.
24/09/2007 1
2.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Antes de empezar con el desarrollo de la pasarela de pago ha de tener disponible la informacin siguiente: Las direcciones/urls del Mdulo de Administracin: son las expuestas arriba. El usuario y password Administracin. para el acceso al Mdulo de
La url para la conexin de la pasarela: esta url viene en la documentacin, y es la url de integracin para realizar las operaciones. Esta URL deber ser llamada desde su Tienda Virtual, no se puede navegar por ella directamente. Url Test: https://sis-t.sermepa.es:25443/sis/realizarPago Url Real: https://sis.sermepa.es/sis/realizarPago Los datos de su comercio : nmero de comercio (FUC), nmero de terminal, moneda del terminal, clave secreta de encriptacin, tipo de clave.
Una tarjeta para la realizacin de sus pruebas, recuerde que slo ser vlida para el entorno de test, nunca para pruebas en un entorno real.
24/09/2007 2
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Nmero de Tarjeta: 4548812049400004 Fecha de caducidad: 12/07 CIP: 123456 Cdigo de seguridad: 564
Una vez disponga de toda esta informacin, podr comenzar con el desarrollo de la integracin de su pasarela de pago para la venta de productos desde su tienda virtual.
24/09/2007 3
3.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
La gua Rpida de Comercios (este documento). La gua de Comercios: gua completa extendida para la integracin de su comercio. Conexin_sis (fichero comprimido): contiene ejemplos de conexin en distintos lenguajes de programacin.
Para hacerle ms sencillo el desarrollo, le recomendamos se descargue el fichero comprimido (conexin_sis). Si procede a descomprimirlo podr ver unos ejemplos sencillos en distintos lenguajes de programacin que podr usar para su desarrollo. Tenga en cuenta que son ejemplos que tendr que adaptar a su comercio. Cogeremos el ejemplo de conexin en el lenguaje que ms se asemeje a nuestro desarrollo, y si miramos su cdigo nos encontramos con lo siguiente: Un formulario con los campos mnimos para hacer una compra en el tpv/pasarela de Pago. Estos campos necesarios, irn en un formulario de la web del comercio con los datos que representen la compra. Diferenciaremos 2 diferentes tipos de campos: campos Obligatorios: DS_Merchant_MerchantCode: FUC del comercio (numrico 9 dgitos como mximo, no es necesario rellenar con 0 hasta las 9 posiciones).
24/09/2007 4
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
DS_Merchant_Terminal: terminal del comercio (numrico 3 dgitos, tampoco es necesario rellenar con 0). Ds_Merchant_Order: nmero de pedido (este si no se genera en la web se facilita una generacin automtica dentro del cdigo facilitado). Tiene un formato obligatorio: Los 4 primeros dgitos han de ser numricos. Los 8 restantes deben ser nmeros (0..9) o letras (a..z) o (A..Z).
DS_Merchant_Amount: cantidad a pagar, para euros las dos ltimas posiciones se consideran decimales. Ds_Merchant_ProductDescription: descripcin de la venta. Ds_Merchant_Titular: este campo se mostrar al titular en la pantalla de confirmacin de la compra. Ds_Merchant_Currency: identificador de la moneda a pagar. Cada comercio-terminal tiene asociado una moneda para pagar, en el caso de euros toma valor 978. Ds_Merchant_TransactionType: identificador del tipo de transaccin. En esta gua usaremos la ms habitual que es la transaccin=0 Autorizacin. Ms posibilidades en la Gua de Comercios. Ds_Merchant_MerchantURL: puede ir en blanco. Es la url del comercio dnde quiere recibir la notificacin Online con el resultado de la peticin. Esta URL del comercio, si definida, recibir un post con los datos de la transaccin y su resultado. Si va en blanco no se realiza notificacin http. (Si no se quiere esta notificacin, es recomendable cambiar la configuracin de su comercio en el campo Notificacin on-line). Ds_Merchant_Signature: es un campo que generar el comercio aplicando a una cadena con los datos enviados, un algoritmo de encriptacin (este cdigo est facilitado en los ejemplos de conexin). Esta firma se deber pasar tambin en el formulario, ya que en el servidor del TPV se comprobar que la que se genera es la misma que la que ha mandado el comercio. Con esta firma, se proporciona una seguridad al comercio de que, solo l, pueda realizar peticiones al TPV Virtual. En el Anexo II el documento se explica ms detenidamente su proceso de creacin.
24/09/2007 5
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
La lista de campos opciones se puede ver en el Anexo I, en este punto se muestran dos campos opcionales que tienen un uso muy extendido por los comercios. Ds_Merchant_UrlOK: pgina del comercio a la que se redireccionar al titular si la compra ha ido correctamente, cuando el titular pulse el botn de Continuar del recibo de compra Ds_Merchant_UrlKO: pgina del comercio a la que se redireccionar al titular si la operacin no ha sido aceptada, cuando el titular pulse el botn Continuar del recibo de compra.
Con estos campos, se puede realizar la peticin a la pasarela para la realizacin del pago. Los posibles errores que pueden aparecer son: Pedido Repetido: este error nos indica que se han enviado dos peticiones con el mismo nmero de pedido. El nmero de pedido debe de ser nico para cada transaccin. Error en datos enviados, contacte con su comercio: este error es un mensaje genrico que se muestra cuando el TPV Virtual detecta algn error en los datos recibidos en la peticin. Para facilitar el desarrollo, se ha habilitado en el entorno de test la posibilidad de que el error adems de este mensaje muestre: el cdigo de error y un breve resumen para los tres casos de error ms habituales. SIS0042: error en la generacin de la firma. La firma enviada por el comercio y la generada por el TPV Virtual SIS no coinciden. Revise la generacin de su firma. SIS0009: error en el formato del Ds_MerchantCode. El cdigo del comercio es exclusivamente numrico y no debe incluir el nmero de terminal. SIS0026: error en los datos del comercio terminal. El comercio terminal recibido con los datos del formulario no existe en el entorno. Revise los campos Ds_Merchant_MerchanCode y Ds_Merchant_Terminal.
24/09/2007 6
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
La descripcin del resto de los cdigos de error, se pueden consultar en la tabla de errores que aparecen en el Anexo IV del presente documento.
24/09/2007 7
4.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Un ejemplo
En esta seccin vamos a ver, de manera prctica, un ejemplo de los datos que llegan al TPV Virtual SIS, la cadena de la firma, y la generacin de la misma. Utilizaremos un comercio ficticio, para poder ver todos los pasos: Comercio Terminal Clave Secreta Precio a cobrar Nmero de Pedido : 999008881 :9 : qwertyasdf0123456789 : 8.25 : 070803113316
4.1
24/09/2007 8
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
A esta cadena se le pasa el algoritmo de encriptacin sha1 y se genera el valor que se enva en el campo Ds_Merchant_MerchantSignature. Este valor se compara con el generado por el TPV y, si coinciden, entonces se pasar a realizar el pago. Si ambos valores no coinciden (la firma enviada por el comercio en el campo Ds_Merchant_MerchantSignature, con la generada por el TPV) se generara un error de firma y no se realizara la compra generndose un error SIS0042. Si la firma es correcta y no se detectan errores en los datos enviados al TPV Virtual, se tramitar la peticin de compra y como resultado pueden darse dos situaciones: Que la compra haya sido autorizada por el banco del titular y se muestre el recibo de compra autorizada al cliente. Que la compra haya sido denegada por el banco del titular, no autorizndose la solicitud de pago.
En cualquiera de los dos casos, el comercio tiene configurado por defecto una notificacin (por defecto tiene notificacin http y email del comercio), por lo que el comercio podr disponer de informacin acerca del resultado de la peticin y de sus parmetros. Para conocer las caractersticas de estos parmetros, vase el Anexo III de notificacin.
4.2
Ejemplo HTML
En este punto se incluye el cdigo html de prueba, si usramos el ejemplo de conexin jsp
<html> <head> <script type="text/javascript" language="JavaScript"> function validar() { document.validaForm.submit(); } </script> </head> <body> <form name="validaForm" action="http://MIPATH/conexion_sis.jsp" method="post"> <table> <td> <tr width="80%"/><tr>
24/09/2007 9
<table> <td>
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
<tr>Nombre</tr> <tr> <input type="text" name="Ds_Merchant_MerchantName" value="Comercio pruebas JSP"/> </tr> </td> <td> <tr>Importe</tr> <tr><input type="text" name="Ds_Merchant_Amount" value="1"/> </tr> </td> <td> <tr>Tipo transaccion</tr> <tr><input type="text" name="Ds_Merchant_TransactionType" value="0"/></tr> </td> <td> <tr>URL</tr> <tr> <input type="text" name="Ds_Merchant_MerchantURL" value=" "/> </tr> </td> <td> <tr><img src="graficos/boton.bmp" onclick="javascript:validar();"/> </tr> </td> </table> </tr> </td> </table> </form> </body> </html>
Con este cdigo generaramos un formulario que conectara con el ejemplo facilitado. Deberamos de cambiar (http://MI_PATH/conexion_sis.jsp) por la localizacin del fichero en el servidor, y dentro de los ejemplos sustituir los datos del comercio usado, por los datos de nuestro comercio.
24/09/2007 10
5.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
24/09/2007 11
6.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
El paso a un entorno de Real o la actualizacin de la conexin por algn cambio en la misma es muy sencillo. Una vez realizado el desarrollo, simplemente habr que cambiar unos valores de configuracin, que expondremos a continuacin. Recuerde que para el paso a produccin es necesario que el comercio haga una prueba autorizada en el entorno de test. Los datos a modificar para el paso a Real son: URL de llamada al SIS: Valor de la clave secreta https://sis.sermepa.es/sis/realizarPago
24/09/2007 12
7.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
7.1
24/09/2007 13
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Con esta pgina podremos acceder a las operaciones realizadas por nuestro comercio. Pondremos los datos para hacer la bsqueda y que aparezcan las operaciones que se estn realizando en el entorno. No es necesario rellenar todos los campos para realizar la consulta. Los obligatorios son el nmero de comercio y el nmero de terminal. Al pulsar en el botn aceptar aparecern todas las operaciones que cumplan el criterio.
24/09/2007 14
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Como resultado, obtenemos un listado de operaciones donde se puede consultar los datos concretos de las operaciones efectuadas y su resultado. Ntese que es la misma pantalla desde donde se podrn hacer devoluciones sobre el importe de la compra. Para ver que funciona correctamente, deber aparecer al menos una operacin autorizada.
7.2
24/09/2007 15
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Es importante que introduzca su nmero comercio, terminal y la fecha de inicio de sus operaciones. Pulsando aceptar saldr el listado con el resultado de sus notificaciones:
Si aparece alguna informacin en rojo, es indicativo de que tiene un error. Si no sabe solucionarlo pngase en contacto con nosotros. Pero recuerde que es muy importante que la notificacin funcione, porque es con la que el comercio conoce el estado del pedido. Es la que notifica al comercio (no al cliente) de la operacin/pago realizado por el cliente.
24/09/2007 16
8.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Anexos tcnicos
A.1.
El formulario de compra a travs de TPV virtual deber contener los datos que se muestran en la tabla, dicho formulario se enviar mediante un POST. El comercio facilitar la informacin de la compra a la siguiente direccin del servidor web:
El cual gestionar la autorizacin de las operaciones. Los datos imprescindibles para la gestin de la autorizacin estn marcados como obligatorios en la tabla siguiente. (En los campos Ds_Merchant_Currency; Ds_Merchant_Terminal; Ds_Merchant_ConsumerLanguage la longitud se considera mxima por lo que no es imprescindible el relleno con ceros a la izquierda; la firma ha de ser generada con los campos exactamente como se enven).
DATO Importe Moneda NOMBRE DEL DATO Ds_Merchant_Amount Ds_Merchant_Currency Long. / Tipo 12 / Nm. 4 / Nm. COMENTARIOS Obligatorio. Para Euros las dos ltimas posiciones se consideran decimales. Obligatorio. Valor 978 para Euros, 840 para Dlares y 826 para libras esterlinas. 4 se considera su longitud mxima Obligatorio. Los 4 primeros dgitos deben ser numricos, para los dgitos restantes solo utilizar los siguientes caracteres ASCII Del 30 = 0 al 39 = 9 Del 65 = A al 90 = Z Del 97 = a al 122 = z Descripcin del producto Nombre y apellidos del titular Identificacin de comercio: Ds_Merchant_ProductDescription 125 / A-N Obligatorio. 125 se considera su longitud mxima. Este campo se mostrar al titular en la pantalla de confirmacin de la compra. Obligatorio. Su longitud mxima es de 60 caracteres. Este campo se mostrar al titular en la pantalla de confirmacin de la compra. Obligatorio. Cdigo FUC asignado al comercio.
Nmero Pedido
de
Ds_Merchant_Order
12 / A-N.
Ds_Merchant_Titular
60 / A-N
Ds_Merchant_MerchantCode
9 / N.
24/09/2007 17
cdigo FUC URL del comercio para la notificacin on-line URLOK Ds_Merchant_MerchantURL 250 / A-N. Obligatorio si el comercio tiene notificacin online. URL del comercio que recibir un post con los datos de la transaccin.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Ds_Merchant_UrlOK
250 / A-N.
Opcional: si se enva ser utilizado como URLOK ignorando el configurado en el mdulo de administracin en caso de tenerlo. Opcional: si se enva ser utilizado como URLKO ignorando el configurado en el mdulo de administracin en caso de tenerlo Ser el nombre del comercio que aparecer en el ticket del cliente (opcional).
URL KO
Ds_Merchant_UrlKO
250 / A-N.
Ds_Merchant_MerchantName
25 / A-N.
Ds_Merchant_ConsumerLanguage
3 / Nm.
El Valor 0, indicar que no se ha determinado el idioma del cliente (opcional). Otros valores posibles son: Castellano-001, Ingls-002, Cataln-003, Francs-004, Alemn-005, Holands-006, Italiano-007, Sueco-008, Portugus-009, Valenciano-010, Polaco-011, Gallego-012 y Euskera-013. 3 se considera su longitud mxima Obligatorio. Ver operativa en ANEXO II.
Obligatorio. Nmero de terminal que le asignar su banco. Por defecto valor 001. 3 se considera su longitud mxima Opcional. Representa la suma total importes de las cuotas. Las dos posiciones se consideran decimales. de los ltimas
Importe total
Ds_Merchant_SumTotal
12 / Nm.
Tipo de transaccin
Ds_Merchant_TransactionType
1 / Num
Campo opcional para el comercio para indicar qu tipo de transaccin es. Los posibles valores son: 0 Autorizacin 1 Preautorizacin 2 Confirmacin 3 Devolucin Automtica 4 Pago Referencia 5 Transaccin Recurrente 6 Transaccin Sucesiva 7 Autenticacin 8 Confirmacin de Autenticacin 9 Anulacin de Preautorizacin O Autorizacin en diferido P - Confirmacin de autorizacin en diferido Q - Anulacin de autorizacin en diferido R Autorizacin recurrente inicial diferido S Autorizacin recurrente sucesiva diferido
Ds_Merchant_MerchantData
1024 /A-N
Campo opcional para el comercio para ser incluidos en los datos enviados por la respuesta on-line al comercio si se ha elegido esta opcin.
24/09/2007 18
Frecuencia
Ds_Merchant_DateFrecuency
5/ N
Frecuencia en das para las transacciones recurrentes y recurrentes diferidas (obligatorio para recurrentes) Formato yyyy-MM-dd fecha lmite para las transacciones Recurrentes (Obligatorio para recurrentes y recurrentes diferidas ) Opcional. Representa el cdigo de autorizacin necesario para identificar una transaccin recurrente sucesiva en las devoluciones de operaciones recurrentes sucesivas. Obligatorio en devoluciones de operaciones recurrentes. Opcional. Formato yyyy-MM-dd. Representa la fecha de la operacin recurrente sucesiva, necesaria para identificar la transaccin en las devoluciones de operaciones recurrentes sucesivas. Obligatorio para las devoluciones de operaciones recurrentes y de operaciones recurrentes diferidas.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Fecha lmite
Ds_Merchant_ChargeExpiryDate
10/ A-N
Cdigo de Autorizacin
Ds_Merchant_AuthorisationCode
6 / Num
Ds_Merchant_TransactionDate
10 / A-N
24/09/2007 19
A.2.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Se dotar al comercio de una clave, que se utilizar para firmar los datos aportados por el mismo, pudiendo verificarse no solo la identificacin del comercio, sino que los datos no han sido alterados en ningn momento. Se utilizar como algoritmo de securizacin el Hash SHA-1, que garantiza los requisitos mnimos de seguridad en cuanto a la autenticacin del origen. La clave se proporcionar para ser incluida en la web del comercio. Este mismo algoritmo se utilizar para asegurar al comercio la autenticidad de los datos de la respuesta, en caso de que se proporcione URL de notificacin por parte del comercio. La firma electrnica del comercio se deber calcular de la forma siguiente si est configurado con el tipo de clave SHA1 completo en el TPV Virtual SIS (a travs de su entidad financiera podr confirmar el tipo de clave definido en su comercio):
Digest=SHA-1(Ds_Merchant_Amount + Ds_Merchant_Order +Ds_Merchant_MerchantCode + DS_Merchant_Currency + CLAVE SECRETA)
Para aquellos comercios con tipo de clave SHA1 completo ampliado, (necesario para poder realizar devoluciones o anulaciones de preautorizaciones), o que deseen incrementar el nivel de seguridad, se deben aadir los campos tipo de operacin (Ds_Merchant_TransactionType) y URL de notificacin on-line (Ds_Merchant_MerchantURL). Si el comercio no tiene URL de notificacin on-line, se deja este campo en blanco. El tipo de clave SHA1 completo ampliado no est disponible en versiones de php inferiores a la versin 4.3.0. Hay dos posibles casos: Transaccin normal:
24/09/2007 20
NOTA: los campos que entran a formar parte de la firma descrita anteriormente solamente son vlidos si la operacin se enva por la entrada realizarPago, no por la entrada XML. Para consultar los datos a aadir para dicha entrada, consulte el Anexo VII. Ejemplo (de firma convencional):
IMPORTE=1235 (va multiplicado por 100 para ser igual que el Ds_Merchant_Amount). NMERO DE PEDIDO=29292929 CDIGO COMERCIO=201920191 MONEDA=978 CLAVE SECRETA=h2u282kMks01923kmqpo
Existen ejemplos de conexin con el TPV en distintos lenguajes de programacin. Donde, importe corresponde a Ds_Merchant_Amount del formulario web, pedido a Ds_Merchant_Order, comercio a Ds_Merchant_MerchantCode, moneda a Ds_Merchant_Currency, Bdclave a la clave secreta del comercio, que NUNCA DEBE SER TRANSMITIDA. Las variables en C (importe, moneda,) son las cadenas mientras que en el formulario web figuran como campos ocultos.
24/09/2007 21
Una vez que se ha generado la firma no se deben modificar los datos de ningn modo ya que el TPV los utiliza para validar la firma y si lo que recibimos no es exactamente lo que se utiliz para generar la firma no pasa la validacin. El Importe vendr multiplicado por 100, sin decimales y sin ceros a la izquierda. El nmero de pedido ser diferente cada transaccin y las 4 primeras posiciones han de ser numricas. Si aparece en pantalla un mensaje de Datos Errneos:
Comprobar que el comercio (FUC/TERMINAL) est dado de alta en el mdulo de administracin del entorno al que se est enviando la transaccin. Verificar que la clave que est utilizando para hacer la firma es la que est asignada al comercio en el mdulo de administracin del TPV Virtual.
Su entidad adquirente podr suministrarle la informacin de configuracin del comercio (cdigo de comercio, terminal, clave, tipo de clave etc.) Referencias SHA-1: Estndar de Hash Seguro, FIPS PUB 180-1.
http://www.itl.nist.gov/fipspubs/fip180-1.htm http://csrc.nist.gov/publications/fips/fips180-1/fips180-1.pdf
Qu es SHA y SHA-1?
http://www.rsasecurity.com/rsalabs/faq/3-6-5.html
24/09/2007 22
A.3.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Esta opcin esta disponible para aquellos comercios que necesitan una verificacin inmediata de la transaccin para su gestin. Solo se podr realizar cuando la sincronizacin tome valor: Sncrona o Asncrona. Actualmente, existen 8 formas de realizar la contestacin on-line al comercio configurables desde el mdulo de administracin por su entidad financiera: 1. Email comercio. 2. Formulario http. Si falla email comercio: el comercio recibe un POST mediante http al Ds_Merchant_MerchantURL. Si no llega el POST se enva un email al comercio. 3. Formulario http+email comercio: el comercio recibe un POST mediante http al Ds_Merchant_MerchantURL y un email al correo indicado en el mdulo de administracin. 4. Formulario http: el comercio recibe un POST mediante http al Ds_Merchant_MerchantURL. 5. Email comercio. Si falla email entidad: se enva un email al comercio; si ste no llega se enva un email a la entidad adquirente. 6. Formulario http. Si falla email comercio. Si falla email entidad: el comercio recibe un POST mediante http al Ds_Merchant_MerchantURL. Si no llega el POST se enva un email al comercio; y si ste no llega se enva un email a la entidad adquirente. 7. Formulario http+email comercio. Si falla email entidad: el comercio recibe un POST mediante http al Ds_Merchant_MerchantURL y un email al correo indicado en el mdulo de administracin; si el email o el HTTP no llega al comercio se enva un email a la entidad adquirente. 8. Sin notificacin on-line: el comercio no recibe ningn tipo de respuesta on-line. 9. Formulario http+ email comercio operaciones autorizadas. Si falla email entidad: el comercio recibe un POST mediante http al Ds_Merchant_MerchantURL, y un email al correo indicado en el mdulo de administracin en el caso de operaciones autorizadas. Si el email o el http no llegan al comercio se enva un email a la entidad adquirente. 1.- Respuesta http:
24/09/2007 23
La respuesta http es un proceso independiente de la conexin con el navegador del cliente y no tiene ningn reflejo en pantalla del mismo. Evidentemente, en el lado del comercio, deber haber un proceso que recoja esta respuesta http. El protocolo utilizado en las respuestas puede ser http o https, el formato de este mensaje es un formulario HTML, enviado con el mtodo POST, y cuyos campos son los siguientes (en los campos Ds_Currency; Ds_Terminal; Ds_ConsumerLanguage la longitud se considera mxima por lo que no es imprescindible el relleno con ceros a la izquierda; la firma ser generada con los campos exactamente como se enven):
DATO Fecha Hora Importe Moneda Nmero de pedido Identificacin de comercio: cdigo FUC Terminal Firma para el comercio Cdigo de respuesta Datos del comercio NOMBRE DEL DATO Ds_Date Ds_Hour Ds_Amount Ds_Currency Ds_Order Ds_MerchantCode Ds_Terminal Ds_Signature Ds_Response Ds_MerchantData LONG/TIPO dd/mm/yyyy HH:mm 12 / Nm. 4 / Nm. 12 / A-N. 9 / N. 3 / Nm. 40 / A-N 4 / Nm. 1024 / A-N COMENTARIOS Fecha de la transaccin Hora de la transaccin Mismo valor que en la peticin. Mismo valor que en la peticin. 4 se considera su longitud mxima. Mismo valor que en la peticin. Mismo valor que en la peticin. Nmero de terminal que le asignar su banco. 3 se considera su longitud mxima. Ver a pie de pgina las instrucciones para su clculo. Ver tabla siguiente Informacin opcional enviada por comercio en el formulario de pago. 0 Si el pago NO es seguro 1 Si el pago es seguro Tipo de operacin que se envi en el formulario de pago Pas de emisin de la tarjeta con la que se ha intentado realizar el pago. En el siguiente enlace es posible consultar los cdigos de pas y su correspondencia: http://unstats.un.org/unsd/methods/m49/ m49alpha.htm Cdigo de autorizacin Ds_AuthorisationCode 6/ A-N Cdigo alfanumrico de autorizacin asignado a la aprobacin de la transaccin por la institucin autorizadora. el
Pago Seguro
Ds_SecurePayment
1 / Nm.
Tipo de operacin
Ds_TransactionType
1 / A-N
Ds_Card_Country
3/Nm
24/09/2007 24
Idioma del titular La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Ds_ConsumerLanguage
3 / Nm
El valor 0, indicar que no se ha determinado el idioma del cliente. (opcional). 3 se considera su longitud mxima. Valores posibles:
Tipo de Tarjeta
Ds_Card_Type
1 / A-N
C Crdito D - Dbito
Al igual que el ANEXO II se explica el procedimiento de clculo de la firma que protege los datos de la transaccin que el comercio ha generado, en caso de que ste desee recibir una respuesta on-line a las peticiones, el sistema le proporcionar una firma que garantiza a su vez la integridad de las respuestas. El algoritmo ser el mismo y la frmula a tener en cuenta para el clculo ser:
Digest=SHA-1(Ds_ Amount + Ds_ Order + Ds_MerchantCode + Ds_ Currency + Ds _Response + CLAVE SECRETA)
La conexin utilizada para comunicar la confirmacin on-line entre el TPV Virtual y el comercio puede ser SSL. Opcionalmente el comercio puede activar un filtro para limitar la recepcin de la confirmacin online solo desde el TPV Virtual para evitar comunicaciones fraudulentas. El TPV Virtual por defecto puede comunicar a los puertos 80, 443, 8080 y 8081 del comercio. Otros puertos debern ser consultados. Una vez que el comercio recibe el formulario, el cdigo de respuesta (ds_response) tendr los siguientes valores posibles:
SIGNIFICADO Transaccin autorizada para pagos y preautorizaciones Transaccin autorizada para devoluciones y confirmaciones Tarjeta caducada Tarjeta en excepcin transitoria o bajo sospecha de fraude Operacin no permitida para esa tarjeta o terminal Disponible insuficiente Tarjeta no registrada
24/09/2007 25
129 180
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Cdigo de seguridad (CVV2/CVC2) incorrecto Tarjeta ajena al servicio Error en la autenticacin del titular Denegacin sin especificar Motivo Fecha de caducidad errnea Tarjeta en excepcin transitoria o bajo sospecha de fraude con retirada de tarjeta Emisor no disponible Transaccin denegada
Nota: solo en el caso de las preautenticaciones (preautorizaciones separadas), se devuelve un 0 si est autorizada y el titular se autentica y, un 1 si est autorizada y el titular no se autentica. El TPV Virtual efecta el envo de las notificaciones on-line para las operaciones de compra autorizadas y denegadas por la entidad emisora de la tarjeta, as como en aquellas situaciones en las que el proceso de compra ha sido interrumpido al haberse producido uno de los siguientes errores: SIS0051 -> Pedido repetido. Se enva notificacin con cdigo 913. SIS0078 -> Mtodo de pago no disponible para su tarjeta. Se enva notificacin con cdigo 118 SIS0093 -> Tarjeta no vlida. Se enva notificacin con cdigo 180. SIS0094 -> Error en la llamada al MPI sin controlar. Se enva notificacin con cdigo 184 SIS0218 -> El comercio no permite preautorizacin por la entrada XML. SIS0256 -> El comercio no puede realizar preautorizaciones. SIS0257 -> Esta tarjeta no permite operativa de preautorizaciones. SIS0261 -> Operacin detenida por superar el control de restricciones en la entrada al SIS. SIS0270 -> El comercio no puede realizar autorizaciones en diferido. SIS0274 -> Tipo de operacin desconocida o no permitida por esta entrada al SIS.
24/09/2007 26
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
El resto de errores del TPV Virtual SIS mencionados en el ANEXO V de la presente gua, no se notifican. Asimismo, tampoco se enva notificacin en aquellos casos en los que la operacin no termine, por ejemplo por que el usuario no indica la tarjeta o cierra el navegador antes de que finalice la autenticacin. 2.- Mtodo e-mail: El formato de contestacin es exactamente igual que en el mtodo anterior.
TPV Virtual <TPVVirtual@sermepa.es> 20/08/2007 12:247 Para: cc: Asunto: Confirmacin On Line del TPV Virtual
Fecha: 20/08/2007 Hora: 12:47; Ds_SecurePayment: 1; Ds_Card_Type: C; Ds_Card_Country: 724; Ds_Amount: 45; Ds_Currency: 978; Ds_Order: 070820124150; Ds_MerchantCode: 999008881; Ds_Terminal: 001; Ds_Signature: E2E5A14D690B869183CF3BA36E2B6005BB21F9C5; Ds_Response: 0000; Ds_MerchantData: Alfombrilla para raton; Server URL: sis-i.sermepa.es:25443; Ds_TransactionType: 0; Ds_ConsumerLanguage=1; Ds_AuthorisationCode: 004022 Tambin se podr solicitar que el TPV al finalizar la transaccin y pulsar el titular en el botn continuar del recibo de compra, vaya a una ruta especificada por el comercio. Ofrecemos la posibilidad de ir a 2 rutas distintas en funcin de s la transaccin es autorizada o no. Estas son las rutas UrlOK y UrlCancel.
24/09/2007 27
Las rutas UrlOK y UrlCancel pueden recibir los mismos datos que se envan mediante la respuesta http (va GET en este caso).
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
Si tienen inters en utilizar esta posibilidad pueden darlas de alta en la configuracin de su comercio, o bien enviarlas en el formulario de pago tal y como indica el Anexo I.
24/09/2007 28
A.4.
La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros
ERROR SIS0007 SIS0008 SIS0009 SIS0010 SIS0011 SIS0014 SIS0015 SIS0016 SIS0017 SIS0018 SIS0019 SIS0020 SIS0021 SIS0022 SIS0023 SIS0024 SIS0025 SIS0026 SIS0027 SIS0028 SIS0030 SIS0031 SIS0033 SIS0034 SIS0037 SIS0038 SIS0040 SIS0041 SIS0042 SIS0043 SIS0046 SIS0051 SIS0054 SIS0055 SIS0056 SIS0057 SIS0058 SIS0059 SIS0060 SIS0061 SIS0062 SIS0063 SIS0064
DESCRIPCIN Error al desmontar el XML de entrada Error falta Ds_Merchant_MerchantCode Error de formato en Ds_Merchant_MerchantCode Error falta Ds_Merchant_Terminal Error de formato en Ds_Merchant_Terminal Error de formato en Ds_Merchant_Order Error falta Ds_Merchant_Currency Error de formato en Ds_Merchant_Currency Error no se admiten operaciones en pesetas Error falta Ds_Merchant_Amount Error de formato en Ds_Merchant_Amount Error falta Ds_Merchant_MerchantSignature Error la Ds_Merchant_MerchantSignature viene vaca Error de formato en Ds_Merchant_TransactionType Error Ds_Merchant_TransactionType desconocido Error Ds_Merchant_ConsumerLanguage tiene mas de 3 posiciones Error de formato en Ds_Merchant_ConsumerLanguage Error No existe el comercio / terminal enviado Error Moneda enviada por el comercio es diferente a la que tiene asignada para ese terminal Error Comercio / terminal est dado de baja Error en un pago con tarjeta ha llegado un tipo de operacin que no es ni pago ni preautorizacin Mtodo de pago no definido Error en un pago con mvil ha llegado un tipo de operacin que no es ni pago ni preautorizacin Error de acceso a Base de Datos El nmero de telfono no es vlido Error en java Error el comercio / terminal no tiene ningn mtodo de pago asignado Error en el clculo de la HASH de datos del comercio. La firma enviada no es correcta Error al realizar la notificacin online El bin de la tarjeta no est dado de alta Error nmero de pedido repetido Error no existe operacin sobre la que realizar la devolucin Error existe ms de un pago con el mismo nmero de pedido La operacin sobre la que se desea devolver no est autorizada El importe a devolver supera el permitido Inconsistencia de datos, en la validacin de una confirmacin Error no existe operacin sobre la que realizar la confirmacin Ya existe una confirmacin asociada a la preautorizacin La preautorizacin sobre la que se desea confirmar no est autorizada El importe a confirmar supera el permitido Error. Nmero de tarjeta no disponible Error. El nmero de tarjeta no puede tener ms de 19 posiciones
MENSAJE (ANEXO VI) MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0000 MSG0000 MSG0000 MSG0000 MSG0000 MSG0000 MSG0008 MSG0008 MSG0008 MSG0008 MSG0002 MSG0001 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008
24/09/2007 29
ERROR La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros SIS0065 SIS0066 SIS0067 SIS0068 SIS0069 SIS0070 SIS0071 SIS0072 SIS0074 SIS0075 SIS0076 SIS0077 SIS0078 SIS0081 SIS0084 SIS0085 SIS0086 SIS0089 SIS0092 SIS0093 SIS0094 SIS0097 SIS0098 SIS0112 SIS0113 SIS0114 SIS0115 SIS0116 SIS0117 SIS0118 SIS0119 SIS0120 SIS0121 SIS0122 SIS0123 SIS0124 SIS0132 SIS0133 SIS0139 SIS0142 SIS0197 SIS0198 SIS0199 SIS0200 SIS0214
DESCRIPCIN Error. El nmero de tarjeta no es numrico Error. Mes de caducidad no disponible Error. El mes de la caducidad no es numrico Error. El mes de la caducidad no es vlido Error. Ao de caducidad no disponible Error. El Ao de la caducidad no es numrico Tarjeta caducada Operacin no anulable Error falta Ds_Merchant_Order Error el Ds_Merchant_Order tiene menos de 4 posiciones o ms de 12 Error el Ds_Merchant_Order no tiene las cuatro primeras posiciones numricas Error el Ds_Merchant_Order no tiene las cuatro primeras posiciones numricas. No se utiliza Mtodo de pago no disponible La sesin es nueva, se han perdido los datos almacenados El valor de Ds_Merchant_Conciliation es nulo El valor de Ds_Merchant_Conciliation no es numrico El valor de Ds_Merchant_Conciliation no ocupa 6 posiciones El valor de Ds_Merchant_ExpiryDate no ocupa 4 posiciones El valor de Ds_Merchant_ExpiryDate es nulo Tarjeta no encontrada en la tabla de rangos La tarjeta no fue autenticada como 3D Secure Valor del campo Ds_Merchant_CComercio no vlido Valor del campo Ds_Merchant_CVentana no vlido Error El tipo de transaccin especificado en Ds_Merchant_Transaction_Type no esta permitido Excepcin producida en el servlet de operaciones Error, se ha llamado con un GET en lugar de un POST Error no existe operacin sobre la que realizar el pago de la cuota La operacin sobre la que se desea pagar una cuota no es una operacin vlida La operacin sobre la que se desea pagar una cuota no est autorizada Se ha excedido el importe total de las cuotas Valor del campo Ds_Merchant_DateFrecuency no vlido Valor del campo Ds_Merchant_ChargeExpiryDate no vlido Valor del campo Ds_Merchant_SumTotal no vlido Valor del campo Ds_Merchant_DateFrecuency o no Ds_Merchant_SumTotal tiene formato incorrecto Se ha excedido la fecha tope para realizar transacciones No ha transcurrido la frecuencia mnima en un pago recurrente sucesivo La fecha de Confirmacin de Autorizacin no puede superar en mas de 7 das a la de Preautorizacin. La fecha de Confirmacin de Autenticacin no puede superar en mas de 45 das a la de Autenticacin Previa. Error el pago recurrente inicial est duplicado Tiempo excedido para el pago Error al obtener los datos de cesta de la compra en operacin tipo pasarela Error el importe supera el lmite permitido para el comercio Error el nmero de operaciones supera el lmite permitido para el comercio Error el importe acumulado supera el lmite permitido para el comercio El comercio no admite devoluciones
MENSAJE (ANEXO VI) MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0000 MSG0000 MSG0008 MSG0008 MSG0008 MSG0000 MSG0005 MSG0007 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0006 MSG0004 MSG0008 MSG0008 MSG0008 MSG0008 MSG0000 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0000 MSG0000 MSG0000 MSG0008 MSG0008 MSG0008
24/09/2007 30
ERROR La propiedad intelectual de este documento pertenece a ServiRed. Queda prohibida su reproduccin, venta, o cesin a terceros SIS0216 SIS0217 SIS0218 SIS0219 SIS0220 SIS0221 SIS0222 SIS0223 SIS0224 SIS0225 SIS0226 SIS0227 SIS0229 SIS0252 SIS0253 SIS0254 SIS0255 SIS0256 SIS0257 SIS0258 SIS0261 SIS0270 SIS0274
DESCRIPCIN Error Ds_Merchant_CVV2 tiene mas de 3 posiciones Error de formato en Ds_Merchant_CVV2 El comercio no permite operaciones seguras por la entrada /operaciones Error el nmero de operaciones de la tarjeta supera el lmite permitido para el comercio Error el importe acumulado de la tarjeta supera el lmite permitido para el comercio Error el CVV2 es obligatorio Ya existe una anulacin asociada a la preautorizacin La preautorizacin que se desea anular no est autorizada El comercio no permite anulaciones por no tener firma ampliada Error no existe operacin sobre la que realizar la anulacin Inconsistencia de datos, en la validacin de una anulacin Valor del campo Ds_Merchant_TransactionDate no vlido No existe el cdigo de pago aplazado solicitado El comercio no permite el envo de tarjeta La tarjeta no cumple el check-digit El nmero de operaciones de la IP supera el lmite permitido por el comercio El importe acumulado por la IP supera el lmite permitido por el comercio El comercio no puede realizar preautorizaciones Esta tarjeta no permite operativa de preautorizaciones Inconsistencia de datos, en la validacin de una confirmacin Operacin detenida por superar el control de restricciones en la entrada al SIS El comercio no puede realizar autorizaciones en diferido Tipo de operacin desconocida o no permitida por esta entrada al SIS
MENSAJE (ANEXO VI) MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0006 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008 MSG0008
24/09/2007 31