Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

EMVKIT AR 1.4.X



Cambios por revisiones


1

Fecha

Revisión

Cambios – Motivo

2

06/01/2014

1.0

Creación del documento

3

17/08/2015

1.1

Definición de librería como servicio. Explicación de integración

4

23/10/2015

1.2

Agregado de Operación Procesar Mensaje Crédito Débito. Incorporación de identificador único de transacción en VTOL Server, campo: 166-trxReferenceNumber

5

09/11/2015

1.3

Agregado de campo 1102–Proveedor seleccionado en mensaje Procesar Operación con Tarjeta

6

13/05/2016

1.4

Agregado de campo 137–ConfVersion en GetConfiguration, 10–inputMode en Sale/VoidSale/Etc y 1010–currentSessionId en el mensaje Crear sesión

7

16/05/2016

1.5

Revisión del documento

8

06/06/2016

1.6

Agregado del valor FORCED_CLOSE en el campo 1008–closeSessionAction del mensaje Cerrar Sesión

9

14/07/2016

1.7

Agregados los tipos de transacciones ServicePayment y VoidServicePayment

10

18/08/2016

1.8

Agregado del anexo "Mecanismo de Autorización Telefónica"

11

15/09/2016

1.9

Agregado de campo 57 - Tipo de Cuenta en la respuesta al POS para el procesamiento de operación con tarjeta.

12

19/09/2016

1.10

Se modifica la condición del campo 1113 – cardIsDebit.

13

21/09/2016

1.11

Posibilidad de recibir desde el POS, el valor que indica la capacidad de captura de la terminal.

14

23/09/2016

1.12

Agregado del tipo de operación "Cancelar Lectura de Tarjeta"

15

06/10/2016

1.13

Se incorpora definición de timeout de EMVKIT.
Se eliminan los campos: Store y Node de los mensajes: Leer Datos de la Tarjeta - Cancelar Lectura de Tarjeta - Procesar Operación con Tarjeta - Procesar Mensaje Crédito Debito - Obtener Configuración de POS - Cerrar Sesión

16

05/04/2017

1.14

Agregado de propiedad approveInSecondInstance en sección de Configuración de PINPAD

17

16/05/2017

1.15

Modificación del apartado Mecanismo de Autorización Telefónica

18

17/05/2017

1.16

Agregado del valor MSR Chip en campo inputMode

19

30/05/2017

1.17

Agregado del apartado "Circuito Operativo de la EMVKIT"

20

06/06/2017

1.18

Actualización de la tabla Prefijo en el apartado Formato Interface POS. Mayor detalle del campo MasterKey Position, incluyendo el valor 99

21

07/07/2017

1.19

Agregado del campo promocional en Configuración de POS para indicar que se aplica una promoción sobre un plan de pago

22

20/07/2017

1.20

Incorporación del campo opcional 1025 – transactionalControl en la operación "Crear Sesión"
Incorporación de campo 24 - lastTrxId en operación "Leer Datos de la Tarjeta"
Agregado del anexo "Control Transaccional"

23

27/07/2017

1.21

Modificación del apartado "Pre requisitos"
Incorporación del apartado "Configuración de enlace con VTOL"

24

02/08/2017

1.22

Agregación de campo 22 – authorizationCode en el requerimiento de la operación "Leer Datos de la Tarjeta"
Eliminación de campo 22 – authorizationCode en el requerimiento de la operación "Procesar Operación con Tarjeta"

25

06/10/2017

1.23

Actualización de la estructura y numeración del documento
Agregación del campo dateTime como valor requerido en los requerimientos de "Procesar Operación con Tarjeta" y "Procesar Mensaje Crédito Débito"
Actualización del anexo "Timeout de la EMVKIT"

26

14/11/2017

1.24

Incorporación del apartado "Instalación"
Actualización del apartado "Configuración"

27

01/02/2018

1.25

Aclaración sobre requerimiento de software

2823/04/20181.26

Revisión general del documento.

Agregado de apartado Pagos Parciales.

2913/06/20181.27Agregado de procesamiento de tarjetas de empleados
3012/07/20181.28Agregado de campos 6 - cardNumber, 9 - track2, 66 - track1 y 145 - exceptionBinName en la respuesta de la operación "Procesar Operación con Tarjeta"
3106/08/20181.29Incorporación de la funcionalidad PEI en la mensajería
3217/08/20181.30Agregado de campo 1104 - prefixesList en la respuesta de la operación "Leer Datos de la Tarjeta"
3314/01/20191.31Incorporación de las funcionalidades de impresión de vouchers en la mensajería
3415/02/20191.32Incorporación de la funcionalidad Billeteras Electrónicas QR (Mercado Pago y Todo Pago)

...

Número

Nombre del campo

Tipo de dato

SaleVoidSaleRefundVoidRefundSaleCashBackServicePaymentVoidServicePayment

Descripción

1

store

Alfanumérico

XXXXXXX

Identificador del sitio originador de la transacción

2

node

Numérico

XXXXXXX

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

6cardNumberNuméricoOOOOOOO

Número de tarjeta en texto plano. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados

9track2AlfanuméricoOOOOOOOTrack2 de la tarjeta entero. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados

10

inputMode

Alfanumérico

XXXXXXX

Forma en que se ingresó/leyó la tarjeta. Valores posibles:

  • Manual – Ingresada de forma manual por teclado
  • MSR – Leída por banda magnética
  • Chip – Leída por CHIP
  • MSR Chip – Fallback

22

authorizationCode

Alfanumérico

OOOOOOO

Código de autorización generado por el centro autorizador para la transacción cuando al transacción fue aprobada

23

authorizationMode

Alfanumérico

XXXXXXX

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

XXXXXXX

