MANUAL DE DESARROLLO
POS INTEGRADO
Contenido
CONTROL DE CAMBIOS ... 4 1. OBJETIVO ... 6 2. REQUERIMIENTOS DE HARDWARE ... 6 3. TRANSACCIONES SOPORTADAS... 7 3.1TRANSACCIÓN DE VENTA ... 73.2TRANSACCIÓN ÚLTIMA VENTA ... 8
3.3TRANSACCIÓN ANULACIÓN VENTA ... 8
3.4TRANSACCIÓN DE CIERRE. ... 9
3.5TRANSACCIÓN DETALLE DE VENTAS ... 9
3.6TRANSACCIÓN TOTALES ... 9
3.7TRANSACCIÓN CARGA DE LLAVES ... 9
3.8TRANSACCIÓN DE POOLING... 10
3.9CAMBIO DE MODALIDAD A POSNORMAL ... 10
4. DIAGRAMAS DE SECUENCIA ... 10 4.1VENTA ... 10 4.2ÚLTIMA VENTA ... 11 4.3ANULACIÓN ... 12 4.4CIERRE ... 13 4.5CARGA DE LLAVES ... 14 4.6POOLING ... 15
5. ESPECIFICACIÓN DE PROTOCOLO DE COMUNICACIÓN CAJA - POS ... 15
5.1ESQUEMA DE COMUNICACIÓN CAJA -POS ... 15
5.2FLUJO DE LA COMUNICACIÓN CAJA -POS ... 16
6. MENSAJERÍA DE COMANDOS ... 16
CONSIDERACIONES GENERALES DE MENSAJERÍA ... 16
6.2ÚLTIMA VENTA ... 19 6.3ANULACIÓN ... 21 6.4CIERRE ... 22 6.5DETALLE DE VENTAS ... 23 6.6TOTALES ... 26 6.7CARGA DE LLAVES ... 27 6.8POOLING ... 28
6.9CAMBIO DE MODALIDAD A POSNORMAL ... 28
7. VOUCHER ... 29
8. FLUJOS DE VENTA Y OTROS ... 30
8.1FLUJO TX3.20 CON BOLETA, PROPINA, EMPLEADO ... 30
8.2FLUJO TX3.20 SIN BOLETA, PROPINA, EMPLEADO ... 30
8.4FLUJO TX3.40 SIN BOLETA, PROPINA, EMPLEADO ... 32
8.6CAMBIO DE MODALIDAD POSINTEGRADO A POSNORMAL ... 33
9. TIPOS DE CONEXIÓN A POS ... 34
9.1CONEXIÓN POS CON CABLE SERIAL ... 34
9.2CONEXIÓN POS CON CABLE LAN PARA COMUNICACIÓN CON TRANSBANK ... 35
9.3CONEXIÓN POS CON CABLE TELEFÓNICO PARA COMUNICACIÓN CON TRANSBANK ... 36
10. TABLA ABREVIACIÓN DE TARJETAS ... 37
11. TABLA DE RESPUESTAS ... 38
12. ANEXO 1 ... 39
Control de Cambios
Versión Cambio Responsable Fecha
1.1 Manual original de equipo VX-700. Andrés Villalobos
Oct-2011
1.2 Se incorpora funcionalidad de Cuadratura. Andrés Villalobos
Feb-2012
1.3 Se modifica tabla con funciones del POS
Se incorpora información de seguridad a petición de H&M.
Andrés Villalobos
Mar-2012
1.4 Se incorpora la explicación de las variables que utilizan los comandos.
Andrés Villalobos
Abr-2012
1.5 Se actualiza el flujo cambio de modalidad POS Integrado.
Se incorpora tabla con abreviación de tarjetas a petición de Ópticas Schilling.
Se elimina la opción de envío de mensajes intermedios.
Andrés Villalobos
Jun-2012
1.6 Se elimina la opción de enviar Cuotas en una transacción de venta.
Se elimina la opción de enviar el voucher pintado para las transacciones de POS Integrado.
Andrés Villalobos
Jun-2012
1.7 Se eliminan mensajes de envío de voucher para transacciones de detalle de ventas y total de ventas.
Se detalla proceso de envío de Detalle de Transacciones.
Se incorpora la funcionalidad de Mensajes Intermedios para una transacción de Venta.
Se incorpora comando para cambio de modalidad a POS Normal
Andrés Villalobos
Jul-2012
1.8 Cambio de estructura del documento.
Se eliminan referencias en texto y mensajería a impresión de Voucher opcional (Solo imprime POS).
Se elimina información detallada de Voucher.
Se ajusta mensajería de transacciones a aplicativo POS.
Las cuotas son ingresadas en el POS.
Actualización Flujos de Venta y Otros.
Excel Incrustado se agrega como anexo en el documento.
Sebastián González
1.9 Se agregan los siguientes campos en la transacción de venta; Empleado, Propina
Se agregan los siguientes campos en la transacción de Ultima Venta; Numero Cuotas, Monto Cuotas, Empleado, Propina
Se agregan los siguientes campos en la transacción de Detalle de Ventas; Empleado, Propina, Monto Cuotas, Numero Cuotas.
Estos cambios permiten obtener la misma información de respuesta a la caja en las tres transacciones mencionadas
Se agrega el comando que permite informar a la caja que la transacción fue cancelada desde el POS.
Andrés Villalobos
Oct-2012
2.0 Se remplaza la palabra HOST por Autorizador Andres Villalobos
Ene-2013
2.2 Se elimina la referencias a modelo POS Vx510
Se cambian imágenes de conexión de Vx510 por Vx520 sin hacer referencia a él.
Marcelo Oteiza
1. Objetivo
El siguiente documento tiene por objetivo especificar las funcionalidades que debe implementar un proveedor de software para utilizar un POS Integrado, y realizar transacciones con tarjetas Crédito/Debito con Transbank utilizando la comunicación serial de un PC o Caja.
Las transacciones soportadas por los equipos POS de Transbank son:
Carga de Llaves. Venta. Cierre. Anulación. Ultima Venta. Detalle de Ventas. Totales. Pooling.
Cambio de modalidad a POS Normal.
La comunicación con Transbank y la lógica del procesamiento de una transacción financiera es realizada por los equipos POS, facilitando así la integración con un sistema de caja.
2. Requerimientos de Hardware
La Caja o PC debe tener disponible una puerta serial RS232 para la conexión con el POS de Transbank.
3. Transacciones Soportadas.
3.1 Transacción de Venta
Comando enviado por la caja solicitando la ejecución de una venta. El comando de venta soporta los siguientes parámetros que pueden ser enviados desde la caja:
Monto de la Transacción: Monto en pesos informado al POS. Este monto será enviado a Transbank para realizar la autorización.
Número Ticket/Boleta: Este número lo imprime el POS en el voucher que genera por la venta.
Enviar Mensajes: Parámetro que le indica al POS si debe enviar mensajes intermedios a la Caja mientras se realiza el proceso de venta. Los mensajes intermedios que envía el POS y que deben ser mostrados por la Caja, deben corresponder según los siguientes códigos:
o Lectura de Tarjeta Código 78 o Confirmación de Monto Código 80 o Selección de Cuotas Código 79 o Ingreso de Pinpass Código 81 o Envío de Tx a Transbank Código 82
Excepciones:
La transacción de Reversa se mantiene igual, es decir, en caso de enviar una solicitud y no tener respuesta del Autorizador, se guarda una reversa y es enviada en la siguiente transacción que se realice.
3.2 Transacción Última Venta
Comando enviado por la caja, solicitando al POS los datos de la última venta realizada.
Excepciones
Al momento de ejecutar un cierre se borran todas las transacciones almacenadas en la memoria del POS.
Si el POS recibe el comando Última Venta y no existen transacciones en memoria del POS, se envía la respuesta a la caja indicando el error (ver Tabla de Respuestas).
3.3 Transacción Anulación Venta
La transacción de anulación siempre será de responsabilidad de la caja y es quien decide cuando realizar una anulación, considerando que sólo pueden ser anuladas las transacciones que se encuentran en la memoria del POS.
El comando de anulación soporta los siguientes parámetros que pueden ser enviados desde la caja.
Número de Operación: Valor enviado al POS, impreso en el Voucher de Venta. Le indica al POS la transacción en memoria que se desea anular.
Como respuesta el POS enviará código de aprobación correspondiente al campo 38 del ISO, y además de un código de aprobación correspondiente (ver Tabla de Respuestas), y en caso de ser rechazada el código de rechazo enviado corresponde al tipo de rechazo definido (ver Tabla de Respuestas).
3.4 Transacción de Cierre.
Este comando es gatillado por la caja y no recibe parámetros. El POS ejecuta la transacción de cierre contra el Autorizador (no se contempla Batch Upload). Como respuesta a la caja se enviará un aprobado o rechazado (ver Tabla de Respuestas).
Excepciones
Para el cierre no se solicita tarjeta supervisora.
3.5 Transacción Detalle de Ventas
Este comando debe ser gatillado por la caja para solicitar al POS todas las transacciones que se han realizado y permanecen en la memoria del POS.
Importante: Un Cierre de Terminal, vacía la memoria del POS.
El comando de Detalle de Ventas soporta los siguientes parámetros que pueden ser enviados desde la caja:
Detalle a la Caja: Valor enviado al POS, indica si el POS realizara sólo la impresión del detalle de ventas o debe enviar el detalle de ventas a la Caja (transacción por transacción).
3.6 Transacción Totales
Esta transacción es gatillada por la caja para solicitar al POS el Total de las transacciones que se han realizado y permanecen en memoria (Un cierre de terminal, vacía la memoria).
Esta transacción solo será utilizada por la caja como una prueba de conexión con Transbank como respuesta el POS enviará un aprobado o rechazado (ver Tabla de Respuestas).
3.8 Transacción de Pooling
Esta transacción es enviada por la caja para saber si el POS está conectado. El POS responde con un ACK.
3.9 Cambio de Modalidad a POS Normal
Este comando le permitirá a la caja, realizar el cambio de modalidad a través de un comando. El POS debe estar en modo integrado y al recibir el comando quedara en modo normal.
4. Diagramas de Secuencia
4.1 Venta
CAJA PINPAD HOST
Requer. (Venta) ACK/NAK Requer. Venta (0200) Resp. Venta (0210) Resp. (Venta) ACK/NAK
Descripción
La caja envía el requerimiento y espera como respuesta ACK/NACK, en caso de que llegue un NACK, debe reintentar el envío del requerimiento 2 veces. Si recibe un ACK debe esperar la respuesta de la transacción.
El POS solicita los datos al usuario, y envía requerimiento al Autorizador, en caso de ser aprobada, se guarda en Batch y se envía respuesta a la caja. En caso de ser rechazada se envía respuesta a la caja indicando el error (ver Tabla de Respuestas).
La caja al recibir la respuesta envía un ACK si el mensaje esta correcto, o un NACK para el caso en que el LRC no corresponde.
El POS al recibir el ACK vuelve al inicio a esperar un nuevo comando, para el caso que recibe un NACK vuelve a enviar la respuesta 2 veces más.
4.2 Última Venta
Caja Pinpad
Req. última venta ACK/NAK Resp. última venta
ACK/NAK
Descripción
La caja envía el requerimiento y espera como respuesta ACK, Si recibe un ACK la caja debe esperar la respuesta del POS, en caso de recibir un NACK debe reintentar enviando el comando 2 veces.
Una vez recibida la respuesta, la caja calcula el LRC del mensaje y lo compara con el recibido, si coinciden la caja envía un ACK al POS dando por finalizado el comando, en caso contrario envía un NACK, y vuelve a esperar la respuesta del POS.
4.3 Anulación
Caja Pinpad Host
Req Anulación
Req Anulación ACK
Resp Anulación Resp Host Anulación
ACK
Descripción
La caja envía el requerimiento y espera como respuesta ACK/NACK, encaso de que llegue un NACK, debe reintentar el envío del requerimiento 2 veces. Si recibe un ACK debe esperar la respuesta de la transacción.
El POS envía requerimiento al Autorizador, en caso de ser aprobada, se guarda en Batch y se envía respuesta a la caja. En caso de ser rechazada se envía respuesta a la caja indicando el error.
La caja al recibir la respuesta envía un ACK si el mensaje esta correcto, o un NACK para el caso en que el LRC no corresponde.
El POS al recibir el ACK vuelve al inicio a esperar un nuevo comando, para el caso que recibe un NACK vuelve a enviar la respuesta 2 veces más.
4.4 Cierre
Caja Pinpad Host
Req (Cierre) Respuesta (ACK) Req Cierre(0500) Resp Cierre (0510) Resp (Cierre) ACK
Descripción
La caja envía el requerimiento y espera como respuesta ACK/NACK, encaso de que llegue un NACK, debe reintentar el envío del requerimiento 2 veces. Si recibe un ACK debe esperar la respuesta de la transacción.
El POS envía requerimiento al Autorizador, en caso de ser aprobada, se borra Batch y se envía respuesta a la caja. En caso de ser rechazada se envía respuesta a la caja indicando el error.
La caja al recibir la respuesta envía un ACK si el mensaje esta correcto, o un NACK para el caso en que el LRC no corresponde.
El POS al recibir el ACK vuelve al inicio a esperar un nuevo comando, para el caso que recibe un NACK vuelve a enviar la respuesta 2 veces más.
4.5 Carga de Llaves
Caja Pinpad Host
Req (Carga Llaves) Respuesta (ACK)
Req Carga Llaves(0800) Resp Carga Llaves (0810) Resp (Carga Llaves)
ACK
Descripción
La caja envía el requerimiento y espera como respuesta ACK/NACK, encaso de que llegue un NACK, debe reintentar el envío del requerimiento 2 veces. Si recibe un ACK debe esperar la respuesta de la transacción.
El POS envía requerimiento al Autorizador, en caso de ser aprobada, se guarda nueva llave y se envía respuesta a la caja. En caso de ser rechazada se envía respuesta a la caja indicando el error.
La caja al recibir la respuesta envía un ACK si el mensaje esta correcto, o un NACK para el caso en que el LRC no corresponde.
El POS al recibir el ACK vuelve al inicio a esperar un nuevo comando, para el caso que recibe un NACK vuelve a enviar la respuesta 2 veces más.
4.6 Pooling
Caja Pinpad
Requerimiento (Pooling) Respuesta (ACK)
Descripción
La caja envía el requerimiento y espera como respuesta ACK, Si recibe un ACK indica que el POS está funcionando y listo para recibir un comando, en caso de no recibir el ACK, indica que el POS esta con problema y debe reintentar enviando el comando de pooling al menos 3 veces.
5. Especificación de Protocolo de Comunicación Caja - POS
La comunicación es a través de una puerta serial RS232, a velocidades que van desde los 1200 Bps hasta 115200 Bps (8N1).
5.1 Esquema de Comunicación Caja - POS
CAJA PINPAD VX-700 REQ. <STX>DATOS<ETX>LRC ACK/NAK RESP. <STX>DATOS<ETX>LRC ACK/NAK Timeout1 Timeout2 POS
Todos los comandos que se envían desde la Caja al POS deben cumplir con este flujo.
5.2 Flujo de la Comunicación Caja - POS
ACK: Lo envía el POS o la caja como aviso de recepción OK (valor Hexa 0x06).
NACK: Lo envía el POS o la caja cuando el LRC calculado no corresponde al enviado (valor Hexa 0x15).
Timeout1: Es el tiempo de espera del ACK o NACK para reintentar el envió del requerimiento por la caja y la respuesta desde el POS.
El formato para los requerimientos y respuestas: <STX><DATA><ETX><LRC>.
LRC: Es un byte que se concatena luego del <ETX> y que se calcula realizando un XOR byte a byte del mensajes, incluyendo DATA + ETX.
Timeout2: Es el tiempo de espera de la respuesta por la caja luego de recibir el ACK del requerimiento.
STX: Indica el INICIO del mensaje (valor Hexa 0x02).
ETX: Indica el FIN del mensaje (valor Hexa 0x03).
6. Mensajería de Comandos
Consideraciones Generales de Mensajería
La separación entre campos se realiza con el carácter “|” (valor Hexa 0x7C), evitando rellenar los datos, es decir; para rescatar la información tanto la caja como el POS, debe buscar este carácter.
Ejemplo: Transacción de Venta <0x02>0200|5000|0|0<0x03>LRC, Respuesta <0x02>0210|00|0|597001600148|65000010|123456|5000|x|1234|1|C|MC|11032010|095500|xxxxxx xxxxx<0x03>LRC
6.1 Venta
6.1.1 Solicitud Venta
DATO
LARGO
COMENTARIO
<STX> 1 Indica inicio de comando Valor Hexa 0x02
Comando 4 Valor 0200
Separador de campo 1 Valor “|” Hexa 0x7c
Monto 9 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Número Ticket/Boleta 20 Valor alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Separador de campo 1 Valor “|” Hexa 0x7c
Separador de campo 1 Valor “|” Hexa 0x7c
Enviar Mensajes 1 Indica si el POS debe enviar mensajes de estatus de la transacción (1=Envía Mensajes, 0=No envía mensajes).
<ETX> 1 Indica Fin de comando Valor Hexa 0x03
<LRC> 1 Byte resultado de la operación XOR del mensaje
6.1.2 Mensajes Intermedios
La cantidad de mensajes intermedios dependerá del tipo de venta que se está realizando.
DATO
LARGO
COMENTARIO
<STX> 1 Indica inicio de comando Valor Hexa 0x02
Comando 4 Valor 0900
Separador de campo 1 Valor “|” Hexa 0x7c
Código Mensaje 2 Valor Numérico (Ver Tabla de Respuestas)
<ETX> 1 Indica Fin de comando Valor Hexa 0x03
6.1.3 Respuesta Venta
DATO
LARGO
COMENTARIO
<STX> 1 Indica inicio de comando Valor Hexa 0x02
Comando 4 Valor 0210
Separador de campo 1 Valor “|” Hexa 0x7c
Código Respuesta 2 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Código de comercio 12 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Terminal ID 8 Valor Alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Número Ticket/Boleta 20 Valor alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Código Autorización 6 (Máximo) Valor Alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Monto 9 (Máximo) Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Numero de Cuotas 2 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Monto Cuota 9
(Máximo)
Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Últimos 4 Dígitos Tarjeta 4 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Número Operación 6 (Máximo) Correlativo de Transacción del Terminal
Separador de campo 1 Valor “|” Hexa 0x7c
Tipo de Tarjeta (Crédito/Debito)
2 CR=Crédito
DB=Debito
Separador de campo 1 Valor “|” Hexa 0x7c
Fecha Contable 6 Valor Ascci. Se utiliza si es tarjeta Debito
Separador de campo 1 Valor “|” Hexa 0x7c
Separador de campo 1 Valor “|” Hexa 0x7c
Abreviación Tarjeta 2 Ver Tabla de Abreviación de Tarjetas
Separador de campo 1 Valor “|” Hexa 0x7c
Fecha Transacción 8 Formato DDMMAAAA
Separador de campo 1 Valor “|” Hexa 0x7c
Hora Transacción 6 Formato HHMMSS
Separador de campo 1 Valor “|” Hexa 0x7c
Empleado 4 Valor Numerico
Separador de campo 1 Valor “|” Hexa 0x7c
Propina 9(Máximo) Valor Numerico
Separador de campo 1 (opcional) Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor Hexa 0x03
<LRC> 1 Byte resultado de la operación XOR del mensaje
6.2 Última Venta
6.2.1 Solicitud Última Venta
DATO
LARGO
COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0250
Separador de campo 1 Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.2.2 Respuesta Última Venta
DATO
LARGO
COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Separador de campo 1 Valor “|” Hexa 0x7c
Código Respuesta 2 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Código de comercio 12 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Terminal ID 8 Valor Alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Número Ticket/Boleta 20 Valor alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Código Autorización 6 (Máximo) Valor Alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Monto 9 (Máximo) Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Numero de Cuotas 2 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Monto Cuota 9(Máximo) Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Últimos 4 Dígitos Tarjeta 4 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Número Operación 6 (Máximo) Correlativo de Transacción
del Terminal
Separador de campo 1 Valor “|” Hexa 0x7c
Tipo de Tarjeta (Crédito/Debito)
2 CR=Crédito
DB=Debito
Separador de campo 1 Valor “|” Hexa 0x7c
Fecha Contable 6 Valor Ascci. Se utiliza si es
tarjeta Debito
Separador de campo 1 Valor “|” Hexa 0x7c
Número de Cuenta 19 Valor Ascci. Se utiliza si es
tarjeta Debito
Separador de campo 1 Valor “|” Hexa 0x7c
Abreviación Tarjeta 2 Ver Tabla de Abreviación de
Tarjetas
Fecha Transacción 8 Formato DDMMAAAA
Separador de campo 1 Valor “|” Hexa 0x7c
Hora Transacción 6 Formato HHMMSS
Separador de campo 1 Valor “|” Hexa 0x7c
Empleado 4 Valor Numerico
Separador de campo 1 Valor “|” Hexa 0x7c
Propina 9(Máximo) Valor Numerico
Separador de campo 1(opcional) Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.3 Anulación
6.3.1 Solicitud Anulación
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 1200
Separador de campo 1 Valor “|” Hexa 0x7c
Número Operación 6 (Máximo) Correlativo de Transacción
del Terminal
Separador de campo 1 Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.3.2 Respuesta Anulación
DATO LARGO COMENTARIO
Hexa 0x02
Comando 4 Valor 1210
Separador de campo 1 Valor “|” Hexa 0x7c
Código Respuesta 2 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Código de comercio 12 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Terminal ID 8 Valor Alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Código Autorización 6 (Máximo) Valor Alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Número Operación 6 (Máximo) Correlativo de Transacción
del Terminal
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.4 Cierre
6.4.1 Solicitud de Cierre
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0500
Separador de campo 1 Valor “|” Hexa 0x7c
Separador de campo 1 Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
6.4.2 Respuesta de Cierre
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0510
Separador de campo 1 Valor “|” Hexa 0x7c
Código Respuesta 2 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Código de comercio 12 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Terminal ID 8 Valor Alfanumérico
Separador de campo 1 (opcional) Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.5 Detalle de Ventas
Este comando le permitirá a la Caja, tener la data de todas las transacciones que fueron ejecutadas en el POS y que aún se encuentran en la memoria de este.
En este caso el campo de solicitud “Detalle a la Caja” indica si el POS realizará sólo la impresión del detalle de ventas en el POS o enviará a la caja el detalle de ventas, transacción por transacción
Las dos opciones que maneja este comando para obtener el detalle de transacciones en memoria del equipo son:
o Valor 0: El POS imprime voucher con el detalle completo de transacciones que existen en memoria.
o Valor 1: El POS envía a la Caja el detalle de transacciones realizadas y almacenadas en la memoria del POS. Entre cada transacción la Caja debe enviar
un ACK al POS. El POS en la última trx que envía responde con el mismo formato de mensaje pero el código de autorización en blanco.
Detalle a la Caja Valor
Imprime POS 0
Envía Data a la Caja 1
6.5.1 Solicitud Detalle de Ventas
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0260
Separador de campo 1 Valor “|” Hexa 0x7c
Detalle a la Caja 1 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.5.2 Respuesta Detalle de Ventas
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0261
Separador de campo 1 Valor “|” Hexa 0x7c
Código Respuesta 2 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Código de comercio 12 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Terminal ID 8 Valor Alfanumérico
Número Ticket/Boleta 20 Valor alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Código Autorización 6 (Máximo) Valor Alfanumérico
Separador de campo 1 Valor “|” Hexa 0x7c
Monto 9 (Máximo) Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Últimos 4 Dígitos Tarjeta 4 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Número Operación 6 (Máximo) Correlativo de Transacción
del Terminal
Separador de campo 1 Valor “|” Hexa 0x7c
Tipo de Tarjeta (Crédito/Debito)
2 CR=Crédito
DB=Debito
Separador de campo 1 Valor “|” Hexa 0x7c
Fecha Contable 6 Valor Ascci. Se utiliza si es
tarjeta Debito
Separador de campo 1 Valor “|” Hexa 0x7c
Número de Cuenta 19 Valor Ascci. Se utiliza si es
tarjeta Debito
Separador de campo 1 Valor “|” Hexa 0x7c
Abreviación Tarjeta 2 Ver Tabla de Abreviación de
Tarjetas
Separador de campo 1 Valor “|” Hexa 0x7c
Fecha Transacción 8 Formato DDMMAAAA
Separador de campo 1 Valor “|” Hexa 0x7c
Hora Transacción 6 Formato HHMMSS
Separador de campo 1 Valor “|” Hexa 0x7c
Empleado 4 Valor Numerico
Separador de campo 1 Valor “|” Hexa 0x7c
Propina 9(Máximo) Valor Numerico
Separador de campo 1 Valor “|” Hexa 0x7c
Monto Cuota 9(Máximo) Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Separador de campo 1(opcional) Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.6 Totales
Esta operación le permitirá a la caja tener un resumen de totales con las transacciones que fueron procesadas.
Además la Caja podrá determinar si existen transacciones que no fueron informadas desde el POS, haciendo una comparación de los Totales que tiene la Caja y el POS.
La impresión del Voucher de totales será realizada por el POS.
6.6.1 Solicitud Totales:
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0700
Separador de campo 1 Valor “|” Hexa 0x7c
Separador de campo 1 Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.6.2 Respuesta Detalle de Totales
DATO LARGO COMENTARIO
Hexa 0x02
Comando 4 Valor 0710
Separador de campo 1 Valor “|” Hexa 0x7c
Número de TX 3 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Totales 9 Valor Numérico
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.7 Carga de Llaves
6.7.1 Solicitud Carga de Llaves
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0800
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.7.2 Respuesta Carga de Llaves
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0810
Separador de campo 1 Valor “|” Hexa 0x7c
Código Respuesta 2 Valor Numérico
Separador de campo 1 Valor “|” Hexa 0x7c
Separador de campo 1 Valor “|” Hexa 0x7c
Terminal ID 8 Valor Alfanumérico
Separador de campo 1 (opcional) Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.8 Pooling
6.8.1 Solicitud Pooling
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0100
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.8.2 Respuesta Pooling
DATO LARGO COMENTARIO
<ACK> 1 Comando recibido OK
Valor Hexa 0x06
6.9 Cambio de Modalidad a POS Normal
Esta función le permitirá a la caja, realizar el cambio de modalidad a través de un comando. El POS debe estar en modo integrado y al recibir el comando quedara en modo normal.
6.9.1 Solicitud Cambio Modalidad a POS Normal:
DATO LARGO COMENTARIO
<STX> 1 Indica inicio de comando Valor
Hexa 0x02
Comando 4 Valor 0300
Separador de campo 1 Valor “|” Hexa 0x7c
<ETX> 1 Indica Fin de comando Valor
Hexa 0x03
<LRC> 1 Byte resultado de la operación
XOR del mensaje
6.9.2 Respuesta Cambio Modalidad a POS Normal:
DATO LARGO COMENTARIO
<ACK> 1 Comando recibido OK
Valor Hexa 0x06
7. Voucher
8. Flujos de Venta y Otros
8.1 Flujo TX 3.20 con boleta, propina, empleado
TRANSBANK 1. VISA-AMEX-DINERS-MC 2. REDCOMPRA 3. OTRAS Deslice o Inserte Tarjeta Monto $5.000 Propina $1.000 Total $6.000 Boleta :12398 Empleado :1001 Si el parámetro propina,
boleta o empleado esta habilitado.
Monto Cuota $2.000 Venta Sin Interes PROMOCION EMISOR CONFIRME CUOTA ENTREGUE POS Ingrese Clave **** Conectando... Informe a la Caja Sin Cuotas 3 Cuotas Sin Interes Cuotas Normal Cuotas Comercio
8.2 Flujo TX 3.20 sin boleta, propina, empleado
TRANSBANK 1. VISA-AMEX-DINERS-MC 2. REDCOMPRA 3. OTRAS Deslice o Inserte Tarjeta Monto Cuota $2.000 Venta Sin Interes PROMOCION EMISOR CONFIRME CUOTA ENTREGUE POS Ingrese Clave **** Conectando... Informe a la Caja Sin Cuotas 3 Cuotas Sin Interes Cuotas Normal Cuotas Comercio
8.3 Flujo TX 3.40 con boleta, propina, empleado Transbank 1. Visa-MC-AMEX-DINERS 2. REDCOMPRA 3. OTRAS Deslice o Inserte Tarjeta Monto $5.000 Propina $1.000 Total $6.000 Boleta :12398 Empleado :1001 F1: Sin Cuotas F2: Con Cuotas Sin Cuotas Ingrese Cuota: Calculo de Cuota en el POS Consulta de Cuota Monto Cuota $2.000 Venta Sin Interes PROMOCION EMISOR CONFIRME CUOTA ENTREGUE POS Ingrese Clave **** Conectando... Informe a la Caja Con Cuotas Sin Cuotas Si el parámetro propina,
boleta o empleado esta habilitado.
8.4 Flujo TX 3.40 sin boleta, propina, empleado
Transbank 1. Visa-MC-AMEX-DINERS 2. REDCOMPRA 3. OTRAS Deslice o Inserte Tarjeta Monto $5.000 Propina $1.000 Total $6.000 Boleta :12398 Empleado :1001 F1: Sin Cuotas F2: Con Cuotas Sin Cuotas Ingrese Cuota: Calculo de Cuota en el POS Consulta de Cuota Monto Cuota $2.000 Venta Sin Interes PROMOCION EMISOR CONFIRME CUOTA ENTREGUE POS Ingrese Clave **** Conectando... Informe a la Caja Con Cuotas Sin Cuotas Si el parámetro propina,boleta o empleado esta habilitado.
8.5 Cambio de modalidad POS Normal a POS Integrado TRANSBANK 1. VISA-AMEX-DINERS-MC 2. REDCOMPRA 3. OTRAS TRANSBANK 1. VENTA 2. CIERRE 3. COMERCIO 4.CONFIGURACION TRANSBANK 1. ANULACION 2. REIMPRIMIR 3. REPORTES 4.ACTUALIZACION 5. ENVÍO CUPON 6. POS INTEGRADO TRANSBANK 1. ACTIVAR 2. SETEO DE COM 3. VELOCIDAD COM
Nota: Este flujo es referencial ya que el menú que se muestra en el paso 3 dependerá de los productos que el comercio tenga activados.
8.6 Cambio de modalidad POS Integrado a POS Normal
TRANSBANK ESCUCHANDO... Presiona Tecla # TRANSBANK 1. DESACTIVAR 2. SETEO DE COM 3. VELOCIDAD COM TRANSBANK 1. VISA-AMEX-DINERS-MC 2. REDCOMPRA 3. OTRAS SI TRANSBANK ESCUCHANDO... NO
9. Tipos de Conexión a POS
9.1 Conexión con Cable Serial
Los equipos de POS Integrado tienen una conexión serial en la parte posterior identificado como RS232 donde se conecta el cable serial provisto por Transbank.
El otro extremo debe ir conectado al PC en su puerto serial.
ETH = Ethernet Conexión LAN Internet RS232: Cable Serial
POS/Caja Conexión
Todos los cables conectados deberían estar de la siguiente forma:
9.2 Conexión POS Integrado con cable LAN para comunicación con
Transbank
El equipo por defecto viene configurado para recibir las IP por DHCP. Tambien esta la posibilidad de configurar la IP de manera fija (Debe consultar a Transbank).
Para que el equipo logre comunicarse con los servidores de Transbank, es necesaria la habilitacion de los siguientes traficos en la RED del comercio:
DESARROLLO
200.10.12.16 puerto 4100
9.3 Conexión POS Integrado con cable TELEFÓNICO para comunicación con
Transbank
El equipo por defecto viene configurado para discar los números telefónicos del ambiente de desarrollo de Transbank. El equipo permite agregar un codigo PABX si la línea telefónica usada está conectada a una central. (Debe consultar a Transbank).
10.
Tabla Abreviación de Tarjetas
TARJETA
ABREVIACION
VISA
VI
MASTERCARD
MC
CABAL
CA
CREDENCIAL
CR
AMEX
AX
CERRADA
CE
DINNERS
DC
PRESTO
TP
MAGNA
MG
MAS
TM
RIPLEY
RP
EXTRA
EX
CMR
TC
REDCOMPRA
DB
Aprobado
00
Rechazado
01
Host no Responde
02
Conexión Fallo
03
Transacción ya Fue Anulada
04
No existe Transacción para Anular
05
Tarjeta no Soportada
06
Transacción Cancelada desde el POS
07
No puede Anular Transacción Debito
08
Error Lectura Tarjeta
09
Monto menor al mínimo permitido
10
No existe venta
11
Transacción No Soportada
12
Debe ejecutar cierre
13
Solicitando Conformar Monto
80
Solicitando Ingreso de Clave
81
CONFIDENCIALIDAD DE LA INFORMACIÓN.
De acuerdo a las normativas vigentes, las transacciones con Tarjeta de Crédito y Débito requieren la incorporación de los siguientes elementos de seguridad en el sistema:
La información de la banda magnética leída en el punto de venta NO debe ser almacenada en ningún sistema. Para efectos de cuadratura e identificación de transacciones, se debe utilizar el NÚMERO DE TRANSACCIÓN.
TRATAMIENTO DE LOS TRACKS DE LA TARJETA
La información grabada en el Track I y Track II será leída sólo por los dispositivos de seguridad (POS). Estos dispositivos procederán a encriptar el contenido del Track I y Track II para que esta información no quede en claro.
El algoritmo de encriptación utilizado para los tracks I y II es DES.
TRATAMIENTO DE LA DATA SENSIBLE.
Para asegurar la confidencialidad de la información, los mensajes de las transacciones o al menos los datos sensibles (además del PIN) deben viajar encriptados en los distintos tramos de la conexión, tanto en el requerimiento como en la respuesta. Como datos sensibles se consideran: número de tarjeta, fecha expiración, número de cuenta y monto de la transacción (dato validado en Autenticación de Mensajes o MAC).
EL MODELO MÁSTER/SESIÓN KEY
El método actual de administración de llaves es el llamado Máster/Session Key, en el cual los PED (Pin Entry Device) son cargados en un ambiente seguro con una Master Key y en forma remota se carga la Working Key o Session Key.
El procedimiento actual para cifrar en los Pin Pads un PinBlock es el siguiente: Se descifra la Working Key usando la Master Key que tiene cargado el PED. Con la Working Key, se cifra el PinBlock y se envía al servidor.
La Working Key se cambia en forma periódica (al menos en cada cierre), para evitar que sea descubierta por terceros.
Este modelo de administración de llaves es el que se usará para las llaves MAC.
EL MODELO DUKPT – ENCRIPTACION DE PIN
El nuevo método de administración de llaves para PIN que usará Transbank es el denominado ―Llave Única derivada por transacción‖ o DUKPT por sus iniciales en inglés.
Bajo este método los PED son ―inicializados‖ en un ambiente seguro, con datos de identificación propios de cada PED (Identificador de la llave de derivación, Identificador de PED único y un contador de transacciones iniciado en cero), más una llave inicial que se calcula usando los datos propios de cada PED y la llave de derivación base. Con esta llave inicial se genera la próxima llave de cifrado para PIN. Este proceso se realiza con una función asimétrica (DUKPT del PinPad), es decir, una función de un solo sentido, de forma que el PED no sea capaz de generar ninguna llave anterior a la actual.
CALCULO DE MAC
Para asegurar la integridad de la información que viaja desde y hacia el Autorizador de comercio, se introduce un código de autenticación de mensajes (MAC) el cual es enviado en el mensaje de requerimiento y validado por el Autorizador de Transbank al recibirlo. A su vez, el Autorizador de Transbank envía un código de MAC para el mensaje de respuesta, el cual debe ser validado por la caja. Si la validación que hace la caja del código de MAC es negativa debe generar una reversa. La transacción de reversa debe ser igual a la respuesta recibida pero con el campo RESPONSE CODE con el valor 989 y el campo MESSAGE SUBTYPE en R. Cuando el Autorizador de Transbank detecta un MAC inválido en el mensaje de requerimiento, envía un mensaje de respuesta con código de rechazo 898 (MAC inválido).
MANEJO DE LLAVES MAC (MESSAGE AUTHENTICATION CODE)
Las llaves criptográficas para la generación de MAC (working key de MAC) se maneja de acuerdo a lo siguiente:
Las working key son generadas por el sistema de Transbank y transmitidas en línea para cada uno de los terminal ID definidos en el comercio cliente.
Para la carga y / o cambio de la working keys de MAC se utilizan las transacciones de CIERRE BATCH y CARGA DE LLAVE (Ver Transacciones Administrativas).
Las llaves working keys de MAC se actualizan en cada nueva transacción atendida por Transbank. Por lo que la caja debe registrar esta nueva llave para su uso en la siguiente transacción.
procedimiento de inicialización o cierre obligatorio en cada caja (terminal ID) que se ejecuta en forma automática todos los días y que como parte de este procedimiento se envía a Transbank una transacción de CIERRE BATCH o CARGA DE LLAVE por cada caja (terminal ID).
Las working keys (MAC) se transmiten encriptadas utilizando el algoritmo DES (dato a encriptar es la working key) con una llave de encriptación denominada master key, definida por Transbank. Transbank define una master key para PIN y otra master key para MAC.
Transbank carga inicialmente las master keys en cada PIN-PAD, operación que se realiza previamente a la instalación de éstos en las cajas.
Para la carga de las master keys de PIN y MAC, el modelo de PIN-PAD utilizado debe contar con un dispositivo cargador de llaves que será administrado por Transbank y que permite:
Ingresar las master keys en el dispositivo, la que no podrá ser modificada, violada o adulterada. Cargar las master keys conectando uno por uno los PIN-PAD al dispositivo
MANEJO DE CLAVE TÉCNICO
Para acceder a los menues de perfil técnico, deberá acreditarse con el RUT y la Clave que corresponde a este rut.
Esta clave es de generación dinámica, con caducidad máxima en 31 dias.
El algoritmo y el detalle de esta funcionalidad será entregado a demanda, por el carácter de confidencialidad del algoritmo.
MANEJO DE CLAVE SUPERVISORA
Hasta la versión 3.40, cada comercio tenía una tarjeta supervisora que le permitía autenticarse para realizar cierres, anulaciones y otras operaciones. A partir de la versión 4.0, durante el proceso de autoinstalación se solicitará la digitación de la clave supervisora, quedando esta almacenada hasta que el comercio desee cambiarla, siendo esta responsabilidad del mismo.
Si el comercio olvida esta clave, existe una clave maestra de comercio que permite la digitación de una nueva clave de comercio.
MANEJO DE CLAVE MAESTRA DE COMERCIO / ACTIVACION
LISTADO DE TRANSACCIONES CAMPOS S o lic it u d /R e s p u e s ta Fun c ion C o d igo R e s p u e s ta C o d igo C o mer c io Ter mi n a l Id N ú mer o d e Ti c k e t/ B o let a C o d igo A u to ri z a c ion Mon to Ú lt im o s 4 D igit o s Tar jet a N u mer o Op e ra c ión Tipo d e Tar je ta Fec h a C o n ta b le N ú mer o d e C u e n ta A b re v ia c ión Mar c a Tar jet a Fec h a R e a l Tr a n s a c c ion H o ra R e a l Tr a n s a c c ion P a ra met ro I mpr e s ión E n v iar Men s a jes D e ta lle a la C a ja N u mer o d e T x Totales
Largo del Campo 4 2 12 8 20 6 9 4 6 2 6 19 2 8 6 1 1 1 3 9
1
Transacción Venta Crédito/Debito (Desde
Caja -> POS) Solicitud 0200 x x x
(Desde POS -> Caja) Respuesta 0210 x x x x x x x x x x x x x x
2
Mensajes de estatus de la transacción (Desde
Pinpad -> POS) Respuesta 0900 x
3
Solicitud Última Venta
(Desde Caja -> POS) Solicitud 0250 (Desde POS -> Caja) Respuesta 0260 x x x x x x x x x x x x x x
4
Transacción Anulación de Venta (Desde Caja ->
POS) Solicitud 1200 x
(Desde POS -> Caja) Respuesta 1210 x x x x x
5
Transaccion de Cierre
(Desde Caja -> POS) Solicitud 0500 (Desde POS -> Caja) Respuesta 0510 x x x
6
Ventas (Desde Caja ->
POS) Solicitud 0260 x
(Desde POS -> Caja) Respuesta 0261 x x x x x x x x x x x x x x
7
Transacción Totales
(Desde Caja -> POS) Solicitud 0700 (Desde POS -> Caja) Respuesta 0710 x x
8
Transaccion Carga Llaves (Desde Caja ->
POS) Solicitud 0800
(Desde POS -> Caja) Respuesta 0810 x x x
9
Pooling -Probar comunicaciones con Pinpad (Desde Caja ->
POS) Solicitud 0100
(Reponde ACK) Respuesta
10
Cambio de Modalidad a POS Normal (Desde Caja
-> POS) Solicitud 0300
(Reponde ACK) Respuesta