VTOL CD MX - Manual mensajería POS - VTOL MX



VTOL CRÉDITO DÉBITO MÉXICO




REVISIONES


Fecha

Revisión

Observaciones

27/11/2013

1.0

Generación del documento

06/10/2014

1.1

Agrego modo de ingreso Contactless y aclaración de campos QPS que aplican solo para Bancomer

02/12/2014

1.2

Agrego campo 161 cardType a la respuesta del mensaje de Venta

03/08/2015

1.3

Integración de mensaje CashAdvance para retiro de efectivo (Transacciones adquiriente)

11/09/2015

1.4

Integración de campo 190 - comission en respuesta de mensajes CashAdvance.

11/11/2015

1.5

Integración de campo 139 customerRef en Sale y Refund.
Integración de campo 166 trxReferenceNumber en las respuestas de VTOL.

01/08/2016

1.6

Integración de secciones Chequeo de pendientes en lista, Tercer mensaje en lista.

09/11/2016

1.7

Agrego nuevo mensaje Echo

09/12/2016

1.8

Integración de mensaje CheckIn y CheckOut para pre-autorización y autorización

06/10/2016

1.8.1

Agrego authorizationCode en las respuestas de CheckIn y CheckOut

02/02/2017

1.9

Agrego campo 302 issuingBank y 309 cardBrand a las respuestas de Sale y Refund.

02/02/2017

1.10

Agrego mensaje SaleAdjustment

10/04/2014

1.11

Agrego modos de ingreso E-Commerce y Recurring a Sale y Refund

01/03/2018

1.12

Agrego sección de Firma digital en Anexo C

20/03/2018

1.13

Actualizo descripción en sección de firma digital.

11/04/2018

1.14

Agrego mensaje de Consulta de Configuración y Anexo E

20/04/2018

1.15

Incluyo sección 1.3.4 Devolución/Cancelación Referenciada

26/07/2018

1.16

Integro campo crc32 en descripción de firma digital

24/01/2019

1.20

Saco del mensaje Refund el campo 58

10/04/2019

1.21

Agrego campo moneda a devolución referenciada, ya que es olbigatorio

9/11/20201.22Agregado de mensaje Anulación de Pre-autorización VoidPreAuthorization



CONTENIDO



1. Protocolo de comunicación POS – VTOL


Napse establece un protocolo de comunicación para la interacción POS - VTOL, el cual se denomina "Protocolo VTOL" o "llavecitas". Dicho protocolo se basa en un esquema recursivo compuesto por campos y separadores. A continuación se provee una especificación detallada de su estructura junto con los consecuentes diagramas para un mejor entendimiento.
Para implementar esta mensajería, VTOL provee una librería en el cual se encuentra la declaración de funciones y las definiciones de constantes y tipos necesarias. La librería es en realidad un módulo cliente que se comunica vía TCP/IP con el servidor de transacciones VTOL. El cliente podrá implementar esta mensajería sin utilizar la librería, pero deberá respetar el formato de la misma.
El formato del protocolo Synthesis se basa en la siguiente estructura:

Header


Mensaje

Longitud del mensaje (4 bytes)

Indica si el mensaje requiere respuesta o no (2 bytes)

Ejemplo: {25:20020426172836;1:5;2:1;27:00;26:ISO8583;28:Aprobado}


La estructura posee dos partes separadas que son el Header y el Mensaje propiamente dicho.

1.1 Header

Dentro del Header viaja información específica del mensaje que se encuentra a continuación del mismo, como ser su longitud y si requiere o no una respuesta. Para ello fueron destinados 6 bytes que se distribuyen de la siguiente manera: los primeros 4 bytes son destinados a la longitud (expresado en hexadecimal, con el último byte como el más significativo) y los últimos 2 indican la necesidad de recibir o no una respuesta (expresado en hexadecimal, con el último byte como el más significativo)
Longitud máxima representable por medio de este protocolo: 2047 MB (Mega Bytes) (cantidad máxima representable por un entero: 2147483647 bytes)
Un ejemplo de lo explicado anteriormente podría ser el siguiente:

HEADER


Longitud del mensaje

Requiere respuesta

A101

01



En este ejemplo la longitud del mensaje será:

0001  0000  0001  1010
  1        0       1         A   = 212 + 24 + 23 + 21 = 4122


NOTA: se ordena la longitud A101colocando el byte más significativo a la izquierda, con lo cual resulta: 101A.

1.2 Mensaje


A continuación del Header se encuentra el Mensaje propiamente dicho, el cual contiene la información que el emisor desea transmitirle al sistema receptor.
Existen dos opciones para la estructura del Mensaje, las cuales se presentan a continuación:

  1. Simple



Mensaje Campo Valor Campo Valor
El mensaje viajará encerrado entre "{ }" (llaves). Cada campo del mismo se compondrá de la siguiente manera: los primeros dígitos indicarán el número de campo y a partir de los ":" (dos puntos) se encontrará el valor del campo. Los campos viajan separados por ";" (punto y coma).

Ejemplo:

{1:5;2:1;26:ISO8583;27:00;28:Aprobado}

El mensaje anterior posee 5 campos, los cuales se identifican con los números 1, 2, 26, 27 y 28. A continuación de cada uno de ellos (luego del separador ":") se encuentra el valor de cada campo. En el ejemplo presentado, para el campo 1 el valor es "5", para el campo 2 el valor es "1" y así sucesivamente.


1.3 Escape de caracteres


Si se desea enviar el carácter especial punto y coma (;) en el valor de algún campo, será necesario escaparlo.
Para realizar el escape de un caracter especial se deberá usar "\" inmediatamente antes del carácter a escapar.

Ejemplo:
A continuación se presenta un campo cuyo valor incluye el carácter ; y se muestra como escapar el mismo: {1:14\;56}

1.4 Mecanismo de "Tercer Mensaje"

1.4.1 Descripción


VTOL es un intermediario entre el POS y el Centro Autorizador. Cuando VTOL responde al POS un requerimiento a partir de la información recibida desde el Centro Autorizador, el mismo desconoce la interacción que se está teniendo entre el cliente y el operador y los problemas técnicos que pueda tener el POS (impresora, enlaces, etc). Es necesario cargar al POS con la responsabilidad de confirmar a VTOL cómo terminó la transacción, pudiéndose confirmar o reversar. Para ello existe el Tercer Mensaje del POS a VTOL.
Por lo tanto, el tercer mensaje es un mecanismo para asegurar la consistencia y concordancia de las transacciones realizadas que son registradas en VTOL.
A fines de simplificar el esquema de comunicación, suponiendo que el Centro Autorizador aprueba el requerimiento de VTOL, el flujo de mensajes entre el POS y VTOL es el siguiente:

  1. El POS envía un requerimiento de autorización a VTOL.
  2. VTOL responde al POS que el requerimiento fue autorizado y envía el ID de la transacción.
  3. El POS informa a VTOL con el Tercer Mensaje si la transacción se debe confirmar o reversar (COMMIT / ROLLBACK)



Dicho esquema requiere que cada transacción aprobada deba ser confirmada o reversada con un tercer mensaje. Si VTOL responde al POS con la aprobación de una transacción y no se confirma o reversa, a la próxima transacción que el POS envíe VTOL responderá que aún existe una transacción pendiente y hasta que no se envíe el tercer mensaje correspondiente no se podrá tratar la transacción en curso.



 
El tercer mensaje puede enviarse embebido en un requerimiento. Así en una misma transacción se enviará un requerimiento y la confirmación o reverso de una transacción pendiente.
No siempre cada transacción en el POS se corresponde con un único pago electrónico. Una operación de venta en el POS podría tener una o más transacciones de pago electrónico validadas por intermedio de VTOL. En dicho escenario, para el envío del tercer mensaje debe establecerse una condición por la que se da por finalizada la venta en el POS. Esta condición podría ser el registro de la transacción o la impresión del comprobante, pero se deberá tener en cuenta que para confirmar una transacción, VTOL se tiene que asegurar que la venta que contiene esa transacción sea procesada por el POS, que se emitan los comprobantes correspondientes, etc.
Por otro lado, si la venta en el POS se registra como anulada o directamente no se registra (ya sea por pedido del operador, o por problemas técnicos) se debe asegurar que en el tercer mensaje de las transacciones correspondientes vaya la orden de ROLLBACK para esta transacción.

1.4.2 Control de operaciones pendientes (mensaje "CheckPending")


Los mensajes de confirmación no son respondidos por VTOL. Además estos mensajes pueden ser embebidos en futuros mensajes de pedido de autorización, lo que da lugar a que algunas operaciones queden pendientes de confirmación entre dos transacciones distintas. El cierre o la eventual caída del punto de venta podría ocasionar dicha contingencia ya que no existiría un futuro mensaje de confirmación o pedido de autorización con la confirmación embebida.
Ante esta problemática, el esquema de comunicación entre el POS y VTOL posee un mecanismo para asegurar que ninguna transacción quede pendiente de confirmación en VTOL. El mecanismo consta de los siguientes pasos:

  1. El punto de venta envía un mensaje de chequeo de pendientes "CheckPending" a VTOL. Para ello, el mensaje debe contar con el siguiente campo: 71:True.
  2. VTOL verificará la existencia de transacciones pendientes y en caso de existir responderá con un mensaje que, entre otros campos, tendrá los siguientes:
    1. Campo 24: ID de la Transacción pendiente.
    2. Campo 26: TrxIsPending.
  3. El punto de venta envía la confirmación de dicha transacción (Commit/Rollback) y envía un nuevo mensaje de chequeo de pendientes. Esto se podría realizar en un solo paso, enviando un mensaje de chequeo de pendientes con la confirmación embebida.
  4. Se deberá repetir el proceso hasta tanto existan transacciones pendientes en VTOL. Cuando ya no existan VTOL responderá APROBADA.



1.4.3 Tercer Mensaje con múltiples operaciones


También existe la posibilidad de deshabilitar el chequeo de pendientes (Campo 71:False). Esto permite realizar un conjunto de transacciones que podrán ser confirmadas o reversadas posteriormente haciendo que VTOL se dedique a la transacción en curso. Por ejemplo:



 

IMPORTANTE: La implementación del Tercer Mensaje y Mensajes de Control de Pendientes, dependerá del tipo de integración que se realiza en el Punto de Venta, y quedará a elección del cliente utilizar algunos, o todos los Mensajes descritos.

2. Campos de los mensajes

2.1 Transacciones permitidas


En esta sección se detallarán las transacciones soportadas por VTOL así como los campos requeridos u opcionales de cada transacción.

2.1.1 Venta

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás.

Constante VTOL

4

messageType

Alfanumérico

Compatibilidad atrás.

Constante Data

6

cardNumber

Numérico

Obligatorio si es Manual

Número de tarjeta. Sólo presente si el modo de ingreso fue Manual.

7

expiration

Numérico

Obligatorio si es Manual

Formato YYYYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

8

Cvc

Numérico

Obligatorio si es Manual. Además es opcional según la tarjeta.

Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

9

track2

Alfanumérico

Obligatorio si es MSR

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.
Para transacciones con esquema cifrado activado se enviará un Track Dummy correspondiente a una tarjeta del banco adquiriente

10

posInputMode

Alfanumérico

Obligatorio

Modo de Ingreso:

  • MSR = Ingreso por banda magnética
  • Manual = Ingreso manual
  • Chip = Tarjeta insertada PIN Pad
  • MSR Chip = Tarjeta deslizada PIN Pad
  • MSR ChipNR = Ingreso Manual PIN Pad
  • MSR ChipError = Fallback PIN Pad <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="808bd09f-1d7e-47d4-861f-0099d50b8f85"><ac:plain-text-body><![CDATA* *Contactless* = Contactless EMV [Solo soportado en BanamexEG] \]></ac:plain-text-body></ac:structured-macro>
  • E-Commerce – Comercio electrónico
  • Recurring – Cargo recurrente (Sólo soportada en adquirientes Bancomer)

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • Sale = Compra

12

amount

Importe

Obligatorio

Monto de la transacción. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

Obligatorio

Cantidad de cuotas/parcialidades (meses). 2 dígitos como máximo.

15

plan

Alfanumérico

Obligatorio

Plan. 1 caracter de longitud.

22

authorizationCode

Numérico

Condicional a si fue realizada la autorización telefónica.

Código de autorización telefónica. 6 dígitos como máximo. Este campo se encuentra presente sólo si la transacción se autorizó off-line por teléfono.

23

authorizationMode

Alfanumérico

Opcional, default = Online

Modo de Autorización:

  • Online = La autorización debe ser realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Opcional

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción.

56

pinblock

Alfanumérico

Condicional a PIN Pad

PIN encriptado. Se emplea para tarjetas de débito. Ejemplo pinblock: D76484D688FE1826

58

loyatyData

Alfanumérico

Condicional Bancomer

Para entidades que implanten la solución de Redención de Puntos Bancomer. 40 caracteres. Ver Anexo A Especificación del campo 58 Requerimiento, sección Compra con Puntos

65

additionalAmount

Numérico

