API Referencia
undefined

Host to Host

Protocolo de Comunicación Caja - POS

La comunicación se realiza a través de un puerto serial RS232, a velocidades que van entre los 1200bps hasta 115200bps 8N1 es decir 8 bits de datos, Ningún bit de paridad y 1 bit de parada.

Diagrama de Comunicación Caja - POS

Termino Descripción
<STX> Indica el inicio de un mensaje (texto)
Hex: 0x02
DATOS Corresponde al commando a enviar al POS o la respuesta de este
<ETX> Indica el fin de un mensaje (texto)
Hex: 0x03
LRC Es un byte que se concatena al final del mensaje <ETX> y se calcula realizando la operación XOR byte a byte de <DATOS> + <ETX>
<ACK> Representa la recepción correcta del mensaje enviado
Hex: 0x06
<NAK> Representa la incorrecta recepción del mensaje enviado, o que el LRC del mensaje recibido no corresponde con el enviado.
Hex: 0x15
Timeout1 Es el tiempo de espera de la caja para recibir <ACK>/<NAK> por parte del POS Integrado antes de reintentar el envío del mensaje.
Timeout2 Es el tiempo de espera de el POS para recibir <ACK>/<NAK> por parte de la Caja antes de reintentar el envío del mensaje de respuesta.

Ejemplo de cálculo LRC

Dado el siguiente comando: <STX>0200|123|<ETX>

Que en notación hexadecimal seria: 0x02 0x30 0x32 0x30 0x30 0x7C 0x31 0x32 0x33 0x7C 0x03

Para calcular el LRC debemos omitir el inicio de texto <STX> o 0x02.

La operación entonces sería:

(((((((((0x30 XOR 0x32) XOR 0x30) XOR 0x30) XOR 0x7C) XOR 0x31) XOR 0x32) XOR 0x33) XOR 0x7C) XOR 0x03)

El resultado entonces seria 0x31 en hexadecimal o 1 en ASCII, por lo tanto, el mensaje completo para enviar al POS Integrado es:

<STX>                   DATOS                           <ETX>   LRC
 0x02    0x30 0x32 0x30 0x30 0x7C 0x31 0x32 0x33 0x7C    0x03    0x31

Diagrama de Secuencia Venta

  1. La caja envía el requerimiento y espera como respuesta <ACK>/<NAK>, en caso de que llegue un <NAK>, debe reintentar el envío del requerimiento 2 veces. Si recibe un <ACK> debe esperar la respuesta de la transacción.
  2. El POS solicita los datos al usuario, y envía el 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)
  3. La caja al recibir la respuesta envía un <ACK> si el mensaje está correcto, o un <NAK> para el caso en que el LRC no corresponde.
  4. El POS al recibir el <ACK> vuelve al inicio a esperar un nuevo comando, para el caso que recibe un <NAK> vuelve a enviar la respuesta 2 veces más.

Solicitud de Venta

Diagrama de conexión

Conexión directa entre pinpad y caja

La caja del comercio y el pinpad se conectan a través de un cable de USB o SERIAL:

Conexión entre pinpad y caja

Conexión pinpad bluetooth y caja

La caja del comercio y el pinpad se conectan a través de Bluetooth:

Conexión pinpad bluetooth y caja

Software de apoyo

Hay varios programas en internet para enviar comandos al puerto COM, uno que puede ayudarlo es:
Docklight

Protocolo de mensajería según tipo de comunicación

Seguridad TLS 1.2

SSL (Secure Sockets Layer) o Capa de Conexiones Seguras. Es un protocolo que hace uso de certificados digitales para establecer comunicaciones seguras a través de red. Desde el 2015 ha sido sustituido por TLS (Transport Layer Security) el cual está basado en SSL y son totalmente compatibles.
La comunicación entre el pinpad y la caja no tiene seguridad, pero el comercio debe implementar seguridad interna en su red.

Seguridad en la Red WI-FI del Comercio

En el caso de que la red del Comercio requiera usar conexiones por WI-FI se exige que la red sea una red cifrada *WPA2-PSK (AES).

Recomendaciones se seguridad para una red WI-FI:

  1. Cambiar regularmente la contraseña de red WI-FI
    Al cambiar regularmente la contraseña de red WI-FI evita que terceras personas puedan hacer uso de la red del comercio.
  2. Configurar la red WI-FI como “No visible”
    Al ocultar la red WI-FI se evita que personas externas al comercio puedan encontrar e intentar acceder a la red del comercio.
    Ahora cada vez que se intente conectar un nuevo dispositivo, será necesario colocar primero la *SSID, para posteriormente ingresar la contraseña.
  3. Registrar y restringir las conexiones por MAC
    Al tener habilitadas las conexiones por MAC, se especifica que equipos pueden hacer uso de la red WI-FI, evitando que cualquier otro equipo haga uso de la red del comercio.
  4. Restringir el acceso a la “Configuración del Router” desde WI-FI
    Al restringir el acceso a la configuración del Router desde conexiones WI-FI se evita que desde dispositivos WIFI se pueda acceder a esta configuración y se modifiquen sus parámetros.
  5. Monitorear regularmente las conexiones WI-FI
    Los Router actuales permiten conocer los dispositivos que están conectados a la red WI-FI.
    Es recomendable monitorear para poder evitar algún dispositivo que esté conectado sin autorización.

Protocolo de comunicación

El protocolo que usará el PINPAD es VISA II, sobre el que se enviarán los mensajes de requerimiento y respuesta. Conceptualmente se utiliza el siguiente formato:

Protocolo de comunicación

Donde:

TERMINO DESCRIPCIÓN
INICIO COMANDO Indica el inicio del mensaje (STX).
FIN COMANDO Indica el fin del mensaje (ETX).
SEPARADOR CAMPO Indica el separador de cada campo dentro de los comandos de requerimientos y respuestas. Valor ASCII “|” (valor Hexa 0x7c)
LRC Es un byte que se concatena luego del <FIN COMANDO> y que se calcula realizando un XOR byte a byte del mensajes, el cual consta de: <DATA> + <FIN COMANDO>.
ACK Lo envía el PINPAD o la caja como aviso de recepción OK para todos los comandos (valor Hexa 0x06).
NAK Lo envía el PINPAD o la caja cuando el LRC calculado no corresponde al enviado para todos los comandos (valor Hexa 0x15).
Timeout1 ACK Es el tiempo de espera del ACK o NAK para reintentar el envío del requerimiento por la caja. 10 segundos
Timeout 2 Resp Es el tiempo de espera del ACK o NAK para reintentar el envío de la respuesta por el PINPAD. El tiempo depende de cada comando.
Timeout 3 ACK Es el tiempo de espera del ACK o NAK para reintentar el envío de la respuesta por el PINPAD. 10 segundos
STX Indica un INICIO del mensaje (valor Hexa 0x02).
ETX Indica un FIN del mensaje (valor Hexa 0x03).
DATA CAMPO₀|CAMPO₁|CAMPO₂|…|CAMPOn

Diagrama genérico de secuencia de comandos

El diagrama que se describe corresponde a la generalización del comportamiento de cada uno de los comandos o mensajes enviados entre pinpad y caja.

Secuencia de comandos entre Caja y PINPAD

ACK: cuando se recibió un mensaje válido, se va a procesar y responder con el mensaje o comando correspondiente dentro del timeout definido.
NACK: cuando se recibió un mensaje no válido y no será procesado.

Diagrama muestra la evaluación del comando por parte del pinpad y caja, se recibe un comando se evalúa su estructura, si está ok, se responde ACK, no está conforme a la documentación se responde NACK.

Luego se valida la respuesta al código del comando, si 00 se procesa el comando si es distinto se termina por el código retornado.

Flujo al recibir un comando

Administración ID de Contexto

Al iniciar una transacción el pinpad entrega un ID que debe ser utilizado por la caja en los próximos comandos, si el ID no coincide el pinpad rechazará el comando, a menos que sea el inicio de otra transacción.

Comando/campo donde la caja recibe el ID por parte del pinpad:
0110/Indicador de contexto

Flujo de ejecución de actualización de parámetro pinpad

Asumiendo que la caja tiene conexión con el pinpad, solicita al pinpad una actualización de parámetros de pinpad

Flujo comandos actualización de parámetros pinpad

Ejemplo:

0610|00|0123456789ABCDEF|0523|9.11S4HOST2HOST3DES1 171116113320AO60050000Q0123456789ABCDEFa0010050000+0000000000000000000000+0000000000 000000000000+000000000000000000d597044440001h0010050071r;597044440001=9912?t74 0000000000000000326-478-322 15.30C S0000000000T0000000000W00700000009-A1EL20212223242526272829VI0 6MC0 67DC0 6AX012345OTTP06TR01TE0 TM0
TC12TD12TJ12TH12T812T90 -B01205240-C2100-P000000000000-I0-J0-K000-G33032131100000000 0000000000000000000000000000000000000000000000000000000000000000|
m
0700|496|9.11S4HOST2HOST3DES1 171116113324AO60000007H9EAC32471E58DF4C996725D34FF96F6DI8A2A30A556EBC3E68B496CE2116A F50FM0000000000000000Q0123456789ABCDEFW0071111005g APROBADOh0010050071l0010050000+0000000000000000000000+0000000000000000000000+0000000 00000000000tS4HOST2HOST3DES19-A1EL20212223242526272829VI0 6MC0 67DC0 6AX012345OTTP06TR01TE0 TM0 TC12TD12TJ12TH12T812T90 -B11205243-C0000-G330321311000000000000000200000000000001200 000000000000000000000400000000000002400-P100000800000|

Flujo de venta detallado

Secuencia detallada de comandos de una venta