Id de transacción en VTOL Server. La misma queda en estado pendiente y debe ser confirmada o cancelada cuando se cierra la sesión con EMVKIT

25

dateTime

Numérico

XXXXXXX

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS. El valor en este campo debe ser el mismo que el valor de la fecha y hora del requerimiento. El POS utiliza este dato para validar que se trate de la misma transacción

26

responseCode

Alfanumérico

XXXXXXX

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ódigos de error 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

XXXXXXX

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo. Ver sección Códigos de Respuesta de VTOL Server

28

responseMessage

Alfanumérico

XXXXXXX

Mensaje de la Respuesta ISO-8583 relacionado con el código del campo 27

29

serialNumber

Numérico

XXXXXXX

Número que identifica de la terminal lógica en la que se procesó la transacción

30

businessNumber

Numérico

XXXXXXX

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

31

lotNumber

Numérico

XXXXXXX

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

32

ticket

Numérico

OOOOOOO

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

33

creditCardIssuerName

Alfanumérico

OOOOOOO

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

OOOOOOO

Nombre del canal por el cual se autorizó la tarjeta

35

errorDescription

Alfanumérico

OOOOOOO

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

42

lotDefinitionId

Numérico

XXXXXXX

Identificador de la definición de lote

57

accountType

Alfanumérico

OOOOOOO

Campo que se emplea para identificar el tipo de cuenta. Se usa para tarjetas de débito. Los valores posibles son:

  • 1 = Caja de ahorros en pesos
  • 2 = Cuenta corriente en pesos
  • 3 = Caja de ahorros en dólares
  • 4 = Cuenta corriente en dólares

58

workingKey

Alfanumérico

OOOOOOO

VTOL devuelve este campo tal como lo entrega el Centro Autorizador. Representa la llave que el PINPAD deberá usar para generar el PINBLOCK en la próxima transacción

59offlinePinCheckNuméricoOOOOOOO

Informa si se verifica o no el Pin Offline con AMEX EMV. Valores posibles:

  • 0 = No
  • 1 = Si
66track1AlfanuméricoOOOOOOOTrack1 de la tarjeta entero. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados

68

rrn

Numérico

OOOOOOO

Reference referral number

75

accountNumber

Numérico

OOOOOOO

Número de cuenta. Este campo es devuelto si el campo 74- requestAccountNumber fue activado en el requerimiento

81

responseAuth

Alfanumérico

OOOOOOO

Mensaje de repuesta para ser mostrado en el display del POS donde se indican promociones.

También es utilizado en la operación de Cash Back, cuando el autorizador responde con código de respuesta 98. En este campo se informará el importe máximo que puede solicitarse

82

softwareVersion

Alfanumérico

OOOOOOO

Versión de la aplicación

130

posPeriod

Numérico

OOOOOOO

[Opcional si viaja en la solicitud] Periodo enviado por el POS.  Longitud 5

131

turn

Numérico

OOOOOOO

[Opcional si viaja en la solicitud] Turno. Longitud 2

132

operatorCode

Alfanumérico

OOOOOOO

[Opcional si viaja en la solicitud] Código de operador. Longitud 20

133

operatorName

Alfanumérico

OOOOOOO

[Opcional si viaja en la solicitud] Nombre de operador. Longitud 50

134

sellerCode

Alfanumérico

OOOOOOO

[Opcional si viaja en la solicitud] Código del vendedor. Longitud 20

135

sellerName

Alfanumérico

OOOOOOO

[Opcional si viaja en la solicitud] Nombre del vendedor. Longitud 50

136

attentionMode

Alfanumérico

OOOOOOO

[Opcional si viaja en la solicitud] Modalidad de atención (AU ó AS). Longitud 2

145exceptionBinNameAlfanuméricoOOOOOOONombre de la tarjeta de Excepción. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados

166

trxReferenceNumber

Numérico

XXXXXXX

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.

1010

currentSessionId

Numérico

XXXXXXX

Identificador de la sesión actual

1027

libResponseCode

Numérico

XXXXXXX

Código de respuesta de la librería.

Indica cómo fue procesada la operación en EMVKIT:

Éxito =   000

Error <> 000

Ver sección Códigos de Respuesta de Librería

1028

libResponseMessage

Alfanumérico

XXXXXXX

Mensaje descriptivo del código de respuesta de la librería

1110

pinpadApplicationId

Alfanumérico

XXXXXXX

Identificador de la Aplicación del PINPAD.

1111

pinpadApplicationName

Alfanumérico

XXXXXXX

Nombre de la Aplicación del PINPAD.

1112

cardHolderName

Alfanumérico

OOOOOOO

Nombre del titular de la tarjeta si el track I está presente y la lectura fue por banda.

1120

voucherHeader

Mapa

OOOOOOO

[Opcional 1] Reservado para uso futuro. Retorna los datos del encabezado del voucher. El valor recibido corresponde a un campo compuesto mapa con una serie de claves y valor:

[clave1|valor1, clave2|valor2,…, claveN|valorN]

1121

voucherFooter

Mapa

OOOOOOO

[Opcional 1] Reservado para uso futuro. Retorna los datos del pie del voucher. El valor recibido corresponde a un campo compuesto mapa con una serie de claves y valor:

[clave1|valor1, clave2|valor2,…, claveN|valorN]

1122

voucherBody

Mapa

OOOOOOO

[Opcional 1] Reservado para uso futuro. Retorna el cuerpo del voucher. El valor recibido corresponde a un campo compuesto mapa con una serie de claves y valor:

[clave1|valor1, clave2|valor2,…, claveN|valorN]

1123

formattedVoucher

Alfanumérico

OOOOOOO

[Opcional 2] Reservado para uso futuro. Retorna el voucher completo y formateado para ser impreso.

1124

printVoucher

Numérico

OOOOOOO