Condicional a Bancomer y venta con Cash Back

Para ventas con Cash Back, contiene el monto de Cash Back que se debe autorizar con centavos. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

66

track1

Alfanumérico

Opcional a su lectura

Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

70

effectiveDate

Alfanumérico

Opcional AMEX

Fecha efectiva. Se usa para AMEX con formato yyMM

71

checkPendingString

Alfanumérico

Opcional, default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

102

chipTokens

Alfanumérico

Obligatorio para modo de ingreso Chip

Amex: En el caso que el adquirente sea Banamex. Los tokens se envían tal cual los general el PinPad sin ningún tipo de procesamiento.

Bancomer:
Para ventas sin esquema cifrado:
Este campo debe enviar los siguientes tokens: ES: Obligatorio. Subcampo 3 con valor "0"
Para ventas con esquema cifrado
Este campo debe enviar los siguientes tokens:
ES: Obligatorio. Subcampo 3 con valor "5"
EZ: Obligatorio.
EY. Obligatorio solo si la bandera del subcampo 8 del token EZ está levantada.

Banamex: En este campo se concatenan todos los tokens que genera el pinpad y deben comunicarse a VTOL.
Para ventas con esquema cifrado
Este campo debe enviar los siguientes tokens:
ES: Obligatorio. Subcampo 3 con valor "5"
EZ: Obligatorio.
EY. Obligatorio solo si la bandera del subcampo 8 del token EZ está levantada.

116

cardSequenceNumber

Alfanumérico

Condicional Bancomer

Número de secuencia de la tarjeta. Se utiliza para distinguir tarjetas que tienen el mismo PAN (Primary Account Number).
Este campo se obtiene del TAG 5F34. Para transacciones EMV

117

emvFullGradeIcc

Alfanumerico

Condicional Bancomer y Amex

Datos de EMV Full Grade, para transacciones EMV
Para Bancomer: Conforme al Anexo 2 de Especificación de EMV FULLGrade de Bancomer para campo 55 del ISO
Para Amex (PINPad Bancomer):. Los Tags se deben enviar tal cual los genera el PinPad sin ningun tipo de procesamiento.

118

terminalCapability

Numérico

Condicional Bancomer y Banamex

Indica la capacidad de la terminal conforme a catalogo para especificación de token C4 de documentación.

Código indicando las capacidades que tiene la terminal para transferir datos de la tarjeta a la terminal

Bancomer:
0 Desconocida
1 No hay terminal (autorizaciones voz)
2 Lector de banda magnética
3 Código de barras (para uso futuro)
4 OCR (reconocimiento de caracteres, uso futuro)
5 Lector de banda y lector de chip EMV-compatible
6 Entrada manual
7 Lector de banda y entrada manual
8 Lector de banda, entrada manual y lector de chip EMV-compatible
9 Lector de chip EMV-compatible
Banamex
0 Desconocida
1 No hay terminal (autorizaciones voz)
2 Lector de banda magnética
3 Contactless EMV
4 Contactless Magstripe
5 Lector de banda y lector de chip EMV-compatible
6 Entrada manual
7 Lector de banda y entrada manual
8 Lector de banda, entrada manual y lector de chip EMV-Compatible
9 Lector de chip EMV-Compatible
Fiserv
00 – No especificada
01 – No se utilizó una terminal (eCommerce)
02 – Únicamente captura de banda magnética
03 – Captura de banda magnética y entrada manual
04 – Captura de banda magnética. entrada manual y chip
05 – Código de barras
06 – Terminal de proximidad – chip contactless / RFID
07 – OCR
08 – Únicamente Chip
09 – Chip y banda magnética
10 – Únicamente entrada manual
11 – Terminal de proximidad – banda magnetica contactless
12 – Híbrida – Capacidad para leer banda magnética, chip y contactless

125

posAuthenticationMethod

Numérico

Opcional
Bancomer y Banamex

Código que indica cómo fue identificado el Tarjetahabiente en el punto de servicio:
0 = Desconocido (default)
1 = Firma
2 = PIN
3 = Terminal no atendida
4 = Orden correo teléfono
5 = Transacción QPS (Quick Payment Service), pagaré sin firma.

Para Banamex Capítulo X si no se envía el campo se toma el valor por default 1.
Para Bancomer si no se envía el campo se toma el valor por default 0

139

customerRef

Alfanumerico

Opcional

Número de referencia de comercio para trazabilidad de transacción. 20 caracteres como máximo.

Informado a Banorte por campo CUSTOMER_REF2.

310

terminalCategory

N2(F)

Mandatorio Fiserv

Indica el tipo de terminal utilizado para realizar el cobro.

Valores posibles:

  • 00 – No especificado
  • 01 – Terminal de pago electrónico (POS)
  • 05 – Bomba de despacho de combustible automática (AFD)
  • 06 – Terminal de cliente desatendida
  • 07 – E-Commerce con cliente presente
  • 08 – Terminal móvil (Transpondedor, por ejemplo: una terminal inalámbrica)
  • 09 – POS Móvil (mPOS por ejemplo: un teléfono celular o tableta en una red celular)
  • 12 – Caja registradora electrónica
  • 13 – Respuesta de Voz Interactiva (IVR)
  • 17 – Máquina de boletos
  • 18 – Operador de Call Center

Nota: Para transacciones e-Commerce se envía el valor 00


Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización generado por el centro autorizador para la transacción.

23

authorizationMode

Alfanumérico

Modo de Autorización:

  • Online = La autorización fue realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

58

LoyatyData

Alfanumérico

Para entidades que implanten la solución de Redención de Puntos Bancomer. Ver Anexo B Especificación del campo 58 Respuesta

68

rrn

Numérico

Reference referral number.

82

SoftwareVersion

Alfanumérico

Versión software. Constante STS

102

chipTokens

Alfanumérico

En este campo se concatenan los tokens cuando son devueltos por el autorizador.

116

cardSequenceNumber

Numérico

Número de secuencia de la tarjeta. Se utiliza para distinguir tarjetas que tienen el mismo PAN (Primary Account Number).
Este campo se obtiene del TAG 5F34
Para transacciones Bancomer EMV.

117

emvFullGradeIcc

Numérico

Datos de EMV Full Grade
Conforme a anexo 2 de Especificación de EMV FULLGrade de Bancomer para campo 55 del ISO
Para transacciones EMV

125

qps

Numérico

Aplica para Bancomer
Indicador de Quick Payment Service
0 - El pagaré SÍ requiere firma
9 - El pagaré NO requiere firma

129

pinpadReset

Numérico

0 = Cuenta por omisión. Pin Pad NO requiere telecarga
1 = Pin Pad requiere telecarga

160

hostCode

Alfanumérico

Código del canal por el cual se autorizó la tarjeta.
Disponible a partir de la versión 3.7.0.4

161

cardType

Alfanumérico

Tipo de tarjeta, según la configuración en VTOL:

  • Crédito
  • Débito
  • Sin Clasificar

166

trxReferenceNumber

Numérico

Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos, debido a que utiliza el día como parte de formato.

302

issuingBank

Alfanumérico

Nombre del banco emisor de la tarjeta. Informado por Centro Autorizador.

309

cardBrand

Alfanumérico

Marca de tarjeta. Informado por Centro Autorizador


2.1.2 Retiro de efectivo

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás.

Identificador del Server que procesará la transacción. (en el caso de eVTOL será 'VTOL')

4

messageType

Alfanumérico

Compatibilidad atrás.

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

Obligatorio si es Manual

Número de tarjeta. Sólo presente si el modo de ingreso fue Manual.

7

expiration

Numérico

Obligatorio si es Manual

Formato YYYYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

8

Cvc

Numérico

Obligatorio si es Manual. Además es opcional según la tarjeta.

Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

9

track2

Alfanumérico

Obligatorio si es MSR

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.
Para transacciones con esquema cifrado activado se enviará un Track Dummy correspondiente a una tarjeta del banco adquiriente

10

posInputMode

Alfanumérico

Obligatorio

Modo de Ingreso:

  • MSR = Ingreso por banda magnética
  • Manual = Ingreso manual
  • Chip = Tarjeta insertada PIN Pad
  • MSR Chip = Tarjeta deslizada PIN Pad
  • MSR ChipNR = Ingreso Manual PIN Pad
  • MSR ChipError = Fallback PIN Pad
  • Contactless = Contactless EMV (Solo soportado en adquirientes Banamex)

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • CashAdvance = Retiro de efectivo

12

amount

Importe

Obligatorio

Monto de la transacción. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

Obligatorio

Cantidad de cuotas/parcialidades (meses). 2 dígitos como máximo.

15

plan

Alfanumérico

Obligatorio

Plan. 1 caracter de longitud.

22

authorizationCode

Numérico

Condicional a si fue realizada la autorización telefónica.

Código de autorización telefónica. 6 dígitos como máximo. Este campo se encuentra presente sólo si la transacción se autorizó off-line por teléfono.

23

authorizationMode

Alfanumérico

Opcional, default = Online

Modo de Autorización:

  • Online = La autorización debe ser realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Opcional

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción.

56

pinblock

Alfanumérico

Condicional a PIN Pad

PIN encriptado. Se emplea para tarjetas de débito. Ejemplo pinblock: D76484D688FE1826

66

track1

Alfanumérico

Opcional a su lectura

Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

71

checkPendingString

Alfanumérico

Opcional, default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

102

chipTokens

Alfanumérico

Obligatorio para modo de ingreso Chip

Amex: En el caso que el adquirente sea Banamex. Los tokens se envían tal cual los general el PinPad sin ningún tipo de procesamiento.

Bancomer:
Para ventas sin esquema cifrado:
Este campo debe enviar los siguientes tokens: ES: Obligatorio. Subcampo 3 con valor "0"
Para ventas con esquema cifrado
Este campo debe enviar los siguientes tokens:
ES: Obligatorio. Subcampo 3 con valor "5"
EZ: Obligatorio.
EY. Obligatorio solo si la bandera del subcampo 8 del token EZ está levantada.
Banamex: En este campo se concatenan todos los tokens que genera el pinpad y deben comunicarse a VTOL.
Para ventas con esquema cifrado
Este campo debe enviar los siguientes tokens:
ES: Obligatorio. Subcampo 3 con valor "5"
EZ: Obligatorio.
EY. Obligatorio solo si la bandera del subcampo 8 del token EZ está levantada.

116

cardSequenceNumber

Alfanumérico

Condicional Bancomer

Número de secuencia de la tarjeta. Se utiliza para distinguir tarjetas que tienen el mismo PAN (Primary Account Number).
Este campo se obtiene del TAG 5F34. Para transacciones EMV

117

emvFullGradeIcc

Alfanumerico

Condicional Bancomer y Amex

Datos de EMV Full Grade, para transacciones EMV
Para Bancomer: Conforme al Anexo 2 de Especificación de EMV FULLGrade de Bancomer para campo 55 del ISO
Para Amex:. Los Tags se deben enviar tal cual los genera el PinPad sin ningun tipo de procesamiento.

118

terminalCapability

Numérico

Condicional Bancomer y Banamex

Indica la capacidad de la terminal conforme a catalogo para especificación de token C4 de documentación
Código indicando las capacidades que tiene la terminal para transferir datos de la tarjeta a la terminal

Bancomer:
0 Desconocida
1 No hay terminal (autorizaciones voz)
2 Lector de banda magnética
3 Código de barras (para uso futuro)
4 OCR (reconocimiento de caracteres, uso futuro)
5 Lector de banda y lector de chip EMV-compatible
6 Entrada manual
7 Lector de banda y entrada manual
8 Lector de banda, entrada manual y lector de chip EMV-compatible
9 Lector de chip EMV-compatible
Banamex
0 Desconocida
1 No hay terminal (autorizaciones voz)
2 Lector de banda magnética
3 Contactless EMV
4 Contactless Magstripe
5 Lector de banda y lector de chip EMV-compatible
6 Entrada manual
7 Lector de banda y entrada manual
8 Lector de banda, entrada manual y lector de chip EMV-Compatible
9 Lector de chip EMV-Compatible

125

posAuthenticationMethod

Numérico

Opcional
Bancomer y Banamex

Código que indica cómo fue identificado el Tarjetahabiente en el punto de servicio:
0 = Desconocido (default)
1 = Firma
2 = PIN
3 = Terminal no atendida
4 = Orden correo teléfono
5 = Transacción QPS (Quick Payment Service), pagaré sin firma.
Para Banamex Capítulo X si no se envía el campo se toma el valor por default 1.
Para Bancomer si no se envía el campo se toma el valor por default 0


Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización generado por el centro autorizador para la transacción.

23

authorizationMode

Alfanumérico

Modo de Autorización:

  • Online = La autorización fue realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

68

rrn

Numérico

Reference referral number.

82

SoftwareVersion

Alfanumérico

Versión software. Constante STS

102

chipTokens

Alfanumérico

En este campo se concatenan los tokens cuando son devueltos por el autorizador.

116

cardSequenceNumber

Numérico

