Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong><br />
<strong>Tpv</strong> <strong>Virtual</strong><br />
Versión 1.0<br />
Diciembre 2004
Saba<strong>de</strong>llAtlántico<br />
ÍNDICE DE CONTENIDO<br />
1. Introducción....................................................................................2<br />
2. Funcionamiento <strong>de</strong>l TPV virtual () y garantías <strong>de</strong> seguridad................3<br />
3. Tipos <strong>de</strong> peticiones <strong>de</strong> autorización...................................................6<br />
4. Perfiles <strong>de</strong> funcionamiento <strong>de</strong>l comercio............................................9<br />
5. Instrucciones <strong>de</strong> conexión al TPV <strong>Virtual</strong>.........................................12<br />
6. Asociación <strong>de</strong> transacciones bajo el mismo código <strong>de</strong> comercio.........13<br />
7. Plan <strong>de</strong> pruebas.............................................................................14<br />
8. Operación <strong>de</strong> compra: punto <strong>de</strong> vista <strong>de</strong>l titular ...............................15<br />
9. I<strong>de</strong>ntificación <strong>de</strong> anomalías durante el proceso <strong>de</strong> compra ...............16<br />
10. Módulo <strong>de</strong> administración <strong>de</strong>l TPV <strong>Virtual</strong> .......................................17<br />
10.1 Confirmación <strong>de</strong> una venta............................................................. 18<br />
10.2 Consultas y <strong>de</strong>voluciones <strong>de</strong> operaciones .......................................... 19<br />
10.3 Consulta <strong>de</strong> totales....................................................................... 21<br />
10.4 Cambio <strong>de</strong> contraseña................................................................... 22<br />
11. Consultas operativas y <strong>de</strong> funcionamiento.......................................24<br />
12. Envío <strong>de</strong> transacciones al TPV <strong>Virtual</strong> mediante XML ........................25<br />
13. Consultas SOAP <strong>de</strong> transacciones....................................................26<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> INDICE
Saba<strong>de</strong>llAtlántico<br />
14. Anexos técnicos.............................................................................28<br />
Anexo I: Datos <strong>de</strong>l formulario <strong>de</strong> pago a través <strong>de</strong>l TPV <strong>Virtual</strong> .................28<br />
Anexo II: Firma <strong>de</strong>l comercio ..................................................................….30<br />
Anexo III: Contestación "on-line" <strong>de</strong>l TPV <strong>Virtual</strong> al comercio .........................32<br />
Anexo IV: Formato <strong>de</strong>l archivo <strong>de</strong> transacciones ...........................................37<br />
Anexo V: Tabla <strong>de</strong> códigos <strong>de</strong> error <strong>de</strong>l TPV <strong>Virtual</strong> .......................................39<br />
Anexo VI: Tabla <strong>de</strong> mensajes <strong>de</strong> error <strong>de</strong>l TPV <strong>Virtual</strong> ...................................41<br />
Anexo VII: Mensajes XML...........................................................................42<br />
Anexo VIII: Consultas SOAP.......................................................................47<br />
Anexo IX: Sincronización SOAP...................................................................52<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> INDICE
Saba<strong>de</strong>llAtlántico<br />
1. Introducción<br />
La guía <strong>de</strong> comercios recoge los aspectos a tener en cuenta por los<br />
comercios que <strong>de</strong>seen utilizar el TPV <strong>Virtual</strong> en la instrumentación <strong>de</strong><br />
sus compras por Internet.<br />
Este paquete resume el conjunto <strong>de</strong> funcionalida<strong>de</strong>s que el sistema<br />
ofrece a los comercios: perfiles operativos <strong>de</strong> funcionamiento, tipos <strong>de</strong><br />
peticiones <strong>de</strong> autorización, nivel <strong>de</strong> seguridad <strong>de</strong> los pagos,...<br />
Asimismo, expone las indicaciones técnicas necesarias para realizar la<br />
conexión <strong>de</strong>l servidor <strong>de</strong>l comercio con el TPV <strong>Virtual</strong>, junto con otros<br />
servicios añadidos <strong>de</strong> consulta y envío <strong>de</strong> transacciones vía XML.<br />
Por último, se <strong>de</strong>tallan las opciones disponibles en la aplicación <strong>de</strong><br />
administración <strong>de</strong>l tpv virtual, <strong>de</strong> gran utilidad cara a la gestión <strong>de</strong> los<br />
pedidos <strong>de</strong>l comercio.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 2 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
2. Funcionamiento <strong>de</strong>l TPV virtual y garantías <strong>de</strong><br />
seguridad<br />
El TPV virtual es un dispositivo preparado para trabajar en modo<br />
totalmente seguro <strong>de</strong>ntro <strong>de</strong> la operativa <strong>de</strong> ventas a través <strong>de</strong> Internet,<br />
es <strong>de</strong>cir:<br />
A.- Intentará contactar con el banco emisor <strong>de</strong> la tarjeta para solicitar la<br />
autenticación <strong>de</strong>l titular (verificación <strong>de</strong> su i<strong>de</strong>ntidad) antes <strong>de</strong> solicitar<br />
la correspondiente petición <strong>de</strong> autorización. De esta forma se garantiza<br />
que solo el titular genuino, dueño <strong>de</strong> la tarjeta, podrá operar con ella.<br />
B.- Implementa SSL en todas las comunicaciones que impi<strong>de</strong>n la<br />
interceptación <strong>de</strong> la información por terceros. Por tanto, la<br />
confi<strong>de</strong>ncialidad está asegurada en todas las comunicaciones que se<br />
establezcan durante la transacción.<br />
C.- También habilita mecanismos para probar la autenticidad <strong>de</strong>l<br />
origen <strong>de</strong> las transacciones y que impi<strong>de</strong>n, asimismo, la<br />
manipulación <strong>de</strong> datos por terceros. De esta forma se asegura la<br />
integridad <strong>de</strong> los datos <strong>de</strong> la transacción.<br />
D.- Los datos <strong>de</strong> las tarjetas no son conocidas por el comercio, con<br />
lo que se evita que esta información pueda ser utilizada posteriormente<br />
por terceros <strong>de</strong> forma fraudulenta. (La mejor manera <strong>de</strong> salvaguardar<br />
en el comercio una información sensible <strong>de</strong> clientes es NO tenerla). Esta<br />
información es almacenada convenientemente por el TPV <strong>Virtual</strong> que a<br />
su vez la proporcionará al sistema <strong>de</strong> pagos cuando sea necesario (por<br />
ejemplo en una <strong>de</strong>volución).<br />
Por tanto, todas las transacciones que se realicen a través <strong>de</strong>l TPV<br />
<strong>Virtual</strong> contarán con todas las garantías <strong>de</strong> seguridad, confi<strong>de</strong>ncialidad e<br />
integridad para los agentes participantes: titulares <strong>de</strong> tarjetas y sus<br />
entida<strong>de</strong>s emisoras, y comercios y sus entida<strong>de</strong>s adquirentes.<br />
El TPV <strong>Virtual</strong> se irá actualizando con las últimas versiones <strong>de</strong> pago<br />
seguro que vayan dictando los organismos internacionales, si bien se<br />
asegura que el comercio NO tendrá que realizar adaptaciones, ya<br />
que éstas se realizarán siempre <strong>de</strong> forma centralizada.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 3 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Titular <strong>de</strong><br />
Tarjeta<br />
(10)<br />
(9)<br />
Banco<br />
Emisor<br />
En todo momento, el comercio recibe puntual información <strong>de</strong>l estado <strong>de</strong><br />
cada transacción, permaneciendo a su disposición un histórico <strong>de</strong> 120<br />
días para las consultas <strong>de</strong> <strong>de</strong>talle, totales, gestión <strong>de</strong> <strong>de</strong>voluciones, etc.<br />
que el comercio pudiera necesitar.<br />
De modo gráfico, los pasos típicos que sigue una transacción segura son<br />
los siguientes:<br />
(8)<br />
(11)<br />
(1)<br />
(5)<br />
(6)<br />
(16)<br />
Registro<br />
bines<br />
(13)<br />
(14)<br />
(12)<br />
1.- Configura la cesta <strong>de</strong> la compra.<br />
2.-Enlace https a la pasarela <strong>de</strong> pagos.<br />
Servidor<br />
Integrado<br />
3.- Ejecuta soft <strong>de</strong> la tienda para leer la cesta <strong>de</strong> la compra.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 4 <strong>de</strong> 59<br />
(7)<br />
(2)<br />
(3)<br />
(4)<br />
(15)<br />
Flujo que ve el comprador<br />
Flujo <strong>de</strong> mensajes <strong>de</strong> control<br />
Comercio
Saba<strong>de</strong>llAtlántico<br />
4.-El comercio lanza la transacción con la información <strong>de</strong> la cesta <strong>de</strong> la<br />
compra.<br />
5.-El sistema presenta la pantalla <strong>de</strong> pago con la información <strong>de</strong> la cesta<br />
<strong>de</strong> la compra al titular <strong>de</strong> la tarjeta.<br />
6.-El titular registra el número <strong>de</strong> la tarjeta , la caducidad y acepta la<br />
compra.<br />
7.-Sermepa inicia el proceso <strong>de</strong> autenticación .<br />
8.- Si existe BIN <strong>de</strong> autenticación se enlaza con la url <strong>de</strong> centro<br />
autenticador.<br />
9.- El banco emisor solicita autenticación al titular <strong>de</strong> la tarjeta.<br />
10.- El cliente se autentica en el banco emisor.<br />
11.- Para la autenticación se incorpora la firma digital <strong>de</strong>l Banco Emisor.<br />
12.- Se comunica el resultado <strong>de</strong>l proceso <strong>de</strong> autenticación.<br />
13.- Sermepa solicita autorización al Banco emiso.<br />
14.- El Banco emisor resuelve la autorización.<br />
15.- Sermepa comunica el resultado <strong>de</strong> la autorización al comercio.<br />
16.- Sermepa comunica el resultado <strong>de</strong> la compra al titular <strong>de</strong> la tarjeta.<br />
Pue<strong>de</strong> ocurrir en algún caso que la entidad emisora y el titular <strong>de</strong> la<br />
tarjeta todavía no hayan pactado ningún método <strong>de</strong> autenticación, por<br />
lo que los pasos 9-10 no siempre se realiza, si bien <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong><br />
vista <strong>de</strong>l comercio la transacción sigue siendo segura, esto es: EL<br />
TITULAR NO LA PUEDE REPUDIAR, aunque el cliente no se haya<br />
autenticado, ya que los organismos internacionales como VISA y<br />
MasterCard obligan al emisor <strong>de</strong> la tarjeta a asumir dicha<br />
responsabilidad en estos casos.<br />
Existe una excepción en el caso <strong>de</strong> tarjetas MasterCard sin clave <strong>de</strong><br />
autenticación ajenas a la región europea: las transacciones realizadas<br />
con estas tarjetas pue<strong>de</strong>n ser repudiadas.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 5 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
3. Tipos <strong>de</strong> peticiones <strong>de</strong> autorización<br />
En función <strong>de</strong> las necesida<strong>de</strong>s <strong>de</strong> cada comercio el TPV <strong>Virtual</strong> ofrece<br />
una elevada variedad <strong>de</strong> peticiones <strong>de</strong> autorización, que el comercio<br />
pue<strong>de</strong> combinar según sus necesida<strong>de</strong>s.<br />
Autorización:<br />
Es el caso más general don<strong>de</strong> la transacción es iniciada por el titular que<br />
está presente durante el proceso <strong>de</strong> la misma. Una vez se ha recibido la<br />
petición <strong>de</strong> compra por parte <strong>de</strong>l comercio, el TPV <strong>Virtual</strong> solicita al<br />
cliente los datos para realizar la transacción <strong>de</strong> autorización.<br />
Si la transacción es segura, se solicitará al titular por parte <strong>de</strong> su<br />
entidad emisora la correspondiente prueba <strong>de</strong> autenticación.<br />
La solicitud <strong>de</strong> Autorización se lleva a cabo en tiempo real, produciendo<br />
un cargo inmediato en la cuenta <strong>de</strong>l titular asociada a la tarjeta (crédito<br />
o débito).<br />
La transacción es capturada automáticamente por el TPV <strong>Virtual</strong> y<br />
enviada diariamente en lotes a la entidad adquirente para que proceda a<br />
su abono al comercio.<br />
El titular <strong>de</strong> la tarjeta recibe un justificante <strong>de</strong>l pago realizado.<br />
Preautorización:<br />
Pue<strong>de</strong> utilizarse cuando en el momento <strong>de</strong> la compra no se pue<strong>de</strong><br />
<strong>de</strong>terminar el importe exacto <strong>de</strong> la misma o por alguna razón el<br />
comercio no <strong>de</strong>sea que el importe sea cargado en la cuenta <strong>de</strong>l cliente<br />
<strong>de</strong> forma inmediata.<br />
La transacción es transparente para el titular que en todo momento<br />
actúa exactamente igual que en el caso anterior, es <strong>de</strong>cir, facilita sus<br />
datos y se autentica cuando corresponda, recibiendo por parte <strong>de</strong>l TPV<br />
<strong>Virtual</strong> el correspondiente justificante.<br />
La solicitud <strong>de</strong> preautorización se lleva a cabo en tiempo real,<br />
produciendo una retención por el importe <strong>de</strong> la venta en la cuenta <strong>de</strong>l<br />
titular.<br />
La transacción no se captura y por tanto no produce efectos contables<br />
en la cuenta <strong>de</strong>l titular ni por tanto abono al comercio (algunas<br />
entida<strong>de</strong>s emisoras SI efectúan apuntes contables al titular que<br />
anulan automáticamente pasados unos días)<br />
Toda preautorización <strong>de</strong>be tener una Confirmación <strong>de</strong> Preautorización en<br />
un período máximo <strong>de</strong> 7 días. En caso contrario per<strong>de</strong>rá su vali<strong>de</strong>z como<br />
garantía <strong>de</strong> pago.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 6 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Confirmación <strong>de</strong> Preautorización:<br />
Complementa <strong>de</strong> forma inseparable la operación anterior.<br />
El titular no está presente y por tanto es siempre iniciada por el<br />
comercio.<br />
Debe realizarse en los 7 días siguientes a la preautorización original y su<br />
importe <strong>de</strong>be ser MENOR o IGUAL que la <strong>de</strong> la original.<br />
Esta transacción se trata contablemente, regularizando<br />
automáticamente el apunte en la cuenta <strong>de</strong>l titular y enviándose a la<br />
entidad adquirente para su abono al comercio.<br />
La confirmación <strong>de</strong> preautorización tiene garantía <strong>de</strong> pago y conserva<br />
las condiciones respecto a transacción segura <strong>de</strong> su Preautorización<br />
original.<br />
El TPV <strong>Virtual</strong> validará la existencia <strong>de</strong> la operación original y el importe<br />
que se <strong>de</strong>sea confirmar, rechazando la operación en caso <strong>de</strong> existir<br />
algún error.<br />
Devolución Automática <strong>de</strong> autorizaciones:<br />
Son transacciones contables iniciadas por el comercio, que también<br />
podrá utilizar el módulo <strong>de</strong> administración <strong>de</strong>l TPV <strong>Virtual</strong> para<br />
realizarlas manualmente.<br />
El TPV <strong>Virtual</strong> comprueba la existencia <strong>de</strong> la autorización original que se<br />
<strong>de</strong>sea <strong>de</strong>volver, así como que la suma <strong>de</strong> los importes <strong>de</strong>vueltos no<br />
supere en ningún caso el importe autorizado original.<br />
Producen efecto contable en la cuenta <strong>de</strong>l titular (algunas entida<strong>de</strong>s<br />
emisoras pue<strong>de</strong>n <strong>de</strong>morar unos días el abono al titular) y, por<br />
tanto, son capturadas automáticamente y enviadas a la entidad<br />
adquirente que proce<strong>de</strong>rá a realizar el cargo correspondiente en la<br />
cuenta <strong>de</strong>l comercio.<br />
Autenticación:<br />
Este tipo <strong>de</strong> operación pue<strong>de</strong> ser utilizado por el comercio cuando el<br />
importe <strong>de</strong> la venta no pue<strong>de</strong> ser <strong>de</strong>terminado con exactitud en el<br />
momento <strong>de</strong> producirse la misma.<br />
La operativa es similar a la <strong>de</strong> preautorizaciones, si bien aunque en este<br />
caso solo se lleva a cabo la primera parte <strong>de</strong> la operación, es <strong>de</strong>cir la<br />
autenticación <strong>de</strong>l titular.<br />
Por lo tanto no se produce solicitud <strong>de</strong> autorización, por lo que la<br />
transacción no es contable y no produce retenciones en cuenta al titular.<br />
Posteriormente y <strong>de</strong>ntro <strong>de</strong> los siguientes 120 días el comercio enviará<br />
una confirmación <strong>de</strong> autenticación que completará la operación original.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 7 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Confirmación <strong>de</strong> autenticación:<br />
Complementa <strong>de</strong> forma inseparable la operación anterior.<br />
El titular no está presente y por tanto es siempre iniciada por el<br />
comercio.<br />
Su importe pue<strong>de</strong> ser diferente al <strong>de</strong> la operación original (incluso<br />
MAYOR).<br />
Esta transacción se trata contablemente produciendo un apunte en la<br />
cuenta <strong>de</strong>l titular y enviándose a la entidad adquirente para su abono al<br />
comercio.<br />
Las confirmaciones <strong>de</strong> autenticación conservan las mismas condiciones<br />
<strong>de</strong> seguridad respecto a la autenticación original.<br />
El TPV <strong>Virtual</strong> validará la existencia <strong>de</strong> la operación rechazando la<br />
operación en caso <strong>de</strong> existir algún error.<br />
A continuación se inserta una tabla don<strong>de</strong> se resumen las principales<br />
características <strong>de</strong> cada operación:<br />
Tipo <strong>de</strong> Operación Iniciada<br />
por<br />
¿Contable? Operación Original<br />
Validaciones<br />
Garantía <strong>de</strong> pago Garantía<br />
Autorización Titular SÍ Necesita aprobación<br />
Preautorización Titular NO NO<br />
Confirmación <strong>de</strong><br />
Preautorización<br />
Devolución<br />
Automática <strong>de</strong><br />
autorizaciones.<br />
Comercio SÍ<br />
Comercio SÍ<br />
Preautorización<br />
7 días<br />
Importe < o =<br />
Autorización<br />
Suma <strong>de</strong> importes <strong>de</strong>vueltos<br />
< o =<br />
120 días<br />
Autenticación Titular NO NO<br />
Confirmación <strong>de</strong><br />
Autenticación<br />
Comercio SÍ<br />
Autenticación<br />
45 días<br />
Operación Segura<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 8 <strong>de</strong> 59<br />
Cuando se reúnan<br />
condiciones<br />
Cuando se reúnan<br />
condiciones<br />
SÍ Mismas que la original<br />
SÍ<br />
Cuando se reúnan<br />
condiciones<br />
Necesita aprobación Mismas que la original
Saba<strong>de</strong>llAtlántico<br />
4. Perfiles <strong>de</strong> funcionamiento <strong>de</strong>l comercio<br />
El comercio pue<strong>de</strong> personalizar el comportamiento <strong>de</strong>l TPV <strong>Virtual</strong> en<br />
función <strong>de</strong> sus propios criterios. Para ello se han <strong>de</strong>finido una serie <strong>de</strong><br />
parámetros que pue<strong>de</strong>n ser variados a petición. Únicamente la moneda<br />
seleccionada no pue<strong>de</strong> ser modificada una vez que el terminal ha sido<br />
dado <strong>de</strong> alta.<br />
Moneda: las opciones disponibles son:<br />
• Euros.Es la opción por <strong>de</strong>fecto<br />
• Dólares: solo pue<strong>de</strong> ser utilizada con tarjetas extranjeras no<br />
europeas.<br />
E-Mail <strong>de</strong>l comercio, al que se enviará la información<br />
pertinente.<br />
Notificación ON-LINE: si el comercio <strong>de</strong>sea recibir en tiempo<br />
real una comunicación con los datos <strong>de</strong> la transacción, por cada<br />
una <strong>de</strong> las peticiones que se gestionan en su TPV, <strong>de</strong>berá tener<br />
en cuenta esta opción. En el ANEXO III se recoge una <strong>de</strong>scripción<br />
más amplia <strong>de</strong> su significado y las posibles opciones. Por <strong>de</strong>fecto<br />
el tpv enviará la información mediante formulario http, en caso<br />
<strong>de</strong> error enviara un e.mail al comercio.<br />
Sincronización: este parámetro permite tres valores:<br />
Síncrona/Asíncrona/SíncronaSOAP. Su utilidad está relacionada<br />
con la notificación “on-line” <strong>de</strong>scrita en el apartado anterior. El<br />
valor Síncrona implica que el resultado <strong>de</strong> la autorización primero<br />
se envía al comercio y a continuación al cliente y con el valor<br />
Asíncrona el resultado <strong>de</strong> la autorización se comunica a la vez al<br />
comercio y al cliente. Se recomienda la opción Asíncrona que<br />
disminuye el tiempo <strong>de</strong> respuesta sensiblemente al titular ya que<br />
no supeditamos la respuesta al titular a la respuesta al comercio.<br />
Con el valor SíncronaSOAP la notificación que se envía al<br />
comercio es una petición SOAP a un servicio que <strong>de</strong>berá tener<br />
publicado el comercio. Con este tipo <strong>de</strong> notificación el sistema no<br />
da respuesta al titular hasta que recibe la respuesta <strong>de</strong>l<br />
comercio. En el caso en el que la respuesta SOAP tenga un valor<br />
KO o se produzca un error en el proceso <strong>de</strong> notificación se dará<br />
una respuesta negativa al titular y, en el caso en el que sea<br />
necesario, se enviará una anulación <strong>de</strong> la operación. Este tipo <strong>de</strong><br />
notificación solo se aplicará a los siguientes tipos <strong>de</strong> operaciones:<br />
Autorización, Preautorización, Transacción Recurrente y<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 9 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Autenticación. Para las <strong>de</strong>más operaciones la notificación se<br />
enviará <strong>de</strong> forma síncrona. En el ANEXO IX se explica<br />
<strong>de</strong>talladamente este tipo <strong>de</strong> sincronización. Por <strong>de</strong>fecto el tpv<br />
utiliza la opción asincrona.<br />
Envío <strong>de</strong> la tarjeta. Solo excepcionalmemte podrá incluirse el<br />
número <strong>de</strong> la tarjeta en los datos que se transmiten en la<br />
notificación “on-line”. Por <strong>de</strong>fecto la opción será siempre NO.<br />
Personalización <strong>de</strong>l terminal. Las pantallas que se muestran<br />
al cliente durante el proceso <strong>de</strong>l pago pue<strong>de</strong>n ser personalizadas.<br />
Para ello el comercio <strong>de</strong>berá generar su propio código HTML<br />
según los criterios <strong>de</strong>scritos en la Guía <strong>de</strong> Personalización <strong>de</strong>l TPV<br />
<strong>Virtual</strong>. Si lo <strong>de</strong>sea pue<strong>de</strong> solicitar esta documentación a su<br />
entidad adquirente. La opción por <strong>de</strong>fecto La personalización <strong>de</strong>l<br />
Banco Saba<strong>de</strong>ll Atlantico.<br />
URL_OK/URL_CANCEL: durante el proceso <strong>de</strong>l pago, y una vez<br />
que se muestra al cliente la pantalla con el resultado <strong>de</strong>l mismo,<br />
es posible redirigir su navegador a una URL para las<br />
transacciones autorizadas y a otra si la transacción ha sido<br />
<strong>de</strong>negada. A estas se las <strong>de</strong>nomina URL_OK y URL_CANCEL,<br />
respectivamente. Se trata <strong>de</strong> dos URL que <strong>de</strong>ben ser<br />
proporcionadas por el comercio.<br />
Parámetros en las URL: si el comercio <strong>de</strong>sea recibir en las<br />
URL_OK y URL_CANCEL, los mismos datos que se envían en la<br />
notificación “on-line”, <strong>de</strong>berá seleccionar esta opción así. Por<br />
<strong>de</strong>fecto la opción es NO.<br />
Texto en el recibo: se trata <strong>de</strong> un texto, establecido por el<br />
comercio, que se mostrará al titular en la pantalla junto con el<br />
resultado <strong>de</strong> su petición <strong>de</strong> pago en el caso <strong>de</strong> operaciones<br />
autorizadas. Es una opción muy conveniente para aquellos<br />
comercios que no disponen <strong>de</strong> una página personalizada.<br />
Idioma: los idiomas <strong>de</strong> las páginas HTML que se muestran en el<br />
TPV <strong>Virtual</strong> forman parte <strong>de</strong> la personalización <strong>de</strong> las mismas.<br />
Por ello, el único límite a los idiomas en el TPV <strong>Virtual</strong> lo<br />
<strong>de</strong>terminan las páginas HTML que la entidad adquirente o el<br />
propio comercio habilitan. Actualmente los idiomas disponibles<br />
son los siguientes: Castellano-001, Inglés-002, Catalán-003,<br />
Francés-004, Alemán-005, Holandés-006, Italiano-007, Sueco-<br />
008, Portugués-009, Valenciano-010.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 10 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Métodos <strong>de</strong> pago: están disponibles los siguientes, siendo cada<br />
uno <strong>de</strong> ellos opcional:<br />
• Pago Seguro: su entidad adquirente le habilitará las<br />
diferentes opciones que ofrecen los organismos<br />
internacionales, VISA y MasterCard principalmente, para que<br />
sus transacciones no puedan ser repudiadas por los titulares.<br />
Por <strong>de</strong>fecto se asigna este metodo <strong>de</strong> pago.<br />
• Pago no seguro: el comercio pue<strong>de</strong> elegir aceptar tarjetas en<br />
modo no seguro a nivel europeo o a nivel mundial. En estos<br />
casos las transacciones podrán ser repudiadas por los<br />
titulares.<br />
• La normativa sobre pago seguro no está disponible todavía a<br />
nivel mundial en el caso <strong>de</strong> tarjetas MasterCard sin clave <strong>de</strong><br />
autenticación. El comercio pue<strong>de</strong> optar por aceptar estas<br />
tarjetas como pago no seguro, no existiendo en estos casos<br />
garantía <strong>de</strong> pago. Para ello tendrá que solicitar a su entidad<br />
la activación <strong>de</strong>l pago tradicional mundial.<br />
• Pago segundo intento: para aquellas situaciones en las que<br />
se haya intentado un pago por un método seguro y éste haya<br />
sido <strong>de</strong>negado por la entidad emisora <strong>de</strong> la tarjeta, el pago<br />
segundo intento repite la solicitud <strong>de</strong> pago, pero <strong>de</strong> forma<br />
tradicional perdiendo la protección ante un posible repudio.<br />
Para modificar cualquiera <strong>de</strong> las opciones que se asignan por <strong>de</strong>fecto<br />
<strong>de</strong>be ponerse en contacto con su oficina <strong>de</strong>l Banco.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 11 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
5. Instrucciones <strong>de</strong> conexión al TPV <strong>Virtual</strong><br />
Para po<strong>de</strong>r ofrecer el pago con tarjeta a través <strong>de</strong>l TPV virtual <strong>de</strong>berá<br />
realizar unas pequeñas modificaciones en el servidor <strong>de</strong> su comercio en<br />
Internet.<br />
1.-A<strong>de</strong>más <strong>de</strong> los métodos <strong>de</strong> pago distintos <strong>de</strong> tarjeta con los que ya<br />
pue<strong>de</strong> estar trabajando, <strong>de</strong>berá incluir un botón <strong>de</strong> pago con tarjeta a<br />
través <strong>de</strong>l TPV virtual junto al resto <strong>de</strong> opciones. A continuación se<br />
muestra un ejemplo <strong>de</strong> dicho botón <strong>de</strong> pago.<br />
2.-En el momento que el cliente pulse el botón <strong>de</strong> pago, el comercio<br />
rellenará un formulario web con los datos <strong>de</strong> la transacción, cuya<br />
<strong>de</strong>scripción técnica <strong>de</strong>tallada figura en el ANEXO I, y lo enviará a la<br />
siguiente dirección:<br />
https://sis-i.sermepa.es:25443/sis/realizarPago (entorno <strong>de</strong> pruebas).<br />
https://sis.sermepa.es/sis/realizarPago (entorno <strong>de</strong> real).<br />
La ventana o frame don<strong>de</strong> se abra el TPV <strong>Virtual</strong> ha <strong>de</strong> tener barras<br />
<strong>de</strong> <strong>de</strong>splazamiento para po<strong>de</strong>r adaptarse a las diferentes páginas <strong>de</strong><br />
autenticación que pudieran mostrarse al titular en los procesos<br />
posteriores.<br />
La i<strong>de</strong>ntificación <strong>de</strong>l comercio y terminal se realizará mediante alta<br />
por parte <strong>de</strong> la entidad adquirente en el módulo <strong>de</strong> administración <strong>de</strong>l<br />
TPV <strong>Virtual</strong> y las transacciones serán securizadas <strong>de</strong> forma individual<br />
mediante una firma digital que realizará el comercio, cuyo<br />
funcionamiento técnico se explica en el ANEXO II.<br />
En caso <strong>de</strong> acce<strong>de</strong>r al TPV <strong>de</strong> pruebas <strong>de</strong>be tenerse en cuenta que se<br />
realiza la petición sobre un puerto no estandar: 25443, <strong>de</strong> modo que<br />
los sistemas <strong>de</strong> seguridad <strong>de</strong>l comercio <strong>de</strong>ben permitir estos accesos.<br />
3.-A partir <strong>de</strong> este punto, el TPV <strong>Virtual</strong> gestionará completamente la<br />
autorización sin que sea necesaria la intervención <strong>de</strong>l comercio. En<br />
todo momento la operativa se ajustará a la personalizada para cada<br />
comercio.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 12 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
6. Asociación <strong>de</strong> transacciones bajo el mismo código <strong>de</strong><br />
comercio<br />
Existe la posibilidad <strong>de</strong> agrupar transacciones bajo el concepto <strong>de</strong><br />
terminal (un número <strong>de</strong> tres dígitos que el comercio asigna en el<br />
momento <strong>de</strong> la transacción). De esta forma las operaciones serán<br />
agrupadas por este concepto. Por ejemplo:<br />
Discos -------> Terminal 001<br />
Ví<strong>de</strong>os -------> Terminal 002<br />
También pue<strong>de</strong> utilizarse para agrupar por moneda <strong>de</strong> venta. Por<br />
ejemplo:<br />
Euros ---------> Terminal 001<br />
Dólares -------> Terminal 002<br />
Nota: cada terminal solo pue<strong>de</strong> estar asociado a una moneda.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 13 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
7. Plan <strong>de</strong> pruebas<br />
Una vez el comercio ha realizado la conexión al TPV <strong>Virtual</strong> y visualiza la<br />
pantalla <strong>de</strong> petición <strong>de</strong> tarjeta, se recomienda la realización <strong>de</strong> las<br />
siguientes pruebas operativas con el fin <strong>de</strong> po<strong>de</strong>r conocer el<br />
funcionamiento <strong>de</strong>l TPV virtual.<br />
Estas pruebas <strong>de</strong>berán efectuarse en el entorno <strong>de</strong> pruebas, para lo cual<br />
es preciso tener habilitado el acceso a los puertos 25443 y 26443 <strong>de</strong><br />
modo que lso sistemas <strong>de</strong> seguridad <strong>de</strong>l comercio <strong>de</strong>be permitir estos<br />
accesos, con el número <strong>de</strong> tarjeta siguiente:<br />
Tarjeta: 4548812049400004<br />
Fecha <strong>de</strong> caducidad: 12/05<br />
CIP: 123456<br />
1.- Pruebas <strong>de</strong> compra: conectándose al TPV <strong>Virtual</strong>, realice una<br />
operación <strong>de</strong> compra con los datos proporcionados. Al final <strong>de</strong> la<br />
operación el TPV <strong>Virtual</strong> le mostrará una pantalla con los datos <strong>de</strong> la<br />
operación y el resultado <strong>de</strong> la misma.<br />
2.- Prueba <strong>de</strong> <strong>de</strong>voluciones: los comercios conectados podrán realizar<br />
<strong>de</strong>voluciones a través <strong>de</strong>l módulo <strong>de</strong> administración tal y como se<br />
<strong>de</strong>talla en el apartado 10.2 <strong>de</strong> la presente guía. Otra alternativa consiste<br />
en enviar el formulario <strong>de</strong> pago con el tipo <strong>de</strong> operación<br />
Ds_Merchant_TransactionType=3. En ambos casos recibirá una<br />
confirmación <strong>de</strong> la <strong>de</strong>volución efectuada.<br />
3.- Comprobación <strong>de</strong> las operaciones en el módulo <strong>de</strong> administración :<br />
accediendo al módulo <strong>de</strong> administración en entorno <strong>de</strong> pruebas, podrá<br />
comprobar el <strong>de</strong>talle <strong>de</strong> las operaciones efectuadas a través <strong>de</strong>l TPV<br />
<strong>Virtual</strong>, tal y como se indica en el apartado 10.2 y 10.3 <strong>de</strong> la guía.<br />
Accediendo al apartado <strong>de</strong> “Consultas” podrá visualizar el <strong>de</strong>talle <strong>de</strong> las<br />
operaciones y accediendo al apartado <strong>de</strong> “Totales” podrá consultar el<br />
acumulado <strong>de</strong> las operaciones.<br />
La <strong>de</strong>scripción <strong>de</strong> los códigos <strong>de</strong> respuesta al efectuar una consulta <strong>de</strong><br />
<strong>de</strong>talle <strong>de</strong> las operaciones, figura en la página 19 <strong>de</strong> la presente guía.<br />
Una vez realizado el plan <strong>de</strong> pruebas <strong>de</strong>berá solicitar su paso a<br />
producción en su oficina <strong>de</strong>l Banco. Posteriormente recibirá las nuevas<br />
claves para conectarse al entorno <strong>de</strong> producción.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 14 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
8. Operación <strong>de</strong> compra: punto <strong>de</strong> vista <strong>de</strong>l titular<br />
Una vez que el titular tiene los productos en su cesta <strong>de</strong> la compra, se<br />
conecta al TPV <strong>Virtual</strong> para realizar el pago pulsando sobre el botón <strong>de</strong><br />
pago con tarjeta. La conexión al TPV <strong>Virtual</strong> requiere el acceso <strong>de</strong>s<strong>de</strong><br />
navegadores con una intensidad <strong>de</strong> cifrado igual o superior a 128 bits.<br />
Las versiones 6.0 y superiores <strong>de</strong> Iexplorer y, 4.7.x. y superiores <strong>de</strong><br />
Netscape soportan, por <strong>de</strong>fecto, ese nivel <strong>de</strong> cifrado.<br />
En función <strong>de</strong> la configuración <strong>de</strong> su comercio y según los métodos <strong>de</strong><br />
pago que su Entidad Adquirente le haya ofrecido, el propio TPV <strong>Virtual</strong><br />
se encargará <strong>de</strong> solicitar al titular los datos <strong>de</strong>l pago para po<strong>de</strong>r tramitar<br />
el mismo con la Entidad Emisora <strong>de</strong> éste.<br />
Una vez realizado el pago, el titular verá la siguiente pantalla con el<br />
resultado <strong>de</strong> la operación y la última línea indicará el estado <strong>de</strong> la<br />
operación. De la misma manera, dispondrá <strong>de</strong>l número <strong>de</strong> pedido para<br />
cualquier duda o aclaración que se requiera en el futuro.<br />
Ejemplo <strong>de</strong> operación autorizada:<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 15 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
9. I<strong>de</strong>ntificación <strong>de</strong> anomalías durante el proceso <strong>de</strong><br />
compra<br />
El sistema incluye fuertes validaciones y controles para <strong>de</strong>tectar posibles<br />
errores en la entrada <strong>de</strong> datos o situaciones anómalas <strong>de</strong>l sistema.<br />
Ante cualquier entrada al TPV <strong>Virtual</strong> , se realizan las validaciones<br />
pertinentes <strong>de</strong> los datos <strong>de</strong> entrada. Si los datos <strong>de</strong> entrada no son<br />
correctos, se genera un código <strong>de</strong> error y no se permite continuar con la<br />
operación. Normalmente estas situaciones se producen durante el<br />
tiempo que duran las pruebas <strong>de</strong> integración <strong>de</strong> un nuevo comercio.<br />
Aunque la integración <strong>de</strong>l comercio sea correcta, siempre se pue<strong>de</strong>n<br />
producir situaciones inesperadas como por ejemplo la <strong>de</strong>tección <strong>de</strong><br />
pedidos repetidos o incluso alguna posible anomalía en el sistema.<br />
Dependiendo <strong>de</strong>l error producido, el mensaje mostrado al titular será<br />
diferente. Los posibles códigos <strong>de</strong> error que pue<strong>de</strong>n darse se muestran<br />
en el ANEXO V.<br />
La inclusión <strong>de</strong>l código <strong>de</strong> error en la página mostrada al titular esta<br />
oculto a la vista <strong>de</strong>l titular. La situación pue<strong>de</strong> ser diferente <strong>de</strong>pendiendo<br />
<strong>de</strong> la personalización utilizada. Lo normal es que se encuentre en forma<br />
<strong>de</strong> comentario junto al mensaje mostrado al titular. Para localizar el<br />
valor se <strong>de</strong>ben seguir los siguientes pasos:<br />
1. Abrir con el bloc <strong>de</strong> notas (por ejemplo) el código fuente <strong>de</strong> la página<br />
don<strong>de</strong> se ha producido el error. En la barra <strong>de</strong> tareas <strong>de</strong> la página<br />
<strong>de</strong>l navegador: Ver Código fuente.<br />
2. Una vez que tenemos el código fuente abierto buscar el error que se<br />
ha producido. En la barra <strong>de</strong> tareas <strong>de</strong>l bloc <strong>de</strong> notas: Edición <br />
Buscar.<br />
3. Introducir en la caja <strong>de</strong> texto ‘buscar’ el siguiente literal: SIS0.<br />
4. Aparecerá un literal <strong>de</strong>l tipo: .<br />
5. De este modo tendremos i<strong>de</strong>ntificado el error que se ha producido.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 16 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
10. Módulo <strong>de</strong> administración <strong>de</strong>l TPV <strong>Virtual</strong><br />
Accediendo a la dirección <strong>de</strong> Internet:<br />
https://sis-i.sermepa.es:25443/sis/admin/(entorno <strong>de</strong> pruebas)<br />
ó<br />
https://sis.sermepa.es/sis/admin/ (entorno real)<br />
podrá realizar las operaciones administrativas y <strong>de</strong> gestión <strong>de</strong> las<br />
operaciones <strong>de</strong> su comercio en Internet.<br />
El puerto 25443 es no estandar por lo que los sistemas <strong>de</strong> seguridad <strong>de</strong>l<br />
comercio <strong>de</strong>ben permitir su acceso.<br />
Le aparecerá una página don<strong>de</strong> tendrá que introducir el usuario y<br />
contraseña que previamente le habrá facilitado su entidad adquirente,<br />
así como el idioma en que <strong>de</strong>sea realizar la consulta (castellano, catalán<br />
o francés).<br />
Una vez confirmado que el usuario y la contraseña introducidos son<br />
correctos tendrá acceso a las funciones administrativas <strong>de</strong> comercio,<br />
presentándole la página siguiente:<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 17 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
10.1 Confirmación <strong>de</strong> una venta<br />
A través <strong>de</strong>l módulo <strong>de</strong> administración <strong>de</strong>l TPV <strong>Virtual</strong>, podrá confirmar<br />
las operaciones <strong>de</strong> compra autorizadas in<strong>de</strong>pendientemente <strong>de</strong>l método<br />
<strong>de</strong> pago con tarjeta utilizado. Este servidor web le permite:<br />
Consultar el <strong>de</strong>talle <strong>de</strong> las operaciones (120 últimas sesiones).<br />
Devolución <strong>de</strong> ventas parcial o total (operaciones <strong>de</strong> los 120<br />
últimos días).<br />
Consultar los totales <strong>de</strong> sesión (120 últimas sesiones).<br />
A<strong>de</strong>más, <strong>de</strong> forma opcional, el comercio podrá solicitar la respuesta “online”<br />
<strong>de</strong> las operaciones realizadas. Para ello tendrá que facilitar una URL<br />
don<strong>de</strong> recibir estas respuestas en el formulario web que envía al realizar<br />
la solicitud <strong>de</strong> autorización (ver el campo Ds_Merchant_MerchantURL en<br />
el ANEXO I).<br />
Esta URL será un CGI, Servlet, etc. <strong>de</strong>sarrollado en el lenguaje que el<br />
comercio consi<strong>de</strong>re a<strong>de</strong>cuado para integrar en su Servidor (C, Java,<br />
Perl, PHP, ASP, etc.), capaz <strong>de</strong> interpretar la respuesta que le envíe el<br />
TPV <strong>Virtual</strong>.<br />
En el ANEXO III se <strong>de</strong>scribe técnicamente este proceso en <strong>de</strong>talle.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 18 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
10.2 Consultas y <strong>de</strong>voluciones <strong>de</strong> operaciones<br />
En el apartado <strong>de</strong> “Consultas” <strong>de</strong>l módulo <strong>de</strong> administración, <strong>de</strong>berá<br />
introducir una fecha <strong>de</strong> inicio y fin <strong>de</strong>l período que <strong>de</strong>sea consultar para<br />
localizar una operación. Si conoce el número <strong>de</strong> pedido <strong>de</strong> la operación<br />
pue<strong>de</strong> introducirlo y la búsqueda será más rápida. Una vez haya<br />
rellenado los datos anteriores, presione el botón "Aceptar". Le aparecerá<br />
la siguiente pantalla don<strong>de</strong> se muestran las operaciones encontradas<br />
con los datos <strong>de</strong> búsqueda seleccionados.<br />
Los códigos <strong>de</strong> respuesta que se muestran en campo “Resultado Nº<br />
Autorización o código <strong>de</strong> respuesta” en el módulo <strong>de</strong> administración y<br />
para operaciones <strong>de</strong>negadas son los siguientes:<br />
CÓDIGO SIGNIFICADO<br />
101 Tarjeta caducada<br />
102 Tarjeta en excepción transitoria o bajo sospecha <strong>de</strong> frau<strong>de</strong><br />
180 Tarjeta ajena al servicio<br />
184 Error en la autenticación <strong>de</strong>l titular<br />
190 Denegación sin especificar Motivo<br />
191 Fecha <strong>de</strong> caducidad errónea<br />
202<br />
Tarjeta en excepción transitoria o bajo sospecha <strong>de</strong> frau<strong>de</strong> con retirada <strong>de</strong><br />
tarjeta<br />
9912/912 Emisor no disponible<br />
9078 No existe método <strong>de</strong> pago válido para esa tarjeta<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 19 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
9093 Tarjeta no existente<br />
9913<br />
9914<br />
Error en la confirmación que el comercio envía al TPV <strong>Virtual</strong> (solo aplicable<br />
en la opción <strong>de</strong> sincronización SOAP)<br />
Confirmación “KO” <strong>de</strong>l comercio (solo aplicable en la opción <strong>de</strong> sincronización<br />
SOAP)<br />
Las dos últimas columnas <strong>de</strong> la pantalla anterior, “Consultar<br />
Devoluciones”, y “Generar Devoluciones” permiten, respectivamente,<br />
consultar las <strong>de</strong>voluciones realizadas o generar <strong>de</strong>voluciones <strong>de</strong> la<br />
operación que se muestra.<br />
Para po<strong>de</strong>r consultar o realizar una <strong>de</strong>volución se pulsará el botón rojo<br />
correspondiente. Este solo estará disponible en operaciones autorizadas<br />
y solo se podrán generar <strong>de</strong>voluciones si la operación original no tiene<br />
una <strong>de</strong>volución por el importe total <strong>de</strong> la misma.<br />
No a todos los usuarios con acceso a la administración <strong>de</strong> las<br />
operaciones <strong>de</strong> su comercio en Internet les esta permitido el po<strong>de</strong>r<br />
realizar <strong>de</strong>voluciones. Los usuarios y el nivel <strong>de</strong> acceso a las funciones<br />
administrativas serán proporcionadas por la entidad adquirente <strong>de</strong><br />
acuerdo con sus necesida<strong>de</strong>s.<br />
Si su usuario está autorizado y <strong>de</strong>sea realizar una <strong>de</strong>volución parcial o<br />
total <strong>de</strong> una <strong>de</strong> las operaciones seleccionadas, pulse el botón rojo <strong>de</strong> la<br />
columna generar <strong>de</strong>volución que corresponda a la operación <strong>de</strong>seada y<br />
le aparecerá la página siguiente.<br />
Deberá introducir el importe a <strong>de</strong>volver (el importe <strong>de</strong>vuelto podrá<br />
sobrepasar el <strong>de</strong> la operación original en un 10 %) y pulsar el botón<br />
aceptar.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 20 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
A continuación le mostrará una página ticket <strong>de</strong> <strong>de</strong>volución como la<br />
siguiente, pudiéndola imprimir o archivar si lo <strong>de</strong>sea.<br />
10.3 Consulta <strong>de</strong> totales<br />
El tpv virtual totaliza automáticamente cada noche a las 00:00,<br />
generando un total por sesión/dia natural.<br />
Pulsando el botón <strong>de</strong> “Totales”, que le aparece en la parte izquierda <strong>de</strong><br />
la página, el sistema solicitará la sesión cuyos totales <strong>de</strong>sea consultar<br />
(están disponibles las 120 últimas sesiones).<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 21 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Introduciendo el rango <strong>de</strong> fechas <strong>de</strong>seado, aparecerá a continuación una<br />
nueva pantalla conteniendo información tanto <strong>de</strong> los importes totales <strong>de</strong><br />
las operaciones realizadas en ese período, como <strong>de</strong>l número <strong>de</strong> dichas<br />
operaciones. Vendrán diferenciadas por cada tipo <strong>de</strong> operación. Se<br />
indica el número <strong>de</strong> cada una <strong>de</strong> ellas, separando las autorizadas y<br />
<strong>de</strong>negadas, así como el importe acumulado correspondiente a las<br />
transacciones contables.<br />
10.4 Cambio <strong>de</strong> contraseña<br />
Le recomendamos que una vez reciba su contraseña en el entorno <strong>de</strong><br />
producción la cambie, posteriormente y con el fin <strong>de</strong> po<strong>de</strong>r utilizar una<br />
contraseña que le sea más fácil <strong>de</strong> recordar o por motivos <strong>de</strong> seguridad,<br />
podrá cambiar su contraseña periódicamente. El servidor web <strong>de</strong><br />
administración <strong>de</strong> comercios le ofrece esta posibilidad. Para po<strong>de</strong>r hacer<br />
este cambio <strong>de</strong>berá pulsar el botón “Contraseña” que aparece en la<br />
parte izquierda <strong>de</strong> la página web y rellenar la nueva “Contraseña” que<br />
haya seleccionado.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 22 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Una vez rellenado el formulario, pulse aceptar. El módulo <strong>de</strong><br />
administración confirmará el cambio realizado.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 23 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
11. Consultas operativas y <strong>de</strong> funcionamiento<br />
Si usted tiene alguna consulta referente al TPV <strong>Virtual</strong>, <strong>de</strong>berá contactar<br />
con su entidad financiera Mediante un email a la dirección electrónica<br />
0901tpvvirtual@saba<strong>de</strong>llatlantico.com<br />
En caso <strong>de</strong> inci<strong>de</strong>ncias operativas o <strong>de</strong> comunicaciones que no puedan<br />
ser solucionadas a través <strong>de</strong> su entidad, podrá contactar con el servicio<br />
<strong>de</strong> atención al cliente <strong>de</strong> ServiRed:<br />
Tel.: 902-198-747<br />
Las consultas relativas a petición <strong>de</strong> documentación <strong>de</strong>l TPV <strong>Virtual</strong>,<br />
solicitud <strong>de</strong> datos <strong>de</strong> alta, <strong>de</strong>finición <strong>de</strong> los métodos <strong>de</strong> pago,... <strong>de</strong>berán<br />
ser tramitadas por su oficina.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 24 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
12. Envío <strong>de</strong> transacciones al TPV <strong>Virtual</strong> mediante XML<br />
Existe la posibilidad <strong>de</strong> enviar la transacción mediante XML permitiendo<br />
automatizar el envío <strong>de</strong> transacciones por ejemplo un grupo <strong>de</strong><br />
<strong>de</strong>voluciones.<br />
Es muy importante tener en cuenta que este recurso es válido solo para<br />
cierto tipo <strong>de</strong> transacciones <strong>de</strong>finidas en el ANEXO VII ya que al no estar<br />
presente el titular no podrá autenticarse.<br />
La comunicación se realizará mediante un envío <strong>de</strong>l documento XML a la<br />
dirección indicada <strong>de</strong>l sistema El sistema <strong>de</strong> SERMEPA interpretará el<br />
documento XML y realizará las validaciones pertinentes, para a<br />
continuación procesar la operación. Dependiendo <strong>de</strong>l resultado <strong>de</strong> la<br />
operación, se monta un documento XML <strong>de</strong> respuesta con el resultado<br />
<strong>de</strong> la misma.<br />
El documento XML se transmitirá mediante un envío con POST a las<br />
direcciones:<br />
Desarrollo: http://wapdd.visa.es/sis/operaciones<br />
Integración: https://sis-i.sermepa.es:25443/sis/operaciones<br />
Real: https://sis.sermepa.es/sis/operaciones<br />
El envío se realizará simulando la petición realizada por un formulario<br />
con un único input llamado “entrada”. El valor <strong>de</strong> “entrada” será el<br />
documento XML, el cual <strong>de</strong>be estar en formato x-www-form-urlenco<strong>de</strong>d.<br />
Se <strong>de</strong>finen dos tipos <strong>de</strong> mensaje en el ANEXO VII:<br />
1. DATOSENTRADA: Mensaje <strong>de</strong> solicitud enviado.<br />
2. RETORNOXML: Respuesta <strong>de</strong>l sistema a la petición.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 25 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
13. Consultas SOAP <strong>de</strong> transacciones<br />
Por medio <strong>de</strong> este servicio, el comercio pue<strong>de</strong> realizar consultas <strong>de</strong> las<br />
operaciones solicitadas, in<strong>de</strong>pendientemente <strong>de</strong> que éstas hayan sido<br />
respondidas al mismo. El servicio <strong>de</strong> consultas “on-line” ofrece la<br />
posibilidad <strong>de</strong> obtener información <strong>de</strong> todas las operaciones que se han<br />
iniciado.<br />
Existen dos tipos <strong>de</strong> consultas: por transacción y por monitor. La<br />
consulta por transacción permite obtener información <strong>de</strong> un<br />
<strong>de</strong>terminado tipo <strong>de</strong> operación (Ej. Autorización) correspondiente a un<br />
pedido, mientras que la consulta por monitor obtiene información <strong>de</strong><br />
todos los tipos <strong>de</strong> operación (Ej. Autorización y <strong>de</strong>volución) asociados a<br />
un numero <strong>de</strong> pedido.<br />
Los posibles valores <strong>de</strong> una consulta por transacción son:<br />
0 Operación <strong>de</strong> pago normal.<br />
1 Preautorización sin confirmar.<br />
4 Pago por referencia.<br />
5 Pago recurrente.<br />
7 Autenticación.<br />
Cliente <strong>de</strong> acceso al servicio SOAP<br />
El servicio <strong>de</strong> consultas “on-line” al sistema esta implementado con la<br />
tecnología SOAP-XML. Simple Object Access Protocol (SOAP).<br />
SOAP es un protocolo estándar basado en XML, que permite la<br />
comunicación <strong>de</strong> los servicios Web. SOAP facilita un mecanismo simple y<br />
consistente para que una aplicación pueda enviar mensajes XML a otra<br />
aplicación.<br />
Para la utilización <strong>de</strong>l servicio <strong>de</strong> consultas “on-line” al sistema será<br />
necesario usar esta tecnología.<br />
Este servicio permite que <strong>de</strong> manera simple y fiable se obtenga toda la<br />
información <strong>de</strong> una <strong>de</strong>terminada operación solicitada por el comercio.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 26 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
El solicitante <strong>de</strong>l servicio (Ej. entidad financiera) hará una petición <strong>de</strong><br />
consulta al proveedor <strong>de</strong>l servicio (SERMEPA) que <strong>de</strong>volverá el resultado<br />
<strong>de</strong> los datos solicitados.<br />
Es necesario implementar un cliente SOAP que hará la llamada al<br />
Service que contiene el método <strong>de</strong> acceso a datos (como ejemplo véase<br />
el ANEXO VIII).<br />
0. Consulta <strong>de</strong> una operación<br />
1. Respuesta <strong>de</strong> la información <strong>de</strong><br />
dicha operación por parte <strong>de</strong> SERMEPA.<br />
Solicitante<br />
servicio<br />
1<br />
SOAP<br />
2<br />
Servicio<br />
Web<br />
Servicio<br />
Web<br />
Servicio<br />
Web<br />
SERMEPA (Proveedor Servicio)<br />
El cliente SOAP tiene que enviar un XML que contendrá los datos <strong>de</strong><br />
consulta (ANEXO III) al servicio <strong>de</strong> consultas “on-line” <strong>de</strong> ServiRed. Este<br />
retornara otro XML <strong>de</strong> respuesta. Estos XML <strong>de</strong>ben cumplir una<br />
<strong>de</strong>terminada DTD (ANEXO II).<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 27 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
14. Anexos técnicos<br />
ANEXO I: Datos <strong>de</strong>l formulario <strong>de</strong> pago a través <strong>de</strong>l TPV <strong>Virtual</strong><br />
El formulario <strong>de</strong> compra a través <strong>de</strong> TPV virtual <strong>de</strong>berá contener los<br />
datos que se muestran en la tabla, dicho formulario se enviará mediante<br />
un POST. El comercio facilitará la información <strong>de</strong> la compra a la<br />
siguiente dirección <strong>de</strong>l servidor web:<br />
https://sis-i.sermepa.es:25443/sis/realizarPago (entorno <strong>de</strong> pruebas).<br />
https://sis.sermepa.es/sis/realizarPago (entorno <strong>de</strong> real).<br />
El cual gestionará la autorización <strong>de</strong> las operaciones. Los datos<br />
imprescindibles para la gestión <strong>de</strong> la autorización están marcados como<br />
obligatorios en la tabla siguiente.<br />
(En los campos Ds_Merchant_Currency; Ds_Merchant_Terminal;<br />
Ds_Merchant_ConsumerLanguage la longitud se consi<strong>de</strong>ra máxima por<br />
lo que no es imprescindible el relleno con ceros a la izquierda; la firma<br />
ha <strong>de</strong> ser generada con los campos exactamente como se envíen).<br />
DATO NOMBRE DEL DATO<br />
Long. /<br />
Tipo<br />
COMENTARIOS<br />
Importe Ds_Merchant_Amount 12 / Núm. Obligatorio. Para Euros las dos últimas posiciones<br />
se consi<strong>de</strong>ran <strong>de</strong>cimales.<br />
Moneda Ds_Merchant_Currency 4 / Núm. Obligatorio. Valor 978 para Euros y 840 para<br />
Dólares.<br />
Número <strong>de</strong><br />
Pedido<br />
Descripción<br />
<strong>de</strong>l producto<br />
Nombre y<br />
apellidos <strong>de</strong>l<br />
titular<br />
I<strong>de</strong>ntificación<br />
<strong>de</strong> comercio:<br />
código FUC<br />
4 se consi<strong>de</strong>ra su longitud máxima<br />
Ds_Merchant_Or<strong>de</strong>r 12 / A-N. Obligatorio. Los 4 primeros dígitos <strong>de</strong>ben ser<br />
numéricos, para los dígitos restantes solo utilizar<br />
los siguientes caracteres ASCII<br />
Del 30 = 0 al 39 = 9<br />
Del 65 = A al 90 = Z<br />
Del 97 = a al 122 = z<br />
Ds_Merchant_ProductDescription 125 / A-N Obligatorio. 125 se consi<strong>de</strong>ra su longitud<br />
máxima. Este campo se mostrará al titular en la<br />
pantalla <strong>de</strong> confirmación <strong>de</strong> la compra.<br />
Ds_Merchant_Titular 60 / A-N Obligatorio. Su longitud máxima es <strong>de</strong> 60<br />
caracteres. Este campo se mostrará al titular en<br />
la pantalla <strong>de</strong> confirmación <strong>de</strong> la compra.<br />
Ds_Merchant_MerchantCo<strong>de</strong> 9 / N. Obligatorio. Código FUC asignado al comercio.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 28 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
URL <strong>de</strong>l<br />
comercio<br />
para la<br />
notificación<br />
“on-line”<br />
Ds_Merchant_MerchantURL 250 / A-N. Obligatorio si el comercio tiene notificación “online”.<br />
URL <strong>de</strong>l comercio que recibirá un post con<br />
los datos <strong>de</strong> la transacción.<br />
URLOK Ds_Merchant_UrlOK 250 / A-N. Opcional: si se envía será utilizado como URLOK<br />
ignorando el configurado en el módulo <strong>de</strong><br />
administración en caso <strong>de</strong> tenerlo.<br />
URL KO Ds_Merchant_UrlKO 250 / A-N. Opcional: si se envía será utilizado como URLKO<br />
ignorando el configurado en el módulo <strong>de</strong><br />
administración en caso <strong>de</strong> tenerlo<br />
I<strong>de</strong>ntificación<br />
<strong>de</strong> comercio:<br />
<strong>de</strong>nominació<br />
n comercial<br />
Idioma <strong>de</strong>l<br />
titular<br />
Firma <strong>de</strong>l<br />
comercio<br />
Número <strong>de</strong><br />
terminal<br />
Ds_Merchant_MerchantName 25 / A-N. Será el nombre <strong>de</strong>l comercio que aparecerá en el<br />
ticket <strong>de</strong>l cliente (opcional).<br />
Ds_Merchant_ConsumerLanguage 3 / Núm. El Valor 0, indicará que no se ha <strong>de</strong>terminado el<br />
idioma <strong>de</strong>l cliente. (opcional). Otros valores<br />
posibles son:<br />
Castellano-001, Inglés-002, Catalán-003,<br />
Francés-004, Alemán-005, Holandés-006,<br />
Italiano-007, Sueco-008, Portugués-009,<br />
Valenciano-010.<br />
3 se consi<strong>de</strong>ra su longitud máxima<br />
Ds_Merchant_MerchantSignature Obligatorio. Ver operativa en ANEXO II.<br />
Ds_Merchant_Terminal 3 / Núm. Obligatorio. Número <strong>de</strong> terminal que le asignará<br />
su banco. Por <strong>de</strong>fecto valor “001”.<br />
3 se consi<strong>de</strong>ra su longitud máxima<br />
Importe total Ds_Merchant_SumTotal 12 / Núm. Opcional. Representa la suma total <strong>de</strong> los<br />
importes <strong>de</strong> las cuotas. Las dos últimas<br />
posiciones se consi<strong>de</strong>ran <strong>de</strong>cimales.<br />
Tipo <strong>de</strong><br />
transacción<br />
Datos <strong>de</strong>l<br />
comercio<br />
Ds_Merchant_TransactionType 1 / Num Campo opcional para el comercio para indicar<br />
qué tipo <strong>de</strong> transacción es. Los posibles valores<br />
son:<br />
0 – Autorización<br />
1 – Preautorización<br />
2 – Confirmación<br />
3 – Devolución Automática <strong>de</strong><br />
autorizaciones<br />
7 – Autenticación<br />
8 – Confirmación <strong>de</strong> Autenticación<br />
Ds_Merchant_MerchantData 1024 /A-N Campo opcional para el comercio para ser<br />
incluidos en los datos enviados por la respuesta<br />
“on-line” al comercio si se ha elegido esta opción.<br />
Frecuencia Ds_Merchant_DateFrecuency 5/ N Frecuencia en días para las transacciones<br />
recurrentes (obligatorio para recurrentes)<br />
Fecha límite Ds_Merchant_ChargeExpiryDate 10/ A-N Formato yyyy-MM-dd fecha límite para las<br />
transacciones Recurrentes (Obligatorio para<br />
Recurrentes )<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 29 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
ANEXO II: Firma <strong>de</strong>l comercio<br />
Se dotará al comercio <strong>de</strong> una clave, que se utilizará para firmar los<br />
datos aportados por el mismo, pudiendo verificarse no solo la<br />
i<strong>de</strong>ntificación <strong>de</strong>l comercio, sino que los datos no han sido alterados en<br />
ningún momento. Se utilizará como algoritmo <strong>de</strong> securización el Hash<br />
SHA-1, que garantiza los requisitos mínimos <strong>de</strong> seguridad en cuanto a la<br />
autenticación <strong>de</strong>l origen. La clave se proporcionará para ser incluida en<br />
la web <strong>de</strong>l comercio.<br />
Este mismo algoritmo se utilizará para asegurar al comercio la<br />
autenticidad <strong>de</strong> los datos <strong>de</strong> la respuesta, en caso <strong>de</strong> que se proporcione<br />
URL <strong>de</strong> notificación por parte <strong>de</strong>l comercio.<br />
La firma electrónica <strong>de</strong>l comercio se <strong>de</strong>berá calcular <strong>de</strong> la forma<br />
siguiente:<br />
Digest=SHA-1(Ds_Merchant_Amount + Ds_Merchant_Or<strong>de</strong>r +Ds_Merchant_MerchantCo<strong>de</strong><br />
+ DS_Merchant_Currency + CLAVE SECRETA)<br />
Ejemplo:<br />
IMPORTE=1235 (va multiplicado por 100 para ser igual que el Ds_Merchant_Amount).<br />
NÚMERO DE PEDIDO=29292929<br />
CÓDIGO COMERCIO=201920191<br />
MONEDA=978<br />
CLAVE SECRETA=h2u282kMks01923kmqpo<br />
Ca<strong>de</strong>na resultado: 123529292929201920191978h2u282kMks01923kmqpo<br />
Resultado SHA-1: c8392b7874e2994c74fa8bea3e2dff38f3913c46<br />
Disponemos <strong>de</strong> ejemplos <strong>de</strong> conexión con el TPV en distintos lenguajes<br />
<strong>de</strong> programación; consultar ANEXO V.<br />
Don<strong>de</strong>, “importe” correspon<strong>de</strong> a Ds_Merchant_Amount <strong>de</strong>l formulario<br />
web, “pedido” a Ds_Merchant_Or<strong>de</strong>r, “comercio” a<br />
Ds_Merchant_MerchantCo<strong>de</strong>, “moneda” a Ds_Merchant_Currency,<br />
“Bdclave” la clave secreta <strong>de</strong>l comercio, que NUNCA DEBE SER<br />
TRANSMITIDA. Las variables en “C” (importe, moneda,…) son las<br />
ca<strong>de</strong>nas mientras que en el formulario web figuran como campos<br />
ocultos.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 30 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
En caso <strong>de</strong> problemas al acce<strong>de</strong>r al TPV (datos erróneos):<br />
Una vez que se ha generado la firma no se <strong>de</strong>ben modificar los<br />
datos <strong>de</strong> ningún modo ya que el TPV los utiliza para validar la<br />
firma y si lo que recibimos no es exactamente lo que se utilizó<br />
para generar la firma no pasa la validación.<br />
El Importe vendrá multiplicado por 100, sin <strong>de</strong>cimales y sin<br />
ceros a la izquierda.<br />
El número <strong>de</strong> pedido será diferente cada transacción y las 4<br />
primeras posiciones han <strong>de</strong> ser numéricas.<br />
Si aparece en pantalla un mensaje <strong>de</strong> Datos Erróneos:<br />
• Comprobar que el comercio (FUC/TERMINAL) están dados <strong>de</strong><br />
alta en el módulo <strong>de</strong> administración <strong>de</strong>l entorno al que se<br />
está enviando la transacción.<br />
• Verificar que la clave que se está utilizando para hacer la<br />
firma es la que está asignada al comercio en el módulo <strong>de</strong><br />
administración.<br />
Su entidad adquirente, podrá suministrarle la información <strong>de</strong><br />
configuración <strong>de</strong>l comercio (clave, etc.).<br />
Referencias SHA-1:<br />
Estándar <strong>de</strong> Hash Seguro, FIPS PUB 180-1.<br />
http://www.itl.nist.gov/fipspubs/fip180-1.htm<br />
http://csrc.nist.gov/publications/fips/fips180-1/fips180-1.pdf<br />
Lista <strong>de</strong> Implementaciones Validadas <strong>de</strong>l SHA-1<br />
http://csrc.nist.gov/cryptval/dss/dsaval.htm<br />
Las especificaciones <strong>de</strong>l Estándar <strong>de</strong>l Hash Seguro (Algoritmo<br />
SHA-1):<br />
http://csrc.nist.gov/cryptval/shs.html<br />
¿Qué es SHA y SHA-1?<br />
http://www.rsasecurity.com/rsalabs/faq/3-6-5.html<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 31 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
ANEXO III: Contestación “on-line” <strong>de</strong>l TPV <strong>Virtual</strong> al comercio<br />
Esta opción esta disponible para aquellos comercios que necesitan una<br />
verificación inmediata <strong>de</strong> la transacción para su gestión. Actualmente,<br />
existen 8 formas <strong>de</strong> realizar la contestación “on-line” al comercio<br />
configurables <strong>de</strong>s<strong>de</strong> el módulo <strong>de</strong> administración:<br />
1. Email comercio.<br />
2. Formulario http. Si falla email comercio: el comercio recibe un<br />
POST mediante http al Ds_Merchant_MerchantURL. Si no llega el POST<br />
se envía un email al comercio.<br />
3. Formulario http+email comercio: el comercio recibe un POST<br />
mediante http al Ds_Merchant_MerchantURL y un email al correo<br />
indicado en el módulo <strong>de</strong> administración.<br />
4. Formulario http: el comercio recibe un POST mediante http al<br />
Ds_Merchant_MerchantURL.<br />
5. Email comercio. Si falla email entidad: se envía un email al<br />
comercio; si éste no llega se envía un email a la entidad adquirente.<br />
6. Formulario http. Si falla email comercio. Si falla email entidad:<br />
el comercio recibe un POST mediante http al<br />
Ds_Merchant_MerchantURL. Si no llega el POST se envía un email al<br />
comercio; y si éste no llega se envía un email a la entidad adquiriente.<br />
Por <strong>de</strong>fecto esta será la opción activada<br />
7. Formulario http+email comercio. Si falla email entidad: el<br />
comercio recibe un POST mediante http al Ds_Merchant_MerchantURL y<br />
un email al correo indicado en el módulo <strong>de</strong> administración; si el email o<br />
el HTTP no llega al comercio se envía un email a la entidad adquirente.<br />
8. Sin notificación “on-line”: el comercio no recibe ningún tipo <strong>de</strong><br />
repuesta “on-line”.<br />
1.- Respuesta http:<br />
Recomendamos el uso <strong>de</strong> este método, ya que garantiza la respuesta <strong>de</strong><br />
forma inmediata.<br />
La respuesta http es un proceso in<strong>de</strong>pendiente <strong>de</strong> la conexión con el<br />
navegador <strong>de</strong>l cliente y no tiene ningún reflejo en pantalla <strong>de</strong>l<br />
mismo. Evi<strong>de</strong>ntemente, en el lado <strong>de</strong>l comercio, <strong>de</strong>berá haber un<br />
proceso que recoja esta respuesta http.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 32 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
El protocolo utilizado en las respuestas pue<strong>de</strong> ser http o https, el<br />
formato <strong>de</strong> este mensaje es un formulario HTML, enviado con el método<br />
POST, y cuyos campos son los siguientes (en los campos Ds_Currency;<br />
Ds_Terminal; Ds_ConsumerLanguage la longitud se consi<strong>de</strong>ra máxima<br />
por lo que no es imprescindible el relleno con ceros a la izquierda; la<br />
firma será generada con los campos exactamente como se envíen):<br />
DATO NOMBRE DEL DATO LONG/TIPO COMENTARIOS<br />
Fecha Ds_Date dd/mm/yyyy Fecha <strong>de</strong> la transacción<br />
Hora Ds_Hour HH:mm Hora <strong>de</strong> la transacción<br />
Importe Ds_Amount 12 / Núm. Mismo valor que en la petición.<br />
Moneda Ds_Currency 4 / Núm.<br />
Mismo valor que en la petición. 4 se<br />
consi<strong>de</strong>ra su longitud máxima.<br />
Número <strong>de</strong> pedido Ds_Or<strong>de</strong>r 12 / A-N. Mismo valor que en la petición.<br />
I<strong>de</strong>ntificación <strong>de</strong><br />
comercio: código FUC<br />
Ds_MerchantCo<strong>de</strong> 9 / N. Mismo valor que en la petición.<br />
Terminal Ds_Terminal 3 / Núm.<br />
Firma para el comercio Ds_Signature 40 / A-N<br />
Código <strong>de</strong> respuesta Ds_Response 4 / Núm. Ver tabla siguiente<br />
Datos <strong>de</strong>l comercio Ds_MerchantData 1024 / A-N<br />
Pago Seguro Ds_SecurePayment 1 / Núm.<br />
Tipo <strong>de</strong> operación Ds_TransactionType 1 / A-N<br />
Idioma <strong>de</strong>l titular Ds_ConsumerLanguage 3 / Núm<br />
Número <strong>de</strong> terminal que le asignará su<br />
banco. 3 se consi<strong>de</strong>ra su longitud máxima.<br />
Ver a pie <strong>de</strong> página las instrucciones para<br />
su cálculo.<br />
Información opcional enviada por el<br />
comercio en el formulario <strong>de</strong> pago.<br />
0 – Si el pago NO es seguro<br />
1 – Si el pago es seguro<br />
Tipo <strong>de</strong> operación que se envió en el<br />
formulario <strong>de</strong> pago<br />
El valor 0, indicará que no se ha<br />
<strong>de</strong>terminado el idioma <strong>de</strong>l cliente.<br />
(opcional). 3 se consi<strong>de</strong>ra su longitud<br />
máxima.<br />
Al igual que el ANEXO II se explica el procedimiento <strong>de</strong> cálculo <strong>de</strong> la<br />
firma que protege los datos <strong>de</strong> la transacción que el comercio ha<br />
generado, en caso <strong>de</strong> que éste <strong>de</strong>see recibir una respuesta “on-line” a<br />
las peticiones, el sistema le proporcionará una firma que garantiza a su<br />
vez la integridad <strong>de</strong> las respuestas.<br />
El algoritmo será el mismo y la fórmula a tener en cuenta para el cálculo<br />
será:<br />
Digest=SHA-1(Ds_ Amount + Ds_ Or<strong>de</strong>r + Ds_MerchantCo<strong>de</strong> + Ds_ Currency + Ds<br />
_Response + CLAVE SECRETA)<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 33 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
La conexión utilizada para comunicar la confirmación “on-line” entre el<br />
TPV <strong>Virtual</strong> y el comercio pue<strong>de</strong> ser SSL. Opcionalmente el comercio<br />
pue<strong>de</strong> activar un filtro para limitar la recepción <strong>de</strong> la confirmación “online”<br />
solo <strong>de</strong>s<strong>de</strong> el TPV <strong>Virtual</strong> para evitar comunicaciones fraudulentas.<br />
El TPV <strong>Virtual</strong> por <strong>de</strong>fecto pue<strong>de</strong> comunicar a los puertos 80, 443, 8080<br />
y 8081 <strong>de</strong>l comercio. Otros puertos <strong>de</strong>berán ser consultados.<br />
Una vez que el comercio recibe el formulario, el código <strong>de</strong> respuesta<br />
(ds_response) tendrá los siguientes valores posibles:<br />
CÓDIGO SIGNIFICADO<br />
0000 a 0099 Transacción autorizada para pagos y preautorizaciones<br />
0900 Transacción autorizada para <strong>de</strong>voluciones y confirmaciones<br />
101 Tarjeta caducada<br />
102 Tarjeta en excepción transitoria o bajo sospecha <strong>de</strong> frau<strong>de</strong><br />
116 Disponible insuficiente<br />
118 Tarjeta no registrada<br />
180 Tarjeta ajena al servicio<br />
184 Error en la autenticación <strong>de</strong>l titular<br />
190 Denegación sin especificar Motivo<br />
191 Fecha <strong>de</strong> caducidad errónea<br />
202<br />
Tarjeta en excepción transitoria o bajo sospecha <strong>de</strong> frau<strong>de</strong> con retirada <strong>de</strong><br />
tarjeta<br />
912/9912 Emisor no disponible<br />
Cualquier otro valor Transacción <strong>de</strong>negada<br />
Nota: solo en el caso <strong>de</strong> las preautenticaciones (preautorizaciones<br />
separadas), se <strong>de</strong>vuelve un 0 si está autorizada y el titular se autentica<br />
y, un 1 si está autorizada y el titular no se autentica.<br />
El TPV <strong>Virtual</strong> efectúa el envío <strong>de</strong> las notificaciones on-line para las<br />
operaciones <strong>de</strong> compra autorizadas y <strong>de</strong>negadas por la entidad emisora<br />
<strong>de</strong> la tarjeta, así como en aquellas situaciones en las que el proceso <strong>de</strong><br />
compra ha sido interrumpido al haberse producido uno <strong>de</strong> los siguientes<br />
errores:<br />
SIS0051 -> Pedido repetido. Se envía notificación con código 913.<br />
SIS0078 -> Método <strong>de</strong> pago no disponible para su tarjeta. Se envía<br />
notificación con código 118<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 34 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
SIS0093 -> Tarjeta no válida. Se envía notificación con código 180.<br />
SIS0094 -> Error en la llamada al MPI sin controlar. Se envía<br />
notificación con código 184<br />
El resto <strong>de</strong> errores <strong>de</strong>l TPV <strong>Virtual</strong> mencionados en el ANEXO V <strong>de</strong> la<br />
presente guía, no se notifican. Asimismo, tampoco se envía notificación<br />
en aquellos casos en los que la operación no termine, por ejemplo por<br />
que el usuario no indica la tarjeta o cierra el navegador antes <strong>de</strong> que<br />
finalice la autenticación.<br />
2.- Método e-mail:<br />
El formato <strong>de</strong> contestación es exactamente igual que en el método<br />
anterior.<br />
TPV-<strong>Virtual</strong>@sermepa.es Para:<br />
cc:<br />
Fecha: 06/11/2001 Hora: 12:00;<br />
Ds_Amount: 3.00;<br />
Ds_Currency: 978;<br />
Ds_Or<strong>de</strong>r: 120437;<br />
Ds_MerchantCo<strong>de</strong>: xxxxx8881;<br />
Ds_ Terminal: 2;<br />
Asunto: Confirmación “on-line” <strong>de</strong>l TPV <strong>Virtual</strong><br />
Ds_MerchantSignature: 8c6216053d56c5cb49b173b56471b5810e033aec;<br />
Ds_Response: 0;<br />
Ds_SecurePayment: 0;<br />
Ds_MerchantData: prueba merchant data;<br />
Server URL: https://sis-i.sermepa.es:25443/sis/realizarPago<br />
También se podrá solicitar que el TPV al finalizar la transacción y pulsar<br />
el titular en el botón cerrar <strong>de</strong>l recibo <strong>de</strong> compra, vaya a una ruta<br />
especificada por el comercio. Ofrecemos la posibilidad <strong>de</strong> ir a 2 rutas<br />
distintas en función <strong>de</strong> sí la transacción es autorizada o no. Estas son las<br />
rutas UrlOK y UrlCancel.<br />
Las rutas UrlOK y UrlCancel pue<strong>de</strong>n recibir los mismos datos que se<br />
envían mediante la respuesta http.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 35 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Si tienen interés en utilizar esta posibilidad <strong>de</strong>berán comunicar las URL<br />
<strong>de</strong> la opción UrlOK y UrlCancel que se <strong>de</strong>sean dar <strong>de</strong> alta a través <strong>de</strong> su<br />
entidad financiera o enviarlas en el formulario <strong>de</strong> pago tal y como indica<br />
el ANEXO I.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 36 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
ANEXO IV: Formato <strong>de</strong>l archivo <strong>de</strong> transacciones<br />
El módulo <strong>de</strong> Administración <strong>de</strong>l TPV <strong>Virtual</strong> permite exportar un archivo<br />
con la información <strong>de</strong> las operaciones para que el comercio pueda<br />
tratarlo con su aplicación preferida y procesar la información.<br />
Al exportar el archivo <strong>de</strong>s<strong>de</strong> la aplicación, esta permite cambiarle el<br />
nombre en el momento que el cliente selecciona la ruta don<strong>de</strong> <strong>de</strong>sea<br />
guardarlo.<br />
El archivo contiene la información mostrada en la tabla <strong>de</strong> consultas.<br />
Los datos van separados por un;<br />
La separación entre filas se marca con un salto <strong>de</strong> carro.<br />
La primera fila contiene nombres <strong>de</strong> campos y las restantes los datos<br />
correspondientes a cada fila mostrada en la tabla <strong>de</strong> consultas.<br />
Por ejemplo:<br />
Tras una consulta que diera como resultado tres operaciones, 2 el día 19<br />
y una el día 20 el archivo <strong>de</strong>scargado seria:<br />
Fecha;Hora;Tipo Operación;Autorización;Pedido;Importe (Ptas);Importe<br />
Devolución (Ptas);Importe (Euros);Importe Devolución (Euros);<br />
03/09/2002;00:00:31;Autorización;Denegada ;235838;75;0;0,45;0;<br />
A continuación se <strong>de</strong>scribe como se podría importar el archivo<br />
<strong>de</strong>scargado en Microsoft Excel 00:<br />
Se <strong>de</strong>be abrir el archivo <strong>de</strong>s<strong>de</strong> MS-Excel 00.<br />
Al asistente <strong>de</strong> Excel le tendrá que especificar que el archivo es<br />
<strong>de</strong> tipo “Delimitado” y que comience a importar <strong>de</strong>s<strong>de</strong> la fila 2<br />
mientras que el formato sea Windows(ANSI).<br />
A continuación tendrá que especificar como el carácter separador<br />
al “punto y coma” en lugar <strong>de</strong>l tabulador que esta seleccionado<br />
por <strong>de</strong>fecto.<br />
A continuación pue<strong>de</strong> pulsar el botón “Terminar” para concluir el<br />
proceso o pue<strong>de</strong> seguir para especificar el formato <strong>de</strong> cada<br />
columna.<br />
En MS-Access 00 el mismo proceso consiste en:<br />
Crear o Abrir una Base <strong>de</strong> Datos.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 37 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Obtener Datos Externos en el menú <strong>de</strong> Archivo y especifica el<br />
archivo que haya <strong>de</strong>scargado y eligiendo como tipo <strong>de</strong> archivo<br />
TXT.<br />
Especifique el tipo como Delimitado.<br />
Especifique como separador al “punto y coma” y elija también<br />
“Primera fila contiene nombre <strong>de</strong> campos”.<br />
A continuación especifique el nombre <strong>de</strong> la tabla o cree una tabla<br />
nueva para almacenar los datos.<br />
Compruebe el tipo <strong>de</strong> columna Pedido este especificado como<br />
tipo <strong>de</strong> dato Texto.<br />
A continuación pue<strong>de</strong> permitir a Access que agregue la clave<br />
principal.<br />
Al menos que quiera personalizar algún otro <strong>de</strong>talle, los datos<br />
quedarán importados en la tabla.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 38 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
ANEXO V – Tabla <strong>de</strong> códigos <strong>de</strong> error <strong>de</strong>l TPV <strong>Virtual</strong><br />
ERROR DESCRIPCIÓN<br />
MENSAJE<br />
(ANEXO VI)<br />
SIS0008 Error falta Ds_Merchant_MerchantCo<strong>de</strong> MSG0008<br />
SIS0009 Error <strong>de</strong> formato en Ds_Merchant_MerchantCo<strong>de</strong> MSG0008<br />
SIS0010 Error falta Ds_Merchant_Terminal MSG0008<br />
SIS0011 Error <strong>de</strong> formato en Ds_Merchant_Terminal MSG0008<br />
SIS0014 Error <strong>de</strong> formato en Ds_Merchant_Or<strong>de</strong>r MSG0008<br />
SIS0015 Error falta Ds_Merchant_Currency MSG0008<br />
SIS0016 Error <strong>de</strong> formato en Ds_Merchant_Currency MSG0008<br />
SIS0017 Error no se admiten operaciones en pesetas MSG0008<br />
SIS0018 Error falta Ds_Merchant_Amount MSG0008<br />
SIS0019 Error <strong>de</strong> formato en Ds_Merchant_Amount MSG0008<br />
SIS0020 Error falta Ds_Merchant_MerchantSignature MSG0008<br />
SIS0021 Error la Ds_Merchant_MerchantSignature viene vacía MSG0008<br />
SIS0022 Error <strong>de</strong> formato en Ds_Merchant_TransactionType MSG0008<br />
SIS0023 Error Ds_Merchant_TransactionType <strong>de</strong>sconocido MSG0008<br />
SIS0024 Error Ds_Merchant_ConsumerLanguage tiene mas <strong>de</strong> 3 posiciones MSG0008<br />
SIS0025 Error <strong>de</strong> formato en Ds_Merchant_ConsumerLanguage MSG0008<br />
SIS0026 Error No existe el comercio / terminal enviado MSG0008<br />
SIS0027 Error Moneda enviada por el comercio es diferente a la que tiene asignada<br />
para ese terminal<br />
MSG0008<br />
SIS0028 Error Comercio / terminal está dado <strong>de</strong> baja MSG0008<br />
SIS0030 Error en un pago con tarjeta ha llegado un tipo <strong>de</strong> operación que no es ni<br />
pago ni preautorización<br />
MSG0000<br />
SIS0031 Método <strong>de</strong> pago no <strong>de</strong>finido MSG0000<br />
SIS0033 Error en un pago con móvil ha llegado un tipo <strong>de</strong> operación que no es ni<br />
pago ni preautorización<br />
MSG0000<br />
SIS0037 El número <strong>de</strong> teléfono no es válido MSG0000<br />
SIS0040 Error el comercio / terminal no tiene ningún método <strong>de</strong> pago asignado MSG0008<br />
SIS0042 La firma enviada no es correcta MSG0008<br />
SIS0046 El bin <strong>de</strong> la tarjeta no está dado <strong>de</strong> alta MSG0002<br />
SIS0051 Error número <strong>de</strong> pedido repetido MSG0001<br />
SIS0054 Error no existe operación sobre la que realizar la <strong>de</strong>volución MSG0008<br />
SIS0055 Error existe más <strong>de</strong> un pago con el mismo número <strong>de</strong> pedido MSG0008<br />
SIS0056 La operación sobre la que se <strong>de</strong>sea <strong>de</strong>volver no está autorizada MSG0008<br />
SIS0057 El importe a <strong>de</strong>volver supera el permitido MSG0008<br />
SIS0058 Inconsistencia <strong>de</strong> datos, en la validación <strong>de</strong> una confirmación MSG0008<br />
SIS0059 Error no existe operación sobre la que realizar la confirmación MSG0008<br />
SIS0060 Ya existe una confirmación asociada a la preautorización MSG0008<br />
SIS0061 La preautorización sobre la que se <strong>de</strong>sea confirmar no está autorizada MSG0008<br />
SIS0062 El importe a confirmar supera el permitido MSG0008<br />
SIS0063 Error. Número <strong>de</strong> tarjeta no disponible MSG0008<br />
SIS0064 Error. El número <strong>de</strong> tarjeta no pue<strong>de</strong> tener más <strong>de</strong> 19 posiciones MSG0008<br />
SIS0065 Error. El número <strong>de</strong> tarjeta no es numérico MSG0008<br />
SIS0066 Error. Mes <strong>de</strong> caducidad no disponible MSG0008<br />
SIS0067 Error. El mes <strong>de</strong> la caducidad no es numérico MSG0008<br />
SIS0068 Error. El mes <strong>de</strong> la caducidad no es válido MSG0008<br />
SIS0069 Error. Año <strong>de</strong> caducidad no disponible MSG0008<br />
SIS0070 Error. El Año <strong>de</strong> la caducidad no es numérico MSG0008<br />
SIS0071 Tarjeta caducada MSG0000<br />
SIS0072 Operación no anulable MSG0000<br />
SIS0074 Error falta Ds_Merchant_Or<strong>de</strong>r MSG0008<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 39 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
ERROR DESCRIPCIÓN<br />
MENSAJE<br />
(ANEXO VI)<br />
SIS0075 Error el Ds_Merchant_Or<strong>de</strong>r tiene menos <strong>de</strong> 4 posiciones o más <strong>de</strong> 12 MSG0008<br />
SIS0076 Error el Ds_Merchant_Or<strong>de</strong>r no tiene las cuatro primeras posiciones<br />
numéricas<br />
SIS0077 Error el Ds_Merchant_Or<strong>de</strong>r no tiene las cuatro primeras posiciones<br />
numéricas. No se utiliza<br />
MSG0008<br />
MSG0000<br />
SIS0078 Método <strong>de</strong> pago no disponible MSG0005<br />
SIS0084 El valor <strong>de</strong> Ds_Merchant_Conciliation es nulo MSG0008<br />
SIS0085 El valor <strong>de</strong> Ds_Merchant_Conciliation no es numérico MSG0008<br />
SIS0086 El valor <strong>de</strong> Ds_Merchant_Conciliation no ocupa 6 posiciones MSG0008<br />
SIS0089 El valor <strong>de</strong> Ds_Merchant_ExpiryDate no ocupa 4 posiciones MSG0008<br />
SIS0092 El valor <strong>de</strong> Ds_Merchant_ExpiryDate es nulo MSG0008<br />
SIS0093 Tarjeta no encontrada en la tabla <strong>de</strong> rangos MSG0006<br />
SIS0094 La tarjeta no fue autenticada como 3D Secure MSG0004<br />
SIS0097 Valor <strong>de</strong>l campo Ds_Merchant_CComercio no válido MSG0008<br />
SIS0098 Valor <strong>de</strong>l campo Ds_Merchant_CVentana no válido MSG0008<br />
SIS0112 Error El tipo <strong>de</strong> transacción especificado en Ds_Merchant_Transaction_Type<br />
no esta permitido<br />
MSG0008<br />
SIS0114 Error, se ha llamado con un GET en lugar <strong>de</strong> un POST MSG0000<br />
SIS0115 Error no existe operación sobre la que realizar el pago <strong>de</strong> la cuota MSG0008<br />
SIS0116 La operación sobre la que se <strong>de</strong>sea pagar una cuota no es una operación<br />
válida<br />
MSG0008<br />
SIS0117 La operación sobre la que se <strong>de</strong>sea pagar una cuota no está autorizada MSG0008<br />
SIS0118 Se ha excedido el importe total <strong>de</strong> las cuotas MSG0008<br />
SIS0119 Valor <strong>de</strong>l campo Ds_Merchant_DateFrecuency no válido MSG0008<br />
SIS0120 Valor <strong>de</strong>l campo Ds_Merchant_ChargeExpiryDate no válido MSG0008<br />
SIS0121 Valor <strong>de</strong>l campo Ds_Merchant_SumTotal no válido MSG0008<br />
SIS0122 Valor <strong>de</strong>l campo Ds_Merchant_DateFrecuency o no Ds_Merchant_SumTotal<br />
tiene formato incorrecto<br />
MSG0008<br />
SIS0123 Se ha excedido la fecha tope para realizar transacciones MSG0008<br />
SIS0124 No ha transcurrido la frecuencia mínima en un pago recurrente sucesivo MSG0008<br />
SIS0132 La fecha <strong>de</strong> Confirmación <strong>de</strong> Autorización no pue<strong>de</strong> superar en mas <strong>de</strong> 7<br />
días a la <strong>de</strong> Preautorización.<br />
SIS0133 La fecha <strong>de</strong> Confirmación <strong>de</strong> Autenticación no pue<strong>de</strong> superar en mas <strong>de</strong> 45<br />
días a la <strong>de</strong> Autenticación Previa.<br />
MSG0008<br />
MSG0008<br />
SIS0139 Error el pago recurrente inicial está duplicado MSG0008<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 40 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
ANEXO VI – Tabla <strong>de</strong> mensajes <strong>de</strong> error <strong>de</strong>l TPV <strong>Virtual</strong><br />
En la siguiente tabla se muestran los mensajes que se muestran al<br />
titular ante los diferentes errores. Solo se incluyen los textos en<br />
castellano, se <strong>de</strong>be tener en cuenta que estarán traducidos al idioma<br />
utilizado por el titular.<br />
CÓDIGO MENSAJE<br />
MSG0000 El sistema está ocupado, inténtelo más tar<strong>de</strong><br />
MSG0001 Número <strong>de</strong> pedido repetido<br />
MSG0002 El BIN <strong>de</strong> la tarjeta no está dado <strong>de</strong> alta en FINANET<br />
MSG0003 El sistema está arrancando, inténtelo en unos momentos<br />
MSG0004 Error <strong>de</strong> Autenticación.<br />
MSG0005 No existe método <strong>de</strong> pago válido para su tarjeta.<br />
MSG0006 Tarjeta ajena al servicio.<br />
MSG0007 Faltan datos. Por favor, compruebe que su "navegador" acepta cookies.<br />
MSG0008 Error en datos enviados. Contacte con su comercio.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 41 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
ANEXO VII – Mensajes XML<br />
1. Especificación <strong>de</strong>l documento DATOSENTRADA.<br />
Este mensaje se envía para solicitar una operación al sistema:<br />
Versión 1.0<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Don<strong>de</strong>:<br />
- DS_Version: Versión <strong>de</strong> la DTD utilizada para validar el mensaje XML<br />
- DS_MERCHANT_AMOUNT: ver ANEXO I.<br />
- DS_MERCHANT_CURRENCY: ver ANEXO I.<br />
- DS_MERCHANT_ORDER: ver ANEXO I.<br />
- DS_MERCHANT_MERCHANTCODE: ver ANEXO I.<br />
- DS_MERCHANT_MERCHANTURL: ver ANEXO I.<br />
- DS_MERCHANT_MERCHANTNAME: ver ANEXO I.<br />
- DS_MERCHANT_CONSUMERLANGUAGE : ver ANEXO I.<br />
- DS_MERCHANT_MERCHANTSIGNATURE:<br />
SHA1 <strong>de</strong> los campos Ds_Merchant_Amount + Ds_Merchant_Or<strong>de</strong>r<br />
+Ds_Merchant_MerchantCo<strong>de</strong> + DS_Merchant_Currency + DS_MERCHANT_PAN +<br />
DS_MERCHANT_TRANSACTIONTYPE + CLAVE SECRETA.<br />
DS_MERCHANT_PAN solo se incluirá si se envía en el mensaje.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 42 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
- DS_MERCHANT_TERMINAL: ver ANEXO I.<br />
- DS_MERCHANT_TRANSACTIONTYPEº: solo se permiten los tipos:<br />
2- Confirmación<br />
3- Devolución Automática <strong>de</strong> autorizaciones.<br />
8- Confirmación <strong>de</strong> Autenticación<br />
A- Pago tradicional directo<br />
- DS_MERCHANT_MERCHANTDATA: ver ANEXO I.<br />
- DS_MERCHANT_PAN : número <strong>de</strong> tarjeta. Solo para operaciones tipo A<br />
- DS_MERCHANT_EXPIRYDATE : fecha caducidad (AAMM). Solo para operaciones tipo A.<br />
A continuación se muestra un ejemplo <strong>de</strong>l mensaje:<br />
<br />
<br />
0.1<br />
<br />
<br />
978<br />
<br />
<br />
https://pruebaCom.jsp<br />
<br />
<br />
2<br />
<br />
<br />
Alfombrilla+para+raton<br />
<br />
<br />
45<br />
<br />
<br />
Comercio <strong>de</strong> Pruebas<br />
<br />
<br />
a63dfa507e549936f41f4961ccdace126b8ec<strong>de</strong>a<br />
<br />
<br />
1<br />
<br />
<br />
999008881<br />
<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 43 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
<br />
114532<br />
<br />
<br />
2. Especificación <strong>de</strong>l documento RETORNOXML.<br />
Este mensaje es el que SERMEPA enviará como resultado <strong>de</strong> la<br />
operación en el sistema: Versión 0.0<br />
<br />
<br />
<br />
<br />
Don<strong>de</strong>:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
- DS_Version: versión <strong>de</strong> la DTD utilizada para validar el XML.<br />
- CÓDIGO: indica si la operación ha sido correcta o no (no indica si ha sido<br />
autorizada, solo que si se ha procesado). Un 0 indica que la operación ha sido<br />
correcta. En el caso <strong>de</strong> que sea distinto <strong>de</strong> 0, tendrá el código <strong>de</strong>l error y no<br />
aparecerá la información <strong>de</strong> la operación.<br />
CÓDIGO no es Ds_Response una operación pue<strong>de</strong> tener un CÓDIGO = 0 y ser<br />
Denegada (Ds_Response distinto <strong>de</strong> 0).<br />
- Ds_Amount: importe <strong>de</strong> la operación.<br />
- Ds_Currency: moneda <strong>de</strong> la operación.<br />
- Ds_Or<strong>de</strong>r: pedido <strong>de</strong> la operación.<br />
- Ds_Signature: firma <strong>de</strong> la operación, se calcula con los campos.<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 44 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Ds_Amount + Ds_Or<strong>de</strong>r + Ds_MerchantCo<strong>de</strong> + Ds_Currency + Ds_Response +<br />
Ds_CardNumber + Ds_TransactionType + Ds_SecurePayment + Clave.<br />
El campo Ds_CardNumber solo formará parte <strong>de</strong> la firma en caso <strong>de</strong> que se envíe<br />
la tarjeta.<br />
- Ds_MerchantCo<strong>de</strong>: código <strong>de</strong> comercio <strong>de</strong> la operación.<br />
- Ds_Terminal: número <strong>de</strong> terminal <strong>de</strong> la operación.<br />
- Ds_Response: valor que indica el resultado <strong>de</strong> la operación. Indicará si ha sido<br />
autorizada o no. Sus valores posibles son los <strong>de</strong> PRICE.<br />
- Ds_AuthorisationCo<strong>de</strong>: código <strong>de</strong> autorización en el caso <strong>de</strong> que exista.<br />
- Ds_TransactionType: tipo <strong>de</strong> la operación realizada<br />
- Ds_MerchantData: ver ANEXO I.<br />
- Ds_SecurePayment: ver ANEXO III.<br />
- Ds_Reference: campo opcional para pago por referencia.<br />
- Ds_Language: indica idioma enviado por el comercio.<br />
- Ds_CardNumber: número <strong>de</strong> tarjeta <strong>de</strong> crédito.<br />
- Ds_ExpiryDate: año y mes <strong>de</strong> caducidad <strong>de</strong> la tarjeta AAMM.<br />
- RECIBIDO: es una ca<strong>de</strong>na <strong>de</strong> texto que contiene el XML que el comercio nos<br />
envió mediante POST en el campo entrada.<br />
El campo DS_Version solo aparecerá en caso <strong>de</strong> que la operación haya<br />
sido correcta ya que es un valor que nos envía el comercio en caso <strong>de</strong><br />
no ser correcta el dato irá en el campo RECIBIDO.<br />
El hecho <strong>de</strong> que enviemos el dato OPERACION o RECIBIDO <strong>de</strong>pen<strong>de</strong> <strong>de</strong><br />
también <strong>de</strong> que la operación sea correcta o no.<br />
A continuación se muestra 3 ejemplos <strong>de</strong>l mensaje:<br />
1- Operación correcta y Autorizada:<br />
<br />
1.0<br />
0<br />
<br />
100<br />
978<br />
<br />
<br />
0001<br />
EEFF45687hgth<br />
999008881<br />
1<br />
0<br />
222FFF<br />
2<br />
1<br />
Mis Datos<br />
2 - Operación correcta y Denegada (190 Denegada por la entidad):<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 45 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
<br />
1.0<br />
0<br />
<br />
100<br />
978<br />
0001<br />
EEFF45687hgth<br />
999008881<br />
1<br />
190<br />
222FFF<br />
2 Ds_TransactionType ><br />
1<br />
Mis Datos<br />
<br />
<br />
3 - Operación incorrecta ( 051 Nº <strong>de</strong> Pedido Repetido). Nunca será<br />
autorizada:<br />
<br />
SIS0051<br />
<br />
<br />
<br />
978<br />
<br />
<br />
https://pruebaCom.jsp<br />
<br />
<br />
2<br />
<br />
<br />
Alfombrilla+para+raton<br />
<br />
<br />
45<br />
<br />
<br />
Comercio <strong>de</strong> Pruebas<br />
<br />
<br />
a63dfa507e549936f41f4961ccdace126b8ec<strong>de</strong>a<br />
<br />
<br />
1<br />
<br />
<br />
999008881<br />
<br />
<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 46 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
114532<br />
<br />
<br />
1.0<br />
<br />
<br />
<br />
<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 47 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
ANEXO VIII – Consultas SOAP<br />
1.- Cliente SOAP<br />
A continuación se <strong>de</strong>talla un ejemplo <strong>de</strong> un cliente SOAP. El cliente SOAP<br />
<strong>de</strong>berá realizar los siguientes pasos:<br />
A. - Indicar la URL <strong>de</strong>l servicio SOAP al que quiere acce<strong>de</strong>r:<br />
Ej.:<br />
URL url = new URL("http://smp3006/soap/rpcrouter");<br />
B.- Crear un objeto <strong>de</strong>l tipo SOAPMappingRegistry:<br />
Ej.<br />
SOAPMappingRegistry smr = new SOAPMappingRegistry();<br />
C.- Crear un objeto <strong>de</strong>l tipo Call con los siguientes datos:<br />
SOAPMappingRegistry (anteriormente creado)<br />
TargetObjectURI. Url <strong>de</strong>l servicio <strong>de</strong> mensajería.<br />
MethodName. Método al que se quiere acce<strong>de</strong>r.<br />
EncodingStyleURI. Constante.<br />
Vector con los parámetros <strong>de</strong> la consulta.<br />
Ej.:<br />
Call call = new Call();<br />
call.setSOAPMappingRegistry(smr);<br />
call.setTargetObjectURI("urn:mensajeriaCIBERPAC");<br />
call.setMethodName("procesaMensajeRecibido");<br />
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);<br />
Vector params = new Vector();<br />
params.addElement(new Parameter("Mensaje", String.class, xml_doc, null));<br />
call.setParams(params);<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 48 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
D.- Realizar invoke con la url <strong>de</strong>l servicio SOAP que retornará un objeto<br />
Response:<br />
Ej.<br />
Response resp=null;<br />
resp = call.invoke(url, "");<br />
Parameter ret = resp.getReturnValue();<br />
Object value = ret.getValue();<br />
Ejemplo <strong>de</strong> cliente SOAP JAVA (SERVLET)<br />
import java.util.*;<br />
import javax.servlet.*;<br />
import javax.servlet.http.*;<br />
import java.io.*;<br />
Import java.net. *;<br />
import org.apache.soap.*;<br />
import org.apache.soap.messaging.*;<br />
import org.apache.soap.transport.*;<br />
import org.apache.soap.util.xml.*;<br />
import org.apache.soap.encoding.*;<br />
import org.apache.soap.encoding.soapenc.*;<br />
import org.apache.soap.rpc.*;<br />
public class SerSvlCIBERPAC extends HttpServlet<br />
{<br />
public void doPost(HttpServletRequest req, HttpServletResponse res) throws<br />
ServletException, IOException<br />
{<br />
}<br />
String respuesta = "";<br />
try<br />
{<br />
}<br />
String xml_doc = req.getParameter("elXMLEnvio");<br />
catch(Exception e)<br />
{<br />
}<br />
e.printStackTrace();<br />
respuesta = ejecutaCallRPCStyle(xml_doc);<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 49 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
public String ejecutaCallRPCStyle(String xml_doc) throws ServletException, IOException<br />
}<br />
{<br />
}<br />
{<br />
else<br />
{<br />
}<br />
String respuesta = "";<br />
String encodingStyleURI = Constants.NS_URI_SOAP_ENC;<br />
URL url = new URL("http://smp3006/soap/rpcrouter");<br />
SOAPMappingRegistry smr = new SOAPMappingRegistry();<br />
Call call = new Call();<br />
call.setSOAPMappingRegistry(smr);<br />
call.setTargetObjectURI("urn:mensajeriaCIBERPAC");<br />
call.setMethodName("procesaMensajeRecibido");<br />
call.setEncodingStyleURI(encodingStyleURI);<br />
Vector params = new Vector();<br />
params.addElement(new Parameter("Mensaje", String.class, xml_doc, null));<br />
call.setParams(params);<br />
Response resp=null;<br />
try<br />
{<br />
}<br />
resp = call.invoke(url, "");<br />
catch (SOAPException e)<br />
{<br />
}<br />
e.printStackTrace();<br />
if (!resp.generatedFault())<br />
}<br />
Parameter ret = resp.getReturnValue();<br />
Object value = ret.getValue();<br />
respuesta = (String) value;<br />
Fault fault = resp.getFault();<br />
respuesta = fault.getFaultString();<br />
return (respuesta);<br />
2.- XML envío y respuesta.<br />
El xmlEnvio y la respuesta <strong>de</strong>be cumplir la siguiente DTD, mensajeria.dtd.<br />
<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 50 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Ejemplo <strong>de</strong> mensaje <strong>de</strong> envío:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
111111111<br />
1<br />
132600<br />
0<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 51 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
a454dfdfdf079c9df8b871d7487drtyhj323d345<br />
<br />
Ejemplo <strong>de</strong> mensaje <strong>de</strong> respuesta:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
111111111<br />
1<br />
132600<br />
0<br />
2002-06-27<br />
13:24:43<br />
45<br />
978<br />
1111111111111111<br />
0303<br />
1<br />
F<br />
0<br />
a454dfdfdf079c9df83331d7487drtyhj323d345<br />
<br />
3.- Cálculo <strong>de</strong> la firma.<br />
Para el calculo <strong>de</strong> la firma <strong>de</strong> envío se utilizarán los siguientes datos:<br />
Datos <strong>de</strong>l xml <strong>de</strong> envío + clave <strong>de</strong>l comercio.<br />
Digest=SHA-1(“
Saba<strong>de</strong>llAtlántico<br />
Datos <strong>de</strong>l xml <strong>de</strong> respuesta + clave <strong>de</strong>l comercio.<br />
Digest=SHA-1(“
Saba<strong>de</strong>llAtlántico<br />
ANEXO IX – Sincronización SOAP<br />
Este nuevo método <strong>de</strong> sincronización permite al comercio recibir una<br />
notificación <strong>de</strong> la transacción en un servicio SOAP. Para activar este<br />
servicio el comercio <strong>de</strong>berá ponerse en contacto con el Departamento <strong>de</strong><br />
Operaciones <strong>de</strong> SERMEPA para que se les configure esta opción en el<br />
módulo <strong>de</strong> administración.<br />
Si la opción SincronizaciónSOAP está habilitada para un comercio<br />
significará que el sistema enviará las notificaciones para operaciones <strong>de</strong><br />
Autorización, Preautorización, Transacción Recurrente y Autenticación<br />
como peticiones SOAP a un servicio que tendrá publicado el comercio.<br />
Para el resto <strong>de</strong> operaciones las notificaciones se realizarán <strong>de</strong> forma<br />
síncrona y según la opción elegida en la configuración <strong>de</strong>l comercio para<br />
las notificaciones on-line.<br />
La principal particularidad <strong>de</strong> esta notificación es que el sistema espera<br />
una respuesta a la notificación antes <strong>de</strong> presentar el resultado <strong>de</strong> la<br />
operación al titular que está realizando la compra. En el caso en el que<br />
el comercio <strong>de</strong>vuelva una respuesta con valor KO o que se produzca un<br />
error durante el proceso <strong>de</strong> notificación, el sistema anulará la operación<br />
y presentará al titular un recibo con el resultado KO, es <strong>de</strong>cir, el sistema<br />
superdita el resultado <strong>de</strong> la operación a la respuesta que obtenga <strong>de</strong>l<br />
comercio en la notificación.<br />
La URL <strong>de</strong>l rpcrouter al que se conectará el sistema y don<strong>de</strong> estará<br />
publicado el servicio SOAP, <strong>de</strong>berá enviarla el comercio en el parámetro<br />
'Ds_Merchant_MerchantURL' <strong>de</strong>l formulario <strong>de</strong> entrada al sistema. Este<br />
campo es el que actualmente se está utilizando para la notificación http.<br />
El servicio SOAP que <strong>de</strong>ben publicar los comercios <strong>de</strong>be tener las<br />
siguientes características:<br />
El servicio <strong>de</strong>berá llamarse ‘InotificacionSIS’ y ofrecer un método<br />
llamado ‘procesaNotificacionSIS’. Este método estará <strong>de</strong>finido<br />
con un parámetro <strong>de</strong> entrada tipo XML y otro parámetro <strong>de</strong><br />
salida <strong>de</strong>l mismo tipo.<br />
El formato <strong>de</strong> los mensajes que se intercambiarán en este<br />
servicio <strong>de</strong>berán ajustarse a la siguiente dtd:<br />
• Mensaje <strong>de</strong> notificación enviado <strong>de</strong>s<strong>de</strong> el sistema con los<br />
datos <strong>de</strong> la operación correspondiente:<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 54 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Para generar el valor <strong>de</strong>l campo Signature en el mensaje <strong>de</strong> notificación <strong>de</strong>l<br />
comercio aplicaremos un SHA-1 a la ca<strong>de</strong>na resultante <strong>de</strong> concatenar el<br />
mensaje … con la clave <strong>de</strong>l comercio.<br />
• Mensaje <strong>de</strong> respuesta <strong>de</strong>l comercio a la notificación:<br />
<br />
<br />
<br />
<br />
<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 55 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
Los posibles valores que podrá tomar la etiqueta<br />
Ds_Response_Merchant serán:<br />
'OK' cuando la notificación se ha recibido correctamente.<br />
'KO' cuando se ha producido algún error.<br />
Para generar el valor <strong>de</strong>l campo Signature en el mensaje <strong>de</strong> respuesta<br />
<strong>de</strong>l comercio aplicaremos un SHA-1 a la ca<strong>de</strong>na resultante <strong>de</strong><br />
concatenar el mensaje … con la clave <strong>de</strong>l<br />
comercio.<br />
Ejemplos <strong>de</strong> mensajes intercambiados en una notificación con<br />
Sincronización SOAP:<br />
Mensaje <strong>de</strong> notificación enviado <strong>de</strong>s<strong>de</strong> el sistema:<br />
<br />
<br />
01/04/2003<br />
16:57<br />
1<br />
345<br />
978<br />
165446<br />
999008881<br />
001<br />
0000<br />
Alfombrilla para raton<br />
1<br />
1<br />
<br />
eefb84298c7ab7712e6efec636d3131530c7fc5d<br />
<br />
Mensaje <strong>de</strong> respuesta <strong>de</strong>s<strong>de</strong> el comercio al sistema:<br />
<br />
<br />
<br />
OK<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 56 <strong>de</strong> 59
Saba<strong>de</strong>llAtlántico<br />
adb300af20b477f6438a3f9fb671b3d9afccb444<br />
<br />
<strong>Guia</strong> <strong>de</strong> <strong>Comercios</strong> Pag 57 <strong>de</strong> 59