[Opcional 3] Reservado para uso futuro. Indica si la impresión del voucher tuvo éxito o no. Valores permitidos:

  • 1 = true
  • 0 = false




Wiki Markup
\\ *Campos opcionales:* \\ \[Opcional 1\]: Cuando la autorización fue aprobada y la librería retorna los datos del Voucher separados en encabezado, Cuerpo y pie. No implementado, reservado para uso futuro. \\ \[Opcional 2\]: Cuando la autorización fue aprobada y la librería retorna en un solo campo el Voucher formateado. No implementado, reservado para uso futuro. \\ \[Opcional 3\]: Cuando la autorización fue aprobada y la librería se encarga de imprimir el Voucher. No implementado, reservado para uso futuro. \\ *Ejemplo* \\




Response from Full library:

{10:MSR;42:101001;1028:Ok;1027:000;82:STS;34:Visa;81:,---esta es una prueba de impresion---|-------esta es la segunda linea-----|-------esta es la tercera linea------|-------esta es la cuarta linea------|-------esta es la quinta linea-------^;33:Visa;32:231;31:14;1112:GOMEZ/JUAN HORACIO ;30:123456788;1111:VISA CLASSIC;29:00000001;1110:A0000000031010;28:APROBADA;27:00;26:ISO8583;25:20150828003911;24:270;23:onLine;1010:28082015003859;22:123456;68:123456789012;110:false;2:1;1:1}

...

Número

Nombre del campo

Tipo de dato

SaleVoidSaleRefundVoidRefundSaleCashBackServicePaymentVoidServicePayment

Descripción

1

store

Alfanumérico

XXXXXXX

Identificador del sitio originador de la transacción

2

node

Numérico

XXXXXXX

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

22

authorizationCode

Alfanumérico

OOOOOOO

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

23

authorizationMode

Alfanumérico

XXXXXXX

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

XXXXXXX

Id de transacción en VTOL Server. La misma queda en estado pendiente y debe ser confirmada o cancelada cuando se cierra la sesión con EMVKIT

25

dateTime

Numérico

XXXXXXX

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS. El valor en este campo debe ser el mismo que el valor de la fecha y hora del requerimiento. El POS utiliza este dato para validar que se trate de la misma transacción

26

responseCode

Alfanumérico

XXXXXXX

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ódigos de error 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

XXXXXXX

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo. Ver sección Códigos de Respuesta de VTOL Server

28

responseMessage

Alfanumérico

XXXXXXX

Mensaje de la Respuesta ISO-8583 relacionado con el código del campo 27

29

serialNumber

Numérico

XXXXXXX

Número que identifica de la terminal lógica en la que se procesó la transacción

30

businessNumber

Numérico

XXXXXXX

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

31

lotNumber

Numérico

XXXXXXX

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

32

ticket

Numérico

OOOOOOO

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

33

creditCardIssuerName

Alfanumérico

XXXXXXX

Nombre del Centro emisor de la tarjeta

34

hostName

Alfanumérico

OOOOOOO

Nombre del canal por el cual se autorizó la tarjeta

35

errorDescription

Alfanumérico

OOOOOOO

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

42

lotDefinitionId

Numérico

XXXXXXX

Identificador de la definición de lote

58

workingKey

Alfanumérico

OOOOOOO

VTOL devuelve este campo tal como lo entrega el Centro Autorizador. Representa la llave que el PINPAD deberá usar para generar el PINBLOCK en la próxima transacción

68

rrn

Numérico

XXXXXXX

Reference referral number

75

accountNumber

Numérico

OOOOOOO

Número de cuenta. Este campo es devuelto si el campo 74- requestAccountNumber fue activado en el requerimiento

81

responseAuth

Alfanumérico

OOOOOOO

Mensaje de repuesta para ser mostrado en el display del POS donde se indican promociones.

También es utilizado en la operación de Cash Back, cuando el autorizador responde con código de respuesta 98. En este campo se informará el importe máximo que puede solicitarse

82

softwareVersion

Alfanumérico

XXXXXXX

Versión de la aplicación

130

posPeriod

Numérico

OOOOOOO

[Opcional si viaje en la solicitud] Periodo enviado por el POS.  Longitud 5

131

turn

Numérico

OOOOOOO

[Opcional si viaje en la solicitud] Turno. Longitud 2

132

operatorCode

Alfanumérico

OOOOOOO

[Opcional si viaje en la solicitud] Código de operador. Longitud 20

133

operatorName

Alfanumérico

OOOOOOO

[Opcional si viaje en la solicitud] Nombre de operador. Longitud 50

134

sellerCode

Alfanumérico

OOOOOOO

[Opcional si viaje en la solicitud] Código del vendedor. Longitud 20

135

sellerName

Alfanumérico

OOOOOOO

[Opcional si viaje en la solicitud] Nombre del vendedor. Longitud 50

136

attentionMode

Alfanumérico

OOOOOOO

[Opcional si viaje en la solicitud] Modalidad de atención (AU ó AS). Longitud 2

166

trxReferenceNumber

Numérico

XXXXXXX

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.

1010

currentSessionId

Numérico

XXXXXXX

Identificador de la sesión actual

1027

libResponseCode

Numérico

XXXXXXX

Código de respuesta de la librería.

Indica cómo fue procesada la operación en EMVKIT:

Éxito =   000

Error <> 000

Ver sección Códigos de Respuesta de Librería

1028

libResponseMessage

Alfanumérico

XXXXXXX

Mensaje descriptivo del código de respuesta de la librería

1110

pinpadApplicationId

Alfanumérico

XXXXXXX

Identificador de la Aplicación del PINPAD.

1111

pinpadApplicationName

Alfanumérico

XXXXXXX

Nombre de la Aplicación del PINPAD.

1112