Número de secuencia de la tarjeta. Se utiliza para distinguir tarjetas que tienen el mismo PAN (Primary Account Number).
Este campo se obtiene del TAG 5F34
Para transacciones Bancomer EMV.

117

emvFullGradeIcc

Numérico

Datos de EMV Full Grade
Conforme a anexo 2 de Especificación de EMV FULLGrade de Bancomer para campo 55 del ISO
Para transacciones EMV

125

qps

Numérico

Aplica para Bancomer
Indicador de Quick Payment Service
0 - El pagaré SÍ requiere firma
9 - El pagaré NO requiere firma

129

pinpadReset

Numérico

0 = Cuenta por omisión. Pin Pad NO requiere telecarga
1 = Pin Pad requiere telecarga

160

hostCode

Alfanumérico

Código del canal por el cual se autorizó la tarjeta.
Disponible a partir de la versión 3.7.0.4

161

cardType

Alfanumérico

Tipo de tarjeta, según la configuración en VTOL:

  • Crédito
  • Débito
  • Sin Clasificar

166

trxReferenceNumber

Numérico

Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos, debido a que utiliza el día como parte de formato.

190

comission

Numérico

Comisión. 12 dígitos como máximo. Se envía sin separador decimal. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00


2.1.3 Devolución/Cancelación


La estructura del mensaje de devolución es muy similar a la del mensaje de venta, con la diferencia que se agregan dos campos que identifican a la transacción original sobre la que se hace la devolución (campos marcados en azul)
Conceptos:
Devolución es aplicar un movimiento inverso a la venta, para un día distinto al de compra original.
Cancelación, es aplicar un movimiento inverso a la venta, para el mismo día que la compra original, y genera un reverso en línea hacia el autorizador.
Nota Bancomer: Una cancelación de compra con puntos es la misma cancelación que la compra normal, no hay diferencia, por lo que se envían los mismos campos para el tipo de mensaje "Refund".

Requerimiento

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Identificador del Server que procesará la transacción. (en el caso de eVTOL será 'VTOL')

4

messageType

Alfanumérico

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

Número de tarjeta. Sólo presente si el modo de ingreso fue Manual.

7

expiration

Numérico

Formato YYYYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

8

cvc

Numérico

Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

9

track2

Alfanumérico

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

10

posInputMode

Alfanumérico

Modo de Ingreso:

  • MSR = Ingreso por banda magnética
  • Manual = Ingreso manual
  • Chip = Tarjeta insertada PIN Pad
  • MSR Chip = Tarjeta deslizada PIN Pad
  • MSR ChipNR = Ingreso Manual PIN Pad
  • MSR ChipError = Fallback PIN Pad
  • Contactless = Contactless EMV (Solo soportado en adquirientes Banamex)
  • E-Commerce – Comercio electrónico
  • Recurring – Cargo recurrente (Sólo soportada en adquirientes Bancomer)

11

trxType

Alfanumérico

Tipo de Transacción:

  • Refund = Devolución/Cancelación

12

amount

Importe

Monto de la transacción. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

13

currencyPosCode

Alfanumérico

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

Cantidad de cuotas. 2 dígitos como máximo. Igual al de la venta original.

15

plan

Alfanumérico

Plan. 1 caracter de longitud. Igual al de la venta original.

16

originalDate

Fecha

Este campo debe viajar si el tipo de transacción es Refund. Se trata de la fecha de la transacción original en el formato YYYYMMDD.
VTOL analiza si la operación fue del día en curso, hace Cancelación a través de reverso en línea. De ser de un día anterior, se informa vía Batch el movimiento como Devolución

17

originalTrxTicketNr

Numérico

Este campo debe viajar si el tipo de transacción es Refund. Se trata del número de ticket de la transacción original. 4 dígitos como máximo, este valor fue informado al POS en el campo 32 de la venta y es único por cada caja

22

AuthorizationCode

Numérico

Código de autorización telefónica. 6 dígitos como máximo. Este campo se encuentra presente sólo si la transacción se autorizó off-line por teléfono.

23

AuthorizationMode

Alfanumérico

Modo de Autorización:

  • Online = La autorización fue realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

25

dateTime

Numérico

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción.

56

pinblock

Alfanumérico

PIN encriptado. Se emplea para tarjetas de débito.

65

additionalAmount

Numérico

Para ventas con Cash Back, contiene el monto de Cash Back que se debe autorizar con centavos. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

66

track1

Alfanumérico

Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

71

checkPendingString

Alfanumérico

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

102

chipTokens

Alfanumérico

Amex: En el caso que el adquirente sea Banamex. Los tokens se envían tal cual los general el PinPad sin ningún tipo de procesamiento.
Bancomer: Este campo debe enviar los siguientes tokens: ES: Obligatorio. Subcampo 3 con valor "0"
Banamex: En este campo se concatenan todos los tokens que genera el pinpad y deben comunicarse a VTOL.

116

cardSequenceNumber

Alfanumérico

Número de secuencia de la tarjeta. Se utiliza para distinguir tarjetas que tienen el mismo PAN (Primary Account Number).
Este campo se obtiene del TAG 5F34. Para transacciones EMV

117

emvFullGradeIcc

Numérico

Datos de EMV Full Grade, para transacciones EMV
Para Bancomer: Conforme al Anexo 2 de Especificación de EMV FULLGrade de Bancomer para campo 55 del ISO
Para Amex:. Los Tags se deben enviar tal cual los genera el PinPad sin ningun tipo de procesamiento.

118

Terminalcapabilities

Alfanumérico

Indica la capacidad de la terminal conforme a catalogo para especificación de token C4 de documentación Bancomer para EMV
Código indicando las capacidades que tiene la terminal para transferir datos de la tarjeta a la terminal:
0 Desconocida
1 No hay terminal (autorizaciones voz)
2 Lector de banda magnética
3 Código de barras (para uso futuro)
4 OCR (reconocimiento de caracteres, uso futuro)
5 Lector de banda y lector de chip EMV-compatible
6 Entrada manual
7 Lector de banda y entrada manual
8 Lector de banda, entrada manual y lector de chip EMV-compatible
9 Lector de chip EMV-compatible

125

posAuthenticationMethod

Numérico

Código que indica cómo fue identificado el Tarjetahabiente en el punto de servicio:
0 = Desconocido (default)
1 = Firma
2 = PIN
3 = Terminal no atendida
4 = Orden correo teléfono
5 = Transacción QPS (Quick Payment Service), pagaré sin firma.
Para Banamex Capítulo X si no se envía el campo se toma el valor por default 1.
Para Bancomer si no se envía el campo se toma el valor por default 0

139

customerRef

Alfanumerico

Número de referencia de comercio para trazabilidad de transacción. 20 caracteres como máximo.
Informado a Banorte por campo CUSTOMER_REF2.


Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización generado por el centro autorizador para la transacción.

23

authorizationMode

Alfanumérico

Modo de Autorización:

  • Online = La autorización fue realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending = indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número identificatorio de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

68

rrn

Numérico

Reference referral number.

82

SoftwareVersion

Alfanumérico

Versión software. Constante STS

102

chipTokens

Alfanumérico

En este campo se concatenan los tokens cuando son devueltos por el autorizador.

116

cardSequenceNumber

Numérico

Número de secuencia de la tarjeta. Se utiliza para distinguir tarjetas que tienen el mismo PAN (Primary Account Number).
Este campo se obtiene del TAG 5F34
Para transacciones Bancomer EMV.

117

emvFullGradeIcc

Numérico

Datos de EMV Full Grade
Conforme a anexo 2 de Especificación de EMV FULLGrade de Bancomer para campo 55 del ISO
Para transacciones EMV

119

refundIsVoided



125

qps

Numérico

Aplica para Bancomer
Indicador de Quick Payment Service
0 - El pagaré SÍ requiere firma
9 - El pagaré NO requiere firma

129

pinpadReset

Numérico

0 = Cuenta por omisión. Pin Pad NO requiere telecarga
1 = Pin Pad requiere telecarga

160

hostCode

Alfanumérico

Código del canal por el cual se autorizó la tarjeta.
Disponible a partir de la versión 3.7.30.4

166

trxReferenceNumber

Numérico

Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos, debido a que utiliza el día como parte de formato.

302

issuingBank

Alfanumérico

Nombre del banco emisor de la tarjeta. Informado por Centro Autorizador.

309

cardBrand

Alfanumérico

Marca de tarjeta. Informado por Centro Autorizador


2.1.4 Devolución/Cancelación Referenciada


Este es un mensaje de devolución el cual no hace referencia a los datos de pago de la transacción original, en lugar de estos datos envía el campo 167 originalTrxReferenceNumber que es el número de referencia único de la transacción recibido en el campo 166 en la respuesta al mensaje Sale
Conceptos:
Devolución es aplicar un movimiento inverso a la venta, para un día distinto al de compra original.
Cancelación, es aplicar un movimiento inverso a la venta, para el mismo día que la compra original, y genera un reverso en línea hacia el autorizador.
Nota Bancomer: Una cancelación de compra con puntos es la misma cancelación que la compra normal, no hay diferencia, por lo que se envían los mismos campos para el tipo de mensaje "Refund".

Requerimiento

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Identificador del Server que procesará la transacción. (en el caso de eVTOL será 'VTOL')

4

messageType

Alfanumérico

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

10

posInputMode

Alfanumérico

Modo de Ingreso:

  • E-Commerce = Transacción generada desde la web
  • Manual – Transacción manual

11

trxType

Alfanumérico

Tipo de Transacción:

  • Refund = Devolución/Cancelación

13

currencyPosCode

Alphanumeric

Currency type:

12

amount

Importe

Monto de la transacción. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

25

dateTime

Numérico

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

71

checkPendingString

Alfanumérico

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

167

originalTrxReferenceNumber

Numérico

Número de referencia de la transacción original. Es el valor recibido en el campo 166 de la respuesta a la venta original.


Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización generado por el centro autorizador para la transacción.

23

authorizationMode

Alfanumérico

Modo de Autorización:

  • Online = La autorización fue realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending = indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número identificatorio de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

68

rrn

Numérico

Reference referral number.


2.1.5 Inicialización de Llaves


Este mensaje es utilizado cuando en una venta con esquema de cifrado se recibió en la respuesta el código "71" el cual indica que se requiere inicializar la llave en el PIN pad.
El mensaje para que VTOL pueda determinar que se trata de una inicialización de llaves se muestra a continuación.

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás.

Identificador del Server que procesará la transacción. (en el caso de eVTOL será 'VTOL')

4

messageType

Alfanumérico

Compatibilidad atrás.

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

Obligatorio

Número de tarjeta. Puede ser un valor dummy correspondiente a una tarjeta del banco adquiriente

7

expiration

Numérico

Obligatorio

Formato YYYYMM Fecha de vencimiento de la tarjeta. Puede ser un valor dummy.

8

cvc

Alfanumérico

Obligatorio

Código de seguridad de la tarjeta. Puede ser un valor dummy correspondiente a una tarjeta del banco adquiriente.

10

posInputMode

Alfanumérico

Obligatorio

Modo de Ingreso:
Manual = Ingreso manual

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:
ResetKeys = Inicialización de llaves para cifrado

12

amount

Importe

Obligatorio

Monto de la transacción.
0 (cero)

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:
$ = Pesos

14

payments

Numérico

Obligatorio

Cantidad de cuotas. 2 dígitos como máximo.

15

plan

Alfanumérico

Obligatorio

Plan. 1 caracter de longitud.

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Opcional

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción.

71

checkPendingString

Alfanumérico

Opcional, default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

102

chipTokens

Alfanumérico

Obligatorio

Este campo debe enviar los siguientes tokens:
ES: Obligatorio. Subcampo 3 con valor "5" y subcampo 7 con valor "1"
EW: Obligatorio


Respuesta

NOTA: Los campos devueltos en esta operación son los mismos que los que regresa para una venta y se obtiene en el campo 102 el token con el resultado de la transacción con datos encriptados.

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización generado por el centro autorizador para la transacción.

23

authorizationMode

Alfanumérico

Modo de Autorización:

  • Online = La autorización fue realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending = indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número identificatorio de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

102

chipTokens

Alfanumérico

Tokens de respuesta:
ER: Resultado del cifrado.
EX: Datos de la nueva llave a cargar en el Pin Pad

166

trxReferenceNumber

Numérico

Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos, debido a que utiliza el día como parte de formato.


2.1.6 Bancomer - Consulta de Puntos


Este mensaje es utilizado cuando el tarjetahabiente requiere hacer la consulta de los puntos con los que cuenta, los campos son los mismos que los de un mensaje venta normal.
Esta transacción no requiere de confirmación a VTOL por lo que al recibir la respuesta en el POS el flujo de esta transacción termina. Es decir, el tercer mensaje no es requerido.
Esta operación no tiene reverso ni cancelación.
El mensaje para que VTOL pueda determinar que se trata de una consulta de puntos Bancomer se muestra a continuación.

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás.

Identificador del Server que procesará la transacción. (en el caso de eVTOL será 'VTOL')

4

messageType