Diagrama de flujo detallado de comandos de una venta con respuesta con problema

  1. Para el caso de una respuesta del pinpad que esté fuera de lo especificado (tipo de dato erróneo, largo incorrecto, separador incorrecto o faltante, etc.) la caja debe interpretar que la transacción terminó con problema y luego solicitar reversa según el “flujo de ejecución de reversa a solicitud de la caja” detallado a continuación.
    Si se desea reintentar la venta se debe iniciar un nuevo flujo de venta.

Ejemplo de venta:

0100|00|N|N|N|12100|CL|CR||0|0| 0110|00|2017111611350940|01|||||5197||MASTERCARD|MC|N| 4 0200|12100|0||0|0|2017111611350940|00|597044440001|S4HOST2HOST3DES1||||1711161136110 0000000000754||0123456789ABCDEF|||||5197|     v

0210|00|2017111611350940|0737|9.12S4HOST2HOST3DES1 171116113517FO00050000B000000000000012100P1Q0123456789ABCDEFa00000000000000000000000 000NU1711161136110000000000075400000000000000000CL0000000d597044440001e00h0010050081 G3F3308F4S0t74 0000000000000000326-478-322 15.30C 6-E051-I152-O0180152171116B8738FEAC1697887380000669B8C926200000080000015200000001210 00000000000000014A78003040000716800000000000000FF-P0100224403020002 E0F8C826478322RA00000000410109-A1EL20212223242526272829VI0 6MC0 67DC0
6AX012345OTTP06TR01TE0
TC12TD12TJ12TH12T812T90 -B41205240-C2100-P000000000000-I0-J0-K000W0161111005CR 0000- 4F552D8E65F6056E543A481CDD07D2525E2D7347C32D2CA5756F176482684949FD0443BCB1235018CC0C DDC7C0EA41BF|   (
TM0
0500|2017111611350940|513|9.12S4HOST2HOST3DES1 171116113521FO00000005B000000000000012100D4EF600979 BGA1B5296BH0D9C83C5A59B574F7AF35145C606D5D4ID5879B9816C5A304236AB90B081A60A0P1Q01234 56789ABCDEFS0 T0000000000W0161111005CRCMC0000a00000000000003000000000000NU171116113611000000000007 5400000000000000000CL0000000d597044440001e00g APROBADOh0010050081ptS4HOST2HOST3DES16-E051-I1529-A1EL20212223242526272829VI0 6MC0 67DC0 6AX012345OTTP06TR01TE0 TM0 TC12TD12TJ12TH12T812T90 -B11205243-C0000-P100000800000|

0510|00|2017111611350940|597044440001|S4HOST2HOST3DES1|0 |0000|600979 B|12100||00||5197|001005008|CREDITO||************5197|MC|171116|113521||||||||1|1|1| 1|0|05|CR|0|0|0000|SIN CUOTAS|||||||0000|||0000|||0000|||005| APROBADO|N||0|1||001005008|Y|||

Flujo de ejecución de reversa a solicitud de la caja

La caja no tuvo respuesta de algún comando o no tuvo respuesta de un mensaje SPDH en vuelo, por lo tanto no pudo terminar una venta que inicio, luego no sabe si está aprobada o rechazada, en este caso debe solicitar una reversa al pinpad.

Reversa solicitada por la caja

Para el comando 400 se consideran como Reversa Exitosa los siguientes mensajes:

Comando Observación
510|89| Deprecado desde la 18.2x
510|85| Deprecado desde la 18.2x
510|00|...|Cualquier Código respuesta Transbank|… Deprecado desde la 18.2x
510|00|...|Código respuesta Transbank < 010|… Respuesta optimizada en la 18.2x

Ejemplo de reversa:

0400|2019062813081650|
0410|00|2019062813081650|0643|9.07S4CAJAHOST000010 190628130853FT00000000B000000000000650000P1Q0123456789ABCDEFa00000015000000000000000 000NU2019062813091100100100000100000000000000000CL0000000d597044440001e00h0010030051 G3F27A500S0t74 0000000000000000326-018-973 18.21P 6-E071-I152-O0180152190628236E485C1DC23FC81980067116EE3A5C0000008000001520000006500000000000000000110A04001220000000000000000000000FF-P0101221F03020002 00080826018973A00000000410109-A1EL20252627 VI123456MC123456DC AX123456OTTP06TR1 TE0 TM0 TC12TD12TJ12TH12T812T90 -B41205240-C2100-P000000000000-I0-J1-K000-M1W0161111005CR 0000|
0500|2019062813081650|643|9.07S4CAJAHOST000010 190628130853FT00000000B000000000000650000P1Q0123456789ABCDEFa00000015000000000000000 000NU2019062813091100100100000100000000000000000CL0000000d597044440001e00h0010030051 G3F27A500S0t74 0000000000000000326-018-973 18.21P 6-E071-I152-O0180152190628236E485C1DC23FC81980067116EE3A5C00000080000015200000065000 00000000000000110A04001220000000000000000000000FF-P0101221F03020002 00080826018973A00000000410109-A1EL20252627 VI123456MC123456DC AX123456OTTP06TR1 TE0 TM0 TC12TD12TJ12TH12T812T90 -B41205240-C2100-P000000000000-I0-J1-K000-M1W0161111005CR 0000|
0510|00|2019062813081650|597044440001|S4CAJAHOST000010|||265404 B|650000||00||0003|001003005|CREDITO||************0003| |190628|130853||||||||1|1|1|1|0|05|CR|0|0|0000|SIN CUOTAS|||||||0000|||0000|||0000|||000|REVERSA APLICADA|N||0|1||001003005|Y||| X

Con el 510 el pinpad muestra por pantalla “REVERSA APLICADA”.

Descripción de comandos

En este capítulo se detalla cada comando que se puede enviar al PINPAD. Para la comunicación serial es necesario indicar los caracteres de inicio y fin que se envían en cada comando, los que serán indicados por medio de la siguiente nomenclatura:

CARÁCTER DE CONTROL NOMENCLATURA
<STX><DATA><ETX><LRC> STXETX

A fin de mantener el mismo lenguaje en comunicación TCP-IP se mantienen estos caracteres STX, ETX y LRC.

Comandos ventas

Los comandos 0100, 0110, 0200, 0210, 0400, 0410, 0500, 0510 son Igual al Retail Estándar vx805 versión 15.2 para dejarlos en un solo documento se anexan acá:

0100 – 0110 Comando Lectura de tarjeta

En este punto la caja ya tiene construida la venta en su sistema, por lo cual ya cuenta con los datos requeridos para iniciar el proceso de pago con Transbank con el comando 0100.
Desde este punto se debe registrar los datos de la transacción para ir complementando con los siguientes comandos, pues frente a alguna caída los datos están resguardados para solicitar reversa o finalmente imprimir el voucher con la transacción aprobada.

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica el inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 valor ASCII: 0100
valor hexadecimal: 0x30 0x31 0x30 0x30
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Local comercio OnUs 2 Valor Numérico
00 Comercio sin tarjetas propias
01-99 Comercios onus, TBK asigna un numero para lectura de tarjetas propias
00
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Entrega BIN 1 Valor alfanumérico
(Y: Si)
(N: No)
Sirve para conocer el bin de la tarjeta y poder realizar algún descuento a la venta por convenio con el banco
N
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Transacción offline 1 Valor alfanumérico
(Y: Si)
(N: No)
Ya no está permitido su uso
N
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Autoservicio 1 Valor alfanumérico
(Y: Si)
(N: No)
N
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto 18 Valor numérico (máximo)
Monto de Compra (sin propina, sin vuelto)
Monto mínimo $50,00 o US$1,00
Incluye dos decimales.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de moneda 2 Valor alfanumérico
|CL| Pesos chilenos 152
|US| Dólares estadounidenses 840
CL
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo de tarjeta 2 Valor alfanumérico
Indicador del tipo de menú por el cual se realizó la transacción.
|CR|: CRÉDITO
|DB|: DÉBITO - PREPAGO
|NB|: NO BANCARIA
Valor de tipo en Tabla tipo de tarjeta
Una venta hecha como debito puede ser autorizada como prepago
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Lista montos de vuelto 60 Valor numérico (máximo)
Lista de montos de vuelto permitidos, separados por “;” Incluyen dos decimales, siempre se debe enviar las 4 opciones definidas por Transbank.
Campo paramétrico por punto de venta.
Sólo si “Tipo de tarjeta = DB”
500000;
1000000;
2000000;
5000000;
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto vuelto 18 Valor numérico (máximo)
|0|: No muestra menú en pinpad
| | : ø Muestra menú consultando por vuelto
Si |n| > 0 no se muestra menú. El valor debe corresponder a alguno enviado en el campo “Lista de montos de vuelto”
Vuelto solo existe en débito, enviar 0 en crédito
Campo c
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto propina/donación 9 Valor numérico (máximo)
Corresponde al monto propina o donación de la venta o anulación
(incluye dos decimales)

Importante: Si se desea pedir propina al Tarjeta Habiente y que este la confirme, se debe enviar este campo el valor en vacío (Ø )
Para las anulaciones se debe colocar el monto de la propina de la venta a anular, en caso de no tener propina colocar un cero (0).
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Timeout máximo de espera por comando 110 de 35seg, ya que el PinPad espera 30seg a que el cliente opere tarjeta, por lo tanto a los 30 segundas si no se opera tarjeta, devuelve un 110|99.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0110
valor hexadecimal: 0x30 0x31 0x31 0x30
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta PinPad 2 Valor Numérico
En caso de rechazo se debe desplegar en el punto de venta:
RECHAZO PINPAD - <XX> : <GLOSA>
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Formato aaaammddhhmmssmm
Es solo un ID, la fecha y hora en el pinpad puede estar desactualizada.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo de captura 2 Valor numérico
Este campo será utilizado en el futuros
|00| : B - Banda
|01| : E . EMV c/contacto
|02| : C - Contacless
|03| : F - Fallback
|04| : D - Digitada
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
TRACK I 80 Valor alfanumérico (máximo)
Rellenados con blancos (0x20) a la derecha
Si “Local comercio OnUs ≠ 00”
Con pan encriptado se entrega 160 caracteres alfanuméricos que corresponde a 80 HEXA
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
TRACK II 40 Valor alfanumérico (máximo)
Rellenados con blancos (0x20) a la derechaa
Si “Local comercio OnUs ≠ 00”
Con pan encriptado se entrega 80 caracteres alfanuméricos que corresponde a 40 HEXA
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
PAN SHA-1 40 Valor alfanumérico
PAN encriptado con algoritmo SHA-1
Si “Transacción offline = Y”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
BIN 6 Valor Numérico
Si “Entrega BIN = Y” o “Transacción offline = Y”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
4 últimos dígitos 4 Valor Numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre tarjetahabiente 26 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre marca de la tarjeta 20 Valor alfanumérico (máximo)
De acuerdo a Tabla de marcas
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Abreviación de la tarjeta 2 Valor alfanumérico
De acuerdo a Tabla de marcas
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag solicita 4 últimos dígitos 1 Valor alfanumérico
(Y: El punto de venta debe solicitar los 4ud)
(N: El pinpad solicitará el ingreso de PIN)
En caso de anulación no se ingresa pin, tampoco se solicita ingreso de 4ud.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

0200 – 0210 Comando Requerimiento de venta/anulación

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0200
valor hexadecimal: 0x30 0x32 0x30 0x30
0200
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto 18 Valor alfanumérico (máximo)
Monto de Compra (sin propina, sin vuelto)
Monto mínimo $50,00 o US$1,00
Incluye dos decimales
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número Ticket/Boleta 10 Valor alfanumérico
Si comercio no utiliza este campo enviar el campo un cero
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Numero de Cuotas 2 Valor numérico
Obligatorio si “Tipo de transacción = 01”
Si la venta original fue sin cuotas se debe informar el valor 00
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Campo Impresión 1 Valor numérico
Indica si entrega voucher formateado
0: No envía voucher (utiliza comandos 500-510)
1: Envía voucher (utiliza comandos 540-550)
1
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Enviar Mensajes 1 Valor numérico
Indica si el PINPAD debe enviar mensajes de estatus de la transacción
0: No envía mensajes (Valor por defecto)
1: Envía mensajes
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Id entregado por el pinpad por cada transacción
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo de transacción 2 Valor numérico
(00: Venta)
(01: Anulación)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de comercio 12 Valor numérico
Código del comercio entregado por TBK y configurado en la caja.
EJ: 597012345678
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Terminal ID 16 Valor alfanumérico
DDLL o Dirección lógica entregada por TBK y configurada en la caja en tabla de parametros.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto cuotas 9 Valor numérico
Obligatorio si Tipo de transacción = 01. Si la venta original fue sin cuotas se debe informar el valor “0”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Producto 1 Valor numérico
Obligatorio si Tipo de transacción = 01. Corresponde al campo “Tipo cuotas” del comando 0510 de la venta original
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de empleado 6 Valor alfanumérico
Campo sin uso enviar vacío siempre
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número único 26 Valor numérico
Caja debe enviar el número único para imprimir en el voucher tanto en venta como anulación.
Cada comercio puede definir un formato para el numero único, TBK entrega el siguiente
ejemplo: AAAAMMDDHHMMSSLLLCCCXXXXXX
Donde LLL es un número del local
CCC es el número de la caja o punto de venta
XXXXXX es un contador
Campo a
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de dependiente (Empleado) 4 Valor numérico
Campo de Empleado es opcional
Si comercio no lo utiliza enviar el campo vacío
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Índice interno del comercio 16 Valor alfanumérico (máximo)
Campo que puede ser utilizado por el comercio para agregar información que le sirva a sus procesos internos, numero caja, vendedor, ID venta, etc.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de autorización transacción original 8 Valor alfanumérico (máximo)
Código de autorización de la venta original, obligatorio si es una anulación “Tipo de transacción= 01”
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de secuencia transacción original 9 Valor alfanumérico (máximo)
Número de secuencia de la venta original, obligatorio si es una anulación “Tipo de transacción= 01”
También conocido como número de operación
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Fecha transacción original 6 Formato AAMMDD
Fecha de la venta original, obligatorio si es una anulación “Tipo de transacción = 01”
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Hora transacción original 6 Formato HHMMSS
Hora de la venta original, obligatorio si es una anulación “Tipo de transacción = 01”
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
4 últimos dígitos 4 Valor numérico
Si es una anulación “Tipo de transacción = 01”, se debe ingresar los 4ud de la venta original, contra este dato el pinpad comparará con la tarjeta deslizada para anular.
Si “Tipo de transacción = 00” y “Flag solicita 4 últimos dígitos = Y” del comando 0110, se debe ingresar los 4ud de la tarjeta deslizada.
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Timeout máximo de espera por comando 210 de 125seg, ya que hay hasta 4 interacción con el usuario.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0210
valor hexadecimal: 0x30 0x32 0x31 0x30
0210
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta PinPad 2 Valor Numérico
En caso de rechazo se debe desplegar en el punto de venta:
RECHAZO PINPAD - <XX> : <GLOSA>
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 4 Valor alfanumérico
Id entregado por el pinpad por cada transacción
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

0400 – 0410 Comando Requerimiento de reversa

Si se requiere una reversa, la caja rescata el indicador de contexto que ha guardado de su última transacción (independiente del nivel de completitud de la transacción) y solicita al pinpad la reversa. El pinpad puede discriminar si solo se hizo lectura de tarjeta, o solo se hizo una consulta de cuotas, o si la venta está rechazada o aprobada.
Si el pinpad no está presente, debe mantener la reversa pendiente, hasta que el pinpad pueda responder.

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0400
valor hexadecimal: 0x30 0x34 0x30 0x30
0400
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Id de la transacción que se quiere reversar
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Timeout máximo de espera por comando 410 de 20seg y no requiere interacción con tarjetabiente.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0410
valor hexadecimal: 0x30 0x34 0x31 0x30
0410
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta PinPad 2 Valor numérico
En caso de rechazo se debe desplegar en el punto de venta:
RECHAZO PINPAD - <XX> : <GLOSA>
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Id entregado por el pinpad por cada transacción
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

0500 – 0510 Comando Requerimiento de validación/actualización

En este comando 0510 la caja debe validar si la respuesta final (Flag terminal) y si está aprobada (Código respuesta Transbank) para luego imprimir. Si la transacción no es final (Flag terminal) debe renviar el mensaje spdh adjunto, no importa si la transacción está o no aprobada en este caso.

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0500
valor hexadecimal: 0x30 0x35 0x30 0x30
0500
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Id entregado por el pinpad por cada transacción
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Timeout máximo de espera por comando 510 de 125seg, ya que hay hasta 4 interacción con el usuario.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0510
valor hexadecimal: 0x30 0x35 0x31 0x30
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta PinPad 2 Valor numérico
En caso de rechazo se debe desplegar en el punto de venta:
RECHAZO PINPAD - <XX> : <GLOSA>
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Id entregado por el pinpad por cada transacción
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de comercio 12 Valor numérico
Código del comercio entregado por TBK y configurado en la caja, se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Terminal ID 16 Valor alfanumérico
Dirección lógica entregada por TBK y configurada en la caja, se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número Ticket/Boleta 20 Valor alfanumérico
Campo opcional, si viene se imprime en voucher si no viene se omite el campo
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Empleado 4 Valor alfanumérico
Campo opcional, si viene se imprime en voucher si no viene se omite el campo
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código Autorización 8 Valor alfanumérico (máximo)
Código de autorización de la transacción enviado por TBK ejemplo: |AB 12 C3|
Se imprime lo que viene en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto 18 Valor numérico (máximo)
Monto total autorizado (incluye el monto de la venta, propina, vuelto y donación según sea el caso)
Se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto vuelto 18 Valor numérico (máximo)
Vuelto seleccionado por cliente, solo aplica en debito
Se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Numero de Cuotas 2 Valor numérico
Cantidad de cuotas de la transacción (para ventas sin cuotas se informa “00”)
Se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto cuota 14 Valor numérico
Si el monto informado es vacío || o |0| caja debe omitir la línea completa en el voucher.
Se imprime en voucher si viene el campo
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Últimos 4 Dígitos Tarjeta 4 Valor numérico
No se imprime
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número Operación 9 Correlativo de transacción del terminal
También conocido como número de secuencia este campo se debe imprimir en voucher de venta y anulación.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa Tipo de Tarjeta 7 Valor alfanumérico (máximo)
Valor de glosa en Tabla tipo de tarjeta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Fecha Contable 6 Valor alfanumérico
Se utiliza sólo si es transacción de Debito
Caja no debe formatear (ej: DDAAMM), simplemente debe transferir el valor al voucher (XX/XX/XX)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de Cuenta 19 Valor alfanumérico
Número de tarjeta enmascarado para incluir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Abreviación de la tarjeta 2 Valor alfanumérico
Valor a imprimir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Fecha Transacción 6 Formato AAMMDD
Valor a imprimir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Hora Transacción 6 Formato HHMMSS
Valor a imprimir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Campo Impresión 8192 Campo depende si la caja requiere voucher formateado (máximo)
En este comando no se envía el voucher.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Transacción premiada 1 Valor numérico
|1|: transacción premiada
En este caso caja debe imprimir voucher PEL además del de venta
||: transacción sin premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo promoción 1 Valor numérico
|1|: Entrega Pto. de Venta
|2|: Entrega Diferida
|3|: Devolución al Tarjeta Habiente
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código promoción 8 Valor alfanumérico
Valor a imprimir en el voucher premiado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre promoción 21 Valor alfanumérico
Valor a imprimir en el voucher de premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa vale premio 62 Valor alfanumérico
Valor a imprimir en el voucher de premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Texto vale premio 27 Valor alfanumérico
Valor a imprimir en el voucher de premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag permite cuotas 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag de gracia 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag C2C 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag C3C 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag NCuotas 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag máximo de cuotas 2 Valor numérico
Campo informativo de la configuración del comercio
00
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo de menú 2 Valor alfanumérico
Indicador del tipo de menú por el cual se realizó la transacción
|CR| : CRÉDITO
|DB| : DÉBITO PREPAGO
|NB| : NO BANCARIA
Valor de tipo en Tabla tipo de tarjeta
Una venta hecha como debito puede ser autorizada como prepago
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador transacción con gracia 1 Valor numérico
Indicador de modalidad de la transacción
|0| transacción sin mes gracia
|1| transacción con mes gracia
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo cuotas 1 Valor numérico
|0| Sin cuotas
|1| Cuotas normales
|3| C3C o C2C
|4| CIC o N-cuotas
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tasa aplicada 4 Valor numérico
Solo se imprime en voucher si “Flag imprimir tasa = 1”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa tipo cuota 30 Valor alfanumérico
Glosa a imprimir en voucher
Si el campo informado viene vacío “||” caja debe omitir la línea en el voucher.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa tipo cuota 2 22 Valor alfanumérico
Glosa que se despliega en pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa promoción 10 Valor alfanumérico
Glosa que se despliega en pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Id promoción 10 Valor alfanumérico
Glosa que se despliega en pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag imprimir tasa 1 Valor numérico
|| o |0| no imprime tasa aplicada
|1| imprime tasa aplicada
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Periodo diferido 3 Valor numérico
Periodo diferido seleccionado, valor a imprimir en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 1 periodo 3 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 1 valor tasa 4 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 1 valor cuota 14 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 2 periodo 3 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 2 valor tasa 4 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 2 valor cuota 14 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 3 periodo 3 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 3 valor tasa 4 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 3 valor cuota 14 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de secuencia transacción original 9 Valor alfanumérico (máximo)
También conocido como número de operación original de la venta. No se está usando este campo, no se imprime
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código respuesta Transbank 3 Valor numérico
Código de respuesta una vez finalizada la transacción. Se debe desplegar en el punto de venta.
EJ: RESPUESTA TRANSBANK - <XXX> : <GLOSA>
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa respuesta Transbank 48 Valor alfanumérico (máximo)
Glosa que despliega el pinpad una vez finalizada la transacción. Se debe desplegar en el punto de venta.
EJ: RESPUESTA TRANSBANK - <XXX> : <GLOSA>
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag transacción con PIN 1 Valor alfanumérico
Y: Transacción autentificada con PIN
N: Transacción autentificada por firma
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre tarjetahabiente 26 Valor alfanumérico
Sólo imprimir si “Flag tipo voucher = 1, 2 ó 3”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag tipo voucher 1 Valor numérico
Según el número recibido se debe imprimir voucher con o sin firma:
|0| = Sin firma
|1| o |2| o |3| = con firma

Cabeceras de los voucher:
Para ventas con crédito: “VENTA CREDITO”
Para ventas con débito (siempre sin firma): “VENTA DEBITO”
Para ventas con no bancaria: “VENTA NO BANCARIA”
Para ventas con prepago (sin firma): “VENTA PREPAGO”
Para anulaciones con crédito (sin firma):“ANULACION CREDITO”
Para anulaciones con no bancaria (sin firma): “ANULACION NO BANCARIA”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag modalidad cuotas 1 Valor alfanumérico
0: Modalidad 3.1 (No utilizado)
1: Modalidad cuotas 4.0
1
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa transacción afecta a ahorro 40 Valor alfanumérico (máximo)
Se debe imprimir en el voucher cuando sea distinta de vacío
Campo 9, subcampo D
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de secuencia 9 Valor numérico
No se está usando este campo, este no se imprime
También conocido como número de operación
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag mensaje terminal 1 Valor alfanumérico
Y: El mensaje es terminal y NO se debe enviar el mensaje SPDH de respuesta
N: Se debe enviar el mensaje SPDH de respuesta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH Venta/Reversa 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

0520 – 0530 Comando Requerimiento de validación/actualización

Solo para pinpad wifi retail estándar.

0540 – 0550 Comando Requerimiento de validación/actualización

En este comando 0540 la caja debe validar si la respuesta final (Flag terminal) y si está aprobada (Código respuesta Transbank) para luego imprimir. Si la transacción no es final (Flag terminal) debe renviar el mensaje spdh adjunto, no importa si la transacción está o no aprobada en este caso.
Entrega un voucher formateado para impresión y además soporta tarjetas de Prepago.

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0540
valor hexadecimal: 0x30 0x35 0x34 0x30
0540
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Id entregado por el pinpad por cada transacción
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor Numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre Comercio 40 Valor alfanumérico
Campo paramétrico en caja enviado al pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Dirección Comercio 40 Valor alfanumérico
Campo paramétrico en caja enviado al pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Comuna Comercio 40 Valor alfanumérico
Campo paramétrico en caja enviado al pinpad
Puede ser comuna o ciudad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Timeout maximo de espera por comando 540 de 125seg, ya que hay hasta 4 interacción con el usuario.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0550
valor hexadecimal: 0x30 0x35 0x31 0x30
0550
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta PinPad 2 Valor Numérico
En caso de rechazo se debe desplegar en el punto de venta:
RECHAZO PINPAD - <XX> : <GLOSA>
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Id entregado por el pinpad por cada transacción
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de comercio 12 Valor numérico
Código del comercio entregado por TBK y configurado en la caja, se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Terminal ID 16 Valor alfanumérico
Dirección lógica entregada por TBK y configurada en la caja, se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número Ticket/Boleta 20 Valor alfanumérico
Campo opcional, si viene se imprime en voucher si no viene se omite el campo
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Empleado 4 Valor alfanumérico
Campo opcional, si viene se imprime en voucher si no viene se omite el campo
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código Autorización 8 Valor alfanumérico (máximo)
Código de autorización de la transacción enviado por TBK ejemplo: |AB 12 C3|
Se imprime lo que viene en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto 18 Valor numérico (máximo)
Monto total autorizado (incluye el monto de la venta, propina, vuelto y donación según sea el caso)
Se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto vuelto 18 Valor numérico (máximo)
Vuelto seleccionado por cliente, solo aplica en debito
Se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Numero de Cuotas 2 Valor numérico
Cantidad de cuotas de la transacción (para ventas sin cuotas se informa “00”)
Se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto cuota 14 Valor numérico
Si el monto informado es vacío || o |0| caja debe omitir la línea completa en el voucher.
Se imprime en voucher si viene el campo
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Últimos 4 Dígitos Tarjeta 4 Valor numérico
No se imprime
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número Operación 9 Correlativo de transacción del terminal
También conocido como número de secuencia este campo se debe imprimir en voucher de venta y anulación.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa Tipo de Tarjeta 7 Valor alfanumérico (máximo)
Valor de glosa en Tabla tipo de tarjeta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Fecha Contable 6 Valor alfanumérico
Se utiliza sólo si es transacción de Debito
Caja no debe formatear (ej: DDAAMM), simplemente debe transferir el valor al voucher (XX/XX/XX)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de Cuenta 19 Valor alfanumérico
Número de tarjeta enmascarado para incluir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Abreviación de la tarjeta 2 Valor alfanumérico
Valor a imprimir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Fecha Transacción 6 Formato AAMMDD
Valor a imprimir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Hora Transacción 6 Formato HHMMSS
Valor a imprimir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Campo Impresión 8192 Campo depende si la caja requiere voucher formateado (máximo)
Se envía voucher siempre
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Transacción premiada 1 Valor numérico
|1|: transacción premiada
En este caso caja debe imprimir voucher PEL además del de venta
||: transacción sin premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo promoción 1 Valor numérico
|1|: Entrega Pto. de Venta
|2|: Entrega Diferida
|3|: Devolución al Tarjeta Habiente
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código promoción 8 Valor alfanumérico
Valor a imprimir en el voucher premiado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre promoción 21 Valor alfanumérico
Valor a imprimir en el voucher de premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa vale premio 62 Valor alfanumérico
Valor a imprimir en el voucher de premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Texto vale premio 27 Valor alfanumérico
Valor a imprimir en el voucher de premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag permite cuotas 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag de gracia 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag C2C 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag C3C 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag NCuotas 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag máximo de cuotas 2 Valor numérico
Campo informativo de la configuración del comercio
00
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo de menú 2 Valor alfanumérico
Indicador del tipo de menú por el cual se realizó la transacción
|CR| : CRÉDITO
|DB| : DÉBITO PREPAGO
|NB| : NO BANCARIA
Valor de tipo en Tabla tipo de tarjeta
Una venta hecha como debito puede ser autorizada como prepago
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador transacción con gracia 1 Valor numérico
Indicador de modalidad de la transacción
|0| transacción sin mes gracia
|1| transacción con mes gracia
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo cuotas 1 Valor numérico
|0| Sin cuotas
|1| Cuotas normales
|3| C3C o C2C
|4| CIC o N-cuotas
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tasa aplicada 4 Valor numérico
Solo se imprime en voucher si “Flag imprimir tasa = 1”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa tipo cuota 30 Valor alfanumérico
Glosa a imprimir en voucher
Si el campo informado viene vacío “||” caja debe omitir la línea en el voucher.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa tipo cuota 2 22 Valor alfanumérico
Glosa que se despliega en pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa promoción 10 Valor alfanumérico
Glosa que se despliega en pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Id promoción 10 Valor alfanumérico
Glosa que se despliega en pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag imprimir tasa 1 Valor numérico
|| o |0| no imprime tasa aplicada
|1| imprime tasa aplicada
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Periodo diferido 3 Valor numérico
Periodo diferido seleccionado, valor a imprimir en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 1 periodo 3 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 1 valor tasa 4 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 1 valor cuota 14 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 2 periodo 3 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 2 valor tasa 4 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 2 valor cuota 14 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 3 periodo 3 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 3 valor tasa 4 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 3 valor cuota 14 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de secuencia transacción original 9 Valor alfanumérico (máximo)
También conocido como número de operación original de la venta. No se está usando este campo, no se imprime
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código respuesta Transbank 3 Valor numérico
Código de respuesta una vez finalizada la transacción. Se debe desplegar en el punto de venta.
EJ: RESPUESTA TRANSBANK - <XXX> : <GLOSA>
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa respuesta Transbank 48 Valor alfanumérico (máximo)
Glosa que despliega el pinpad una vez finalizada la transacción. Se debe desplegar en el punto de venta.
EJ: RESPUESTA TRANSBANK - <XXX> : <GLOSA>
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag transacción con PIN 1 Valor alfanumérico
Y: Transacción autentificada con PIN
N: Transacción autentificada por firma
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre tarjetahabiente 26 Valor alfanumérico
Sólo imprimir si “Flag tipo voucher = 1, 2 ó 3”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag tipo voucher 1 Valor numérico
Según el número recibido se debe imprimir voucher con o sin firma:
|0| = Sin firma
|1| o |2| o |3| = con firma

Cabeceras de los voucher:
Para ventas con crédito: “VENTA CREDITO”
Para ventas con débito (siempre sin firma): “VENTA DEBITO”
Para ventas con no bancaria: “VENTA NO BANCARIA”
Para ventas con prepago (sin firma): “VENTA PREPAGO”
Para anulaciones con crédito (sin firma):“ANULACION CREDITO”
Para anulaciones con no bancaria (sin firma): “ANULACION NO BANCARIA”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag modalidad cuotas 1 Valor alfanumérico
0: Modalidad 3.1 (No utilizado)
1: Modalidad cuotas 4.0
1
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa transacción afecta a ahorro 40 Valor alfanumérico (máximo)
Se debe imprimir en el voucher cuando sea distinta de vacío
Campo 9, subcampo D
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de secuencia 9 Valor numérico
No se está usando este campo, este no se imprime
También conocido como número de operación
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag mensaje terminal 1 Valor alfanumérico
Y: El mensaje es terminal y NO se debe enviar el mensaje SPDH de respuesta
N: Se debe enviar el mensaje SPDH de respuesta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH Venta/Reversa 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Propina 18 Valor numérico
Monto Propina o Donación
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Voucher de Rechazo 1024 Valor numérico
Cuando transacción es declinada por EMV se debe imprimir un voucher especial.
Si este campo viene vacío no se imprime, si viene con dato se imprime
Este voucher se imprime solo, sin voucher de venta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Voucher de PEL 1024 Valor alfanumérico
Voucher de PEL si viene la caja debe imprimirlo, solo una vez junto al voucher de venta
No se debe imprimir en duplicado
Este voucher se imprime junto al de venta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
LABEL - EMV 32 Valor alfanumérico
Si el campo viene con datos caja debe incluirlo en el voucher en la posición indicada
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
RID - EMV 32 Valor alfanumérico
Si el campo viene con datos caja debe incluirlo en el voucher en la posición indicada
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Modelo pinpad 6 Valor numérico
Caja debe incluirlo en el voucher ejemplo: VX805
Campo obligatorio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Versión de pinpad 6 Valor numérico
Caja debe incluirlo en el voucher ejemplo: 12.34A
Campo obligatorio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Saldo Prepago 40 Valor alfanumérico (máximo)
Indica el saldo de una tarjeta de prepago la cual se debe imprimir en voucher cuando es venta de prepago y cuando viene el saldo.
Nota: El Pinpad agrega esa glosa al voucher tal como viene en la mensajería.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

0560 – 0570 Comando Requerimiento de validación/actualización

Solo para pinpad wifi retail estándar

0580 – 0590 Comando Requerimiento con capacidad Surcharge

En este comando 0580 la caja debe validar si la respuesta final (Flag terminal) y si está aprobada (Código respuesta Transbank) para luego imprimir. Si la transacción no es final (Flag terminal) debe renviar el mensaje SPDH adjunto, no importa si la transacción está o no aprobada en este caso. Entrega un voucher formateado para impresión. Además, soporta tarjetas de Prepago y Surcharge.

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0580
valor hexadecimal: 0x30 0x35 0x38 0x30
0580
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Id entregado por el pinpad por cada transacción
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor Numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre Comercio 40 Valor alfanumérico
Campo paramétrico en caja enviado al pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Dirección Comercio 40 Valor alfanumérico
Campo paramétrico en caja enviado al pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Comuna Comercio 40 Valor alfanumérico
Campo paramétrico en caja enviado al pinpad
Puede ser comuna o ciudad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Timeout máximo de espera por comando 540 de 125seg, ya que hay hasta 4 interacción con el usuario.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0590
valor hexadecimal: 0x30 0x35 0x39 0x30
0590
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta PinPad 2 Valor Numérico
En caso de rechazo se debe desplegar en el punto de venta:
RECHAZO PINPAD - <XX> : <GLOSA>
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Id entregado por el pinpad por cada transacción
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de comercio 12 Valor numérico
Código del comercio entregado por TBK y configurado en la caja, se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Terminal ID 16 Valor alfanumérico
Dirección lógica entregada por TBK y configurada en la caja, se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número Ticket/Boleta 20 Valor alfanumérico
Campo opcional, si viene se imprime en voucher si no viene se omite el campo
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Empleado 4 Valor alfanumérico
Campo opcional, si viene se imprime en voucher si no viene se omite el campo
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código Autorización 8 Valor alfanumérico (máximo)
Código de autorización de la transacción enviado por TBK ejemplo: |AB 12 C3|
Se imprime lo que viene en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto 18 Valor numérico (máximo)
Monto total autorizado (incluye el monto de la venta, propina, vuelto y donación según sea el caso)
Se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto vuelto 18 Valor numérico (máximo)
Vuelto seleccionado por cliente, solo aplica en debito
Se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Numero de Cuotas 2 Valor numérico
Cantidad de cuotas de la transacción (para ventas sin cuotas se informa “00”)
Se imprime en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto cuota 14 Valor numérico
Si el monto informado es vacío || o |0| caja debe omitir la línea completa en el voucher.
Se imprime en voucher si viene el campo
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Últimos 4 Dígitos Tarjeta 4 Valor numérico
No se imprime
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número Operación 9 Correlativo de transacción del terminal
También conocido como número de secuencia este campo se debe imprimir en voucher de venta y anulación.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa Tipo de Tarjeta 7 Valor alfanumérico (máximo)
Valor de glosa en Tabla tipo de tarjeta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Fecha Contable 6 Valor alfanumérico
Se utiliza sólo si es transacción de Debito
Caja no debe formatear (ej: DDAAMM), simplemente debe transferir el valor al voucher (XX/XX/XX)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de Cuenta 19 Valor alfanumérico
Número de tarjeta enmascarado para incluir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Abreviación de la tarjeta 2 Valor alfanumérico
Valor a imprimir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Fecha Transacción 6 Formato AAMMDD
Valor a imprimir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Hora Transacción 6 Formato HHMMSS
Valor a imprimir en el voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Campo Impresión 8192 Campo depende si la caja requiere voucher formateado (máximo)
Se envía voucher siempre
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Transacción premiada 1 Valor numérico
|1|: transacción premiada
En este caso caja debe imprimir voucher PEL además del de venta
||: transacción sin premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo promoción 1 Valor numérico
|1|: Entrega Pto. de Venta
|2|: Entrega Diferida
|3|: Devolución al Tarjeta Habiente
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código promoción 8 Valor alfanumérico
Valor a imprimir en el voucher premiado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre promoción 21 Valor alfanumérico
Valor a imprimir en el voucher de premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa vale premio 62 Valor alfanumérico
Valor a imprimir en el voucher de premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Texto vale premio 27 Valor alfanumérico
Valor a imprimir en el voucher de premio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag permite cuotas 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag de gracia 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag C2C 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag C3C 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag NCuotas 1 Valor numérico
Campo informativo de la configuración del comercio
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag máximo de cuotas 2 Valor numérico
Campo informativo de la configuración del comercio
00
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo de menú 2 Valor alfanumérico
Indicador del tipo de menú por el cual se realizó la transacción
|CR| : CRÉDITO
|DB| : DÉBITO PREPAGO
|NB| : NO BANCARIA
Valor de tipo en Tabla tipo de tarjeta
Una venta hecha como debito puede ser autorizada como prepago
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador transacción con gracia 1 Valor numérico
Indicador de modalidad de la transacción
|0| transacción sin mes gracia
|1| transacción con mes gracia
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo cuotas 1 Valor numérico
|0| Sin cuotas
|1| Cuotas normales
|3| C3C o C2C
|4| CIC o N-cuotas
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tasa aplicada 4 Valor numérico
Solo se imprime en voucher si “Flag imprimir tasa = 1”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa tipo cuota 30 Valor alfanumérico
Glosa a imprimir en voucher
Si el campo informado viene vacío “||” caja debe omitir la línea en el voucher.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa tipo cuota 2 22 Valor alfanumérico
Glosa que se despliega en pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa promoción 10 Valor alfanumérico
Glosa que se despliega en pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Id promoción 10 Valor alfanumérico
Glosa que se despliega en pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag imprimir tasa 1 Valor numérico
|| o |0| no imprime tasa aplicada
|1| imprime tasa aplicada
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Periodo diferido 3 Valor numérico
Periodo diferido seleccionado, valor a imprimir en voucher
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 1 periodo 3 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 1 valor tasa 4 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 1 valor cuota 14 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 2 periodo 3 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 2 valor tasa 4 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 2 valor cuota 14 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 3 periodo 3 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 3 valor tasa 4 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Diferido 3 valor cuota 14 Valor numérico
No utilizado
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de secuencia transacción original 9 Valor alfanumérico (máximo)
También conocido como número de operación original de la venta. No se está usando este campo, no se imprime
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código respuesta Transbank 3 Valor numérico
Código de respuesta una vez finalizada la transacción. Se debe desplegar en el punto de venta.
EJ: RESPUESTA TRANSBANK - <XXX> : <GLOSA>
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa respuesta Transbank 48 Valor alfanumérico (máximo)
Glosa que despliega el pinpad una vez finalizada la transacción. Se debe desplegar en el punto de venta.
EJ: RESPUESTA TRANSBANK - <XXX> : <GLOSA>
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag transacción con PIN 1 Valor alfanumérico
Y: Transacción autentificada con PIN
N: Transacción autentificada por firma
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre tarjetahabiente 26 Valor alfanumérico
Sólo imprimir si “Flag tipo voucher = 1, 2 ó 3”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag tipo voucher 1 Valor numérico
Según el número recibido se debe imprimir voucher con o sin firma:
|0| = Sin firma
|1| o |2| o |3| = con firma

Cabeceras de los voucher:
Para ventas con crédito: “VENTA CREDITO”
Para ventas con débito (siempre sin firma): “VENTA DEBITO”
Para ventas con no bancaria: “VENTA NO BANCARIA”
Para ventas con prepago (sin firma): “VENTA PREPAGO”
Para anulaciones con crédito (sin firma):“ANULACION CREDITO”
Para anulaciones con no bancaria (sin firma): “ANULACION NO BANCARIA”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag modalidad cuotas 1 Valor alfanumérico
0: Modalidad 3.1 (No utilizado)
1: Modalidad cuotas 4.0
1
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa transacción afecta a ahorro 40 Valor alfanumérico (máximo)
Se debe imprimir en el voucher cuando sea distinta de vacío
Campo 9, subcampo D
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Número de secuencia 9 Valor numérico
No se está usando este campo, este no se imprime
También conocido como número de operación
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag mensaje terminal 1 Valor alfanumérico
Y: El mensaje es terminal y NO se debe enviar el mensaje SPDH de respuesta
N: Se debe enviar el mensaje SPDH de respuesta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH Venta/Reversa 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Propina 18 Valor numérico
Monto Propina o Donación
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Voucher de Rechazo 1024 Valor numérico
Cuando transacción es declinada por EMV se debe imprimir un voucher especial.
Si este campo viene vacío no se imprime, si viene con dato se imprime
Este voucher se imprime solo, sin voucher de venta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Voucher de PEL 1024 Valor alfanumérico
Voucher de PEL si viene la caja debe imprimirlo, solo una vez junto al voucher de venta
No se debe imprimir en duplicado
Este voucher se imprime junto al de venta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
LABEL - EMV 32 Valor alfanumérico
Si el campo viene con datos caja debe incluirlo en el voucher en la posición indicada
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
RID - EMV 32 Valor alfanumérico
Si el campo viene con datos caja debe incluirlo en el voucher en la posición indicada
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Modelo pinpad 6 Valor numérico
Caja debe incluirlo en el voucher ejemplo: VX805
Campo obligatorio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Versión de pinpad 6 Valor numérico
Caja debe incluirlo en el voucher ejemplo: 12.34A
Campo obligatorio
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Saldo Prepago 40 Valor alfanumérico (máximo)
Indica el saldo de una tarjeta de prepago la cual se debe imprimir en voucher cuando es venta de prepago y cuando viene el saldo.
Nota: El Pinpad agrega esa glosa al voucher tal como viene en la mensajería.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto Surcharge 12 Valor numérico
Monto asociado a Surcharge. Incluye 2 decimales.
Si el monto informado es vacío || o |0| caja debe omitir la línea completa en el voucher.
Se imprime en voucher si viene el campo.
Para realizar posteriores anulaciones, este campo se debe sumar al monto total de la venta.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Surcharge Idioma 2 Valor alfanumérico
Se informa el idioma en que será emitido el voucher.
ES: Español
EN: Ingles
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Comandos actualización parámetros pinpad (cierre batch)

0600 - Solicitud comando actualización parámetros pinpad

El cierre batch es una transacción que sirve para cargar parámetros en el pinpad conforme a lo configurado en Transbank para el comercio (ej: código de servicio) Este cierre se debe ejecutar al iniciar el día, idealmente en forma automática. También puede ejecutarse en forma manual, y esto además sirve para verificar si hay comunicación con Transbank, el resultado debe ser una transacción aprobada que figura en pantalla de pinpad y en caja.

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0600
valor hexadecimal: 0x30 0x36 0x30 0x30
0600
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de comercio 12 Valor numérico
Código del comercio entregado por TBK y configurado en la caja.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Terminal ID 16 Valor alfanumérico
Dirección lógica entregada por TBK y configurada en la caja.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Índice interno del comercio 16 Valor alfanumérico (máximo)
Campo que puede ser utilizado por el comercio para agregar información que le sirva a sus procesos internos.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Timeout máximo de espera por comando 610 de 20seg, no requiere interacción con tarjetabiente.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0610
valor hexadecimal: 0x30 0x36 0x31 0x30
0610
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta 2 Valor Numérico
En caso de rechazo se debe desplegar en el punto de venta:
RECHAZO PINPAD - <XX> : <GLOSA>
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Índice interno del comercio 16 Valor alfanumérico (máximo)
Campo que puede ser utilizado por el comercio para agregar información que le sirva a sus procesos internos.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH Cierre batch 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

0700 - Validación comando actualización parámetros pinpad

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0700
valor hexadecimal: 0x30 0x37 0x30 0x30
0700
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Largo mensaje 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Mensaje SPDH Cierre batch 2048 Valor alfanumérico (máximo)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Timeout máximo de espera por comando 710 de 20seg, no requiere interacción con tarjetabiente.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0710
valor hexadecimal: 0x30 0x37 0x31 0x30
0710
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta 2 Valor Numérico
En caso de rechazo se debe desplegar en el punto de venta:
RECHAZO PINPAD - <XX> : <GLOSA>
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código respuesta Transbank 3 Valor Numérico
Código de respuesta de TBK. Se debe desplegar en el punto de venta.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa respuesta Transbank 48 Valor alfanumérico (máximo)
Glosa que despliega el pinpad una vez finalizada la transacción. Se debe desplegar en el punto de venta.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Cantidad transacciones venta 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto transacciones venta 18 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Cantidad transacciones anulación 4 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto transacciones anulación 18 Valor numérico
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Comandos de Ventas ONUS

0800 – 0810 Solicitud venta ONUS

Solo para retail con tarjetas propias

0900 – 0910 Validación venta ONUS

Solo para retail con tarjetas propias

ADMN - Comandos administrativos

Estos comandos por el momento solo están habilitados para los terminales autoservicio con equipos Verifone ux300, ux100, ux400. A continuación se describen los comandos administrativos, los cuales tienen campos mandatorios y otros no:
X = Obligatorio
O = Opcional
Z = en desuso

Eco CAJA - PINPAD

Comando enviado desde la Caja hacia el pinpad para verificar que el pinpad se encuentra conectado y disponible, debe ser enviando en un tiempo configurable en la caja por ejemplo cada 5 minutos. Este comando también sirve para establecer la conexión entre pinpad y caja. El pinpad abre un socket de conexión el cual no se cierra habitualmente, pero ante una nueva solicitud cierra el socket anterior y abre otro.

Requerimiento

DATO LARGO COMENTARIO REQUERIDO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
X STX
Comando 4 Valor: ADMN X ADMN
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Tipo comando 2 Formato numérico
01: eco conexión pinpad
02: reiniciar pinpad
03: actualización de parámetros pinpad
X 01
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Fecha 8 Fecha actual configurada en caja (AAAAMMDD) 20171231 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Hora 6 Hora en formato 24hr (HHMMSS) 246060 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Version de caja 16 Identifica la versión del punto de venta del comercio
EJ: NEWPOS 123.456
X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Identificador de caja 16 Identifica al punto de venta del comercio
EJ: sucursal 123 caja 456
X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
X STX
<LRC> 1 Byte resultado de la operación XOR del mensaje X STX

Respuesta

DATO LARGO COMENTARIO REQUERIDO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
X STX
Comando 4 Valor: ADMN X ADMN
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Respuesta comando 2 Valor Numérico
Código de respuesta al comando, de acuerdo a Tabla de códigos de respuesta de comandos
X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Identificador PinPad 20 Valor alfanumérico Marca modelo pinpad
EJ: VERIFONE UX300
X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Versión PinPad 20 Valor alfanumérico
Versión de aplicativo cargado en pinpad
ej: 15.20A TBK20171231
X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Número Serie PinPad 20 Valor alfanumérico
Número de serie del PINPAD
EJ: 123-123-123-123
X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Identificador de caja 16 Identifica al punto de venta del comercio
EJ: sucursal 123 caja 456
X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Fecha 8 Fecha actual configurada en caja (AAAAMMDD) 20171231 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Hora 6 Hora en formato 24hr (HHMMSS) 246060 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
X STX
<LRC> 1 Byte resultado de la operación XOR del mensaje X STX

Reiniciar Pinpad (Caja - Pinpad)

Comando con el cual la caja solicita al pinpad que se reinicie, pinpad responde ok y reinicia. Este comando puede ser enviado por ejemplo todos los días a las 4:00AM no debe ser enviado al iniciar la caja o punto de venta del comercio ya que en ese instante se debe enviar la actualización de parámetros del pinpad o (cierre batch).

Requerimiento

DATO LARGO COMENTARIO REQUERIDO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
X STX
Comando 4 Valor: ADMN X ADMN
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Tipo comando 2 Formato numérico
01: eco conexión pinpad
02: reiniciar pinpad
03: actualización de parámetros pinpad
X 02
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Fecha 8 Fecha actual configurada en caja (AAAAMMDD) 20171231 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Hora 6 Hora en formato 24hr (HHMMSS) 246060 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
X STX
<LRC> 1 Byte resultado de la operación XOR del mensaje X STX

Respuesta

DATO LARGO COMENTARIO REQUERIDO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
X STX
Comando 4 Valor: ADMN X ADMN
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Respuesta comando 2 Valor Numérico
Código de respuesta al comando, de acuerdo a Tabla de códigos de respuesta de comandos
X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Fecha 8 Fecha actual configurada en caja (AAAAMMDD) 20171231 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Hora 6 Hora en formato 24hr (HHMMSS) 246060 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
X STX
<LRC> 1 Byte resultado de la operación XOR del mensaje X STX

Actualización parámetros de Pinpad (Pinpad - Caja)

Comando con el cual el pinpad solicita a la caja gatillar una actualización de parámetros o cierre batch, mediante el flujo habitual (comandos 600-700), caja inicia el flujo estándar 600, 610, 700, 710.

Requerimiento

DATO LARGO COMENTARIO REQUERIDO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
X STX
Comando 4 Valor: ADMN X ADMN
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Tipo comando 2 Formato numérico
01: eco conexión pinpad
02: reiniciar pinpad
03: actualización de parámetros pinpad
X 03
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Fecha 8 Fecha actual configurada en caja (AAAAMMDD) 20171231 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Hora 6 Hora en formato 24hr (HHMMSS) 246060 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
X STX
<LRC> 1 Byte resultado de la operación XOR del mensaje X STX

Respuesta

DATO LARGO COMENTARIO REQUERIDO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
X STX
Comando 4 Valor: ADMN X ADMN
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Respuesta comando 2 Valor Numérico
Código de respuesta al comando, de acuerdo a Tabla de códigos de respuesta de comandos
X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Fecha 8 Fecha actual configurada en caja (AAAAMMDD) 20171231 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
Hora 6 Hora en formato 24hr (HHMMSS) 246060 X
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
X |
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
X STX
<LRC> 1 Byte resultado de la operación XOR del mensaje X STX

1600 – 1610 Comando Lectura de Código de Barras

Importante: Los códigos de barra soportados por el pinpad e355 son: CODE39, CODE128, EAN y UPC. *Solo para el modelo que tiene lector de código de barras Verifone e355.

Comando para iniciar la captura de código de barra desde el Pinpad modelo E355.

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 1600
valor hexadecimal: 0x31 0x36 0x30 0x30
1600
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Timeout Comando 2 Valor numérico
01-99 Tiempo en segundos, para mantener la lectura de código de barra en el pinpad.
20
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Línea de Display 1 21 Valor alfaumérico
Primera línea de mensaje a Desplegar en el Pinpad para indicar el inicio de Lectura de Código de Barra.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Línea de Display 2 21 Valor alfaumérico
Segunda línea de mensaje a Desplegar en el Pinpad para indicar el inicio de Lectura de Código de Barra.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Timeout máximo de espera por comando 1610 es el configurado en la solicitud (1600), si se cumple este tiempo el Pinpad devuelve un 1610|99.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 1610
valor hexadecimal: 0x31 0x36 0x31 0x30
1610
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta 2 Valor Numérico
En caso de rechazo se debe desplegar en el punto de venta:
RECHAZO PINPAD - <XX> : <GLOSA>
De acuerdo a Tabla de códigos de respuesta de comandos
00
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de Barra 150 0 Valor alfanumérico largo variable
Código de barra capturado por el pinpad
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje

Anexos

Tabla de Marcas

NOMBRE MARCA DE TARJETA ABREVIACIÓN DE TARJETA
VISA VI
MASTERCARD MC
DINERS DC
AMEX AX
DISCOVER DS
MAGNA MG
PRESTO TP
MAS (cencosud) TM
CMR TC
RIPLEY TR
MAESTRO MT
ELECTRON EL
DEBITO DB
PREPAGO PP

Tabla de tipo de tarjeta

CÓDIGO TIPO DE TARJETA GLOSA TIPO DE TARJETA
CR CREDITO
DB DEBITO - PREPAGO
NB NO BANCARIA
Null (vacío) Se despliega Menú en PINPAD.

Tabla de códigos de respuesta de pinpad a los comandos

Estos códigos de respuesta a los comandos enviado al pinpad, solo en caso de rechazo (distinto a 00), se deben desplegar en pantalla del punto de venta del comercio, en caso de problemas ayudan a identificar la causa.

CÓDIGO DE RESPUESTA GLOSA
00 RESPUESTA OK
-- POR DEFINIR (CONSIDERAR COMO SI FUERA 99)
81 TIMEOUT POR MENOS DE 30 SEGUNDOS*
82 COMANDO NO VÁLIDO
83 NO EXISTE CÓDIGO DE MENSAJE
84 TARJETA NO SOPORTADA
85 REVERSA APLICADA
86 ERROR DE LECTURA
87 PINPAD SIN MASTER KEY
88 TARJETA NO PERMITE VENTA ONUS
89 TRANSACCIÓN DECLINADA POR LA TARJETA CHIP
90 TARJETA NO PERMITIDA PARA EL MODO SELECCIONADO
91 ERROR CANTIDAD DE CUOTAS
92 NO COINCIDE CON TARJETA DE PRIMER “TAPEO”
93 ERROR DE MONTO MÍNIMO
94 ERROR DE VALIDACIÓN MONTO VUELTO
95 ERROR ID DE CONTEXTO
96 NO COINCIDE LOS 4 ULTIMOS DIGITOS
97 LA TRANSACCIÓN NO PERMITE REVERSA
98 ERROR DE FORMATO DEL MENSAJE
99 CANCELACIÓN POR LA TECLA [CANCEL] / TIMEOUT

*Valido para la versión del aplicativo configurado para Bencineras.

Algunos códigos de respuesta de los autorizadores

Estos son solo algunos de los códigos de respuestas de los autorizadores sean aprobadas o rechazadas, hay muchos más pero estos son los más comunes.
Al recibir respuesta de la transacción sea aprobada o rechazada, se debe desplegar los 3 dígitos y la glosa entregada en la pantalla del punto de venta del comercio, en caso de problemas ayudan a identificar la causa, sin tener que estar buscando log de la caja:

CÓDIGO DE RESPUESTA GLOSA
000 - 009 APROBADO
050 RECHAZO GENERAL DEL BANCO
056 PRODUCTO NO SOPORTADO
064 REINTENTE
066 PRODUCTO NO SOPORTADO
076 FONDOS INSUFICIENTES
082 EXCEDE MAXIMO
083 EXCEDE MAXIMO
085 FONDOS INSUFICIENTES
087 EXCEDE MAXIMO
095 EXCEDE MAXIMO
105 PRODUCTO NO SOPORTADO
106 EXCEDE MAXIMO
107 EXCEDE MAXIMO
109 EXCEDE MAXIMO
110 REINTENTE
112 EXCEDE MAXIMO
150 ERROR EN EL CÓDIGO DE COMERCIO O EN LA CAJA O EN EL AMBIENTE TBK
201 CLAVE INVALIDA
202 EXCEDE MAXIMO
215 EXCEDE MAXIMO
217 REINTENTE
218 REINTENTE
219 MENU INVALIDO
251 PRODUCTO NO SOPORTADO
820 ERROR EN LA DDLL O EN LA CAJA O EN AMBIENTE TBK
908 EXCEDE MAXIMO
950 COMERCIO MAL CONFIGURADO EN TBK
964 REINTENTE
999 RECHAZADO

ANEXO ONUS

Protocolo de mensajería según tipo de comunicación

Protocolo de comunicación serial (Interface RS232)

IDÉNTICO AL ESTÁNDAR

Diagrama genérico de secuencia de comandos

IDÉNTICO AL ESTÁNDAR

Flujo de venta detallado

NO APLICA

Manejo de contexto

Manejo de contexto

Descripción de comandos

En este capítulo se detalla cada comando que se puede enviar al PINPAD.

Para la comunicación serial es necesario indicar los caracteres de inicio y fin que se envían en cada comando, los que serán indicados por medio de la siguiente nomenclatura:

CARÁCTER DE CONTROL NOMENCLATURA
<STX><DATA><ETX><LRC> STXETX

A fin de mantener el mismo lenguaje en comunicación TCP-IP se mantienen estos caracteres STX, ETX y LRC.

Flujo comandos ONUS

Flujo comandos Onus

La caja del comercio podría usar el comando 800 más de una vez incorporando el indicado de contexto, por ejemplo en la primera solo lee tarjeta, en la segunda solicita confirmar monto, en la tercera solicita pin. Lo ideal es que utilice un solo comando 800 para solicitar todo, leer tarjeta, confirmar monto y pedir pin.

0800 - Comando requerimiento venta/anulación

Con este comando la caja solicita al pinpad leer una tarjeta, confirmar monto y pedir pin. La caja pude hacer una solicitud con todos los requerimientos o varias solicitudes por separado.

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0800 (Obligatorio)
valor hexadecimal: 0x30 0x38 0x30 0x30
0800
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto comando 16 Valor alfanumérico (opcional)
Formato aaaammddhhmmssmm
Es solo un ID, la fecha y hora en el pinpad puede estar desactualizada
Si este comando proviene de otro y es parte de la misa transacción se debe mantener el ID
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Local comercio OnUs 2 Valor numérico (obligatorio)
(00 -> 99)
Cada local onus tiene su ID definido
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Working key track 32 Valor alfanumérico (opcional)
Contiene la llave 3DES utilizada para encriptar el TRACK (ø: no encripta)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Working key PIN 32 Valor alfanumérico (opcional)
Contiene la llave 3DES utilizada para encriptar el TRACK (ø: no encripta)
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto 18 Valor numérico (obligatorio)
(incluye dos decimales)
Largo variable
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Lista montos de vuelto 60 Valor alfanumérico (opcional)
Campo no utilizado por el momento enviar vacío
Largo variable
Ø
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Monto vuelto 18 Valor numérico (opcional)
|0| Transacción sin vuelto
Campo no utilizado por el momento enviar cero
Largo variable
0
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag solicita confirma monto 1 Valor alfanumérico (obligatorio)
|Y| Solicitar confirmar monto
|N| No solicitar confirmar monto
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa 1 confirma monto 21 Valor alfanumérico (opcional)
Solo si “Solicita confirma monto = Y”
Largo variable
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa 2 confirma monto 21 Valor alfanumérico (opcional)
Solo si “Solicita confirma monto = Y”
Largo variable
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa 3 confirma monto 21 Valor alfanumérico (opcional)
Solo si “Solicita confirma monto = Y”
Largo variable
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa 4 confirma monto 21 Valor alfanumérico (opcional)
Solo si “Solicita confirma monto = Y”
Largo variable
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador solicitud de autentificación 2 Valor numérico (obligatorio)
|00| Pide PIN a todo evento
|01| No pide PIN a menos que la tarjeta EMV lo indique
|02| Pide PIN según código de servicio
|03| Pide PIN según código de servicio, pero acepta pin nulo
|04| No pide PIN nunca
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje LRC

0810 - Comando requerimiento venta/anulación

Con este comando el pinpad entrega a la caja los datos obtenidos en la solicitud del comando 800, como los tracks de la tarjeta (en claro o encriptado), el pin ingresado (que siempre se entrega encriptado) y los datos de EMV que se deben enviar al autorizador ONUS.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0810 (Obligatorio)
valor hexadecimal: 0x30 0x38 0x31 0x30
0810
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta 2 Valor numérico
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Formato aaaammddhhmmssmm
Es solo un ID, la fecha y hora en el pinpad puede estar desactualizada
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Tipo de captura 2 Valor numérico
|00| : B - Banda
|01| : E . EMV c/contacto
|02| : C - Contacless
|03| : F - Fallback
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
TRACK I 80 Valor alfanumérico
Este campo es opcional, por lo tanto puede contener datos o estar vacío.
Si existen datos y es necesario se rellena con blancos
(0x20) a la derecha
Con pan encriptado se entrega 160 caracteres alfanuméricos que corresponde a 80 HEXA
- Si el pinpad no logra leer un track1, este campo irá vacío.
- Si el pinpad lee datos erróneos en el track1, este campo irá vacío.
- Si se excede el largo máximo, este campo irá vacío.
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
TRACK II 40 Valor alfanumérico (máximo)
El track2 es un valor requerido para cualquier venta, por lo tanto si no se logra leer o se lee errores, se entrega un error de lectura al comando.
Si se obtiene correctamente el dato desde la tarjeta, se rellena con blancos (0x20) a la derecha si es necesario y se entrega.
Con pan encriptado se entrega 80 caracteres alfanuméricos que corresponde a 40 HEXA
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
BIN 6 Valor numérico
Seis primeros dígitos de la tarjeta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
4 últimos dígitos 4 Valor numérico
Cuatro últimos dígitos de la tarjeta
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre tarjetahabiente 26 Valor alfanumérico
Este dato se obtiene desde el track1, por lo tanto si no existe el track1, no se entrega el nombre del tarjetahabiente
Largo variable
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Nombre marca de la tarjeta 20 Valor alfanumérico
De acuerdo a Tabla de marcas
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Abreviación de la tarjeta 2 Valor alfanumérico
De acuerdo a Tabla de marcas
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Pinblock 16 Valor alfanumérico
PIN ingresado por el cliente pero encriptado con las llaves proporcionadas por la caja
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Criptograma 999 Valor alfanumérico
Formato TLV ISO
Contiene TAG y criptograma requerido por el emisor para autorizar transacciones realizadas con tecnología y seguridad EMV
Largo variable
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje LRC

0900 - Comando validación de respuesta autorizador

Con este comando la caja entrega al pinpad el resultado de la transacción respondida por el autorizador onus, sea aprobada o rechazada.
Además si la venta se hizo con chip se debe entregar el criptograma generado por el autorizador onus a la tarjeta que aún está insertada, para su evaluación.
A partir de la versión de pinpad 15.2 con este comando el pinpad además de mostrar en pantalla “RETIRE TARJETA” también emite un sonido de alerta.

Requerimiento

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0900 (Obligatorio)
valor hexadecimal: 0x30 0x39 0x30 0x30
0900
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Indicador de contexto 16 Valor alfanumérico
Formato aaaammddhhmmssmm
Es solo un ID, la fecha y hora en el pinpad puede estar desactualizada
Si este comando proviene de otro y es parte de la misa transacción se debe mantener el ID
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Flag valida criptograma 1 Valor alfanumérico
|Y| Validar criptograma
|N| No validar criptograma
Solo aplica para transacciones con chip con contacto
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa respuesta 21 Valor alfanumérico (máximo)
Sólo si “Flag valida criptograma = N”
Ejemplo: Aprobado / Rechazado / Reintente
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Criptograma 999 Valor alfanumérico
Formato TLV ISO
Formato TLV ISO
Sólo si “Flag valida criptograma = Y”
Este criptograma el pinpad entrega al chip de la tarjeta para validación.
Podría resultar en una transacción declinada por la tarjeta para lo cual la caja debe solicitar reversa al autorizador ONUS
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje LRC

0910 - Comando validación de respuesta autorizador

Primero que nada este comando es la respuesta ok (o nook) al requerimiento del comando 900. El objetivo principal de este comando es que el Pinpad entregue el resultado de la evaluación del criptograma enviado por el autorizador, el resultado puede ser Aprobado o Declinado por la tarjeta, para que el caso de declinación, la caja reverse la venta aprobada.

Respuesta

DATO LARGO COMENTARIO VALOR POR DEFECTO
<STX> 1 Indica inicio de texto o comando
valor hexadecimal: 0x02
STX
Comando 4 Valor ASCII: 0910 (Obligatorio)
valor hexadecimal: 0x30 0x39 0x31 0x30
0910
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Código de respuesta 2 Valor numérico
De acuerdo a Tabla de códigos de respuesta de comandos
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
Glosa respuesta 21 Valor alfanumérico
De acuerdo a Tabla de códigos de respuesta de comandos. Sólo si “Flag valida criptograma = Y”
Separador 1 valor ASCII: |
valor hexadecimal: 0x7c
|
<ETX> 1 Indica el fin de texto o comando
valor hexadecimal: 0x03
ETX
<LRC> 1 Byte resultado de la operación XOR del mensaje LRC

Anexos

Tabla de marcas

IDÉNTICO AL ESTÁNDAR

Tabla de tipo de tarjeta

IDÉNTICO AL ESTÁNDAR

Tabla de códigos de respuesta de comandos ONUS

Se detalla los códigos de respuesta adicionales para la modalidad OnUs

CÓDIGO DE RESPUESTA GLOSA
00 RESPUESTA OK
-- Por definir (considerar como si fuera 99)
83 NO EXISTE CODIGO DE MENSAJE
84 TARJETA NO SOPORTADA
85 REVERSA APLICADA
86 ERROR DE LECTURA
87 PINPAD SIN MASTER KEY
88 TARJETA NO PERMITE VENTA ONUS
89 TRANSACCIÓN DECLINADA POR LA TARJETA CHIP
90 TARJETA NO PERMITIDA PARA EL MODO SELECCIONADO
91 ERROR CANTIDAD DE CUOTAS
92 NO COINCIDE CON TARJETA DE PRIMER “TAPEO”
93 ERROR DE MONTO MÍNIMO
94 ERROR DE VALIDACIÓN MONTO VUELTO
95 ERROR ID DE CONTEXTO
96 NO COINCIDE LOS 4 ULTIMOS DIGITOS
97 LA TRANSACCIÓN NO PERMITE REVERSA
98 ERROR DE FORMATO DEL MENSAJE
99 CANCELACIÓN POR LA TECLA [CANCEL] o TIMEOUT

Código de local ONUS

Para soportar la utilización de transacciones no financieras que necesitan la lectura de tarjeta sin tener aún el monto1 se define un desplazamiento de 50 al código de local asociado al comercio OnUs, por ejemplo:

01 -> 51

CÓDIGO DE LOCAL ONUS CODIGO LOCAL ONUS TRANSACIONES NO FINANCIERAS
NN 50+NN