CardHolderName

Alfanumérico

OOOOOOO

Nombre del titular de la tarjeta si el track I está presente y la lectura fue por banda.

1120

voucherHeader

Mapa

OOOOOOO

[Opcional 1] Reservado para uso futuro. Retorna los datos del encabezado del voucher. El valor recibido corresponde a un campo compuesto mapa con una serie de claves y valor:

[clave1|valor1, clave2|valor2,…, claveN|valorN]

1121

voucherFooter

Mapa

OOOOOOO

[Opcional 1] Reservado para uso futuro. Retorna los datos del pie del voucher. El valor recibido corresponde a un campo compuesto mapa con una serie de claves y valor:

[clave1|valor1, clave2|valor2,…, claveN|valorN]

1122

voucherBody

Mapa

OOOOOOO

[Opcional 1] Reservado para uso futuro. Retorna el cuerpo del voucher. El valor recibido corresponde a un campo compuesto mapa con una serie de claves y valor:

[clave1|valor1, clave2|valor2,…, claveN|valorN]

1123

formattedVoucher

Alfanumérico

OOOOOOO

[Opcional 2] Reservado para uso futuro. Retorna el voucher completo y formateado para ser impreso.

1124

printVoucher

Numérico

OOOOOOO

[Opcional 3] Reservado para uso futuro. Indica si la impresión del voucher tuvo éxito o no. Valores permitidos:

  • 1 = true
  • 0 = false




Wiki Markup
\\ *Campos opcionales:* \\ \[Opcional 1\]: Cuando la autorización fue aprobada y la librería retorna los datos del Voucher separados en encabezado, Cuerpo y pie. No implementado, reservado para uso futuro. \\ \[Opcional 2\]: Cuando la autorización fue aprobada y la librería retorna en un solo campo el Voucher formateado. No implementado, reservado para uso futuro. \\ \[Opcional 3\]: Cuando la autorización fue aprobada y la librería se encarga de imprimir el Voucher. No implementado, reservado para uso futuro. \\ *Ejemplo* \\




Response from Full library:

{42:101001;1028:Ok;1027:000;82:STS;34:Visa;81:,---esta es una prueba de impresion---|-------esta es la segunda linea-----|-------esta es la tercera linea------|-------esta es la cuarta linea------|-------esta es la quinta linea-------^;33:Visa;32:231;31:14;1112:GOMEZ/JUAN HORACIO ;30:123456788;1111:VISA CLASSIC;29:00000001;1110:A0000000031010;28:APROBADA;27:00;26:ISO8583;25:20150828003911;24:270;23:onLine;1010:28082015003859;22:123456;68:123456789012;110:false;2:1;1:1}

...

F. Procesar Mensaje PEI sin PinPad

El Banco Central de la República Argentina habilitó la posibilidad de efectuar Operatoria para realizar Pagos Electrónicos Inmediatos (PEI) en los puntos de venta. Estos pagos inmediatos se efectúan con tarjetas de débito con banda magnética y se transfieren y acreditan de manera instantánea con un costo inferior a una venta tradicional.

Este mensaje permite ofrecerle al POS las funcionalidades de PEI. En En esta operación, EMV Kit no realiza una interacción con el pinpad y el mensaje recibido por el POS es enviado directamente a VTOL Server para su posterior autorización con Link. Tener en cuenta que no se deberá ejecutar previamente la operación "Leer Datos de la Tarjeta".

...

Número

Nombre del campo

Tipo de dato

SalePEI

RefundPEIQueryPEI

Descripción

8

Cvc

Numérico

X

X-

Código de seguridad de la tarjeta

9

track2

Alfanumérico

X

XX

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo)

10

inputMode

Alfanumérico

X

XX

Forma en que se ingresó/leyó la tarjeta. Valor posible:

  • MSR – Leída por banda magnética

11

trxType

Alfanumérico

X

XX

Tipo de Transacción:

  • SalePEI = Compra PEI
  • RefundPEI = Devolución PEI
  • QueryPEI = Consulta de transacción PEI

12

amount

Importe

X

X-

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

Para operaciones PEI el monto tendrá un TOPE, el cual estará definido por LINK, quienes validan que no se supere por transacción el equivalente a un Salario Mínimo, Vital y Móvil.

13

currencyPosCode

Alfanumérico

X

X-

Tipos de Moneda:

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

25

dateTime

Numérico

X

XX

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS. Es importante persistir este valor para consultar el resultado de una operación en caso de algún inconveniente

66track1AlfanuméricoXXXTrack1 de la tarjeta entero (se envía todo el contenido del track1 en este campo)
153idOperationPEIAlfanumérico-X-Identificador de la operación PEI de pago que se desea devolver
155cbuAlfanumérico-O-CBU de la cuenta destino de la devolución asociada con la tarjeta Banelco. Si el dato se envía, el valor es validado por Link
156cbuAliasAlfanumérico-O-Alias del CBU de la cuenta destino de la devolución asociada con la tarjeta Banelco. Si el dato se envía, el valor es validado por Link
157customerDocAlfanumérico

X

O-Número de documento del titular de la tarjeta

158

lastFourDigits

Numérico

X

X-

Últimos 4 dígitos de la tarjeta. La solicitud de la validación de los últimos 4 dígitos de la tarjeta es configurable por prefijo

161operationConceptNuméricoO--

Concepto por el cual se realiza la operación, valores posibles:

  • 1 = COMPRA_DE_BIENES
  • 2 = PAGO_DE_SERVICIOS
  • 3 = EXTRACCION4 = PAGO_DE_COMBUSTIBLE
  • 5 = COMPRA_DE_DIVISA
173dateTimeOriginalTrxNumérico--XFecha y hora de realización de la transacción de venta o devolución que se desea consultar en formato YYYYMMDDHHMMSS. Se debe enviar el valor del campo 25 de la transacción a consultar