Alfanumérico

Compatibilidad atrás.

Tipo de Mensaje:

  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

Obligatorio si es Manual

Número de tarjeta. Sólo presente si el modo de ingreso fue Manual.

7

expiration

Numérico

Obligatorio si es Manual

Formato YYYYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

8

Cvc

Numérico

Obligatorio si es Manual. Además es opcional según la tarjeta.

Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

9

track2

Alfanumérico

Obligatorio si es MSR

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

10

posInputMode

Alfanumérico

Obligatorio

Modo de Ingreso:

  • MSR = Ingreso por banda magnética
  • Manual = Ingreso manual
  • Chip = Tarjeta insertada PIN Pad
  • MSR Chip = Tarjeta deslizada PIN Pad
  • MSR ChipNR = Ingreso Manual PIN Pad
  • MSR ChipError = Fallback PIN Pad

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • PointsLookup = Consulta de Puntos

12

amount

Importe

Obligatorio

Se envía en ceros

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

Obligatorio

Cantidad de cuotas/parcialidades (meses). 2 dígitos como máximo.

15

plan

Alfanumérico

Obligatorio

Plan. 1 caracter de longitud.

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Opcional

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción.

56

pinblock

Alfanumérico

Condicional a PIN Pad

PIN encriptado. Se emplea para tarjetas de débito. Ejemplo pinblock: D76484D688FE1826

58

loyatyData

Alfanumérico

Condicional Bancomer

Para entidades que implanten la solución de Redención de Puntos Bancomer. 40 caracteres. Ver Anexo A Especificación del campo 58 Requerimiento, sección Consulta de Puntos

66

track1

Alfanumérico

Opcional a su lectura

Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

71

checkPendingString

Alfanumérico

Opcional, default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

102

chipTokens

Alfanumérico

Obligatorio para modo de ingreso Chip

Para consultas sin esquema cifrado:
Este campo debe enviar los siguientes tokens: ES: Obligatorio. Subcampo 3 con valor "0"
Para consultas con esquema cifrado
Este campo debe enviar los siguientes tokens:
ES: Obligatorio. Subcampo 3 con valor "5"
EZ: Obligatorio.
EY. Obligatorio solo si la bandera del subcampo 8 del token EZ está levantada.

116

cardSequenceNumber

Alfanumérico

Condicional Bancomer

Número de secuencia de la tarjeta. Se utiliza para distinguir tarjetas que tienen el mismo PAN (Primary Account Number).
Este campo se obtiene del TAG 5F34. Para transacciones EMV

117

emvFullGradeIcc

Alfanumerico

Condicional Bancomer y Amex

Datos de EMV Full Grade, para transacciones EMV
Para Bancomer: Conforme al Anexo 2 de Especificación de EMV FULLGrade de Bancomer para campo 55 del ISO

118

Terminalcapabilities

Numérico

Condicional Bancomer

Indica la capacidad de la terminal conforme a catalogo para especificación de token C4 de documentación Bancomer para EMV
Código indicando las capacidades que tiene la terminal para transferir datos de la tarjeta a la terminal:
0 Desconocida
1 No hay terminal (autorizaciones voz)
2 Lector de banda magnética
3 Código de barras (para uso futuro)
4 OCR (reconocimiento de caracteres, uso futuro)
5 Lector de banda y lector de chip EMV-compatible
6 Entrada manual
7 Lector de banda y entrada manual
8 Lector de banda, entrada manual y lector de chip EMV-compatible
9 Lector de chip EMV-compatible

Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización generado por el centro autorizador para la transacción.

23

authorizationMode

Alfanumérico

Modo de Autorización:

  • Online = La autorización fue realizada por el Centro Autorizador.

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

58

LoyatyData

Alfanumérico

Para entidades que implanten la solución de Redención de Puntos Bancomer. Ver Anexo B Especificación del campo 58 Respuesta

68

rrn

Numérico

Reference referral number.

82

SoftwareVersion

Alfanumérico

Versión software. Constante STS

102

chipTokens

Alfanumérico

En este campo se concatenan los tokens cuando son devueltos por el autorizador.

116

cardSequenceNumber

Numérico

Número de secuencia de la tarjeta. Se utiliza para distinguir tarjetas que tienen el mismo PAN (Primary Account Number).
Este campo se obtiene del TAG 5F34
Para transacciones Bancomer EMV.

117

emvFullGradeIcc

Numérico

Datos de EMV Full Grade
Conforme a anexo 2 de Especificación de EMV FULLGrade de Bancomer para campo 55 del ISO
Para transacciones EMV

129

pinpadReset

Numérico

0 = Cuenta por omisión. Pin Pad NO requiere telecarga
1 = Pin Pad requiere telecarga

166

trxReferenceNumber

Numérico

Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos, debido a que utiliza el día como parte de formato.


2.1.7 AMEX - Verificación Automática de Dirección (AAV)


Mensaje utilizado para verificar la dirección proporcionada por cliente contra el emisor de la tarjeta, este mensaje es utilizado especialmente en entornos de autorización donde la tarjeta no está presente.

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás.

Identificador del Server que procesará la transacción. (en el caso de eVTOL será 'VTOL')

4

messageType

Alfanumérico

Compatibilidad atrás.

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

Obligatorio si es Manual

Número de tarjeta. Sólo presente si el modo de ingreso fue Manual.

7

expiration

Numérico

Obligatorio si es Manual

Formato YYYYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

8

cvc

Numérico

Obligatorio si es Manual. Además es opcional según la tarjeta.

Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

9

track2

Alfanumérico

Obligatorio si es MSR

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

10

posInputMode

Alfanumérico

Obligatorio

Modo de Ingreso:

  • MSR = Ingreso por banda magnética
  • Manual = Ingreso manual
  • Chip = Tarjeta insertada PIN Pad
  • MSR Chip = Tarjeta deslizada PIN Pad
  • MSR ChipNR = Ingreso Manual PIN Pad
  • MSR ChipError = Fallback PIN Pad

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • CAddressVerification = Compra

12

amount

Importe

Obligatorio

Monto de la transacción. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

Obligatorio

Cantidad de cuotas/parcialidades (meses). 2 dígitos como máximo.

15

plan

Alfanumérico

Obligatorio

Plan. 1 caracter de longitud.

22

authorizationCode

Numérico

Condicional a si fue realizada la autorización telefónica.

Código de autorización telefónica. 6 dígitos como máximo. Este campo se encuentra presente sólo si la transacción se autorizó off-line por teléfono.

23

authorizationMode

Alfanumérico

Opcional, default = Online

Modo de Autorización:

  • Online = La autorización debe ser realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Opcional

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción.

56

pinblock

Alfanumérico

Condicional a PIN Pad

PIN encriptado. Se emplea para tarjetas de débito. Ejemplo pinblock: D76484D688FE1826

66

track1

Alfanumérico

Opcional a su lectura

Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

70

effectiveDate

Alfanumérico

Opcional AMEX

Fecha efectiva. Se usa para AMEX con formato yyMM

71

checkPendingString

Alfanumérico

Opcional, default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

82

customerEmail

Alfanumérico y caracteres especiales

Condicional

Para transacciones E-Commerce y MOTO
Correo electrónico del cliente
Ejemplo:
[email protected]

102

chipTokens

Alfanumérico

Obligatorio para modo de ingreso Chip

Amex: En el caso que el adquirente sea Banamex. Los tokens se envían tal cual los general el PinPad sin ningún tipo de procesamiento.

115

originIndicator




117

emvFullGradeIcc

Alfanumerico

Condicional

Para Amex:. Los Tags se deben enviar tal cual los genera el PinPad sin ningun tipo de procesamiento.

150

customerHostname

Alfanumérico y caracteres especiales

Condicional

Para transacciones E-Commerce y MOTO
Nombre del servidor al que el cliente está conectado.
Ejemplo:
PHX.QW.AOL.COM

152

shipToCountry

Alfanumérico y caracteres especiales

Condicional

Para transacciones E-Commerce y MOTO
Código del país
Ejemplo:
Para México: 484

153

shippingMethod

Alfanumérico y caracteres especiales

Condicional

Para transacciones E-Commerce y MOTO
Método de envío:
01 = Mismo día
02 = Día siguiente
03 = Prioridad, 2-3 días
04 = Por tierra 4 o más
05 = Entrega electrónica

154

sku

Alfanumérico y caracteres especiales

Condicional

Para transacciones E-Commerce y MOTO
SKU único del producto asociado a esta solicitud de autorización. Para autorizaciones con múltiples artículos colocar un único SKU correspondiente al artículo con el precio mayor.
Ejemplo:
TKDC315U

155

customerIp

Alfanumérico y caracteres especiales

Condicional

Para transacciones E-Commerce y MOTO
Dirección IP del cliente
Ejemplo 1: 127.142.151.223
Ejemplo 2: 127.142.5.56~~~

156

customerANI

Alfanumérico y caracteres especiales

Condicional

Para transacciones E-Commerce y MOTO
ANI (Automatic Number Identification)
Número telefónico que el cliente utilizó para realizar la orden.
Example: 6025551212

157

customerIIDigits

Alfanumérico y caracteres especiales

Condicional

Para transacciones E-Commerce y MOTO
ANI Information Identifier (II)
Dígitos asociados con el tipo de teléfono del cliente
Ejemplo:
Celular (61-63), teléfono público (27),llamada gratuita (24, 25), etc.


Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización generado por el centro autorizador para la transacción.

23

authorizationMode

Alfanumérico

Modo de Autorización:

  • Online = La autorización fue realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS.

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

68

rrn

Numérico

Reference referral number.

82

SoftwareVersion

Alfanumérico

Versión software. Constante STS

102

chipTokens

Alfanumérico

En este campo se concatenan los tokens cuando son devueltos por el autorizador.

117

emvFullGradeIcc

Numérico

Datos de EMV Full Grade
Conforme a anexo 2 de Especificación de EMV FULLGrade de Bancomer para campo 55 del ISO
Para transacciones EMV

126

additionalRespData

Alfanumérico

Additional response data devuelto en el campo 44 de la respuesta del CA

127

emailAddressVerif

Alfanumérico

Contiene códigos de respuesta que indican si la información del tarjetahabiente es válida.
Ver Anexo D Especificación del campo 127

129

pinpadReset

Numérico

0 = Cuenta por omisión. Pin Pad NO requiere telecarga
1 = Pin Pad requiere telecarga

160

hostCode

Alfanumérico

Código del canal por el cual se autorizó la tarjeta.

166

trxReferenceNumber

Numérico

Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos, debido a que utiliza el día como parte de formato.


2.1.8 Pre-autorización (Check-in)


Esta transacción es empleada en comercios que quieran asegurar los fondos de una tarjeta previo a una autorización final.
Soportada únicamente para Adquiriente Banamex y Amex
Este mensaje deberá ser confirmado por un tercer mensaje y no podrá enviarse un Check-out hasta no haber confirmado el Check-in

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás.

Valor Constante: VTOL

4

messageType

Alfanumérico

Compatibilidad atrás.

Valor constante Data

6

cardNumber

Numérico

Obligatorio si es Manual

Número de tarjeta. Sólo presente si el modo de ingreso fue Manual.

7

expiration

Numérico

Obligatorio si es Manual

Formato YYYYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

8

Cvc

Numérico

Obligatorio si es Manual. Además es opcional según la tarjeta.

Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

9

track2

Alfanumérico

Obligatorio si es MSR

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.
Para transacciones con esquema cifrado activado se enviará un Track Dummy correspondiente a una tarjeta del banco adquiriente

10

posInputMode

Alfanumérico

Obligatorio

Modo de Ingreso:

  • MSR = Ingreso por banda magnética
  • Manual = Ingreso manual
  • Chip = Tarjeta insertada PIN Pad
  • MSR Chip = Tarjeta deslizada PIN Pad
  • MSR ChipNR = Ingreso Manual PIN Pad
  • MSR ChipError = Fallback PIN Pad
  • Contactless = Contactless EMV

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • CheckIn = Pre autorización

12

amount

Importe

Obligatorio

Monto de la transacción. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

Obligatorio

Cantidad de cuotas/parcialidades (meses). 2 dígitos como máximo.

15

plan

Alfanumérico

Obligatorio

Plan. 1 caracter de longitud.

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Opcional

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción.

56

pinblock

Alfanumérico

Condicional a PIN Pad

PIN encriptado. Se emplea para tarjetas de débito. Ejemplo pinblock: D76484D688FE1826

66

track1

Alfanumérico

Opcional a su lectura

Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

71

checkPendingString

Alfanumérico

Opcional
default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

102

chipTokens

Alfanumérico

Obligatorio para modo de ingreso Chip

Banamex: En este campo se concatenan todos los tokens que genera el pinpad y deben comunicarse a VTOL.
Para ventas con esquema cifrado
Este campo debe enviar los siguientes tokens:
ES: Obligatorio. Subcampo 3 con valor "5"
EZ: Obligatorio.
EY. Obligatorio solo si la bandera del subcampo 8 del token EZ está levantada.

118

terminalCapability

