...
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. |
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" |
23 | 27/07/2017 | 1.21 | Modificación del apartado "Pre requisitos" |
24 | 02/08/2017 | 1.22 | Agregación de campo 22 – authorizationCode en el requerimiento de la operación "Leer Datos de la Tarjeta" |
25 | 06/10/2017 | 1.23 | Actualización de la estructura y numeración del documento |
26 | 14/11/2017 | 1.24 | Incorporación del apartado "Instalación" |
27 | 01/02/2018 | 1.25 | Aclaración sobre requerimiento de software |
28 | 23/04/2018 | 1.26 | Revisión general del documento. Agregado de apartado Pagos Parciales. |
29 | 13/06/2018 | 1.27 | Agregado de procesamiento de tarjetas de empleados |
30 | 12/07/2018 | 1.28 | Agregado de campos 6 - cardNumber, 9 - track2, 66 - track1 y 145 - exceptionBinName en la respuesta de la operación "Procesar Operación con Tarjeta" |
31 | 06/08/2018 | 1.29 | Incorporación de la funcionalidad PEI en la mensajería |
32 | 17/08/2018 | 1.30 | Agregado de campo 1104 - prefixesList en la respuesta de la operación "Leer Datos de la Tarjeta" |
33 | 14/01/2019 | 1.31 | Incorporación de las funcionalidades de impresión de vouchers en la mensajería |
34 | 15/02/2019 | 1.32 | Incorporación de la funcionalidad Billeteras Electrónicas QR (Mercado Pago y Todo Pago) |
...
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashBack | ServicePayment | VoidServicePayment | Descripción |
1 | store | Alfanumérico | X | X | X | X | X | X | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | X | X | X | X | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
6 | cardNumber | Numérico | O | O | O | O | O | O | O | Número de tarjeta en texto plano. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados |
9 | track2 | Alfanumérico | O | O | O | O | O | O | O | Track2 de la tarjeta entero. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados |
10 | inputMode | Alfanumérico | X | X | X | X | X | X | X | Forma en que se ingresó/leyó la tarjeta. Valores posibles:
|
22 | authorizationCode | Alfanumérico | O | O | O | O | O | O | O | Código de autorización generado por el centro autorizador para la transacción cuando al transacción fue aprobada |
23 | authorizationMode | Alfanumérico | X | X | X | X | X | X | X | Modo de Autorización:
|
24 | lastTrxId | Numérico | X | X | X | X | X | X | X | 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 | X | X | X | X | X | X | X | 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 | X | X | X | X | X | X | X | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | X | X | X | X | X | X | X | 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 | X | X | X | X | X | X | X | Mensaje de la Respuesta ISO-8583 relacionado con el código del campo 27 |
29 | serialNumber | Numérico | X | X | X | X | X | X | X | Número que identifica de la terminal lógica en la que se procesó la transacción |
30 | businessNumber | Numérico | X | X | X | X | X | X | X | Número de comercio en el que se procesó la transacción |
31 | lotNumber | Numérico | X | X | X | X | X | X | X | Número de lote en el que se registró la transacción |
32 | ticket | Numérico | O | O | O | O | O | O | O | Número de Ticket correspondiente a la transacción. 4 dígitos como máximo |
33 | creditCardIssuerName | Alfanumérico | O | O | O | O | O | O | O | Nombre del Centro emisor de la tarjeta |
34 | hostName | Alfanumérico | O | O | O | O | O | O | O | Nombre del canal por el cual se autorizó la tarjeta |
35 | errorDescription | Alfanumérico | O | O | O | O | O | O | O | Descripción de error. Sólo se encuentra presente si el valor del campo 26 es “Error” |
42 | lotDefinitionId | Numérico | X | X | X | X | X | X | X | Identificador de la definición de lote |
57 | accountType | Alfanumérico | O | O | O | O | O | O | O | Campo que se emplea para identificar el tipo de cuenta. Se usa para tarjetas de débito. Los valores posibles son:
|
58 | workingKey | Alfanumérico | O | O | O | O | O | O | O | 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 |
59 | offlinePinCheck | Numérico | O | O | O | O | O | O | O | Informa si se verifica o no el Pin Offline con AMEX EMV. Valores posibles:
|
66 | track1 | Alfanumérico | O | O | O | O | O | O | O | Track1 de la tarjeta entero. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados |
68 | rrn | Numérico | O | O | O | O | O | O | O | Reference referral number |
75 | accountNumber | Numérico | O | O | O | O | O | O | O | Número de cuenta. Este campo es devuelto si el campo 74- requestAccountNumber fue activado en el requerimiento |
81 | responseAuth | Alfanumérico | O | O | O | O | O | O | O | 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 | O | O | O | O | O | O | O | Versión de la aplicación |
130 | posPeriod | Numérico | O | O | O | O | O | O | O | [Opcional si viaja en la solicitud] Periodo enviado por el POS. Longitud 5 |
131 | turn | Numérico | O | O | O | O | O | O | O | [Opcional si viaja en la solicitud] Turno. Longitud 2 |
132 | operatorCode | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaja en la solicitud] Código de operador. Longitud 20 |
133 | operatorName | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaja en la solicitud] Nombre de operador. Longitud 50 |
134 | sellerCode | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaja en la solicitud] Código del vendedor. Longitud 20 |
135 | sellerName | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaja en la solicitud] Nombre del vendedor. Longitud 50 |
136 | attentionMode | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaja en la solicitud] Modalidad de atención (AU ó AS). Longitud 2 |
145 | exceptionBinName | Alfanumérico | O | O | O | O | O | O | O | Nombre de la tarjeta de Excepción. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados |
166 | trxReferenceNumber | Numérico | X | X | X | X | X | X | X | 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 | X | X | X | X | X | X | X | Identificador de la sesión actual |
1027 | libResponseCode | Numérico | X | X | X | X | X | X | 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 | X | X | X | X | X | X | Mensaje descriptivo del código de respuesta de la librería |
1110 | pinpadApplicationId | Alfanumérico | X | X | X | X | X | X | X | Identificador de la Aplicación del PINPAD. |
1111 | pinpadApplicationName | Alfanumérico | X | X | X | X | X | X | X | Nombre de la Aplicación del PINPAD. |
1112 | cardHolderName | Alfanumérico | O | O | O | O | O | O | O | Nombre del titular de la tarjeta si el track I está presente y la lectura fue por banda. |
1120 | voucherHeader | Mapa | O | O | O | O | O | O | O | [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 | O | O | O | O | O | O | O | [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 | O | O | O | O | O | O | O | [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 | O | O | O | O | O | O | O | [Opcional 2] Reservado para uso futuro. Retorna el voucher completo y formateado para ser impreso. |
1124 | printVoucher | Numérico | O | O | O | O | O | O | O | [Opcional 3] Reservado para uso futuro. Indica si la impresión del voucher tuvo éxito o no. Valores permitidos:
|
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 | Sale | VoidSale | Refund | VoidRefund | SaleCashBack | ServicePayment | VoidServicePayment | Descripción |
1 | store | Alfanumérico | X | X | X | X | X | X | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | X | X | X | X | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
22 | authorizationCode | Alfanumérico | O | O | O | O | O | O | O | Código de autorización generado por el centro autorizador para la transacción. |
23 | authorizationMode | Alfanumérico | X | X | X | X | X | X | X | Modo de Autorización:
|
24 | lastTrxId | Numérico | X | X | X | X | X | X | X | 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 | X | X | X | X | X | X | X | 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 | X | X | X | X | X | X | X | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | X | X | X | X | X | X | X | 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 | X | X | X | X | X | X | X | Mensaje de la Respuesta ISO-8583 relacionado con el código del campo 27 |
29 | serialNumber | Numérico | X | X | X | X | X | X | X | Número que identifica de la terminal lógica en la que se procesó la transacción |
30 | businessNumber | Numérico | X | X | X | X | X | X | X | Número de comercio en el que se procesó la transacción |
31 | lotNumber | Numérico | X | X | X | X | X | X | X | Número de lote en el que se registró la transacción |
32 | ticket | Numérico | O | O | O | O | O | O | O | Número de Ticket correspondiente a la transacción. 4 dígitos como máximo |
33 | creditCardIssuerName | Alfanumérico | X | X | X | X | X | X | X | Nombre del Centro emisor de la tarjeta |
34 | hostName | Alfanumérico | O | O | O | O | O | O | O | Nombre del canal por el cual se autorizó la tarjeta |
35 | errorDescription | Alfanumérico | O | O | O | O | O | O | O | Descripción de error. Sólo se encuentra presente si el valor del campo 26 es “Error” |
42 | lotDefinitionId | Numérico | X | X | X | X | X | X | X | Identificador de la definición de lote |
58 | workingKey | Alfanumérico | O | O | O | O | O | O | O | 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 | X | X | X | X | X | X | X | Reference referral number |
75 | accountNumber | Numérico | O | O | O | O | O | O | O | Número de cuenta. Este campo es devuelto si el campo 74- requestAccountNumber fue activado en el requerimiento |
81 | responseAuth | Alfanumérico | O | O | O | O | O | O | O | 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 | X | X | X | X | X | X | X | Versión de la aplicación |
130 | posPeriod | Numérico | O | O | O | O | O | O | O | [Opcional si viaje en la solicitud] Periodo enviado por el POS. Longitud 5 |
131 | turn | Numérico | O | O | O | O | O | O | O | [Opcional si viaje en la solicitud] Turno. Longitud 2 |
132 | operatorCode | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaje en la solicitud] Código de operador. Longitud 20 |
133 | operatorName | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaje en la solicitud] Nombre de operador. Longitud 50 |
134 | sellerCode | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaje en la solicitud] Código del vendedor. Longitud 20 |
135 | sellerName | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaje en la solicitud] Nombre del vendedor. Longitud 50 |
136 | attentionMode | Alfanumérico | O | O | O | O | O | O | O | [Opcional si viaje en la solicitud] Modalidad de atención (AU ó AS). Longitud 2 |
166 | trxReferenceNumber | Numérico | X | X | X | X | X | X | X | 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 | X | X | X | X | X | X | X | Identificador de la sesión actual |
1027 | libResponseCode | Numérico | X | X | X | X | X | X | 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 | X | X | X | X | X | X | Mensaje descriptivo del código de respuesta de la librería |
1110 | pinpadApplicationId | Alfanumérico | X | X | X | X | X | X | X | Identificador de la Aplicación del PINPAD. |
1111 | pinpadApplicationName | Alfanumérico | X | X | X | X | X | X | X | Nombre de la Aplicación del PINPAD. |
1112 | CardHolderName | Alfanumérico | O | O | O | O | O | O | O | Nombre del titular de la tarjeta si el track I está presente y la lectura fue por banda. |
1120 | voucherHeader | Mapa | O | O | O | O | O | O | O | [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 | O | O | O | O | O | O | O | [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 | O | O | O | O | O | O | O | [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 | O | O | O | O | O | O | O | [Opcional 2] Reservado para uso futuro. Retorna el voucher completo y formateado para ser impreso. |
1124 | printVoucher | Numérico | O | O | O | O | O | O | O | [Opcional 3] Reservado para uso futuro. Indica si la impresión del voucher tuvo éxito o no. Valores permitidos:
|
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 | RefundPEI | QueryPEI | Descripción |
8 | Cvc | Numérico | X | X | - | Código de seguridad de la tarjeta |
9 | track2 | Alfanumérico | X | X | X | Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) |
10 | inputMode | Alfanumérico | X | X | X | Forma en que se ingresó/leyó la tarjeta. Valor posible:
|
11 | trxType | Alfanumérico | X | X | X | Tipo de Transacción:
|
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:
|
25 | dateTime | Numérico | X | X | X | 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 |
66 | track1 | Alfanumérico | X | X | X | Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) |
153 | idOperationPEI | Alfanumérico | - | X | - | Identificador de la operación PEI de pago que se desea devolver |
155 | cbu | Alfanumé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 |
156 | cbuAlias | Alfanumé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 |
157 | customerDoc | Alfanumé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 |
161 | operationConcept | Numérico | O | - | - | Concepto por el cual se realiza la operación, valores posibles:
|
173 | dateTimeOriginalTrx | Numérico | - | - | X | Fecha 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 | SalePEI | RefundPEI | QueryPEI | Descripción |
1 | store | Alfanumérico | X | X | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
25 | dateTime | Numérico | X | X | X | 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 | X | X | X | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | X | X | X | 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 | X | X | X | Mensaje de la Respuesta ISO-8583 relacionado con el código del campo 27 |
35 | errorDescription | Alfanumérico | X | X | X | Descripción de error. Sólo se encuentra presente si el valor del campo 26 es “Error” |
153 | idOperationPEI | Alfanumérico | X | X | X | Identificador de la operación PEI de pago o de devolución |
154 | idOperationOrigenPEI | Alfanumérico | - | X | O | Identificador de la operación PEI de origen con la cual se solicitó la devolución |
170 | idCommercePEI | Alfanumérico | X | X | X | Identificador PEI de compañía |
171 | idBranchPEI | Alfanumérico | X | X | X | Identificador PEI de local |
172 | idTerminalPEI | Alfanumérico | X | X | X | Identificador PEI de terminal |
174 | originalTrxStatus | Numé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:
|
278 | bankingRefNum | Alfanumérico | X | - | X | Numero 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 | X | X | X | Identificador de la sesión actual |
1027 | libResponseCode | Numérico | X | X | 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 | X | X | 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 | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | PrintTrxVoucher | Descripción |
11 | trxType | Alfanumérico | X | Tipo de Transacción:
|
25 | dateTime | Numérico | X | 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 |
1103 | cardContextId | Numérico | X | 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" |
1118 | voucherParameters | Mapa | X | Se informa con el siguiente formato [copyCount|nroCopia] la cantidad de copias a efectuar del comprobante, donde:
|
1130 | requestSignature | Numérico | X | Se informa si se solicitará o no la firma en el Pinpad. Valores posibles:
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. |
1131 | voucherHeader | Mapa | O | 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 |
1132 | clientDNI | Alfanumérico | O | DNI del cliente. Valor hasta 9 caracteres |
1133 | billNumber | Numérico | O | Número de la factura. Valor hasta 11 caracteres |
1134 | voucherPromoMessage | Mapa | O | Se 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 |
1135 | voucherPromoLine | Alfanumérico | O | Se informa la promoción obtenida. Valor hasta 40 caracteres |
1136 | billType | Alfanumérico | O | Tipo de factura. Valor hasta 1 caracter |
...
Número | Nombre del campo | Tipo de dato | Print | Descripción |
1 | store | Alfanumérico | X | Identificador del sitio originador de la transacción. |
2 | node | Numérico | X | Identificador del nodo, en el sitio originador, donde se generó la transacción. |
11 | trxType | Alfanumérico | X | Tipo de Transacción:
|
25 | dateTime | Numérico | X | 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 |
1137 | printContent | Base 64 | X | Texto en plano codificado en base 64 con el siguiente formato: XXNN ***************************** Donde XX indican el formato de la línea, valores posibles:
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 | ||
---|---|---|
| ||
X = Obligatorio O = Opcional - = No requerido |
...
Número | Nombre del campo | Tipo de dato | Descripción | ||||||
1010 | currentSessionId | Numérico | X | Identificador de la sesión | |||||
1027 | libResponseCode | Numérico | X | Código de respuesta de la librería. | |||||
1028 | libResponseMessage | Alfanumérico | X | Mensaje descriptivo del código de respuesta de la librería | 1103 | cardContextId | Numérico | XIdentifica 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 a 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:
...
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 | |
013 | Error de lectura. Intente nuevamente | Cuando 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 | |
700 | No 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 | |
707 | Monto inválido | Cuando el monto off-line excede el límite configurado en el servidor. | |
708 | Monto Cash Back inválido | Cuando el monto cashback excede el límite configurado en el servidor. | |
711 | Error cancelando las transacciones. Existe una inconsistencia | Cuando no logra realizar un rollback sobre una transacción existente en la sesión. | |
713 | Transaccion invalida | Cuando el dispositivo no soporta el tipo de transacción ingresado. | |
718 | Modo de ingreso invalido | Cuando la lectura realizada por el PINPAD no es soportada por la versión de EMVKIT. | |
719 | Error en impresion de voucher | Existió un error y el comprobante no se puede imprimir | 801 | (API-PINPAD) PAN:
720 | No permite operar con la tarjeta ingresada | Cuando el tipo de transacción que se intenta realizar no soporta la tarjeta ingresada. | |
721 | transaccion no soporta cashback | Cuando el tipo de transacción que se intenta realizar no soporta cashback. | |
722 | Falta de papel en dispositivo | El PINPAD se queda sin papel y no se puede imprimir el voucher. | |
723 | Excede el máximo de líneas permitido | El PINPAD no puede imprimir el voucher genérico debido a que excede la cantidad de líneas permitidas. | |
724 | Modo Ingreso Error | El PINPAD no permite el tipo de ingreso recibido. | |
725 | Error en la configuracion del sistema | Cuando se requiere un cambio en la configuración del servidor. | |
726 | No se encontro un dispositivo conectado | Cuando el dispositivo no se encuentra debidamente configurado. | |
727 | Compañía inválida | Cuando 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 interno de la Error cancelando operacion Tarjeta Chip. Intente anularla | Cuando una operación con tarjeta Chip no puede realizar un rollback de la operación. |
809 | Error en la sincronización del PinPad. | El PINPAD no puede completar el proceso de sincronización. | |
810 | Error 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. | |
811 | Comando no soportado por el Pinpad | Cuando el dispositivo o la versión del mismo, no soporta el tipo de transacción ingresado. | |
812 | Reintente operación | Cuando se realiza un cambio en la configuración del servidor sobre la llave RSA, y se aplican los cambios en EMVKIT. | |
813 | No se permite la impresion de la corriente transaccion | El 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 |
...
- Enviar activo el flag del campo 1025 – transactionalControl (valor = 1) en la operación createSession.
- Registrar cada uno de los campos 24 – trxId retornados por EMVKIT para las autorizaciones Aprobadas.
- 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.
- 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:
Transacción Aprobada, 1 sola transacción en la sesión:
Apertura de sesión.
Lectura de tarjeta.
Procesamiento de tarjeta. El host APRUEBA la transacción.
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.
Transacción Rechazada. 1 sola transacción en la sesión:
Apertura de sesión.
Lectura de tarjeta.
Procesamiento de tarjeta. El host RECHAZA la transacción.
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.
Transacción Aprobada, pero el POS reversa, 1 sola transacción en la sesión:
Apertura de sesión.
Lectura de tarjeta.
Procesamiento de tarjeta. El host APRUEBA la transacción, pero el POS decide Cancelar.
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.
Transacción Aprobada, más de 1 transacción en la sesión:
Apertura de sesión.
Lectura de tarjeta.
Procesamiento de tarjeta. El host APRUEBA la transacción.
Lectura de otra tarjeta, con trxid de la transacción anterior.
Procesamiento de tarjeta. El host APRUEBA la transacción.
Lectura de otra tarjeta, con trxid de la transacción anterior.
Procesamiento de tarjeta. El host APRUEBA la transacción.
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.
- 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:
- Apertura de sesión.
- Lectura de tarjeta.
- Procesamiento de tarjeta. El host APRUEBA la transacción.
- Lectura de otra tarjeta, con trxid de la transacción anterior.
- Procesamiento de tarjeta. El host APRUEBA la transacción.
- Lectura de otra tarjeta, con trxid de la transacción anterior.
- Procesamiento de tarjeta. El host DENIEGA la transacción.
- Anulación de transacción ii. No envía el trxid de la anterior ya que no fue aprobada.
- Procesamiento de tarjeta. El host APRUEBA la transacción.
- Anulación de transacción iv, con trxid de la transacción anterior.
- Procesamiento de tarjeta. El host APRUEBA la transacción.
- 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).
- Apertura de sesión.
- Transacción Aprobada, más de 1 transacción en la sesión, en el medio, una transacción retorna Denegada:
- Apertura de sesión.
- Lectura de tarjeta.
- Procesamiento de tarjeta. El host APRUEBA la transacción.
- Lectura de otra tarjeta, con trxid de la transacción anterior.
- Procesamiento de tarjeta. El host DENIEGA la transacción.
- Lectura de otra tarjeta. No envía el trxid de la anterior ya que no fue aprobada.
- Procesamiento de tarjeta. El host APRUEBA la transacción.
- 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).
- Apertura de sesión.
6.9 Ejemplo de integración
...