...

Número

Nombre del campo

Tipo de dato

SalePEIRefundPEIQueryPEI

Descripción

1storeAlfanuméricoXXXIdentificador del sitio originador de la transacción
2nodeNuméricoXXXIdentificación del nodo, en el sitio originador, donde se generó la transacción

25

dateTime

Numérico

XXX

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS. El valor en este campo debe ser el mismo que el valor de la fecha y hora del requerimiento. El POS utiliza este dato para validar que se trate de la misma transacción

26

responseCode

Alfanumérico

XXX

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ódigos de error 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

XXX

Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo. Ver sección Códigos de Respuesta de VTOL Server para PEI

28

responseMessage

Alfanumérico

XXX

Mensaje de la Respuesta ISO-8583 relacionado con el código del campo 27

35

errorDescription

Alfanumérico

XXX

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

153

idOperationPEI

Alfanumérico

XXX

Identificador de la operación PEI de pago o de devolución

154idOperationOrigenPEIAlfanumérico-XOIdentificador de la operación PEI de origen con la cual se solicitó la devolución
170idCommercePEIAlfanuméricoXXXIdentificador PEI de compañía
171idBranchPEIAlfanuméricoXXXIdentificador PEI de local
172idTerminalPEIAlfanuméricoXXXIdentificador PEI de terminal
174originalTrxStatusNumérico--O

Informa el estado de la transacción original en una operación de consulta. Si el campo en la respuesta no se recibe es porque la consulta falló.

Puede contener uno de los siguientes valores:

    • 0: Aprobada
    • 1: Rechazada
    • 2: En proceso
278bankingRefNumAlfanuméricoX-XNumero de referencia de la transacción de pago. Se utiliza para conciliar con los reportes de las entidades bancarias. Número generado por LINK. Largo máximo 12.

1010

currentSessionId

Numérico

XXX

Identificador de la sesión actual

1027

libResponseCode

Numérico

XXX

Código de respuesta de la librería.

Indica cómo fue procesada la operación en EMVKIT:

Éxito =   000

Error <> 000

Ver sección Códigos de Respuesta de Librería

1028

libResponseMessage

Alfanumérico

XXX

Mensaje descriptivo del código de respuesta de la librería


Response from EMV Kit (SalePEI):

Response message: {1:1;2:1;1027:000;1028:Ok;170:143;171:87;172:SYN001;1010:1536077609492;153:5439999999999999543;25:20180904131343;26:ISO8583;27:00;28:APROBADA}

Response from EMV Kit (RefundPEI):

Response message: {1:1;2:1;1027:000;1028:Ok;170:143;171:87;172:SYN001;1010:1536077609492;153:1969999999999999196;25:20180904131400;154:5439999999999999543;26:ISO8583;27:00;28:APROBADA}

Response from EMV Kit (QueryPEI):

Response message: {1:1;2:1;1027:000;1028:Ok;170:143;171:87;172:SYN001;174:0;1010:1536077952001;153:1969999999999999196;25:20180904131915;154:5439999999999999543;26:ISO8583;27:00;28:APROBADA}

...

Este comando tiene como funcionalidad la solicitud de firma digital en el dispositivo pinpad, y la impresión de vouchers o comprobantes de pago. La solicitud de firma digital queda restringida a los dispositivos con firmware A0808 o superior de los dispositivos de First Data.

Las transacciones que se pueden imprimir son compras, anulaciones, devoluciones, compra con cashback, anulación de compra con cashback, devolución de compra con cashback. Con los tipos de ingreso manual, banda y chip.

Los comprobantes digitales tienen la posibilidad de ser guardados en EMVKit y luego ser enviado VTOL Server. 

La guarda de los cupones se realizará en base a los siguientes escenarios del campo requestSignature:

  • requestSignature = 1: Solicita firma digital y genera comprobante digital.
  • requestSignature distinto de 1: No genera comprobante digital.


Nota
Nota: Actualmente esta funcionalidad se encuentra disponible para los pinpad de Posnet, a partir del firmware A0808.

...

Informações
titleReferencias

X = Obligatorio
O = Opcional
-   = No requerido


Número

Nombre del campo

Tipo de dato

PrintTrxVoucher

Descripción

11

trxType

Alfanumérico

X

Tipo de Transacción:

  • PrintTrxVoucher: imprime el comprobante
25dateTimeNuméricoXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS. Es importante persistir este valor para consultar el resultado de una operación en caso de algún inconveniente
1103cardContextIdNuméricoXIdentifica el contexto de la tarjeta. Es un valor de referencia a la tarjeta leída a través del PINPAD. Es el valor devuelto por la última operación "Leer Datos Tarjeta"
1118voucherParametersMapaX

Se informa con el siguiente formato [copyCount|nroCopia] la cantidad de copias a efectuar del comprobante, donde:

  • nroCopia = 1 es copia comercio
y
  • nroCopia = 2 es copia comercio y cliente
  • nroCopia = 0 no imprime voucher físico. Disponible únicamente en caso de solicitar firma digital (requestSignature =1).
1130requestSignatureNumérico

X

Se informa si se solicitará o no la firma en el Pinpad. Valores posibles:

  • 1: solicita firma

  • 20: no solicita firma

Nota: En caso de no solicitar firma no se generara el archivo
  • digital, pero se imprime el texto "Firma" en el ticket físico. No genera comprobante digital.

  • 1: solicita firma digital y genera comprobante digital.

  • 2: no solicita firma y no genera comprobante digital.

Nota: En caso de no solicitar firma digital, no se genera el archivo .POS (del comprobante) por lo que no se tendrá constancia del mismo en VTOL Server.

1131voucherHeaderMapaO