Numérico

Condicional

Indica la capacidad de la terminal conforme a catalogo para especificación de token C4 de documentación
Código indicando las capacidades que tiene la terminal para transferir datos de la tarjeta a la terminal

Banamex
0 Desconocida
1 No hay terminal (autorizaciones voz)
2 Lector de banda magnética
3 Contactless EMV
4 Contactless Magstripe
5 Lector de banda y lector de chip EMV-compatible
6 Entrada manual
7 Lector de banda y entrada manual
8 Lector de banda, entrada manual y lector de chip EMV-Compatible
9 Lector de chip EMV-Compatible

125

posAuthenticationMethod

Numérico

Opcional

Código que indica cómo fue identificado el Tarjetahabiente en el punto de servicio:
0 = Desconocido (default)
1 = Firma
2 = PIN
3 = Terminal no atendida
4 = Orden correo teléfono
5 = Transacción QPS (Quick Payment Service), pagaré sin firma.
Para Banamex Capítulo X si no se envía el campo se toma el valor por default 1.

139

customerRef

Alfanumerico

Opcional

Número de referencia de comercio para trazabilidad de transacción. 20 caracteres como máximo.


Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización generado por el centro autorizador para la transacción.

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

68

rrn

Numérico

Reference referral number.

82

SoftwareVersion

Alfanumérico

Versión software. Constante STS

102

chipTokens

Alfanumérico

En este campo se concatenan los tokens cuando son devueltos por el autorizador.

160

hostCode

Alfanumérico

Código del canal por el cual se autorizó la tarjeta.

161

cardType

Alfanumérico

Tipo de tarjeta, según la configuración en VTOL:

  • Crédito
  • Débito
  • Sin Clasificar

166

trxReferenceNumber

Numérico

Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos

2.1.9 Autorización (Check-out)


Este mensaje debe ser enviado para confirmar la autorización de un check-in previo. No puede enviarse un mensaje de Check-out si previamente no se envió un Check-in y éste fue confirmado con un tercer mensaje Commit
Este mensaje deberá ser confirmado por un tercer mensaje.

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás.

Identificador del Server que procesará la transacción. (en el caso de eVTOL será 'VTOL')

4

messageType

Alfanumérico

Compatibilidad atrás.

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

Obligatorio si es Manual

Número de tarjeta. Sólo presente si el modo de ingreso fue Manual. Debe ser el mismo dato enviado en el check-in

7

expiration

Numérico

Obligatorio si es Manual

Formato YYYYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual. Debe ser el mismo dato enviado en el check-in

8

Cvc

Numérico

Obligatorio si es Manual. Además es opcional según la tarjeta.

Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual. Debe ser el mismo dato enviado en el check-in

9

track2

Alfanumérico

Obligatorio si es MSR

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.
Para transacciones con esquema cifrado activado se enviará un Track Dummy correspondiente a una tarjeta del banco adquiriente
Debe ser el mismo dato enviado en el check-in

10

posInputMode

Alfanumérico

Obligatorio

Modo de Ingreso:

  • MSR = Ingreso por banda magnética
  • Manual = Ingreso manual
  • Chip = Tarjeta insertada PIN Pad
  • MSR Chip = Tarjeta deslizada PIN Pad
  • MSR ChipNR = Ingreso Manual PIN Pad
  • MSR ChipError = Fallback PIN Pad
  • Contactless = Contactless EMV

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • CheckOut = Autorización

12

amount

Importe

Obligatorio

Monto final de la transacción, este monto no deberá ser mayor al monto que se envió en su pre-autorización (Ckeck-in).
12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

Obligatorio

Cantidad de cuotas/parcialidades (meses). 2 dígitos como máximo. Debe ser el mismo dato enviado en el check-in

15

plan

Alfanumérico

Obligatorio

Plan. 1 caracter de longitud. Debe ser el mismo dato enviado en el check-in

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Opcional

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción. Debe ser el mismo dato enviado en el check-in

56

pinblock

Alfanumérico

Condicional a PIN Pad

PIN encriptado. Se emplea para tarjetas de débito. Ejemplo pinblock: D76484D688FE1826

66

track1

Alfanumérico

Opcional a su lectura

Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

71

checkPendingString

Alfanumérico

Opcional, default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

102

chipTokens

Alfanumérico

Obligatorio para modo de ingreso Chip

Banamex: En este campo se concatenan todos los tokens que genera el pinpad y deben comunicarse a VTOL.
Para ventas con esquema cifrado
Este campo debe enviar los siguientes tokens:
ES: Obligatorio. Subcampo 3 con valor "5"
EZ: Obligatorio.
EY. Obligatorio solo si la bandera del subcampo 8 del token EZ está levantada.

118

terminalCapability

Numérico

Condicional

Indica la capacidad de la terminal conforme a catalogo para especificación de token C4 de documentación
Código indicando las capacidades que tiene la terminal para transferir datos de la tarjeta a la terminal

Banamex
0 Desconocida
1 No hay terminal (autorizaciones voz)
2 Lector de banda magnética
3 Contactless EMV
4 Contactless Magstripe
5 Lector de banda y lector de chip EMV-compatible
6 Entrada manual
7 Lector de banda y entrada manual
8 Lector de banda, entrada manual y lector de chip EMV-Compatible
9 Lector de chip EMV-Compatible

125

posAuthenticationMethod

Numérico

Opcional

Código que indica cómo fue identificado el Tarjetahabiente en el punto de servicio:
0 = Desconocido (default)
1 = Firma
2 = PIN
3 = Terminal no atendida
4 = Orden correo teléfono
5 = Transacción QPS (Quick Payment Service), pagaré sin firma.
Para Banamex Capítulo X si no se envía el campo se toma el valor por default 1.

139

customerRef

Alfanumerico

Opcional

Número de referencia de comercio para trazabilidad de transacción. 20 caracteres como máximo.

167

originalTrxReferenceNumber

Numérico

Obligatorio

Identificador único en VTOL Server de la transacción de check-in respondido en el campo 166.
Longitud 20 dígitos


Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización, es el mismo del Check-In asociado

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

68

rrn

Numérico

Reference referral number. Es el mismo del check-in asociado

82

SoftwareVersion

Alfanumérico

Versión software. Constante STS

160

hostCode

Alfanumérico

Código del canal por el cual se autorizó la tarjeta.
Disponible a partir de la versión 3.7.0.4

161

cardType

Alfanumérico

Tipo de tarjeta, según la configuración en VTOL:

  • Crédito
  • Débito
  • Sin Clasificar

166

trxReferenceNumber

Numérico

Identificador único de la transacción en VTOL Server. Longitud 20 dígitos


2.1.10 Ajuste de venta (SaleAdjustment)


Este mensaje puede ser empleado para realizar un ajuste al monto de una venta (Sale) posterior a la autorización de la misma. No puede enviarse un mensaje de SaleAdjustment si previamente no se envió un mensaje Sale y éste fue confirmado con un tercer mensaje Commit
Este mensaje deberá ser confirmado por un tercer mensaje.
No se puede enviar un SaleAdjustment por un monto menor al de la venta original ni para una venta que ya ha sido reversada.
Soportado únicamente para adquirientes Banamex.

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás.

Valor constante VTOL

4

messageType

Alfanumérico

Compatibilidad atrás.

Tipo de Mensaje. Valor constante: Data

6

cardNumber

Numérico

Obligatorio si es Manual

Número de tarjeta. Sólo presente si el modo de ingreso fue Manual. Debe ser el mismo dato enviado en la venta

7

expiration

Numérico

Obligatorio si es Manual

Formato YYYYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual. Debe ser el mismo dato enviado en la venta.

8

Cvc

Numérico

Obligatorio si es Manual. Además es opcional según la tarjeta.

Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual. Debe ser el mismo dato enviado en la venta.

9

track2

Alfanumérico

Obligatorio si es MSR

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.
Para transacciones con esquema cifrado activado se enviará un Track Dummy correspondiente a una tarjeta del banco adquiriente
Debe ser el mismo dato enviado en la venta

10

posInputMode

Alfanumérico

Obligatorio

Modo de Ingreso:

  • MSR = Ingreso por banda magnética
  • Manual = Ingreso manual
  • Chip = Tarjeta insertada PIN Pad
  • MSR Chip = Tarjeta deslizada PIN Pad
  • MSR ChipNR = Ingreso Manual PIN Pad
  • MSR ChipError = Fallback PIN Pad
  • Contactless = Contactless EMV

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • SaleAdjustment = Ajuste de venta

12

amount

Importe

Obligatorio

Monto final de la transacción, este monto no deberá ser mayor al monto que se envió en la venta original (Sale)
12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

Obligatorio

Cantidad de cuotas/parcialidades (meses). 2 dígitos como máximo. Debe ser el mismo dato enviado en la venta

15

plan

Alfanumérico

Obligatorio

Plan. 1 caracter de longitud. Debe ser el mismo dato enviado en la venta

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Opcional

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción. Debe ser el mismo dato enviado en la venta

56

pinblock

Alfanumérico

Condicional a PIN Pad

PIN encriptado. Se emplea para tarjetas de débito. Ejemplo pinblock: D76484D688FE1826

66

track1

Alfanumérico

Opcional a su lectura

Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

71

checkPendingString

Alfanumérico

Opcional, default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True = activa chequeo de pendientes.
  • False = desactiva chequeo de pendientes.

102

chipTokens

Alfanumérico

Obligatorio para modo de ingreso Chip

Banamex: En este campo se concatenan todos los tokens que genera el pinpad y deben comunicarse a VTOL.
Para ventas con esquema cifrado
Este campo debe enviar los siguientes tokens:
ES: Obligatorio. Subcampo 3 con valor "5"
EZ: Obligatorio.
EY. Obligatorio solo si la bandera del subcampo 8 del token EZ está levantada.

118

terminalCapability

Numérico

Condicional

Indica la capacidad de la terminal conforme a catalogo para especificación de token C4 de documentación
Código indicando las capacidades que tiene la terminal para transferir datos de la tarjeta a la terminal

Banamex
0 Desconocida
1 No hay terminal (autorizaciones voz)
2 Lector de banda magnética
3 Contactless EMV
4 Contactless Magstripe
5 Lector de banda y lector de chip EMV-compatible
6 Entrada manual
7 Lector de banda y entrada manual
8 Lector de banda, entrada manual y lector de chip EMV-Compatible
9 Lector de chip EMV-Compatible

125

posAuthenticationMethod

Numérico

Opcional

Código que indica cómo fue identificado el Tarjetahabiente en el punto de servicio:
0 = Desconocido (default)
1 = Firma
2 = PIN
3 = Terminal no atendida
4 = Orden correo teléfono
5 = Transacción QPS (Quick Payment Service), pagaré sin firma.
Para Banamex Capítulo X si no se envía el campo se toma el valor por default 1.

139

customerRef

Alfanumerico

Opcional

Número de referencia de comercio para trazabilidad de transacción. 20 caracteres como máximo.

167

originalTrxReferenceNumber

Numérico

Obligatorio

Identificador único en VTOL Server de la transacción de venta respondido en el campo 166.
Longitud 20 dígitos


Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22

authorizationCode

Numérico

Código de autorización, es el mismo de la venta original asociada

24

lastTrxId

Numérico

Id de transacción. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Mensaje de la Respuesta ISO-8583

29

serialNumber

Numérico

Número de la terminal en la que se procesó la transacción.

30

businessNumber

Numérico

Número de comercio en el que se procesó la transacción.

31

lotNumber

Numérico

Número de lote en el que se registró la transacción

32

ticket

Numérico

Número de Ticket correspondiente a la transacción. 4 dígitos como máximo.

33

creditCardIssuerName

Alfanumérico

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

Nombre del canal por el cual se autorizó la tarjeta.

35

errorDescription

Alfanumérico

Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".

42

lotDefinitionId

Numérico

Identificador de la definición de lote.

68

rrn

Numérico

Reference referral number. Es el mismo del check-in asociado

82

SoftwareVersion

Alfanumérico

Versión software. Constante STS

160

hostCode

Alfanumérico

Código del canal por el cual se autorizó la tarjeta.
Disponible a partir de la versión 3.7.0.4

161

cardType

Alfanumérico

Tipo de tarjeta, según la configuración en VTOL:

  • Crédito
  • Débito
  • Sin Clasificar

166

trxReferenceNumber

Numérico

Identificador único de la transacción en VTOL Server. Longitud 20 dígitos


2.1.11 Tercer Mensaje


Requerimiento

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Identificador del Server que procesará la transacción. (en el caso de eVTOL será 'VTOL')

4

messageType

Alfanumérico

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

11

trxType

Alfanumérico

Tipo de Transacción:

  • UnSyncCompletion = Mensaje de completamiento de transacción ("tercer mensaje")

19

lastTrxAction

Alfanumérico

Acción a realizar sobre la Transacción:

  • Commit = Confirma la transacción
  • Rollback = Reversa la transacción

24

lastTrxId

Numérico

Id de transacción a confirmar / reversar.

25

dateTime

Numérico

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

200

