• No se han encontrado resultados

Manual de Integración POS Intergrado (Último)

N/A
N/A
Protected

Academic year: 2021

Share "Manual de Integración POS Intergrado (Último)"

Copied!
43
0
0

Texto completo

(1)

MANUAL DE DESARROLLO

POS INTEGRADO

(2)

Contenido

CONTROL DE CAMBIOS ... 4 1. OBJETIVO ... 6 2. REQUERIMIENTOS DE HARDWARE ... 6 3. TRANSACCIONES SOPORTADAS... 7 3.1TRANSACCIÓN DE VENTA ... 7

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

(3)

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

(4)

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

(5)

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

(6)

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.

(7)

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.

(8)

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

(9)

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

(10)

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.

(11)

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

(12)

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.

(13)

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.

(14)

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.

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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.

(29)

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

(30)

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

(31)

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.

(32)

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.

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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.

(40)

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.

(41)

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

(42)

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

(43)

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

Referencias

Documento similar