Se informa la leyenda del header del comprobante con el siguiente formato [headerNro|detalle,...,headerNro|detalle], donde Nro es un número del 1 al 5 y detalle es la leyenda a imprimir. El largo máximo para cada línea es de 40 caracteres

1132clientDNIAlfanuméricoODNI del cliente. Valor hasta 9 caracteres
1133billNumberNuméricoONúmero de la factura. Valor hasta 11 caracteres
1134voucherPromoMessageMapaOSe informa el mensaje de promoción con el siguiente formato [promotionalNro|detalle,...,promotionalNro|detalle], donde Nro es un número del 1 al 7 y detalle es la leyenda de promoción a imprimir. El largo máximo para cada línea es de 28 caracteres
1135voucherPromoLine AlfanuméricoOSe informa la promoción obtenida. Valor hasta 40 caracteres
1136billType AlfanuméricoOTipo de factura. Valor hasta 1 caracter

...

Número

Nombre del campo

Tipo de dato

Print

Descripción

1storeAlfanuméricoXIdentificador del sitio originador de la transacción.
2nodeNuméricoXIdentificador del nodo, en el sitio originador, donde se generó la transacción.

11

trxType

Alfanumérico

X

Tipo de Transacción:

  • Print: imprime el comprobante informado por el POS
25dateTimeNuméricoXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS. Es importante persistir este valor para consultar el resultado de una operación en caso de algún inconveniente
1137

printContent

Base 64X

Texto en plano codificado en base 64 con el siguiente formato:

XXNN     *****************************  

Donde XX indican el formato de la línea, valores posibles:

  • 01: Impresión normal
  • 02: Impresión negrita (no disponible en Verifone)
  • 03: Impresión doble alto
  • 04: Impresión doble ancho
  • 05: Impresión doble alto, doble ancho
  • 10: Solicitud de firma en pantalla
  • 20: Salto de línea

El texto por linea es de hasta 40 caracteres cuando no es doble ancho, seguido de un salto de línea. Lineas permitidas: 30

...

Request to Full library: {1137:MDJOTiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogICAgIA0KMDJOTiAgICAgICAg ICAgIEFWSVNPIERFIFBSRU1JTyAgICAgICAgICAgIA0KMDJOTiAgICAgKioqKioqKioqKioqKioq KioqKioqKioqKioqKiogICAgIA0KMjBOTg0KMDFOTlNZTlRIRVNJUyBMQUJPUkFUT1JJTyAxICAt ICA1OTcwNDAwMDQ0NzENCjAxTk4gICAgICAgICAgICAgICAgMjMvMTAvMTcgICAgICAgICAgICAg ICANCjIwTk4NCjIwTk4NCjAxTk4gICAgICAgICAgICAgICBQUk9NT0NJT04gICAgICAgICAgICAg ICAgICAgICAgDQowMU5OICAgICAgICAgICAgIFBFTDFQVE9ERVZFTlRBICAgICAgICAgICAgDQoy ME5ODQowMU5OICAgRkVMSUNJVEFDSU9ORVMsIFVTVEVEIFNFIEhBIEdBTkFETyAgDQowMU5OICAg WFlYIEgySCBQRUwgMSAtIFBSRU1JTyBDT01JRU5aQSBZICAgDQowMU5OICAgICAgVEVSTUlOQSBD T04gLSBQRUwgMSBIMkggWFlYICAgICAgDQoyME5ODQowM05OICAgICAgICAgICBDT0RJR08gREVM IFBSRU1JTyAgICAgICAgICAgDQowMU5OICAgICAgICAgIDc5MTQyNyBCIC0gMDAwMzU2MjIgICAg ICAgICAgDQoyME5OICAgDQoyME5OICAgDQowMU5OICBQQVJBIENBTkpFQVIgU1UgUFJFTUlPIFBS RVNFTlRFIEVTVEUgDQowMU5OVkFMRSBBIENVQUxRVUlFUiBWRU5ERURPUiBERSBFU1RFIExPQ0FM DQoyME5ODQoyME5ODQowMU5OUkVDSUJJIENPTkZPUk1FOg0KMTBOTg0KMjBOTg0KMjBOTg0KMjBO Tg==;25:20190115143513;2:1;1:1;11:Print}


  • Respuesta


Informações
titleReferencias

X = Obligatorio

O = Opcional

- = No requerido

...

X

Número

Nombre del campo

Tipo de dato

Print

Descripción

1010

currentSessionId

NuméricoXIdentificador de la sesión

1027

libResponseCode

Numérico

X

Código de respuesta de la librería.
Indica cómo fue procesada la operación en EMVKIT:
Éxito = 000
Error <> 000
Ver sección Códigos de Respuesta de Librería

1028

libResponseMessage

Alfanumérico

X

Mensaje descriptivo del código de respuesta de la librería

1103cardContextIdNumérico

Identifica el contexto de la tarjeta. Es un valor de referencia a la tarjeta leída a través del PINPAD. Es el valor devuelto por la última operación "Leer Datos Tarjeta"


Ejemplo


Response from Full library: {1010:1547573567858;1027:000;1028:Ok;1103:20190115143513}


I. Procesar Mensajes Billeteras Electrónicas

...

Para determinar que una autorización fue aprobada, es necesario tener en cuenta los siguientes pasos:

  • 1° verificar el campo libResponseCode:

1027

libResponseCode

Si el valor es igual a 000, indica que la librería pudo enviar la solicitud a VTOL Server y procesar la respuesta sin problemas. Es el primer indicador de que todo va bien. 

Un código distinto de 000 indica un error de procesamiento en la librería, que debe ser manejado. Ver punto 6.

  • 2° verificar el campo isoCode

1 Códigos de Respuesta de EMVKIT.