ExtraData

Alfanumérico

Aplica únicamente para Bancomer.
Datos extras que se deben enviar en el tercer mensaje cuando se desee:

  • Enviar un reverso 40
  • Especificar el motivo del reverso
    Ver Anexo C Especificación del campo 200 en el tercer mensaje


Respuesta

El tercer mensaje no tiene respuesta, salvo que esté prendido el flag de chequeo de transacciones pendientes.


2.1.12 Tercer Mensaje Embebido


El tercer mensaje puede enviarse embebido en otro requerimiento. Así en una misma transacción se enviará un requerimiento y la confirmación o reverso de una transacción pendiente. Para ello, deberán ser agregados los siguientes campos a la transacción en curso:

Requerimiento

#

FieldId

Tipo

Descripción

19

lastTrxAction

Alfanumérico

Acción a realizar sobre la Transacción:

  • Commit = Confirma la transacción
  • Rollback = Reversa la transacción

24

lastTrxId

Numérico

Id de transacción a confirmar / reversar.

200

ExtraData

Alfanumérico

Datos extras que se deben enviar en el tercer mensaje cuando se desee:

  • Enviar un reverso 40
  • Especificar el motivo del reverso
    Ver Anexo C Especificación del campo 200 en el tercer mensaje


Respuesta

El tercer mensaje embebido, al igual que el Tercer Mensaje, no tiene respuesta. De todas formas, sí existe respuesta para la transacción que lo embebe.


2.1.13 Chequeo de Pendientes


El mensaje de chequeo de pendientes sirve para averiguar si el POS que envía la transacción tiene alguna transacción pendiente de confirmación.

Este mensaje se utiliza en ambientes en donde el POS administra los nodos, para un ambiente de nodos virtuales, utilizar el mensaje CheckPendingList


Requerimiento

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Identificador del Server que procesará la transacción. (en el caso de eVTOL será 'VTOL')

4

messageType

Alfanumérico

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

11

trxType

Alfanumérico

Tipo de Transacción:

  • CheckPending = Mensaje de chequeo de pendientes.

25

dateTime

Numérico

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss


Respuesta

#

FieldId

Tipo

Descripción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción.
OPCIONAL: Aparece si campo 26 es TrxIsPending.

24

trxId

Numérico

OPCIONAL: En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta emitido por VTOL. OPCIONAL: Aparece si campo 26 no es TrxIsPending.

28

responseMessage

Alfanumérico

Mensaje de respuesta. Por ejemplo "Aprobada"
OPCIONAL: Aparece si campo 26 no es TrxIsPending.

31

lotNumber

Numérico

Constante igual a 1 para mantener compatibilidad hacia atrás.
OPCIONAL: Aparece si campo 26 no es TrxIsPending.

32

ticket

Numérico

Constante igual a 1 para mantener compatibilidad hacia atrás.
OPCIONAL: Aparece si campo 26 no es TrxIsPending.


Nota: si la respuesta es "Aprobada" significa que no hay transacciones pendientes.


2.1.14 Chequeo de pendientes en lista


Requerimiento

#

FieldId

Tipo

Obligatorio

Description

1

store

Alfanumérico

Obligatorio

Identificador del sitio originador de la transacción

2

node

Numérico

Obligatorio si la tienda no es virtual

Identificación del nodo, en el sitio originador, donde se generó la transacción
Este campo no se envía cuando la tienda con el código store está configurada como una tienda virtual en VTOL.

3

server

Alfanumérico

Obligatorio

Valor constante 'VTOL'

4

messageType

Alfanumérico

Obligatorio

Valor constante Data

11

trxType

Alfanumérico

Obligatorio

Tipo de transacción:

  • CheckPendingList
    Mensaje para obtener una lista de todas las transacciones pendientes para un originador o para todos los originadores dependiendo del campo 162.

25

dateTime

Numérico

Obligatorio

Fecha de generación de la transacción en el POS. Formato YYYYMMDDHHmmss

162

storeFilter

Alfanumérico

Opcional

ID del originador del que se desea obtener la lista de transacciones pendientes. Si este campo no está presente se devolverá la lista de las transacciones pendientes para todos los originadores.

163

Threshold

Alfanumérico

Opcional; default=0

Número de minutos hacia atrás que se ignoraran para buscar transacciones pendientes.
Todas las transacciones hechas entre la hora actual y (hora actual - Threshold) no serán incluidas en la respuesta.
Para incluir todas las transacciones enviar el valor 0.

Ejemplo:
Field 163 = 60 VTOL buscará todas las transacciones pendientes que existan y que no sean más recientes de 60 minutos. Es decir, si actualmente son las 10:00, las transacciones realizadas entre las 9:00 y las 10:00 no serán consideradas.
Field 163 = 1440 VTOL ignorará todas las transacciones pendientes del último día y la respuesta sólo incluirá transacciones pendientes del día anterior y más antiguas.

169

nodeFilter

Numérico

Opcional

Identificación de nodos, en el sitio originador, del que se desea obtener la lista de transacciones pendientes dado un rango de nodos.
El formato de este campo es:
Field 169 = numeroNodoInicial,numeroNodoFinal
Si este campo no está presente o el formato no es correcto se devolverá la lista de las transacciones pendientes para todos los originadores.
Ejemplo de envió de campo:
Field 169 = 1,10


Respuesta

#

FieldId

Tipo

Descripción

2

node

Numeric

Identificación del nodo, en el sitio originador, donde se generó la transacción

25

dateTime

Numeric

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alphanumeric

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, la lista de transacciones pendientes está en el campo 161.

27

isoCode

Numeric

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo
OPCIONAL: Aparece si campo 26 no es TrxIsPending.

28

responseMessage

Alphanumeric

Mensaje de la Respuesta ISO-8583
OPCIONAL: Aparece si campo 26 no es TrxIsPending.

161

trxIdList

Alphanumeric

Lista de transacciones pendientes de confirmación por el originador en el siguiente formato:

[Store&Node&TrxIdList|Store&Node&TrxIdList|…]

Donde:

  • Store: Código del originador al que pertenece la lista de transacciones pendientes.
  • Node: Código de nodo al que pertenecen las transacciones pendientes. Para el caso de originadores virtuales, se devuelve la constante V
  • TrxIdList: Lista de los IDs de las transacciones pendientes de confirmación, separados por coma.

Ejemplo:

[0000000001&0000000006&4,2,3]

Y para un originador virtual:

[0000000006&V&13021512453900002321,13021512453600002320]


2.1.15 Tercer mensaje en lista

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

Obligatorio

Identificador del sitio originador de la transacción

2

node

Numérico

Obligatorio si la tienda no es virtual

Identificación del nodo, en el sitio originador, donde se generó la transacción
Este campo no se envía cuando la tienda con el código store está configurada como una tienda virtual en VTOL.

3

server

Alfanumérico

Obligatorio

Constante "VTOL"

4

messageType

Alfanumérico

Obligatorio

Constante: "Data"

11

trxType

Alfanumérico

Obligatorio

Tipo de transacción

  • UnSyncCompletionList = Mensaje de completamiento de transacción ("tercer mensaje")

19

lastTrxAction

Alfanumérico

Obligatorio

Acción a realizar sobre las transacciones del campo 161:

  • Commit = Confirma la transacción
  • Rollback = Reversa la transacción

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

161

lastTrxIdList

Alfanumérico

Obligatorio

Lista de transacciones a confirmar/reversar para una tienda y nodo en el siguiente formato:

[Store&Node&TrxIdList|Store&Node&TrxIdList|…]

Donde:

  • Store – Originador a la que pertenecen las transacciones en el subcampo TrxIdList
  • Node – Código de Nodo al que pertenecen las transacciones en el subcampo TrxIdList. Para un originador virtual, enviar este subcampo con valor constante V
  • TrxIdList – Listado de los IDs de las transacciones a confirmar/reversar, separados por comas. 


Ejemplo:

{11:UnSyncCompletionList;1:1;2:1;25:20130511213613;19:Commit;3:VTOL;4:Data;161:[1&1&50,51,52|1&2&84,95|2&1&99,124]}

En este ejemplo, de acuerdo a los campos 19 y 161, VTOL tomará las siguientes acciones sobre las transacciones:

Store

Node

Transaction Id

Action

1

1

50,51,52

Commit

1

2

84,95

Commit

2

1

99,124

Commit


Para el caso de un originador virtual:

{11:UnSyncCompletionList;1:1;2:1;25:20130511213613;19:Commit;3:VTOL;4:Data;161:[1&V&50000000000000000000,51000000000000000000,52000000000000000000,84000000000000000000,95000000000000000000|2&V&99000000000000000000,124000000000000000000]}


Store

Transaction Id

Action

1

50000000000000000000,51000000000000000000,52000000000000000000, 84000000000000000000,95000000000000000000

Commit

2

99000000000000000000,124000000000000000000

Commit


Respuesta

El tercer mensaje en lista no tiene respuesta.


2.1.16 Echo


Este mensaje puede ser utilizado para monitorear que VTOL esté levantado. El propósito es saber si VTOL server está ejecutándose. No devuelve ninguna información adicional de salud de los canales, locales, etc.

Requerimiento

#

FieldId

Tipo

Obligatorio

Description

11

trxType

Alfanumérico

Obligatorio

Tipo de transacción:

  • Echo


El contenido del mensaje de requerimiento a nivel bytes es el siguiente:

  • HEXA BYTE:

09 00 00 00 00 01 7b 31 31 3a 45 63 68 6f 7d

  • DEC BYTE:

9 0 0 0 0 1 123 49 49 58 69 99 104 111 125

  • ASCII:*

......{11:Echo}

*el punto "." representa caracteres no imprimibles
Los primeros 6 bytes del mensaje representan el header del protocolo llavecitas. Ver sección 1.1.1

Respuesta

#

FieldId

Tipo

Descripción

25

dateTime

Numeric

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

28

responseMessage

Alfanumérico

Mensaje de la Respuesta valor constante:
"OK"



El contenido del mensaje de respuesta a nivel bytes es el siguiente:

  • HEXA BYTE:

19 00 00 00 00 00 7b 32 35 3a 32 30 31 36 31 31 30 39 31 33 34 33 30 36 3b 32 38 3a 4f 4b 7d 00

  • DEC BYTE:

25 0 0 0 0 0 123 50 53 58 50 48 49 54 49 49 48 57 49 51 52 52 50 51 59 50 56 58 79 75 125

  • ASCII:

......{25:20161109134306;28:OK}
*el punto "." representa caracteres no imprimibles
Los primeros 6 bytes del mensaje representan el header del protocolo llavecitas. Ver sección 1.1.1


2.1.17 Consulta de Configuración


Por medio de éste mensaje, el POS puede solicitar a VTOL el envío de la configuración generada a partir de la ejecución de la interface para POS.
El POS debe enviar en el mensaje el número de versión de la configuración que posee, de esta manera VTOL puede validar si es necesario devolver la información o no.
A nivel implementación se recomienda no ejecutar éste mensaje entre cada mensaje de autorización ya que podría degradar la performance del sistema.
Es recomendable hacerlo en alguno de los siguientes casos:

  • Cuando un operador hace login
  • Cada una X cantidad de tiempo. Por ejemplo, cada 1 hora
  • Cuando el punto de venta inicia (dependiendo frecuencia)
  • Opcionalmente, proveer al sistema integrador una opción para forzar el cambio de configuración manualmente (que manualmente se dispare el proceso de actualización)
  • etc


Nota: si el POS no posee número de configuración debe enviar el valor por defecto 0 (cero), ya que VTOL valida que el campo versión siempre esté presente.

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás

Identificador del Server que procesará la transacción. ('VTOL')

4

messageType

Alfanumérico

Compatibilidad atrás

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • PosConfQuery = Consulta de Configuración

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

71

checkPendingString

Alfanumérico

Opcional, default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

  • True: activa chequeo de pendientes.
  • False: desactiva chequeo de pendientes.

137

confVersion

numérico

Obligatorio

Número de versión de la configuración que posee el POS. En caso de que el POS no posea configuración previa, se debe enviar el campo con valor 0 y de esta manera evitar el error de validación por ausencia del campo.

201

additionalMessageData

Alfanumérico

Opcional

Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD).


Respuesta

#

FieldId

Tipo

Descripción

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

24

trxId

Numérico

OPCIONAL. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending = indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por VTOL. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Valor fijo ISO-8583.

137

confVersion

numérico

Número de versión de la configuración más actual. Si el número es distinto al enviado en el requerimiento, entonces el POS debe actualizar la configuración.

138

confData

Alfanumérico

Configuración creada en la generación de la Interface para POS, codificada en Base64.
Viaja siempre y cuando el número de versión enviado por el POS no sea el vigente. Para más detalle ver sección Formato Interface POS

165

publicKey

Alfanumérico

Clave Pública vigente utilizada en la encripción punto a punto entre POS - VTOL

201

additionalMessageData

Alfanumérico

Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD).



2.1.18 Anulación de Pre-autorización

