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, N
ingún bit de paridad y 1
bit de parada.
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
- 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. - 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)
- La caja al recibir la respuesta envía un
<ACK>
si el mensaje está correcto, o un<NAK>
para el caso en que elLRC
no corresponde. - 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 pinpad bluetooth y caja
La caja del comercio y el pinpad se conectan a través de Bluetooth:
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:
- 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. - 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. - 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. - 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. - 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:
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.
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.
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
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
- 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.
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
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
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 |