Además para poder determinar que la operación resultó aprobada, se debe verificar que se encuentre el campo 27 (isoCode) y evaluar qué código respondió. Sin la presencia del campo 27, no se puede dar por aprobaba una autorización.


  • 2° verificar el campo isoCode:

27

isoCode

En este caso, si el valor de isoCode es igual 00, 11 o 85 indica que la autorización ha sido Aprobada por VTOL server Server y que debe capturarse el valor del campo para ser enviado en el cierre de sesión:

...

(API-PINPAD) PAN: Error interno de la

Código

Descripción

Significado

UDF

INDEFINIDO

Corresponde al estado inicial de la variable de estado. La librería no debe devolver nunca este valor

000

(PINPAD) Aprobado

Operación satisfactoria

001

(PINPAD) Cancelado por el usuario

Se usó la tecla CANCEL del PINPAD

002

(PINPAD) Error ingreso 4 últimos dígitos

El PINPAD detectó errores en el ingreso de los últimos 4 dígitos

003

(PINPAD) Error de lectura Track2

El PINPAD no pudo leer el Track II

004

(PINPAD) Error Pinpad-ingreso PIN

No se ingresó correctamente el PIN en el PINPAD

005

(PINPAD) Error Chip

El PINPAD no pudo leer o grabar en el CHIP

006

(PINPAD) Error Fecha inválida

Se ingresó un fecha inválida en el PINPAD

007

(PINPAD) Error TimeOut

El PINPAD suspendió la operación por TIMEOUT

008

(PINPAD) Error en secuencia de comando recibido

El PINPAD rechazó un comando por estar fuera de secuencia

009

(PINPAD) Error en formato de comando recibido

El PINPAD rechazó un comando por formato erróneo

011

(PINPAD) Error de LRC de comando recibido

El PINPAD rechazó un comando por LRC erróneo

013Error de lectura. Intente nuevamenteCuando genera un error en la lectura de una tarjeta Chip.

101

A SESSION is already created.

No se puede crear una nueva sesión con EMVKIT, debido a que ya existe una sesión activa.

102

Lib is processing requests.

EMVKIT se encuentra procesando un requerimiento.

103

Lib is processing response.

EMVKIT se encuentra procesando una respuesta a un requerimiento.

104

Lib is processing a reverse.

La librería se encuentra procesando un reverso.

198

Acción invalida

La librería suspendió la operación por que la acción que se requiere es no valida.

199

TimeOut

EMVKIT suspendió la operación por Timeout

700No opera Offline

701

(API) Archivo de Sesión no existe

No existe el archivo que contiene la información de sesión

702

(API) Existen Trxs Pendientes con VTOL Server

Existen Transacciones pendientes con VTOL que no se pueden cerrar

703

(API) Estado de Sesión no es válido

El estado de la sesión es inválido

704

(API) Tipo de Transacción es invalido

El tipo de transacción enviado en la llamada no es válido

705

(API) Error enviando mensaje a VTOL Server

Error enviando autorización a VTOL Server

706

(API) Lista de VTOL TrxIds no recibida (Cierre de Sesión)

Lista de VTOL TrxIds no recibida en el Cierre de Sesión con acción CLOSE

707Monto inválidoCuando el monto off-line excede el límite configurado en el servidor.
708Monto Cash Back inválidoCuando el monto cashback excede el límite configurado en el servidor.
711Error cancelando las transacciones. Existe una inconsistenciaCuando no logra realizar un rollback sobre una transacción existente en la sesión.
713Transaccion invalidaCuando el dispositivo no soporta el tipo de transacción ingresado.
718Modo de ingreso invalidoCuando la lectura realizada por el PINPAD no es soportada por la versión de EMVKIT.
719Error en impresion de voucherExistió un error y el comprobante no se puede imprimir

801

720No permite operar con la tarjeta ingresadaCuando el tipo de transacción que se intenta realizar no soporta la tarjeta ingresada.
721transaccion no soporta cashbackCuando el tipo de transacción que se intenta realizar no soporta cashback.
722Falta de papel en dispositivoEl PINPAD se queda sin papel y no se puede imprimir el voucher.
723Excede el máximo de líneas permitidoEl PINPAD no puede imprimir el voucher genérico debido a que excede la cantidad de líneas permitidas.
724Modo Ingreso ErrorEl PINPAD no permite el tipo de ingreso recibido.
725Error en la configuracion del sistemaCuando se requiere un cambio en la configuración del servidor.
726No se encontro un dispositivo conectadoCuando el dispositivo no se encuentra debidamente configurado.
727Compañía inválidaCuando la compañía informada no es válida.

801

(API-PINPAD) PAN: Proveedor desconocido

La librería no pudo determinar el proveedor de una tarjeta

802

(API-PINPAD) PAN: Dígito verificador inválido

La librería encontró inválido el DV de una tarjeta

803

(AP-PINPADI) Error en protocolo con el PINPAD

La librería detectó un mensaje del PINPAD fuera de contexto

804

(API-PINPAD) Error de formato de mensaje del PINPAD

La librería detectó errores de formato en un mensaje del PINPAD

805

(API-PINPAD) Error en configuración de tarjetas

No se pudo identificar la tarjeta o la configuración es nula

806

(API-PINPAD) Error llave RSA invalida o nula

La librería no tiene llave RSA para trabajar. Se debe descargar de VTOL

807

(API-PINPAD) Error WK nula o formato invalido

La llave WorkingKey enviada por el POS tiene un formato inválido o es nula901

808

(API) Error del sistema (general)