La anulación de Pre-Autorización sirve para anular completamente una Pre-autorización (CheckIn) realizada previamente. Dado el caso de que un cliente se arrepienta de realizar la compra, por ejemplo, en una estación de servicio el cliente se arrepiente de cargar combustible, en este caso, es necesario realizar una anulación del CheckIn para que el monto retenido sea devuelto al cliente.

El flujo normal de esta operatoria es el siguiente:

  1. Se realiza una pre-autorización por un monto X.
  2. Por algún motivo, como el expuesto más arriba, es necesario anular la pre-autorización y reintegrar el monto retenido al cliente. Mientras se esté en el mismo periodo que la operación original, se puede enviar el mensaje de anulación de pre-autorización.

La Anulación de una pre-autorización no se incluirá en los archivos de cierre o TEF.

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

Identificación del nodo, en el sitio originador, donde se generó la transacción

3

server

Alfanumérico

Compatibilidad atrás

Identificador del Server que procesará la transacción: VTOL

4

messageType

Alfanumérico

Compatibilidad atrás

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.
10posInputModeAlfanuméricoSI

Modo de ingreso:

  • E-Commerce = Comercio electrónico

11

trxType

Alfanumérico

SI

Tipo de Transacción:

  • VoidPreAuthorization = Anulación de Pre-autorización (CheckIn)
12amountImporteSIMonto de la transacción. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00
13currencyPosCodeAlfanuméricoSI

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares
14paymentsNuméricoSICantidad de cuotas. 2 dígitos como máximo.
15planAlfanuméricoSIPlan. 1 caracter de longitud.

25

dateTime

Numérico

SI

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

167originalTrxReferenceNumberAlfanuméricoSI

Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos.

Dato enviado por VTOL Server en el campo 166, en la respuesta de un Sale o una PreAuthorization.

264posChannelOriginNuméricoSI

Indica el canal de origen de la transacción. Es un código con los siguientes valores posibles:

  • 1: E-Commerce


Respuesta

#

FieldId

Tipo

Descripción

0companyAlfanuméricoIdentificador de la compañía donde se generó la transacción.

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

Identificación del nodo, en el sitio originador, donde se generó la transacción

22authorizationCodeAlfanuméricoCódigo de autorización generado por el centro autorizador para la transacción.

24

trxId

Numérico

OPCIONAL. En caso que el Campo 26 sea TrxIsPending, contendrá el trxId de la transacción pendiente.

25

dateTime

Numérico

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS.

26

responseCode

Alfanumérico

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Código de errores del CORE
  • TrxIsPending = indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24.

27

isoCode

Numérico

Código de Respuesta ISO-8583 emitido por VTOL. 2 dígitos como máximo

28

responseMessage

Alfanumérico

Valor fijo ISO-8583.

29serialNumberNuméricoNúmero identificatorio de la terminal en la que se procesó la transacción.
30businessNumberNuméricoNúmero de comercio en el que se procesó la transacción.
31lotNumberNuméricoNúmero de lote en el que se registró la transacción
32ticketNuméricoNúmero de Ticket correspondiente a la transacción. 4 dígitos como máximo.
33creditCardIssuerNameAlfanuméricoNombre del Centro emisor de la tarjeta
34hostNameAlfanuméricoNombre del canal por el cual se autorizó la tarjeta.
35errorDescriptionAlfanuméricoDescripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error".
42lotDefinitionIdNuméricoIdentificador de la definición de lote.
68rrnNuméricoReference referral number.
82softwareVersionAlfanuméricoVersión de la aplicación.
161cardTypeAlfanumérico

Tipo de tarjeta, según la configuración en VTOL:

  • Crédito
  • Débito
  • Sin Clasificar
166trxReferenceNumberNuméricoIdentificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos, debido a que utiliza el día como parte de formato.




2.2 Códigos de Respuesta al POS


La respuesta que el POS recibe de VTOL se encuentra en los siguientes campos:

  1. Campo 27: Código de Respuesta
  2. Campo 28: Descripción de la Respuesta


A continuación se detallan las respuestas posibles con una breve descripción de cada una:

Código

Descripción

'00'

Aprobada

'01'

Pedir autorización telefónica

'02'

Pedir autorización

'03'

Comercio inválido

'04'

Capturar tarjeta

'05'

Denegada

'07'

Retenga y llame

'11'

Aprobada

'12'

Transacción inválida

'13'

Monto inválido

'14'

Tarjeta inválida

'22

Código de Seguridad Inválido

'25'

No existe original

'30'

Error en formato

'38'

Excede ingreso de PIN

'43'

Retener tarjeta

'45'

No opera en cuotas/Promoción no permitida

'46

Monto inferior al mínimo para promoción

'46'

Tarjeta no vigente

'47'

PIN requerido

'48'

Excede máximo de cuotas

'48

CV2 inválido

'49'

Error fecha de vencimiento

'50'

Entrega supera límite

'51'

Fondos insuficientes

'53'

Cuenta inexistente/inválida

'54'

Tarjeta vencida

'55'

PIN incorrecto

'56'

Tarjeta no habilitada

'57'

Transacción no permitida

'58'

Servicio inválido

'61'

Excede límite

'62

Bin Card no permitido

'65'

Excede límite de tarjeta

'65

Intento de retiros excedido

'70

Error descifrando T2

'71

Inicializar Llaves

'72

Error al inicializar llaves

'73

Error en CRC

'76'

Llamar al emisor

'77'

Error plan/cuotas

'82

CVV/CVV2 Incorrecto

'85'

Aprobada

'86'

No envía fecha original

'89'

Terminal inválida

'89

Comercio cerrado o cancelado

'89

Nueva tarjeta emitida

'91'

Emisor fuera de línea

'94'

Número de secuencia duplicado

'95'

Re-transmitiendo

'96'

Error en sistema

'99'

Error no clasificado


Modo de ingreso inválido


Proveedor inválido


Error CVC


Error creando mensaje


Tipo de mensaje inválido


No envía código de autorización


Error en fecha efectiva


Error en fecha vencimiento


Tarjeta no efectiva


No opera off-line


Devolución monto mayor


Original ya anulada


Original ya devuelta


Original reversada


Moneda inválida


No envía fecha


Campo 71 inválido


Campo 71 nulo


CVC inválido


Terjeta inválida


Track2 inválido


No envía moneda


No envía CVC


Timeout


Fecha original inválida


No envía ticket original


Ticket original inválido


No envía código de autorización de venta referida


Reintente


Chiptokens Invalido


Campo emvFullGradeIcc Inválido


Error script


Error criptograma


Error cardSequenceNumber


Check-in no confirmado



Nota: La respuesta con código '99' representa un error en el procesamiento interno de VTOL, independientemente de la interacción con el Centro Autorizador. Dicho error no debe ser manejado por el POS.

2.3 Código de errores del CORE

Es posible que VTOL responda "Error" en el campo 26 del mensaje de respuesta. Éste valor indica que se ha producido un error dentro del flujo inicial y principal del core de VTOL, previo al procesamiento de las reglas de negocio asociadas al tipo de transacción.
Normalmente los casos en donde se puede dar ésta situación son los siguientes:
Por ejemplo:

  • Si el nodo o el store son inválidos
  • Si el mensaje tiene un formato erróneo
  • Si el campo 11 no fue enviado en el requerimiento
  • Si el campo 11 tiene un valor no soportado por VTOL
  • Si el campo 1 no fue enviado en el requerimiento
  • Si el campo 2 no fue enviado en el requerimiento
  • Si un campo enviado en el requerimiento no es soportado por VTOL
  • Si VTOL no tienen conexión con base de datos
  • Si hay otro error interno al core (la transacción no llegó al módulo)
  • Si la transacción se empezó a procesar en el módulo y éste nunca responde. Esto provoca que se active un flujo alternativo de Timeout del CORE que se da a los 60 segundos.
  • Si el CORE no puede aceptar más transacciones porque está sobrecargado


El mensaje de respuesta tiene siempre el siguiente formato:

Dónde:

  • Donde 32 y 31 se responden por compatibilidad hacia atrás con otras implementaciones.
  • El campo 28 siempre posee la descripción del error.
  • El campo 27 siempre es "99".
  • El campo 26 siempre dice "Error".
  • El campo 25 es la hora del requerimiento.


2.4 Transacciones soportadas por canal


Bancomer

Banamex

Banorte

Prosa

Fiserv

Amex

Sale

X

X

X

X

X

X

CashAdvance







Refund

X

X

X

X

X

X

ResetKeys

X

X

X




PointsLookup

X






CAddressVerification






X

CheckIn


X




X

CheckOut


X




X

SaleAdjustment


X






3. ANEXOS

3.1 Anexo A Especificación del campo 58 en Requerimiento

3.1.1 Compra con puntos.


Id Campo

Tipo

Tamaño

Descripción

Numero imprescindible

Alfanumérico

16

Viaja con espacios con TDD y
TDC

Importe en pesos

Alfanumérico

12

Venta con Redención de Puntos
Se enviará el total del importe en pesos de la venta.
Relleno con ceros, justificado a la derecha.

Número de puntos

Alfanumérico

10

Se envían ceros.

Tipo POS

Alfanumérico

02

00 POS No tiene la funcionalidad de VB
01 POS tiene la funcionalidad de VB

3.1.2 Consulta de puntos.


Id Campo

Tipo

Tamaño

Descripción

Numero imprescindible

Alfanumérico

16

Viaja con espacios con TDD y
TDC

Importe en pesos

Alfanumérico

12

Se envían ceros.

Número de puntos

Alfanumérico

10

Se envían ceros.

Tipo POS

Alfanumérico

02

00 POS No tiene la funcionalidad de VB
01 POS tiene la funcionalidad de VB


3.2 Anexo B Especificación del campo 58 en Respuesta

Campos que se reciben dentro del campo 58 del mensaje de response de una compra con puntos o de una consulta con puntos en el campo 58.

Id Campo

Tipo

Tamaño

Descripción

Importe en pesos

Alfanumérico

12

Venta con Redención de Puntos
El host enviará sólo el importe en pesos realmente redimidos.
Relleno con ceros, justificado a la derecha.

Número de puntos

Alfanumérico

10

En la respuesta se regresará el número de puntos redimidos.
Aplica para TDC y TDD
Relleno con ceros, justificado a la derecha.

Factor de exponenciación

Alfanumérico

02

Valores: 01, 02, 03, 04, etc.
Este dato contendrá el valor de exponenciación de puntos (doble, triple, etc.)
Nota:
El valor 01 indica que NO existen puntos exponenciales, es decir, tienen un valor normal.
El valor <> 01 indica el factor exponencial que corresponda.

Saldo disponible en pesos

Alfanumérico

12

Saldo disponible o actualizado en pesos.

Saldo anterior en puntos

Alfanumérico

10

En este campo se incluye el saldo anterior en puntos.

Saldo anterior en pesos

Alfanumérico

12

En este campo se incluye el saldo anterior en pesos.

Vigencia promoción exp

Alfanumérico

6

Formato ddmmaa
Vigencia de la promoción de puntos exponenciales.

Saldo redimido exp en pesos

Alfanumérico

12

Se incluye el saldo redimido en pesos con la promoción de Puntos exponenciales.

Saldo redimido exp en puntos

Alfanumérico

10

Se incluye el saldo redimido en puntos con la promoción de Puntos exponenciales.

Saldo disponible exp en pesos

Alfanumérico

12

Se incluye el saldo disponible pesos durante la promoción dePuntos exponenciales.

Saldo disponible exp en puntos

Alfanumérico

10

Se incluye el saldo disponible en puntos durante la
promoción de Puntosexponenciales.

Card request

Alfanumérico

02

POS CON VB TDC
'42' = 'B' Card block request
'55' = 'U' Card unblock request
'20' = ' ' No action requested TDD
'20' = ' ' No action requested

POS SIN VB (TDD/TDC)
'20' = ' ' No action requested

Pool Number

Alfanumérico

01

Número de pools a enviar:
'0', '1', '2', ó '3'.

POS CON VB
TDC: '0', '1', '2', ó '3'.
TDD: '1'

POS SIN VB (TDD / TDC)
'1'

Ecoup-number

Alfanumérico

01

POS CON VB (TDD / TDC)
Número de ecoupons a enviar:
'0', '1', '2', ó '3'.

POS SIN VB (TDD / TDC)
'0'

Segment number

Alfanumérico

01

POS CON VB (TDD / TDC)
Número de segmentos a enviar:
'0', '1' ,'2','3','4','5','6'ó '7'.

POS SIN VB (TDD / TDC)
'0'

Pool ID 1

Alfanumérico

10

POS CON VB (TDC)
0x00000000 – No pool defined
0x00000001 – 0xFFFFFFFF
Se enviará la equivalencia del valor hexadecimal en ebcdic. Su valor puede llegar a ser 4,294'967,295

POS CON VB (TDD)
0x00000001

POS SIN VB (TDD / TDC)
0x00000001

Pool Adjust Type 1

Alfanumérico

02

POS CON VB (TDC)
'43' = 'C' Credit Option
'44' = 'D' Debit Option
'52' = 'R' Replace option
'20' = ' ' default value when no pool defined

POS CON VB (TDD)
'52' = 'R' Replace option

POS SIN VB
'52' = 'R' Replace option

Pool Value 1

Alfanumérico

10

0x00000000 – 0Xffffffff

POS CON VB Y SIN VB
0x00000000 – 0xFFFFFFFF

Se enviará la equivalencia del valor hexadecimal en ebcdic. Su valor puede llegar a ser 4,294'967,295
Nota: En este campo se incluyen el Saldo de los puntos disponibles o actualizados.

Pool Unit Label 1

Alfanumérico

03

POS CON VB Y SIN VB
0x484 = MXP
0x840 = USD

Pool Decib Nb 1

Alfanumérico

01

POS CON VB Y SIN VB
0x30 – 0x39

Cryptogram Mac

Alfanumérico

10

Message Cryptogram
POS VB TDC
Número encriptado

POS VB TDD o POS VB
TDD/TDC
No viajará.


3.3 Anexo C – Especificación del campo 200 en el tercer mensaje.

3.3.1 Reverso por motivo 40


Cuando una transacción de venta ha sido aprobada en CA, pero el PIN Pad la rechaza, se genera el reverso en el tercer mensaje, tal como se trabaja hoy en día, además, se deberá agregar el campo 200, conteniendo la información que viaja en el campo 117 en el mensaje de venta original.

Id Campo

Tipo

Tamaño

Descripción

Reverso 40

Alfanumérico

999

Número del campo (117) separado por un pipe (|) seguido del valor leído del PIN PAD.

[117| Lista campos EMV completos (ElementoE2)]


Ejemplo:

200 extraData                      : [117|950500800080409F100706010A03A000009F1E0831383835363931329F260876072C613CF7A1079F360200459F3704CBF82399]


3.3.2 Especificar la razón del reverso desde el punto de venta.


Este campo puede viajar en la mensajería cuando se desea especificar la razón por la que se está reversando la transacción, los escenarios posibles para especificar el motivo de reverso son:

  • Se dio una cancelación desde el punto de venta, como por ejemplo en caso de que no todos los pagos parciales hayan sido aprobados y se desean reversar aquellos que sí se aprobaron.
  • Se produjo un error en la caja que causo que la transacción sea reversada, esta opción debe ser utilizada únicamente para escenarios de error no controlados, ya que puede ser un indicador de un mal funcionamiento.


Id Campo

Tipo

Tamaño

Descripción

Motivo de Reverso

Alfanumérico

999

Número del campo (100) separado por un pipe (|) seguido del valor del motivo del reverso.

[100| Motivo de reverso]

Valores posibles para el motivo de reverso:

  • Cancel
  • Error


Ejemplo:

200 extraData                      : [100|Cancel]

200 extraData                      : [100|Error]


3.3.3 Firma digital


Para envió de la firma digital y del código de redundancia cíclica el POS debe enviar en el tercer mensaje Commit la cadena de la firma obtenida del PIN Pad.y el valor del ultimo comando S31.
Estos datos se incluyen en el campo 200 –extraData-, con el siguiente formato:


Id Campo

Tipo

Tamaño

Descripción


Valor Firma

Hexadecimal

2048

Nombre del campo (signatureData) separado por un pipe (|) seguido del valor de la firma digital separado por una coma seguido del Nombre del campo (crc32) separado por un pipe (|) seguido del valor del crc32

[signatureData|valorFirma,crc32|valorCRC]



Ejemplo:

200 extraData                      : [signatureData|000000000000000000000000000000000000000000000,crc32|987456321]


3.4 Anexo D Especificación del campo 127


#

Posición

Nombre del Campo

Descripción

1

1-3

VLI

Indicador de longitud variable

2

4-5

Service Identifier

Valor constante "AX"

3

6-7

Request Type Identifier

Valor constante "AE"

4

8

Cardmember Billing Postal Code

Resultado de la validación del código postal

5

9

Cardmember Billing (Street) Address

Resultado de la validación de la calle

6

10

Cardmember First and Last Name

Resultado de la validación del nombre y apellido

7

11

Cardmember Billing Phone Number

Resultado de la validación del número telefónico

8

12

Customer E-Mail Address

Resultado de la validación del correo electrónico


Para los campos del 4 al 8, los valores posibles son:

  • Y – Datos concuerdan
  • N – Datos no concuerdan
  • ~ - Los datos no se enviaron
  • U – Los datos no se verificaron
  • R – Reintentar
  • S – Servicio no permitido


3.5 Anexo E Formato Interface POS


A continuación se detalla la información que viaja en el campo ConfData y que se corresponde con la interface generada para el POS.

La versión de Formato de interface utilizada por Crédito Debito es la v101


Header

Pos.

Descripción

Longitud

Tipo de dato

Detalle

1

HD

2

AN

Identificador de tipo de registro

2

Local

6

AN

Código local.

3

Incremental

6

N

Nº de incremental.

4

CRC

8

N


5

Fecha / Hora

16

AN

Fecha/Hora. yyyy/mm/dd


Ejemplo:
HD:000001;000004;00003d23;2008/03/07 10:20

Tabla Provider

Pos.

Descripción

Longitud

Tipo de dato

Detalle

1

PV

2

AN

Identificador de tipo de registro

2

ID Tarjeta

2

AN

ID proveedor VTOL

3

Nombre

40

AN

Nombre proveedor

4

Medio de Pago

20

AN

Código proveedor en POS.
Campo de relación entre POS y VTOL (Opcional)


Ejemplo:
PV:VI;Visa;
PV:MA;Mastercard;

Tabla Prefijos

Pos

Descripción

Longitud

Tipo de dato

Detalle

1

PF

2

AN

Identificador de tipo de registro

2

Hasta

20

AN

Rango Desde.

3

Desde

20

AN

Rango Hasta.

4

Largo prefijo

2

N

Largo del prefijo.

5

Largo tarjeta

2

N

Largo de la tarjeta.

6

ID Tarjeta

2

AN

ID proveedor VTOL

7

Condición

10

AN


8

Largo CVC

2

N

Largo código seguridad.

9

Validar digito

1

N

Valida el digito verificador.

10

Envía Track I

1

N

0/vacío deshabilitado / 1 habilitado / 2 Opcional.

11

Validar vencimiento

1

N

Valida fecha vencimiento.

12

Offline permitido

1

N

Permite operar offline.

13

Offline monto

14

N

Límite para operación Offline.

14

Habilitado

1

N

Prefijo habilitado.

15

Valida fecha efectiva

1

N

Valida fecha emisión o fecha desde.

16

Valida CVC

1

N

0/vacío deshabilitado / 1 habilitado / 2 Opcional.

17

Service code

5

AN

Se suele utilizar en VTOL para diferenciar Visa débito (2) de Visa crédito (0 ó vació)

18

Ingreso manual permitido

1

N


19

Chequea boletines

1

N

Valida contra boletines protectivos.

20

Es debito

1

N

Es prefijo de tarjeta de tipo débito.
(0/vacío ó 1)

21

Requiere pin.

1

N

0 deshabilitado / 1 habilitado / 2 Opcional.

22

Valida últimos N números.

2

N

Cantidad de últimos números a validar de la tarjeta. 0 no valida nada.

23

Pide tipo de cuenta.

1

N

Requiere envío tipo de cuenta.
(0 ó 1)

24

Solicita número de cuenta

1

N

Solicita al autorizador el número de cuenta.
(0 ó 1)

25

Cashback

1

N

Habilita la operatoria de Cashback

26

Puntos de Lealtad

1

N

Habilita la acumulación y/o redención de puntos de lealtad.

27

Tarjeta que Encripta punto a punto POS - CA.

1

N

Indica si la tarjeta encripta.
(0 ó 1)

28

Posición de la Master Key

1

N

Indica la posición de la Master Key en los registros del Firmware. Valores posibles:
0: Mastercard y Maestro
1: Visa 1
99: Indica que el Pinpad no tiene registro para la MK. Es el caso de tarjeta Amex.

29

Código de banco

10

AN

Código del banco

30

Permite Fallback

1

N

Visa 1; Mastercard y Maestro 0


Ejemplo:
PF:4;4;1;16;VI;;3;1;1;1;1;1000;1;0;1;;1;0;0;0;4;0;1;0;0;1;1;;1
PF:34;34;2;15;AM;;4;1;1;1;1;00;1;0;1;;1;0;0;0;0;0;0;0;0;0;;;
PF:69;50;2;16;MA;;0;0;1;0;0;1000;1;0;0;;0;0;1;1;0;1;0;0;0;0;0;;0

Tabla Monedas

Pos.

Descripción

Longitud

Tipo de dato

Detalle

1

MN

2

AN

Identificador de tipo de registro

2

Símbolo moneda

10

AN

$ ó U$S

3

Descripción

20

AN

Nombre de la moneda.


Ejemplo:
MN:$;PESOS
MN:U$S;DOLARES

Tabla Plan de Pagos

Pos.

Descripción

Longitud

Tipo de dato

Detalle

1

PP

2

AN

Identificador de tipo de registro

2

ID Tarjeta

2

AN

ID proveedor VTOL

3

Símbolo moneda

10

AN


4

Condición de pago

20

AN

Información adicional del plan de pago.

5

Plan

4

N


6

Cuotas

4

N


7

Numero de comercio

30

AN


8

ID Lote

6

N


9

Limite a superar.

13

N

Monto a superar para poder utilizar el plan de pagos.
En formato 0000000000.00
0 indica sin límite

10

Limite intereses

13

N

Si el monto es superior a éste valor, entonces el interés es = 0
En formato 0000000000.00
0 indica sin límite

11

Interés

5

AN

Tasa de interés (%) para el plan de pago. En formato 00.00
0 indica sin interés

12

Promocional

1

N

Activa con 1 o Desactiva con 0, Si aplica o no una promoción para el plan de pago.


Ejemplo:
PP:AM;$;;0;1;98765432;101607;0000000000.00;0000000000.00;12.30;1
PP:VI;$;;0;10;98765432;101608;0000000100.00;0000000000.00;15.00;0


Tabla Definición de Lote

Pos.

Descripción

Longitud

Tipo de dato

Detalle

1

DL

2

AN

Identificador de tipo de registro

2

ID Lote

6

N

Identificador interno de Lote en VTOL

3

Caja o Nodo

10

N


4

Número de serie terminal

200

AN



Ejemplo:
DL:5;0000000001;99990080
DL:5;0000000002;99990081
DL:5;0000000003;99990082
DL:5;0000000004;99990083
DL:5;0000000005;99990084
DL:5;0000000006;99990085
DL:5;0000000007;99990086

Tabla Bines de Excepción

Pos.

Descripción

Longitud

Tipo de dato

Detalle

1

BE

2

AN

Identificador de tipo de registro

2

Desde

9

N

Rango Desde

3

Hasta

9

N

Rango Hasta

4

Nombre tarjeta

25

AN

Nombre de tarjeta de Excepción

5

Información Adicional

500

AN

Informacion adicional de la tarjeta de excepción


Ejemplo:
BE:6006;6006;17;ASOCIADO;Pepe-123
BE:601056;601056;16;GIFT CARD;Extra


3.6 Anexo F Operaciones disponibles

A continuación se detallan las operaciones disponibles que se encuentran en VTOL CR-DB México.


Funcionalidad

AmexGHDC

AmexV4

Bancomer

BanamexEG

Banorte

Prosa

Observaciones

Tarjetas que procesaAAV,M,AV,MV,MV,M,A
Sale E-CommerceNOSISISISINO
CheckIn (Pre-autorización)NOSINOSI

SI*

NOBanorte: sólo para Vesta
CheckOut (Captura)NOSINOSI

SI*

NO

Banorte: sólo para Vesta

El monto no puede ser mayor al monto de la Preautorización.

Anulación de Pre-AutorizaciónNOSI*NOSISI*NO

Banorte: sólo para Vesta

Amex: Para cancelar se utiliza un reverso a través del Rollback

DevoluciónSISISISISISI
Devolución referenciadaSISISISISISIBancomer: la devolución es offline, y se hace por TEF
Mensajes al Autorizador
Sale E-Commerce
Mensaje en línea
Mensaje en línea


CheckIn (Pre-autorización)
Mensaje en línea
Mensaje en línea


CheckOut (Captura)
Mensaje offline: Se envía en el TEF
  • Mensaje en línea
  • Envío de TEF



Anulación de Pre-Autorización
No permitido
  • Lote abierto: mensaje en línea
  • Lote cerrado: no envía ningún mensaje


Para lote abierto, se maneja como una cancelación del CheckIn.

Para lote cerrado, si el POS anula la Preautorización, se la deja vencer, no se envía mensaje al Autorizador. La devolución del dinero al tarjetahabiente se realiza cuando se vence la Preautorización.

Devolución
Se envía en el TEF
Mensaje en línea


Devolución referenciada
Se envía en el TEF
Mensaje en línea


Duración de la Pre-Autorización
7
15




  • Sem rótulos