Error cancelando operacion Tarjeta Chip. Intente anularlaCuando una operación con tarjeta Chip no puede realizar un rollback de la operación.
809Error en la sincronización del PinPad.El PINPAD no puede completar el proceso de sincronización.
810Error en sincronización del PinPad. Intente anular la operación.El PINPAD no puede completar el proceso de sincronización porque tiene transacciones pendientes. Se recomienda un cierre forzoso.
811Comando no soportado por el PinpadCuando el dispositivo o la versión del mismo, no soporta el tipo de transacción ingresado.
812Reintente operaciónCuando se realiza un cambio en la configuración del servidor sobre la llave RSA, y se aplican los cambios en EMVKIT.
813No se permite la impresion de la corriente transaccionEl PINPAD o dispositivo no puede imprimir la transacción enviada por el POS.

901

(API) Error del sistema (general)

Error interno de la librería

902

(API) Error del sistema (I/O)

Error de entrada/salida o comunicación de la librería

911

(API) Error del sistema (carga)

Error al cargar la librería

912

(API) Error del sistema (contexto inexistente)

El POS envió un CARD_CONTEXT_ID inexistente

913

(API) Error del sistema (contexto inválido)

El POS envió un CARD_CONTEXT_ID inválido

914

(API) Error del sistema (carga working key)

Error leyendo o registrando las Claves de Trabajo<br>Interno de la librería

999

Error no manejado

Error no manejado

...

  1. Enviar activo el flag del campo 1025 – transactionalControl (valor = 1) en la operación createSession.

  2. Registrar cada uno de los campos 24 – trxId retornados por EMVKIT para las autorizaciones Aprobadas.

  3. Si se envía otra operación de Lectura de Tarjeta en la misma sesión, y la autorización previa fue procesada con éxito en el POS, se debe incluir el campo 24 – lastTrxId con el valor devuelto por EMVKIT para dicha autorización.

  4. En la operación closeSession, cuando en el campo 1008 – closeSessionAction estáel valor es CLOSE, se debe incluir el campo 1009 – closeTrxIdList que contiene una lista de todos los trxId (campo 24) de las autorizaciones procesadas con éxito en el POS.

Ejemplos de Control Transaccional

Operaciones de pagos parciales:

  1. Transacción Aprobada, 1 sola transacción en la sesión:

    1. Apertura de sesión.

      1. Lectura de tarjeta.

      2. Procesamiento de tarjeta. El host APRUEBA la transacción.

    2. Cierre de sesión: Se cierra sesión en estado Close. En el campo 1009 – closeTrxIdList se envía con el trxid de la única transacción, la cual se confirma.

  2. Transacción Rechazada. 1 sola transacción en la sesión:

    1. Apertura de sesión.

      1. Lectura de tarjeta.

      2. Procesamiento de tarjeta. El host RECHAZA la transacción.

    2. Cierre de sesión: Se cierra sesión en estado Close. En el campo 1009 – closeTrxIdList no se envía ningún trxid dado que no hay nada para confirmar ni reversar.

  3. Transacción Aprobada, pero el POS reversa, 1 sola transacción en la sesión:

    1. Apertura de sesión.

      1. Lectura de tarjeta.

      2. Procesamiento de tarjeta. El host APRUEBA la transacción, pero el POS decide Cancelar.

    2. Cierre de sesión: Se cierra sesión en estado Close. En el campo 1009 – closeTrxIdList no se incluye el trxid, dado que se debe reversar.

  4. Transacción Aprobada, más de 1 transacción en la sesión:

    1. Apertura de sesión.

      1. Lectura de tarjeta.

      2. Procesamiento de tarjeta. El host APRUEBA la transacción.

      3. Lectura de otra tarjeta, con trxid de la transacción anterior.

      4. Procesamiento de tarjeta. El host APRUEBA la transacción.

      5. Lectura de otra tarjeta, con trxid de la transacción anterior.

      6. Procesamiento de tarjeta. El host APRUEBA la transacción.

    2. Cierre de sesión: Se cierra sesión en estado Close. En el campo 1009 – closeTrxIdList se envían todas las operaciones aprobadas (ii, iv y vi), incluyendo la última transacción.

  5. Transacciones Aprobadas, pero la última retorna Denegada (el cliente decide NO continuar con la compra), más de 1 transacción en la sesión:
    1. Apertura de sesión.
      1. Lectura de tarjeta.
      2. Procesamiento de tarjeta. El host APRUEBA la transacción.
      3. Lectura de otra tarjeta, con trxid de la transacción anterior.
      4. Procesamiento de tarjeta. El host APRUEBA la transacción.
      5. Lectura de otra tarjeta, con trxid de la transacción anterior.
      6. Procesamiento de tarjeta. El host DENIEGA la transacción.
      7. Anulación de transacción ii. No envía el trxid de la anterior ya que no fue aprobada. 
      8. Procesamiento de tarjeta. El host APRUEBA la transacción.
      9. Anulación de transacción iv, con trxid de la transacción anterior.
      10. Procesamiento de tarjeta. El host APRUEBA la transacción.
    2. Cierre de sesión: Se cierra sesión en estado Close. En el campo 1009 - closeTrxIdList se envían todas las operaciones aprobadas (ii, iv, viii y x).

  6. Transacción Aprobada, más de 1 transacción en la sesión, en el medio, una transacción retorna Denegada:
    1. Apertura de sesión.
      1. Lectura de tarjeta.
      2. Procesamiento de tarjeta. El host APRUEBA la transacción.
      3. Lectura de otra tarjeta, con trxid de la transacción anterior.
      4. Procesamiento de tarjeta. El host DENIEGA la transacción.
      5. Lectura de otra tarjeta. No envía el trxid de la anterior ya que no fue aprobada.
      6. Procesamiento de tarjeta. El host APRUEBA la transacción.
    2. Cierre de sesión: Se cierra sesión en estado Close. En el campo 1009 - closeTrxIdList se envían todas las operaciones aprobadas (ii y vi).


6.9 Ejemplo de integración

...