Manual de Integración
VTOL EMVKIT AR 1.9.X
...
Painel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Painel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Âncora | ||||
---|---|---|---|---|
|
...
Âncora | ||||
---|---|---|---|---|
|
...
Propiedad | Descripción | Valor por defecto |
portName | Nombre del puerto | COM9 |
dataBits | Data bits length | 8 |
stopBits | 1 | |
baudRate | Baud rate of serial port | 19200 |
parity | Paridad | none |
timeout | Default time to wait for response from PINPad. This time is expressed in milliseconds. | 180000 |
pinEntryTimeout | Time in milliseconds to wait until card holder enters PIN. If card holder don't enter PIN during this milliseconds, then a packet 72 should be sent to PINPad to cancel PIN entry. | 180000 |
bufferSize | Tamaño máximo del buffer de lectura del puerto serie. | 2048 |
nativeImpleClass | Clase de driver nativo para comunicarse con el PINPad. | |
Y01Tec | Tiempo entre comandos expresado en segundos (Formato: NNN). Es el tiempo máximo que el PINPAD espera el siguiente comando. | 035 |
firmwareVersion | Opcional. Indica la versión de compatibilidad de firmware con la que trabajará EMVKIT. | |
requiredInitAppVersions | Opcional (Solo para FD). Indica que versiones de compatibilidad de firmware requieren enviar mensaje de inicio al PINPAD | |
approveInSecondInstance | Opcional. Indica si EMVKIT permite que el PINPAD apruebe en segunda decisión, una transacción rechazada por el HOST. | True |
...
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashBack | ServicePayment | VoidServicePayment | SalePEI | RefundPEI | Descripción |
0 | company | Numérico | X | X | X | X | X | X | X | X | X | Identificador de la compañía donde se generó la transacción. |
1 | store | Alfanumérico | X | X | 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 | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
6 | cardNumber | Alfanumérico | O | O | O | O | O | O | O | - | - | Para operaciones Crédito-Débito, retorna según las normas de PCI, es decir sólo visible los primeros 6 y los últimos 4 dígitos. Ejemplo: 450799******7787 Para Tarjeta de Excepción o Tarjetas de Empleados, retorna en texto plano. |
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 | 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 | 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 | X | X | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | X | X | 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 | 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 | Name | 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 | 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 | 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 | O | O | Indicador de PIN Offline verificado, sólo en tarjetas 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 | Alfanumé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. Longitud 28. |
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 | X | X | Identificador de la sesión actual |
1027 | libResponseCode | Numérico | X | X | 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 | X | X | Mensaje descriptivo del código de respuesta de la librería |
1103 | cardContextId | Numérico | X | X | X | X | X | X | X | X | X | Identifica el contexto de la tarjeta. Es un valor de referencia a la tarjeta leída a través del PINPAD. |
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 | X | X | 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:
|
170 | idCommercePEI | Alfanumérico | - | - | - | - | - | - | - | X | X | Identificador PEI de compañía |
171 | idBranchPEI | Alfanumérico | - | - | - | - | - | - | - | X | X | Identificador PEI de local |
172 | idTerminalPEI | Alfanumérico | - | - | - | - | - | - | - | X | X | Identificador PEI de terminal |
153 | idOperationPEI | Alfanumérico | - | - | - | - | - | - | - | X | X | Identificador de la operación PEI de pago o devolución. |
154 | idOperationOrigenPEI | Alfanumérico | - | - | - | - | - | - | - | - | X | Identificador de la operación PEI de origen con la cual se solicitó la devolución. Sólo para RefundPEI |
278 | bankingRefNum | Alfanumérico | - | - | - | - | - | - | - | 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. |
280 | clientCopyVoucher | Alfanumérico | X | X | X | X | X | X | X | - | - | Campo para imprimir copia al cliente. Valores posibles: False: imprimir copia al cliente sin consultarlo. |
281 | requiresSignature | Alfanumérico | X | X | X | X | X | X | X | - | - | Campo para solicitar firma al cliente. Valores posibles: False: no requerido |
1138 | emvData | Alfanumérico | O | O | O | O | O | O | O | - | - | Este campo sólo será retornado en operaciones CHIP con tarjetas Amex. Corresponden a datos del criptograma, los cuales deben ser impresos en el ticket. |
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 |
0 | company | Numérico | X | X | X | X | X | X | X | Identificador de la compañía donde se generó la transacció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 | Alfanumé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. Longitud 28. |
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} |
...
- Mercado Pago
- Yacaré
- Plus Pagos
- RappiPayless
Las operaciones soportadas en VTOL Server para Billeteras electrónicas son:
...
- Se inicia con el envío de una orden de devolución (transacción RefundWallet) por parte del POS a VTOL.
- VTOL recibe un RefundWallet desde el POS indicando el origen de la billetera.
- VTOL responde al POS Devolución Aprobada.
- El POS envía el tercer mensaje:
- Si cierra sesión CLOSE. VTOL programa el envío de la devolución al servicio de Plus Pagos:
- Si es el pago fue con Tarjeta de Credito/Debito, Plus Pagos informa al autorizador de la devolución, y si este aprueba, en la respuesta informa "Devolución Aprobada".
- Si es el pago fue con Saldo PlusPagos, esa devolución queda pendiente en el sistema de Plus Pagos hasta que sea confirmada o rechazada en su BackOffice.
- Plus Pagos responde a VTOL que el estado de la transacción es PENDIENTE DE APROBACIÓN.
- La operación quedará pendiente en el BackOffice de PlusPagos, hasta que el comerciante Confirme o Rechace la devolución en su plataforma.
- Una vez que se aplica una acción en el BackOffice de PlusPagos por parte del comerciante, Plus Pagos enviará una Notificación hacia VTOL informando el cambio de estado de la operación:
Si Confirma, se devolverá el pago original, y se enviará una Notificación a VTOL indicando que el estado de la venta es DEVUELTA.
Si Rechaza, no se devolverá el pago original, y se enviará una Notificación a VTOL indicando que el estado de la venta original sigue APROBADA. Si fue Rechazada, no se podrá volver a enviar el pedido de devolución.
Cuando VTOL recibe la notificación desde PlusPagos, no informa nada al POS, y si se quiere conocer el estado de la devolución, se debe hacer mediante una consulta con el número de la transacción.
Si cierra sesión CANCEL. VTOL no enviará ningún mensaje a Plus Pagos, y se eliminará el pedido de devolución.
- Si cierra sesión CLOSE. VTOL programa el envío de la devolución al servicio de Plus Pagos:
- Requerimiento
Informações |
---|
Referencias: X = Obligatorio |
...
Número
...
Nombre del campo
...
Tipo de dato
...
SaleWallet
...
Descripción
...
11
...
trxType
...
Alfanumérico
...
Procedimiento para Pagos con Rappi Payless
El flujo consiste en:
- El cliente realiza un pedido en la app de Rappi. Un mensajero de Rappi recolecta los productos en el comercio y confirma en la app.
- Se genera un código QR en la app de Rappi. El repartidor se acerca a la caja para realizar el pago. El código QR será el medio de pago.
- El cajero tiene la opción de escanear un código QR, un código de barras o ingresar manualmente un código.
- El POS genera una transacción de venta SaleWallet con Billetera Rappi y la envía a VTOL, enviando todos los datos además del código de pago (es el QR generado en la app).
- VTOL recibe el mensaje, y lo procesa.
- VTOL envía una solicitud de autorización de pago a la API de Rappi.
- Rappi procesa el mensaje, y responde si el pago fue aprobado.
- VTOL recibe la respuesta del pago.
- Si VTOL no recibe la respuesta en el tiempo configurado para recibirla, reintentará enviar la solicitud de autorización de pago. Si aún no recibe la respuesta de Rappi, responderá a la caja "La comunicación con Rappi no está disponible. El personal de Rappi necesita este código para pagar con tarjeta de débito".
- VTOL informa al POS la respuesta del Autorizador.
- Por último, el POS deberá confirmar la operación, mediante el tercer mensaje (transacción UnsyncCompletion).
- Finaliza el flujo de la operación.
Procedimiento para Pago Offline con Rappi Payless
1. El POS envía un SaleWallet a VTOL con la billetera Rappi (walletType: 8).
2. VTOL envía la autorización a Rappi, pero no hay conexión.
3. VTOL responde al POS código 620, “Reintente pago por modo offline con código PIN”. Y la operación queda rechazada en VTOL.
4. El POS calcula el código PIN utilizando un barcode vigente. Y se lo informa al rappi tendero para que lo ingrese en su app y así se autoriza el pago.
5. El POS envía una nueva SaleWallet a VTOL, informando el campo 22 (authorizationCode) con el valor del PIN. Esto es para dejar asentada en VTOL que la transacción se realizó en modo offline.
6. VTOL responde “Aprobado” al POS. La autorización se realiza de forma offline, es decir no se envía ningún mensaje a Rappi.
7. El POS envía tercer mensaje a VTOL, "commit" para confirmar la transacción.
8. El POS imprime el ticket y entrega los productos al rappi tendero.
- Requerimiento
Informações |
---|
Referencias: X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QueryWallet | Descripción |
---|---|---|---|---|---|---|
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 Nota: Para billeteras Yacaré y Plus Pagos, el importe debe ser siempre por el total de la venta y en la moneda informada. |
13 | currencyPosCode | Alfanumérico | X | X | - | Tipos de moneda:
Nota: En el punto de venta se deberá informar la moneda de la cuenta vendedor de Mercado Pago (si el retailer posee una cuenta argentina en Mercado Pago entonces tendrá que informar la moneda $ -pesos argentinos-) Importante: Tener en cuenta que operando con Mercado Pago siempre debe coincidir el país de la cuenta vendedor con el país de la cuenta comprador |
14 | payments | Numérico | - | - | O | Cantidad de cuotas por las cuales se realizará el pago. 2 dígitos como máximo Si es sin cuotas, el valor por defecto es 1 |
16 | originalDate | Numérico | - | X | X | Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD |
22 | authorizationCode | Alfanumérico | - | C | - | Código de autorización. Exclusivo para billetera Yacaré. Campo Condicional. Si la Compañía tiene configurado "Requiere código de autorización" entonces es obligatorio. |
24 | lastTrxId | Numérico | O | O | O | Utilizado cuando está activo el control transaccional. En este campo el POS debe enviar la última transacción procesada correctamente. |
25 | dateTime | Numérico | X | X | X | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS |
54 | additionalAmount | Importe | O | O | - | Contiene el Importe del "Cashout". 12 dígitos como máximo. Valor entero. Los últimos 2 dígitos corresponden a los decimales. Para devoluciones, se debe enviar el monto total del cashout. Para devolver sólo el cashout, se debe enviar el campo 12 (amount) con valor 0. Sólo disponible para billetera de Mercado Pago. |
268 | walletPosTrxId | Alfanumérico | X | X | O | Identificador único de la transacción de billetera para la compañía. Debe ser único por tipo de transacción. Es originado por el POS para realizar una compra o devolución con billetera. Formato: Opcional en QueryWallet: Se informa este campo o el campo walletPaymentId para localizar una transacción de compra |
269 | walletType | Numérico | X | X | X | Tipo de billetera por la cual se cursará la transacción en el POS. Opciones: 1: Mercado Pago 8: Rappi Payless |
270 | posTicket | Base 64 | X | - | - | Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura del campo posTicket |
271 | walletPaymentId | Alfanumérico | - | X | O | Identificador del número de pago informado por el Autorizador en el campo 271 de la respuesta de la operación SaleWallet Opcional en QueryWallet: Se informa este campo o el campo walletPosTrxId para localizar una transacción de compra |
311 | purchaseTitle | Alfanumérico | O | - | - | Título de la venta. Longitud máxima 100. Si el POS no lo envía, VTOL tomará un valor por defecto el siguiente label: "Pago con Billetera virtual en" + "CompanyName". |
312 | purchaseDesc | Alfanumérico | O | - | - | Descripción de la venta. Longitud máxima 100. Si el POS no lo envía, VTOL tomará un valor por defecto el siguiente label: "Pago realizado con QR. Por un monto de $amount. Y retiro de efectivo de $additionalAmount.".retiro de efectivo de $additionalAmount.". |
300 | barCode | Alfanumérico | C | - | - | Campo exclusivo y obligatorio para billetera Rappi Payless. Corresponde al código de pago generado por la app mobile de Rappi. El POS puede obtener este código escaneando un código QR, un código de barras o ingresarlo manualmente, desde la billetera virtual del recolector de Rappi. |
Nota |
---|
Los valores de compañía, tienda y caja serán obtenidos de la sesión. |
...
El mensaje con la estructura del ticket estará en XML. El elemento raíz de ese mensaje XML deberá ser la etiqueta <message>, siendo la misma lo que se llamará encabezado.
Dentro del encabezado, se podrá enviar el valor de los descuentos totales y de los impuestos totales que aplicarán a la compra. Son campos opcionales.
Los campos dentro del encabezado son: totDiscount y totTaxes
Detalle de los campos:
Elemento | Tipo de dato | Descripción | Requerido | Valor ante ausencia |
---|---|---|---|---|
totDiscount | Numérico | Importe total de descuento que calcula el POS. Será la sumatoria de descuentos que se apliquen a los artículos. | No | 0 |
totTaxes | Numérico | Importe total de impuesto que calcula el POS. Será la sumatoria de impuestos que se apliquen sobre la compra. | No | 0 |
La manera de ejecutar un comando es utilizando una etiqueta con la forma <elemento-comando>. El elemento "item" identifica a los artículos. De esta manera, si se desea, por ejemplo, agregar un nuevo artículo el comando a utilizar será <item-add>. En el cuerpo del mensaje podrá contener uno, ninguno o varios de estos comandos.
...
Para el elemento ítem, los atributos serán los siguientes:
Elemento | Atributo | Tipo de dato | Descripción | Requerido | Valor ante ausencia |
---|---|---|---|---|---|
Ítem |
unitprice | Numérico positivo | Precio unitario del artículo en cuestión. | Si |
xprice | Numérico positivo | Precio extendido del artículo en cuestión. Es igual a la cantidad por el precio unitario. | Si |
qty | Entero positivo | Cantidad de artículos en la línea. | Si |
magnitude | Numérico positivo | Si el artículo es mensurable por otro unidad que no sea la cantidad, deberá ser expresad en esta propiedad. | No | 0 |
code | Alfanumérico | Código propio del artículo. | No | "-" |
brand | Alfanumérico | Marca del artículo. | No | "-" |
supplier | Alfanumérico | Proveedor al que pertenece el artículo. | No | "-" |
discountable | Alfanumérico | Si el artículo es puede recibir descuentos o no. | No | "-" |
level1 | Alfanumérico | Nivel 1 de categorización del artículo. Anteriormente este nivel se conocía con el nombre de Departamento. | No | "-" |
level2 | Alfanumérico | Nivel 2 de categorización del artículo. Anteriormente este nivel se conocía como la Familia del artículo. | No | "-" |
level3 | Alfanumérico | Nivel 3 de categorización del artículo. Anteriormente este nivel se conocía como la Categoría del artículo. | No | "-" |
level4 | Alfanumérico | Nivel 4 de categorización del artículo. Anteriormente este nivel se conocía como la subcategoría del artículo. | No | "-" |
description | Alfanumérico | Descripción del ítem | Si | |
currency | Alfanumérico | Moneda utilizada en el precio del ítem Nota: En el punto de venta se deberá informar la moneda de la cuenta vendedor de Mercado Pago (si el retailer posee una cuenta argentina en Mercado Pago entonces tendrá que informar la moneda $ -pesos argentinos-). | Si | |
measure | Alfanumérico | Unidad de medida del ítem. Valores posibles: unit - pack | No | "unit" |
Ejemplo
Bloco de código | ||||
---|---|---|---|---|
| ||||
<message><message totDiscount="10.00" totTaxes="5.00"> <item-add seq="1" code="0001" discountable="true" unitprice="25.0" qty="1.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" xprice="25.0" magnitude="1" description="Jean casual" currency="$" /> <item-add seq="2" code="0002" discountable="true" unitprice="28.0" qty="2.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" xprice="48.0" magnitude="1" description="Jean casual" currency="$" /> </message> |
...
Informações |
---|
Referencias X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QueryWallet | Descripción |
---|---|---|---|---|---|---|
0 | company | Numérico | X | X | X | Identificador de la compañía donde se generó la transacció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 |
6 | cardNumber | Alfanumérico | O | - | O | Tarjeta enmascarada seleccionada al momento de efectuar el pago QR. El campo es opcional en caso de que se haya abonado con saldo de la cuenta de Mercado Pago. Para Rappi este campo no retorna. |
12 | amount | Importe | X | - | X | Monto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales. |
13 | currencyPosCode | Alfanumérico | - | - | X | Tipos de moneda:
|
14 | payments | Numérico | - | - | O | Cantidad de cuotas seleccionadas al momento de realizar el pago QR. El campo es opcional en caso de que se haya abonado con saldo de la cuenta de Mercado Pago |
22 | authorizationCode | Alfanumérico | O | - | O | Código de autorización informado por el Autorizador. Para Mercado Pago sólo retorna cuando el cliente paga con tarjeta de crédito o débito. Para Yacaré, este campo no retorna. |
24 | trxId | Numérico | X | X | X | Identificador de 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 emitido por el centro autorizador. 3 dígitos como máximo. Ver sección Códigos de Respuesta de VTOL Server para Billeteras Electrónicas |
28 | responseMessage | Alfanumérico | X | X | X | Mensaje de la Respuesta relacionado con el código del campo 27 |
54 | additionalAmount | Importe | O | O | O | Contiene el Importe del "Cashout". Para aquellas operaciones realizadas con retiro de efectivo. Valor entero. Los últimos 2 dígitos corresponden a los decimales. Sólo disponible para billetera de Mercado Pago. |
140 | paymentType | Numérico | O | - | X | Tipo de pago. Valores posibles: 0: Tarjeta |
142 | providerName | Alfanumérico | - | - | O | Proveedor de la tarjeta seleccionada al momento de efectuar el pago QR. El campo es opcional en caso de que se haya abonado con saldo de la cuenta de Mercado Pago. |
166 | trxReferenceNumber | Numérico | 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 |
271 | walletPaymentId | Alfanumérico | X | - | X | Identificador del número de pago informado por el Autorizador. Para Rappi, en este campo retorna el barcode utilizado para el pago. |
272 | amountRefunded | Importe | - | - | X | Monto devuelto en la transacción |
273 | paymentStatus | Alfanumérico | O | - | O | Estado de la transacción de pago informado por el Autorizador. Estados posibles: 0: Aprobado |
274 | paymentStatusDetail | Alfanumérico | O | - | O | Detalle del estado de la transacción de pago informado por el Autorizador |
275 | cardType | Numérico | O | - | O | Tipo de tarjeta seleccionada al momento de efectuar el pago QR. Es opcional en caso de que se haya abonado con saldo de la cuenta de Mercado Pago. Para Yacaré, este campo no retorna. Para Rappi este campo no retorna. Valores posibles: |
: Crédito | ||||||
415 | walletPayoutId | Alfanumérico | O | - | O | Identificador del ID de cashback informado por el Autorizador. Sólo retorna en caso de haber realizado Retiro de efectivo con la app de Mercado Pago. |
1010 | currentSessionId | Numérico | X | X | X | Identificador de la sesión |
1027 | libResponseCode | Numérico | X | X | X | Código de respuesta de la librería. |
1028 | libResponseMessage | Alfanumérico | X | X | X | Mensaje descriptivo del código de respuesta de la librería |
Ejemplo
Response from VTOL (SaleWallet): Response message: {1:1;2:1;1027:000;1028:Ok;166:14021905052200000204;271:2289999999999999228;1010:1550131493463;22:1234567;24:121;25:20190214050518;26:ISO8583;27:00;28:APROBADA} Response from VTOL (RefundWallet): Response message: {1:1;2:1;1010:1550131493463;1027:000;1028:Ok;25:20190214050543;26:ISO8583;27:509;28:Estado trx original no acepta devolucion} Response from VTOL (QueryWallet): Response message: {1:1;2:1;1027:000;1028:Ok;6:450995xxxxxx3704;140:0;12:53.0;13:$;14:1;142:visa;271:2289999999999999228;272:0.0;273:0;274:accredited;1010:1550131493463;275:1;22:1234567;24:121;25:20190214050534;26:ISO8583;27:00;28:APROBADA} |
...
Informações | ||
---|---|---|
| ||
X = Obligatorio |
- Requerimiento
Número | Nombre del campo | Tipo de dato | SalePEI | RefundPEI | QueryPEI | Descripción |
---|---|---|---|---|---|---|
3 | server | Alfanumérico | X | X | X | Identificador del Server que procesará la transacción. Enviar "VTOL" |
10 | inputMode | Alfanumérico | X | X | X | Forma de ingreso:
|
11 | trxType | Alfanumérico | X | X | X | Tipo de Transacción:
|
12 | amount | Importe | X | X | - | Monto de la transacción de Venta o de Devolució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 Se validará el importe enviado por el POS:
|
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 |
153 | idOperationPEI | Alfanumérico | - | X | O | Identificador de operación Cuenta DNI PEI de pago que se desea devolver o consultar. |
157 | customerDoc | Alfanumérico | O | - | - | Número de documento del titular de la cuenta. Obligatorio junto con softToken, únicamente si el modo de ingreso es softToken. |
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. |
279 | softToken | Alfanumérico | O | - | - | Token generado por la app mobile. Este token se lo informa el cliente al cajero, para que sea ingresado en el POS. Obligatorio junto con customerDoc, únicamente si el modo de ingreso es softToken. |
300 | barCode | Alfanumérico | O | - | - | Código generado por la app mobile. Este código se lo informa el cliente al cajero, para que sea ingresado en el POS. Obligatorio únicamente si el modo de ingreso es barCode. |
Nota |
---|
Los valores de compañía, tienda y caja serán obtenidos de la sesión. |
- Respuesta
Número | Nombre del campo | Tipo de dato | SalePEI | RefundPEI | QueryPEI | Descripción |
---|---|---|---|---|---|---|
0 | company | Numérico | X | X | X | Identificador de la compañía donde se generó la transacció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 original de pago. |
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 | X | Número de referencia de la transacción de pago. |
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 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 |
L. Procesar Mensaje Promociones PEI
...
Informações |
---|
Referencias |
- Requerimiento
Número | Nombre del campo | Tipo de dato | PromoPei | Descripción |
---|---|---|---|---|
3 | server | Alfanumérico | X | Identificador del Server que procesará la transacción. Enviar "VTOL" |
11 | trxType | Alfanumérico | X | Tipo de Transacción:
|
301 | originalTrxType | Alfanumérico | X | Identificador del Tipo de Promoción que se está informando. Valores posibles: "1" para Pagos con promociones y "2" para Devoluciones de pagos con promoción. |
12 | amount | Importe | X | Monto total de la transacción original de venta, debe ser el mismo valor. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. |
13 | currencyPosCode | Alfanumérico | X | Tipos de Moneda:
|
302 | promoAmount | Importe | X | Importe para informar una promoción o para informar la devolución de un pago con promoción. En donde los últimos 2 dígitos serán los decimales. Puede ser igual al importeOperacion (amount), en el caso en que todo el importe del pago esté sujeto a promoción. Pero no puede superar el importeOperacion. Para informar una Promoción en una Venta, se informará la sumatoria del importe de los productos sujetos a promoción. Si el pago completo está sujeto a promoción, el PromoAmount será igual a amount. El mismo comportamiento se aplicará para informar la Devolución de un pago sujeto a promoción. Se informará la suma del importe de los productos que fueron sujetos a promoción en la venta. |
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 |
153 | idOperationPEI | Alfanumérico | X | Identificador de operación PEI de pago que devuelve Link en la respuesta del pago. |
278 | bankingRefNum | Alfanumérico | X | Número de referencia bancaria de la operación de pago. Es devuelta por Link en la operación de pago. |
Nota |
---|
Los valores de compañía, tienda y caja serán obtenidos de la sesión. |
- Respuesta
Número | Nombre del campo | Tipo de dato | PromoPei | Descripción |
---|---|---|---|---|
0 | company | Numérico | X | Identificador de la compañía donde se generó la transacción. |
1 | store | Alfanumérico | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
25 | dateTime | Numérico | 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 | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | 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 | Mensaje de la Respuesta ISO-8583 relacionado con el código del campo 27 |
35 | errorDescription | Alfanumérico | X | Descripción de error. Sólo se encuentra presente si el valor del campo 26 es “Error” |
1010 | currentSessionId | Numérico | X | Identificador de la sesión actual |
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 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 |
M. Obtener Configuración de POS
...
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QueryWallet | Descripción |
---|---|---|---|---|---|---|
11 | trxType | Alfanumérico | X | X | X | Tipo de Transacción:
|
12 | amount | Numérico | X | X | - | Monto de la transacción. 12 dígitos como máximo. Valor entero. Los dos últimos dígitos representan los decimales. Ej: "1000" equivale a "10.00". Para devoluciones, se debe enviar el monto total de la venta original, ya que no están permitidas las devoluciones parciales. |
13 | currencyPosCode | Alfanumérico | X | X | - | Tipos de moneda:
|
16 | originalDate | Numérico | - | X | X | Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD |
24 | lastTrxId | Numérico | O | O | O | Utilizado cuando está activo el control transaccional. En este campo el POS debe enviar la última transacción procesada correctamente. |
25 | dateTime | Numérico | X | X | X | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS |
268 | walletPosTrxId | Alfanumérico | X | X | O | Identificador único de la transacción de billetera para la compañía. Es originado por el POS para realizar una compra con billetera. Formato: Opcional en QueryWallet: Se informa este campo o el campo walletPaymentId para localizar una transacción de compra. |
269 | walletType | Numérico | X | X | X | Tipo de billetera por la cual se cursará la transacción en el POS. Opciones: 2: Billetera Bimo |
270 | posTicket | Alfanumérico | X | - | - | Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura del campo posTicket |
271 | walletPaymentId | Alfanumérico | - | X | O | Identificador del número de pago informado por el Autorizador en el campo 271 de la respuesta de la operación SaleWallet. Opcional en QueryWallet: Se informa este campo o el campo walletPosTrxId para localizar una transacción de compra. |
401 | paymentMethodsData | Json | X | - | - | Información de los planes de pago, en formato json |
402 | walletBenefits | Json | X | - | - | Información de las tarjetas de beneficio, en formato json |
Estructura del campo posTicket (270) Âncora posTicket posTicket
...
Cada uno de los comandos que se envían posee diversos atributos, los cuales identifican al elemento que se está enviando y definen diversas propiedades que poseen los mismos. Poseerá un número de secuencia, el cual identifica cada elemento unívocamente:
Propiedad | Tipo de dato | Descripción | Requerido |
---|---|---|---|
seq | Entero positivo | Número identificador único del elemento dentro de la transacción. | Sí |
Cada comando posee una serie de atributos que definirán las distintas propiedades del elemento que se está agregando (además del número de secuencia antes mencionado).
Para el elemento ítem, los atributos serán los siguientes:
Elemento | Atributo | Tipo de dato | Descripción | Requerido | Valor ante ausencia |
---|---|---|---|---|---|
Ítem |
unitprice | Numérico positivo | Precio unitario del artículo en cuestión. | Si |
xprice | Numérico positivo | Precio extendido del artículo en cuestión. Es igual a la cantidad por el precio unitario. | Si |
qty | Entero positivo | Cantidad de artículos en la línea. | Si |
magnitude | Numérico positivo | Si el artículo es mensurable por otro unidad que no sea la cantidad, deberá ser expresad en esta propiedad. | No | 0 |
code | Alfanumérico | Código propio del artículo. | No | "-" |
brand | Alfanumérico | Marca del artículo. | No | "-" |
supplier | Alfanumérico | Proveedor al que pertenece el artículo. | No | "-" |
discountable | Alfanumérico | Si el artículo es puede recibir descuentos o no. | No | "-" |
level1 | Alfanumérico | Nivel 1 de categorización del artículo. Anteriormente este nivel se conocía con el nombre de Departamento. | No | "-" |
level2 | Alfanumérico | Nivel 2 de categorización del artículo. Anteriormente este nivel se conocía como la Familia del artículo. | No | "-" |
level3 | Alfanumérico | Nivel 3 de categorización del artículo. Anteriormente este nivel se conocía como la Categoría del artículo. | No | "-" |
level4 | Alfanumérico | Nivel 4 de categorización del artículo. Anteriormente este nivel se conocía como la subcategoría del artículo. | No | "-" |
description | Alfanumérico | Descripción del ítem | Si | |
currency | Alfanumérico | Moneda utilizada en el precio del ítem Nota: En el punto de venta se deberá informar la moneda de la cuenta vendedor de Mercado Pago (si el retailer posee una cuenta argentina en Mercado Pago entonces tendrá que informar la moneda $ -pesos argentinos-). | Si | |
measure | Alfanumérico | Unidad de medida del ítem. Valores posibles: unit - pack | No | "unit" |
Ejemplo
Bloco de código | ||
---|---|---|
| ||
<message> <item-add seq="1" code="0001" discountable="true" unitprice="25.0" qty="1.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" xprice="25.0" magnitude="1" description="Jean casual" currency="$" /> <item-add seq="2" code="0002" discountable="true" unitprice="28.0" qty="2.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" xprice="48.0" magnitude="1" description="Jean casual" currency="$" /> </message> |
...
El mensaje con la estructura de los medios de pago será en JSON. Estará conformado por los siguientes campos:
Parámetro | Tipo de dato | Requerido | Descripción | |
---|---|---|---|---|
providerPosCode | Alfanumérico | Si | Código del Proveedor de la tarjeta configurado en VTOL. Por ejemplo para Visa el código es "VI". El código se obtiene de la Configuración de POS. | |
bankCode | Numérico | No | Identificador del banco asociado a la tarjeta. Debe corresponder al ID de banco dispuesto por el BCRA. Ver códigos de bancos. | |
installments | Array | Si | Información de las cuotas. | |
paymentOptionId | Alfanumérico | Si | Identificador de la opción de pago. Máximo 10 caracteres. Debe ser único dentro del campo "paymentMethodsData". Permite trazabilidad con la opción que elija el cliente en el momento de pagar. La opción de pago seleccionada por el cliente en su billetera virtual es retornada por VTOL en el mensaje de respuesta de la venta, en el campo 404. | |
quantity | Numérico | Si | Cantidad de cuotas. Número entero. Máximo 2 dígitos. | |
paymentCondition | Alfanumérico | No | Condición de la opción de pago. Sólo se informará si existe en VTOL una opción de pago con una condición. Máximo 20 caracteres. | |
amountPerInstallment | Importe | Si | Monto por cuotas. Valor entero. Los 2 últimos dígitos corresponden a los decimales. | |
totalAmount | Importe | Si | Monto total. Incluye los recargos. Valor entero. Los 2 últimos dígitos corresponden a los decimales. | |
surcharge | Numérico | Si | C.F.T. (Costo Financiero Total). Porcentaje de recargo sobre las cuotas. Valor entero. Los 2 últimos dígitos corresponden a los decimales. | |
nominalAnnualRate | Numérico | Si | T.N.A. (Tasa Nominal Anual). Valor entero. Los 2 últimos dígitos corresponden a los decimales. |
Ejemplo del campo paymentMethodsData (401)
...
El mensaje con la estructura de los beneficios estará en JSON. Estará conformado por los siguientes campos:
Parámetro | Tipo de dato | Requerido | Descripción | |
---|---|---|---|---|
benefitCardId | Alfanumérico | Si | Identificador de la opción de pago creada por el POS. Máximo 10 caracteres. Debe ser único dentro del campo "walletBenefits". Permite trazabilidad con la tarjeta de beneficio aplicada en el pago por estar vinculada en la billetera virtual del cliente. El ID del beneficio aplicado es retornado por VTOL en el mensaje de respuesta de la venta en el campo 405. | |
providerPosCode | Alfanumérico | Si | Código de la tarjeta de beneficio configurada en VTOL. Por ejemplo para Clarin 365 el código es "CC". | |
discountPercentage | Numérico | Si | Porcentaje de descuento a aplicar sobre la compra. Valor entero. Los 2 últimos dígitos corresponden a los decimales. | |
maximumDiscountAmount | Numérico | Si | Importe máximo de descuento a aplicar sobre la compra. Valor entero. Los 2 últimos dígitos corresponden a los decimales. |
Ejemplo del campo walletBenefits (402)
...
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QueryWallet | Descripción |
---|---|---|---|---|---|---|
0 | company | Numérico | X | X | X | Identificador de la compañía donde se generó la transacció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. |
6 | cardNumber | Alfanumérico | X | - | O | Tarjeta enmascarada seleccionada por el cliente al momento de efectuar el pago QR. |
12 | amount | Importe | X | - | X | Contiene el importe que pagó el cliente, el cual puede variar si pagó con intereses o se aplicó algún descuento. Valor entero. Los últimos 2 dígitos corresponden a los decimales. |
13 | currencyPosCode | Alfanumérico | X | - | X | Tipos de moneda:
|
14 | payments | Numérico | X | - | O | Cantidad de cuotas seleccionadas al momento de realizar el pago QR. |
22 | authorizationCode | Alfanumérico | X | - | X | Código de autorización informado por el Autorizador |
24 | trxId | Numérico | X | X | X | Identificador de 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 emitido por el centro autorizador. 2 dígitos como máximo. Ver sección Códigos de Respuesta de VTOL Server para Billeteras Electrónicas |
28 | responseMessage | Alfanumérico | X | X | X | Mensaje de la Respuesta relacionado con el código del campo 27 |
29 | serialNumber | Numérico | O | O | O | Número identificatorio de la terminal en la que se procesó la transacción. Retorna en operaciones aprobadas. |
30 | businessNumber | Numérico | O | O | O | Número de comercio en el que se procesó la transacción. Retorna en operaciones aprobadas. |
31 | lotNumber | Numérico | O | O | O | Número de lote en el que se registró la transacción |
32 | ticket | Numérico | O | O | O | Número de Ticket correspondiente a la transacción. 4 dígitos como máximo. |
81 | responseAuth | Alfanumérico | O | O | O | Mensaje de repuesta para imprimir en el ticket del POS. Retorna en operaciones aprobadas. Contiene información generada por el Autorizador. |
140 | paymentType | Numérico | - | - | X | Tipo de pago. Valores posibles: 0: Tarjeta |
142 | providerName | Alfanumérico | - | - | O | Proveedor de la tarjeta seleccionada al momento de efectuar el pago QR. |
147 | providerPosCode | Alfanumérico | O | - | O | Código del Provider. Retornará cuando la transacción fue aprobada por el Autorizador. |
166 | trxReferenceNumber | Numérico | 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 |
271 | walletPaymentId | Alfanumérico | X | - | X | Identificador del número de pago informado por el Autorizador |
272 | amountRefunded | Importe | - | - | X | Monto devuelto en la transacción |
273 | paymentStatus | Alfanumérico | - | - | O | Estado de la transacción de pago informado por el Autorizador. Estados posibles: 0: Aprobado |
275 | cardType | Numérico | - | - | O | Tipo de tarjeta seleccionada al momento de efectuar el pago QR por parte del cliente. Valores posibles: |
306 | cardIssuingBank | Alfanumérico | O | - | O | Banco emisor de la tarjeta. Retornará cuando la transacción fue aprobada por el Autorizador. |
404 | paymentOptionId | Alfanumérico | X | - | O | Identificador de la opción de pago seleccionada por el cliente en su billetera virtual. Según la tarjeta, el banco, y las cuotas elegidas por el cliente, se vinculará con el paymentOptionId enviado por la caja en el requerimiento. |
405 | benefitCardId | Alfanumérico | X | - | O | Identificador de la tarjeta de beneficio aplicada en el pago por estar vinculada en la billetera virtual del cliente. |
406 | originalAmount | Importe | X | - | O | Monto original de la transacción: de venta o de devolución. |
407 | amountDiscounted | Importe | X | - | O | Contiene el importe que se descontó sobre el importe original. Debido a la aplicación de una tarjeta de beneficio vinculada en la billetera virtual del cliente. Sólo retorna cuando se aplicó un descuento. |
1010 | currentSessionId | Numérico | X | X | X | Identificador de la sesión |
1027 | libResponseCode | Numérico | X | X | X | Código de respuesta de la librería. |
1028 | libResponseMessage | Alfanumérico | X | X | X | Mensaje descriptivo del código de respuesta de la librería |
Nota | ||
---|---|---|
| ||
Si la respuesta de un mensaje QueryWallet retorna con código 514 ("Tiempo expirado. Elija Consultar o Cancelar pago") el POS al aplicar la acción "Cancelar pago" sobre dicho mensaje, deberá enviar un mensaje de sincronización a EMVKit, sin incluir el id de transacción de la operación saleWallet. De esa manera EMVKit podrá sincronizar contra VTOL Server y este enviará una cancelación de la orden de compra contra la billetera virtual que se esté operando. Ver mensaje de sincronización de transacciones |
...
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | CardInfoService | Descripción |
---|---|---|---|---|
6 | cardNumber | Numérico | O | Número de tarjeta. Sólo presente si el modo de ingreso fue Manual. |
7 | expiration | Numérico | O | Formato YYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual. |
8 | cvc | Numérico | O | Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual. |
9 | track2 | Alfanumérico | O | Track2 de la tarjeta entero. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados |
10 | posInputMode | Alfanumérico | X | Forma en que se ingresó/leyó la tarjeta. Valores posibles:
|
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 |
66 | track1 | Alfanumérico | O | Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) |
71 | checkPendingString | Alfanumérico | O | Indica si VTOL debe o no efectuar el chequeo de pendientes:
|
164 | posEncryptedFields | Numérico | O | Indica si se utiliza encripción entre Pinpad y VTOL (modo RSA). En este caso los datos sensibles se envían encriptados. Si está activo, los campos a enviar encriptados son: 6, 8, 9, 66
|
- Respuesta
Número | Nombre del campo | Tipo de dato | CardInfoService | Descripción |
---|---|---|---|---|
6 | cardNumber | Numérico | O | Número de tarjeta. Sólo presente si el modo de ingreso fue Manual. |
8 | cvc | Numérico | O | Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual. |
9 | track2 | Alfanumérico | O | Track2 de la tarjeta entero. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados |
25 | dateTime | Numérico | 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 | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | X | Código de Respuesta ISO-8583 |
28 | responseMessage | Alfanumérico | X | Descripción de la Respuesta ISO-8583 relacionado con el código del campo 27 |
66 | track1 | Alfanumérico | X | Track1 de la tarjeta entero. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados |
145 | exceptionBinName | Alfanumérico | O | Nombre de la tarjeta de Excepción. Solo presente en Tarjeta de Excepción o Tarjetas de Empleados |
146 | exceptionBinData | Alfanumérico | O | Información adicional de la tarjeta de excepción. Presente solo para Tarjeta de Excepció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 |
Q. Consultar Tarjetas de Fidelidad
...
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | CardQuery | Descripción |
---|---|---|---|---|
0 | company | Numérico | X | Identificador de la compañía donde se generó la transacción. |
1 | store | Alfanumérico | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
3 | server | Alfanumérico | X | Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL') |
4 | messageType | Alfanumérico | X | Tipo de Mensaje:
|
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 |
269 | walletType | Numérico | X | Tipo de billetera por la cual se realizará la consulta. Opciones: 2: Adquiriente Prisma |
408 | loyaltyCard | Numérico | X | Tipo de tarjeta de fidelidad que se quiere consultar. Opciones: 1: Clarín 365 |
157 | customerDoc | Numérico | X | Número de documento del cliente que realiza la consulta. |
Ejemplo de requerimiento
Request: {157:11111111;408:1;269:2;11:CardQuery;4:DATA;3:VTOL;2:1;25:20210503192959;71:True;1:1;0:1} |
- Respuesta
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | CardQuery | Descripción |
---|---|---|---|---|
0 | company | Numérico | X | Identificador de la compañía donde se generó la transacción |
1 | store | Alfanumérico | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | Identificación del nodo, en el sitio originador, donde se generó la transacción. |
6 | cardNumber | Alfanumérico | X | Número de Tarjeta del cliente. Si es una tarjeta de fidelidad, retornará en plano. |
25 | dateTime | Numérico | 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 | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | X | Código de Respuesta emitido por el centro autorizador. 3 dígitos como máximo. Ver sección: Códigos de Respuesta de VTOL Server para Consulta de Fidelidad |
28 | responseMessage | Alfanumérico | X | Mensaje de la Respuesta relacionado con el código del campo 27 |
292 | customerFirstName | Alfanumérico | X | Nombre del tarjetahabiente. |
293 | customerLastName | Alfanumérico | X | Apellido del tarjetahabiente. |
409 | loyaltyCardCategory | Alfanumérico | X | Categoría de la tarjeta de fidelidad. Puede retornar los siguientes valores:
|
Ejemplo de respuesta
Response: {25:20210503193023;2:1;1:1;0:1;6:44123456789010;292:Juan;293:Perez;409:CLASSIC;26:ISO8583;27:00;28:APROBADA} |
R. Procesar Tarjeta Contactless doble interacción
...
Leer Datos de la Tarjeta
Requerimiento
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashback | Descripción |
---|---|---|---|---|---|---|---|---|
10 | inputMode | Alfanumérico | X | X | X | X | X | Forma en que se ingresará la tarjeta. Valores posibles:
|
11 | trxType | Alfanumérico | X | X | X | X | X | Tipo de Transacción:
|
12 | amount | Numérico | X | X | X | X | X | Monto original de la transacción (sin aplicar intereses, ni descuentos). 12 dígitos como máximo. Número entero. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00 |
17 | originalTrxTicketNr | Numérico | - | O | X | - | - | Este campo debe viajar si el tipo de transacción es Refund y es opcional cuando el tipo de transacción es VoidSale. Se trata del número de ticket de la transacción original. 4 dígitos como máximo |
24 | lastTrxId | Numérico | O | O | O | O | O | Utilizado cuando está activo el control transaccional. En este campo el POS debe enviar la última transacción procesada correctamente.(Si el POS tuvo algún problema con la transacción previa no debería enviar su trxId en este campo) |
25 | dateTime | Numérico | X | X | X | X | X | Fecha y hora de realización de la transacción, en formato: YYYYMMDDHHMMSS |
54 | additionalAmount | Alfanumérico | O | - | - | - | X | Contiene el Importe del "Cash Back". En caso de realizar retiro de efectivo, se debe informar este campo en el primer Sale. Número entero. 12 dígitos como máximo. Los últimos dos representan los decimales. |
1102 | provider | Alfanumérico | O | O | O | O | O | Proveedor/tarjeta seleccionada por el POS. Campo Opcional. A futuro este campo permitirá rutear la transacción a un Adquiriente diferente del proveedor del pinpad, dependiendo de la configuración cargada en VTOL. Este dato será validado contra la tarjeta leída por el pinpad. En caso de no coincidir el provider enviado por el POS con la tarjeta leída en el pinpad, se retornará un mensaje de error. |
Nota |
---|
Los valores de Compañía, Tienda y Caja serán obtenidos de la Sesión. |
...
Ejemplos de requerimiento:
Sale: Request: {12:1500;11:Sale;10:Contactless;2:1;25:20210623112355;1:1;0:1}} VoidSale: Request: {12:1500;11:VoidSale;10:Contactless;2:1;25:20210623112607;1:1;0:1} Refund: Request: {17:35;16:20210623;12:1500;11:Refund;10:Contactless;2:1;25:20210623112452;1:1;0:1} VoidRefund: Request: {12:1500;11:VoidRefund;10:Contactless;2:1;25:20210623112531;1:1;0:1} |
Respuesta
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashback | Descripción |
---|---|---|---|---|---|---|---|---|
10 | inputMode | Alfanumérico | X | X | X | X | X | Forma en que se ingresó/leyó la tarjeta. Valores posibles:
Si la tarjeta se lee por un modo de ingreso distinto de Contactless, se responderá el siguiente error: código 729 - "Reintente otro modo de ingreso". En caso de que la tarjeta deba ser leída por un modo diferente de Contactless, se deberá enviar un nuevo "Sale" pero sin enviar el campo 10 (inputMode). De esa manera se podrá operar con el resto de los modos de ingreso. |
1010 | currentSessionId | Numérico | X | X | X | X | X | Identificador de la sesión actual |
1027 | libResponseCode | Numérico | 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 Ver sección Códigos de Respuesta de Librería |
1028 | libResponseMessage | Alfanumérico | X | X | X | X | X | Mensaje descriptivo del código de respuesta de la librería |
1102 | providers | Lista | X | X | X | X | X | Lista de proveedores/tarjetas que coinciden con la tarjeta ingresada en el PINPAD. Esta lista deberá ser utilizada para seleccionar la tarjeta manualmente en el POS. |
1103 | cardContextId | Numérico | X | X | X | X | X | Identifica el contexto de la tarjeta. Es un valor de referencia a la tarjeta leída a través del PINPAD. Debe ser enviado en la siguiente llamada “Procesar Operación con Tarjeta” |
1104 | prefixesList | Lista | X | X | X | X | X | Lista que informa el/los prefijo/s, proveedor/es, si se admite cashback, el límite del monto cashback, si se permite operar offline y el límite del monto para operar offline de la tarjeta ingresada en el pinpad. Tener en cuenta que los últimos dos dígitos de los campos límite del monto cashback y límite del monto para operar offline corresponden a decimales |
1105 | panFirstDigit | Numérico | X | X | X | X | X | Primero 6 dígitos de la tarjeta. Si la tarjeta está dentro de los bines de excepción se devuelve el número entero. |
1106 | panLastDigit | Numérico | X | X | X | X | X | Últimos 4 dígitos de la tarjeta. Si la tarjeta está dentro de los bines de excepción se devuelve el número entero. |
1107 | pan | Alfanumérico | X | X | X | X | X | Valor de la tarjeta enmascarado según normas PCI. |
1108 | isExceptionBin | Numérico | X | X | X | X | X | Flag que indica si se trata de un BIN de excepción (1) o si no lo es (0). |
1109 | ExceptionBinName | Alfanumérico | O | O | O | O | O | Si isExceptionBin = 1 entonces indica el nombre del bin de excepción. |
1112 | CardHolderName | Alfanumérico | O | O | O | O | O | Valor devuelto por el PINPAD. Nombre del titular de la tarjeta. |
1113 | cardIsDebit | Numérico | O | O | O | O | O | Si existe un único provider. Flag que indica si es una tarjeta de débito (1) o de crédito (0 o no viaja). |
1114 | bankCode | Numérico | O | O | O | O | O | Código de banco si es una tarjeta Master. |
1115 | serviceCode | Numérico | O | O | O | O | O | Código de servicio devuelto por el PINPAD, siempre que no sea ingreso manual. |
1116 | recordNumber | Numérico | O | O | O | O | O | Número de registro donde se almacena la transacción en el PINPAD. |
Ejemplos de respuesta:
Sale: Response message: {1027:000;1028:Ok;10:Contactless;1102:{MC};1103:20210623112412607;1104:[{"start"\:"51"\,"end"\:"56"\,"provider"\:"MC"\,"cashBackAllowed"\:1\,"cashBackAmountLimit"\:"null"\,"offLineAllowed"\:1\,"offlineAmountLimit"\:"999999900"}];1105:550568;1106:5290;1010:1624458231837;1107:550568******5290;1108:0;1113:0;1114:027;1115: ;1116:000001} VoidSale: Response message: {1027:000;1028:Ok;10:Contactless;1102:{MC};1103:20210623112622755;1104:[{"start"\:"51"\,"end"\:"56"\,"provider"\:"MC"\,"cashBackAllowed"\:1\,"cashBackAmountLimit"\:"null"\,"offLineAllowed"\:1\,"offlineAmountLimit"\:"999999900"}];1105:550568;1106:5290;1010:1624458362500;1107:550568******5290;1108:0;1113:0;1114:027;1115: ;1116:000001} Refund: Response message: {1027:000;1028:Ok;10:Contactless;1102:{MC};1103:20210623112513585;1104:[{"start"\:"51"\,"end"\:"56"\,"provider"\:"MC"\,"cashBackAllowed"\:1\,"cashBackAmountLimit"\:"null"\,"offLineAllowed"\:1\,"offlineAmountLimit"\:"999999900"}];1105:550568;1106:5290;1010:1624458290353;1107:550568******5290;1108:0;1113:0;1114:027;1115: ;1116:000001} VoidRefund: Response message: {1027:000;1028:Ok;10:Contactless;1102:{MC};1103:20210623112550840;1104:[{"start"\:"51"\,"end"\:"56"\,"provider"\:"MC"\,"cashBackAllowed"\:1\,"cashBackAmountLimit"\:"null"\,"offLineAllowed"\:1\,"offlineAmountLimit"\:"999999900"}];1105:550568;1106:5290;1010:1624458329282;1107:550568******5290;1108:0;1113:0;1114:027;1115: ;1116:000001} |
Procesar Operación con Tarjeta
Requerimiento
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashback | Descripción |
---|---|---|---|---|---|---|---|---|
11 | trxType | Alfanumérico | X | X | X | X | X | Tipo de Transacción:
|
12 | amount | Importe | X | X | X | X | X | Monto de la transacción, con intereses o descuentos aplicado. 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 | X | X | X | X | X | Tipos de Moneda:
|
14 | payments | Numérico | X | X | X | X | X | Cantidad de cuotas. 2 dígitos como máximo. Si no tiene cuotas, el valor por defecto es 1. |
15 | plan | Alfanumérico | X | X | X | X | X | Plan. 1 caracter de longitud |
16 | originalDate | Fecha | - | - | X | - | - | 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 |
17 | originalTrxTicketNr | Numérico | - | O | X | - | - | Este campo debe viajar si el tipo de transacción es Refund y es opcional cuando el tipo de transacción es VoidSale. Se trata del número de ticket de la transacción original. 4 dígitos como máximo. |
25 | dateTime | Numérico | X | X | X | X | X | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS |
54 | additionalAmount | Alfanumérico | O | - | - | - | X | Contiene el Importe del "Cash Back". En caso de realizar retiro de efectivo, se debe informar el mismo valor que se informó en el primer Sale . Debe contener 12 dígitos como máximo. |
73 | interestAmount | Alfanumérico | O | O | O | O | O | Este campo es por si se necesita enviar el monto de los intereses en el mensaje a Autorizar. Normalmente el monto que llega del POS ya contiene los intereses en el caso de pagar en cuotas. Existe algún caso de alguna tarjeta especial donde el monto hay que enviarlo libre de intereses y justamente el monto de los intereses viaja en este campo. |
1102 | provider | Alfanumérico | X | X | X | X | X | Proveedor/tarjeta seleccionada manualmente de la lista devuelta por la librería en la operación Leer Datos de la Tarjeta. Por Ejemplo: Si la operación Leer Datos de Tarjeta retorna la lista {VI, EL}, en la operación Procesar Operación con Tarjeta se debe enviar el valor seleccionado entre las dos opciones VI o EL. |
1103 | cardContextId | Numérico | X | X | X | X | 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" |
Nota |
---|
Los valores de Compañía, Tienda y Caja serán obtenidos de la Sesión. |
...
Ejemplos de requerimiento:
Sale: Request: {1103:20210623112412607;1102:MC;201:[trxNumber\|valor\,zetaNumber\|valor\,accountingDate\|valor];15:0;14:1;13:$;12:10000;11:Sale;2:1;25:20210623112419;1:1;0:1} VoidSale: Request: {1103:20210623112622755;1102:MC;201:[trxNumber\|valor\,zetaNumber\|valor\,accountingDate\|valor];15:0;14:1;13:$;12:10000;11:VoidSale;2:1;25:20210623112625;1:1;0:1} Refund: Request: {1103:20210623112513585;1102:MC;201:[trxNumber\|valor\,zetaNumber\|valor\,accountingDate\|valor];17:35;16:20210623;15:0;14:1;13:$;12:10000;11:Refund;2:1;25:20210623112516;1:1;0:1} VoidRefund: Request: {1103:20210623112550840;1102:MC;201:[trxNumber\|valor\,zetaNumber\|valor\,accountingDate\|valor];15:0;14:1;13:$;12:10000;11:VoidRefund;2:1;25:20210623112553;1:1;0:1} |
Respuesta
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashback | Descripción |
---|---|---|---|---|---|---|---|---|
10 | inputMode | Alfanumérico | X | X | X | X | X | Forma en que se ingresó/leyó la tarjeta. Valores posibles:
|
22 | authorizationCode | Alfanumérico | O | O | O | O | O | Código de autorización generado por el centro autorizador para la transacción cuando la transacción fue aprobada. |
23 | authorizationMode | Alfanumérico | X | X | X | X | X | Modo de Autorización:
|
24 | lastTrxId | Numérico | 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 | 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 | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | 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 | Mensaje de la Respuesta ISO-8583 relacionado con el código del campo 27 |
29 | serialNumber | Numérico | X | X | X | X | X | Número que identifica la terminal lógica en la que se procesó la transacción. |
30 | businessNumber | Numérico | 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 | Número de lote en el que se registró la transacción |
32 | ticket | Numérico | 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 | Nombre del Centro emisor de la tarjeta |
34 | hostName | Alfanumérico | O | O | O | O | O | Nombre del canal por el cual se autorizó la tarjeta |
35 | errorDescription | Alfanumérico | 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 | Identificador de la definición de lote |
57 | accountType | Alfanumérico | 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 | 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 | O | O | O | O | O | Número de referencia de recuperación |
75 | accountNumber | Numérico | 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 | 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 | Versión de la aplicación |
166 | trxReferenceNumber | Numérico | 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 | Identificador de la sesión actual |
1027 | libResponseCode | Numérico | 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 | Mensaje descriptivo del código de respuesta de la librería |
1110 | pinpadApplicationId | Alfanumérico | X | X | X | X | X | Identificador de la Aplicación del PINPAD. |
1111 | pinpadApplicationName | Alfanumérico | X | X | X | X | X | Nombre de la Aplicación del PINPAD. |
1112 | cardHolderName | Alfanumérico | O | O | O | O | O | Nombre del titular de la tarjeta si el track I está presente y la lectura fue por banda. |
280 | clientCopyVoucher | Alfanumérico | X | X | X | X | X | Campo para imprimir copia al cliente. Valores posibles: False: imprimir copia al cliente sin consultarlo. |
281 | requiresSignature | Alfanumérico | X | X | X | X | X | Campo para solicitar firma al cliente. Valores posibles: False: no requerido |
Ejemplos de respuesta:
Sale: Response message: {0:1;1:1;2:1;1027:000;1028:Ok;68:000073;6:550568******5290;10:Contactless;1103:20210623112412607;82:STS;1107:550568******5290;22:549772;1110:A0000000041010;23:onLine;1111:MasterCard;280:true;24:232;281:false;25:20210623112419;26:ISO8583;27:00;28:APROBADA;29:06000307;30:00000013;31:1;32:35;33:Master Card;34:Posnet;166:23062111242100000287;42:3;110:false;1010:1624458231837;59:0} VoidSale: Response message: {0:1;1:1;2:1;1027:000;1028:Ok;68:000076;10:Contactless;1103:20210623112622755;82:STS;1107:550568******5290;22:580976;1110:A0000000041010;23:onLine;1111:MasterCard;280:true;24:235;281:false;25:20210623112625;26:ISO8583;27:00;28:APROBADA;29:06000307;30:00000013;31:1;32:38;33:Master Card;34:Posnet;166:23062111262600000290;42:3;110:false;1010:1624458362500;59:0} Refund: Response message: {0:1;1:1;2:1;1027:000;1028:Ok;68:000074;10:Contactless;1103:20210623112513585;82:STS;1107:550568******5290;22:586011;1110:A0000000041010;23:onLine;1111:MasterCard;280:true;24:233;281:false;25:20210623112516;26:ISO8583;27:00;28:APROBADA;29:06000307;30:00000013;31:1;32:36;33:Master Card;34:Posnet;166:23062111252100000288;42:3;110:false;1010:1624458290353;59:0} VoidRefund: Response message: {0:1;1:1;2:1;1027:000;1028:Ok;68:000075;10:Contactless;1103:20210623112550840;82:STS;1107:550568******5290;22:514191;1110:A0000000041010;23:onLine;1111:MasterCard;280:true;24:234;281:false;25:20210623112553;26:ISO8583;27:00;28:APROBADA;29:06000307;30:00000013;31:1;32:37;33:Master Card;34:Posnet;166:23062111255400000289;42:3;110:false;1010:1624458329282;59:0} |
Diagrama de secuencia - Pinpad de FirstData
...
Código | Descripción |
---|---|
00 | APROBADA |
500 | No se encuentra la transaccion original |
501 | El campo WalletPosTrxId es requerido |
502 | El campo WalletType es requerido |
503 | No esta configurado una Compañia MP |
504 | No esta configurado una Caja MP |
505 | El tipo de billetera es invalido |
506 | El campo WalletPaymentId es requerido |
507 | El campo OriginalDate es requerido |
508 | No es posible devolver una devolucion |
509 | Estado trx original no acepta devolucion |
510 | Importe devolucion supero monto limite |
511 | No se pudo realizar la orden de pago |
512 | La transaccion no posee estado |
513 | El campo posTicket es requerido |
514 | Tiempo expirado. Elija Consultar o Cancelar pago |
515 | Tiempo expirado confirmacion devolucion |
516 | Pago aun no realizado, desea seguir esperando? |
517 | Estado trx original no acepta devolucion |
518 | No se encuentra la devolucion |
519 | Acceso a MP no esta autorizado |
520 | Accion a MP no esta autorizada |
521 | El campo WalletPosTrxId es invalido |
523 | Estado trx original no acepta devolucion |
524 | Importe invalido para devolucion |
525 | Estado trx original no acepta devolucion |
526 | Compañia MP no permite operar |
527 | Numero devoluciones parciales superados |
528 | El pago es antiguo para ser devuelto |
529 | No es posible devolver una devolucion |
530 | Compañia MP sin dinero para devolver |
531 | Compañia MP sin dinero disponible |
532 | Estado trx original no acepta devolucion |
533 | Devolucion parcial no soportada |
534 | Url de notificacion invalido |
535 | El monto de la transaccion es invalido |
536 | Error general por parte de MP |
537 | No se encuentra la transaccion original |
538 | El campo WalletPosTrxId es requerido |
539 | Transaccion devuelta |
540 | Pendiente |
541 | Autorizado |
542 | En Progreso |
543 | En mediacion |
544 | Transaccion ya devuelta |
545 | Cancelado |
546 | Contracargo |
547 | No se encontró la trx original |
548 | Error en comunicación |
549 | No existe comunicación con Mercado Pago |
550 | Error al consultar venta original online |
552 | Orden no generada por Prisma |
553 | Pago Rechazado por parte de Prisma |
554 | Esta operación requiere autorización |
555 | Esta operación requiere autorización |
556 | Pago rechazado, reintente con otro medio de pago |
557 | Pago rechazado, reintente con otro medio de pago |
558 | Pago rechazado, reintente con otro medio de pago |
559 | Pago rechazado, reintente con otro medio de pago |
560 | Pago rechazado, reintente con otro medio de pago |
561 | No fue posible procesar su pago, intente más tarde |
562 | No fue posible procesar su pago, intente más tarde |
563 | No fue posible procesar su pago, intente más tarde |
564 | No fue posible procesar su pago, intente más tarde |
565 | No fue posible procesar su pago, intente más tarde |
566 | La cantidad de cuotas seleccionada es inválida |
567 | La cantidad de cuotas seleccionada es inválida |
568 | Tarjeta de crédito vencida |
569 | Tarjeta de crédito no habilitada |
570 | Fondos insuficientes, reintente otro medio de pago |
571 | Fondos insuficientes, reintente otro medio de pago |
572 | Datos incorrectos, revíselos y reintente |
573 | Datos incorrectos, revíselos y reintente |
574 | No fue posible procesar su pago, intente más tarde |
575 | No fue posible procesar su pago, intente más tarde |
576 | Tarjeta no vigente, reintente otro medio de pago |
577 | Esta operación requiere autorización |
578 | No fue posible procesar su pago, intente más tarde |
579 | No fue posible procesar su pago, intente más tarde |
580 | La cantidad de cuotas seleccionada es inválida |
581 | Datos incorrectos, revíselos y reintente |
582 | Datos incorrectos, revíselos y reintente |
583 | Las cuotas informadas son incorrectas |
584 | Devolucion parcial no soportada |
585 | Transacción con CashBack no permitido |
586 | El comercio informado es inválido |
587 | El establecimiento informado es inválido |
588 | El establecimiento no pertenece al comercio |
589 | El punto de venta informado es inválido |
590 | El punto de venta no pertenece al establecimiento |
591 | El tipo de documento es inválido |
592 | Se debe informar el ID de la operación |
593 | Se debe informar un timeStamp |
594 | Se debe informar el traceNumberla operación |
593 | Se debe informar un timeStamp |
594 | Se debe informar el traceNumber |
595 | Intención de pago vencida |
596 | Entrega Excede Supera Limite |
598 | Las cuotas del pago ya fueron informadas |
602 | Devolución rechazada |
603 | Devolución no aprobada |
604 | Devolución pendiente de aprobación |
650 | Importe de devolución de cashout invalido |
651 | Importe de cashout invalido |
652 | Medio de pago inválido |
654 | Devolución registrada confirme administrativamente |
733 | La transacción no corresponde a una operación de Billeteras Electrónicas |
734 | No es posible cancelar la transacción informada |
6.2.2.1 Códigos de respuesta de VTOL Server para Billetera Rappi Payless
Código | Descripción | |
---|---|---|
00 | APROBADA | |
57 | TRANSACCION NO PERMITIDA | |
500 | Sucursal no configurada Billetera RappiPayless | |
503 | Compañia no configurada Billetera RappiPayless | |
509 | Estado trx original no acepta devolucion | |
510 | Importe devolucion supero monto limite | |
533 | Devolucion parcial no soportada | |
537 | Se excedio el tiempo limite para devolver | |
539 | Devuelto | |
544 | Transaccion ya devuelta | |
545 | Cancelado | |
549 | No existe comunicación con RappiPayless | |
553 | Pago rechazado por diferencias en la orden | |
585 | Transacción con CashBack no permitido | |
586 | Imposible identificar el comercio. Verifique datos | |
595 | Intención de pago vencida en Billetera | |
596 | Entrega Excede Supera Limite | |
598 | Las cuotas del pago ya fueron informadas599 | Error de validacion |
601 | No se pudo realizar la operación, reintente | |
602 | DevoluciónDevolucion rechazada | 603|
605 | Devolución no aprobada | |
604 | Devolución pendiente de aprobación | |
650 | Importe de devolución de cashout invalido | |
651 | Importe de cashout invalido | |
652 | Medio de pago inválido | |
654 | Devolución registrada confirme administrativamente | |
733 | La transacción no corresponde a una operación de Billeteras Electrónicas | |
734 | No es posible cancelar la transacción informada | |
La transaccion no se puede anular | ||
606 | Identificador de transaccion incorrecto | |
607 | No se pudo realizar la devolucion | |
611 | Código de barras invalido | |
619 | No se pudo realizar la cancelación | |
620 | Reintente pago por modo offline con código PIN |
6.2.3 Códigos de Respuesta de VTOL Server para Antifraude
A continuación se detallan las respuestas posibles de VTOL Server, cuando se opera con Antifraude:
Código | Descripción de respuesta al POS | Descripción del módulo antifraude |
---|---|---|
801 | Tarjeta no autorizada | Fraude por validación de BlackList |
802 | Tarjeta no autorizada | Posible Fraude por BlackList |
803 | Operación no autorizada | Fraude por Velocity Check |
804 | Operación no autorizada | Posible fraude por Velocity Check |
805 | Operación no autorizada | Error en validación concurrente, posible fraude por Velocity Check |
806 | Operación no autorizada | Error en validación Velocity Check |
807 | Operación no autorizada | Error general en validación de Antifraude |
810 | Operación no autorizada | Faltan campos requeridos en el requerimiento |
Âncora | ||||
---|---|---|---|---|
|
A continuación se detallan las respuestas posibles de VTOL Server, cuando se realizan consultas de tarjetas de fidelidad:
Código | Descripción | Observaciones |
---|---|---|
770 | Cliente no encontrado en servicio de fidelidad | El servicio de fidelidad respondió que el cliente no fue encontrado en su base de datos. |
771 | El cliente no está activo en servicio de fidelidad | El servicio de fidelidad respondió que el cliente no tiene ninguna tarjeta activa. |
772 | Error en el servicio de fidelidad | Cuando el servicio de fidelidad no está disponible o se vence el timeout. |
773 | Error de configuración en VTOL. | VTOL valida que se encuentre configurada la API Key del Comercio para consultar con Bimo, en las propiedades de configuración. Si no están configurados en VTOL Server, o si Bimo responde un error 400, VTOL retorna este mensaje al POS. |
774 | Es requerido el documento del cliente | El POS no envió el número de DNI del cliente. |
775 | Es requerido el tipo de tarjeta de fidelidad | El POS no envió el tipo de tarjeta de fidelidad del cliente. |
776 | El documento no es valido | El número de DNI enviado no tiene el formato correcto. |
777 | Tipo de tarjeta de fidelidad no válido. | El tipo de tarjeta de fidelidad enviado no está soportado. |
778 | Consulta no disponible para esta billetera | El tipo de consulta no es soportado por el tipo de billetera enviado por el POS en el campo WalletType. |
Âncora | ||||
---|---|---|---|---|
|
Âncora | ||||
---|---|---|---|---|
|
...
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 |
...
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. |
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. |
24 | Solicita número de cuenta | 1 | N | Solicita al autorizador el número de cuenta. |
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. |
28 | Posición de la Master Key | 1 | N | Indica la posición de la Master Key en los registros del Firmware. Valores posibles: |
29 | Código de banco | 10 | AN | Código del banco |
30 | Permite Fallback | 1 | N | Visa 1; Mastercard y Maestro 0 |
31 | CashBack Amount Limit | 10 | N | Límite de importe Cashback |
32 | Descripción del banco | 40 | AN | Descripción del banco (Opcional) |
...
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 | Código del plan de pago. |
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. |
10 | Limite intereses | 13 | N | Si el monto es superior a éste valor, entonces el interés es = 0 |
11 | Interés | 5 | AN | Tasa de interés (%) para el plan de pago. En formato 00.00 |
12 | Promocional | 1 | N | Activa con 1 o Desactiva con 0 Si aplica o no una promoción para el plan de pago. |
13 | Descripción | 20 | AN | Descripción del Plan de pago. |
14 | Tipo de operación | 1 | N | Indica cuál es el tipo de operación asociado al plan de pagos. Opciones posibles:
|
...
Ejemplo:
PP:AM;$;;0;1;98765432;1016075;0000000000.00;0000000000.00;12.30;1;Normal;1
PP:VI;$;;0;10;98765432;1016085;0000000100.00;0000000000.00;15.00;0;Normal;1
...
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 | 20 | AN | |
5 | PIN Master Key position | 1 | N | Posición de la master key PIN | ||
6 | Data Master Key position | 1 | N | Posición de la master key Data | ||
7 | Channel Id | 1 | N | ID del Canal |
Ejemplo:
DL:5;0000000001;99990080;0;0;24
DL:5;0000000002;99990081;1;0;1
DL:5;0000000003;99990082;0;0;24
DL:5;0000000004;99990083;1;0;1
DL:5;0000000005;99990084;0;0;24
DL:5;0000000006;99990085;0;0;24
DL:5;0000000007;99990086;0;0;24
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 |
...
Ref | Dato | Canal VISA | Canal POSNET | Canal AMEX | Campo EMV Kit | Nota |
---|---|---|---|---|---|---|
1 | Tipo de transacción u operación Opciones VISA:
Opciones Posnet y AMEX:
| X | X | X | 11 - trxType | |
2 | Número de comercio o establecimiento asignado por el Emisor | X | X | X | 30 - businessNumber | |
3 | Número de Terminal | X | X | X | 29 - serialNumber | |
4 | Número de Lote | X | X | X | 31 - lotNumber | |
5 | Número de cupón correspondiente a la transacción | X | X | X | 32 - ticket | |
6 | Últimos 4 números de la tarjeta | X | X | X | 1106 - panLastDigit | Cuando VISA autoriza, se debe enmascarar toda la tarjeta con X exceptuando los últimos 4 dígitos. Cuando Posnet autoriza, se deberá imprimir el número de tarjeta enmascarando con el carácter “*” o “#” los primeros doce dígitos de la misma, a solicitud de cada emisor. Nota: Tener en cuenta que la longitud de la tarjeta puede variar |
7 | Modo de ingreso del número de tarjeta Opciones VISA:
Opciones Posnet:
| X | X | X | 10 - inputMode | Cuando el ingreso es manual (Mastercard), se debe dejar en el voucher un espacio de embozado para marcar el relieve de la tarjeta |
8 | Fecha de vencimiento de la tarjeta | X | X | X | 7 - expiration, pero la fecha de vencimiento de la tarjeta debe ser siempre XX/XX | La fecha de vencimiento de la tarjeta siempre va enmascarada |
9 | Número de cuenta | O | O | O | 75 - accountNumber | Se debe imprimir el número de cuenta en caso de que la tarjeta lo devuelva En Posnet, cuando se reciba al menos un asterisco (“*”) se deberá imprimir el Número de Tarjeta en forma completa y se deberá imprimir el campo Número de Cuenta tal como se lo recibió |
10 | Tarjeta o proveedor con que se efectuó la operación | X | X | X | 33 - creditCardIssuerName | |
11 | Importe y moneda de la operación | X | X | X | 12 - amount y 13 - currencyPosCode | |
12 | Cantidad de cuotas | X | X | X | 14 - payments | |
13 | Identificador de la aplicación (AID) | O | - | O | 1110 - pinpadApplicationId | Se debe imprimir este valor en caso de que el ingreso de la tarjeta sea Chip y cuando el valor sea devuelto |
14 | Nombre de la aplicación (APN) | O | - | O | 1111 - pinpadApplicationName | Se debe imprimir este valor en caso de que el ingreso de la tarjeta sea Chip y cuando el valor sea devuelto |
15 | Modo de autorización | X | X | X | 23 - authorizationMode | Cuando la transacción es offline, se debe dejar en el voucher un espacio de embozado para marcar el relieve de la tarjeta |
16 | Código de autorización otorgado por el Emisor | X | X | X | 22 - authorizationCode | |
17 | Número de cupón original | O | O | O | 17 - originalTrxTicketNr | Sólo en las transacciones de Anulaciones de compra y Devoluciones |
18 | Fecha del cupón original | O | O | O | 16 - originalDate | Sólo en las transacciones de Devoluciones |
19 | Importe y moneda de la extracción en efectivo | O | O | - | 54 - additionalAmount | |
20 | Importe y moneda total de la operación (suma entre la compra/anulación y la extracción) | O | O | - | N/A | Sólo en operación compra + extracción y anulación de compra + extracción |
21 | Tipo de cuenta de tarjetas de débito Maestro Opciones:
| O | O | - | 57 - accountType | Exclusivo para tarjetas Maestro. Mastercard Debit no solicita el ingreso de este dato ni se imprime en el voucher |
22 | Tipo de plan | O | O | - | 15 - plan | Sólo para emisores que lo requieran |
23 | Nombre del tarjeta habiente | O | O | O | 1112 - cardHolderName | Nombre del titular de la tarjeta si el track I está presente y la lectura fue por banda |
24 | Versión del software o aplicación | X | X | X | 82 - softwareVersion | |
25 | Resultado descriptivo de la operación | O | O | O | 27 - isoCode | |
26 | Leyenda "Operación a confirmar" | O | - | - | N/A | Cuando es una devolución realizada por VISA, siempre se debe imprimir esta leyenda en el voucher |
27 | Mensaje adicional | O | - | - | 81 - responseAuth | Es opcional y se puede agregar para informarle alguna información adicional al cliente |
28 | Tipo de tarjeta | X | X | X | 1113 - cardIsDebit | Tarjeta de débito o tarjeta de crédito |
- | Verificación de pin offline | - | - | O | 59 - offlinePinCheck | Si el dato se encuentra, se imprime en el voucher |
- | Tipo de criptograma y valor | - | - | O | 1138 - emvData | Sólo será retornado en operaciones CHIP con tarjetas Amex |
- | Número de referencia de recuperación (RRN) | - | - | O | 68 - rrn |
...
Nota |
---|
|
...
A continuación se detallan los ID de los bancos dispuestos por el BCRA.
ID de Banco | Descripción |
---|---|
7 | BANCO DE GALICIA Y BUENOS AIRES S.A.U. |
11 | BANCO DE LA NACION ARGENTINA |
14 | BANCO DE LA PROVINCIA DE BUENOS AIRES |
15 | INDUSTRIAL AND COMMERCIAL BANK OF CHINA |
16 | CITIBANK N.A. |
17 | BANCO BBVA ARGENTINA S.A. |
20 | BANCO DE LA PROVINCIA DE CORDOBA S.A. |
27 | BANCO SUPERVIELLE S.A. |
29 | BANCO DE LA CIUDAD DE BUENOS AIRES |
34 | BANCO PATAGONIA S.A. |
44 | BANCO HIPOTECARIO S.A. |
45 | BANCO DE SAN JUAN S.A. |
65 | BANCO MUNICIPAL DE ROSARIO |
72 | BANCO SANTANDER RIO S.A. |
83 | BANCO DEL CHUBUT S.A. |
86 | BANCO DE SANTA CRUZ S.A. |
93 | BANCO DE LA PAMPA SOCIEDAD DE ECONOMÍA M |
94 | BANCO DE CORRIENTES S.A. |
97 | BANCO PROVINCIA DEL NEUQUÉN SOCIEDAD ANÓ |
143 | BRUBANK S.A.U. |
147 | BANCO INTERFINANZAS S.A. |
150 | HSBC BANK ARGENTINA S.A. |
165 | JPMORGAN CHASE BANK, NATIONAL ASSOCIATIO |
191 | BANCO CREDICOOP COOPERATIVO LIMITADO |
198 | BANCO DE VALORES S.A. |
247 | BANCO ROELA S.A. |
254 | BANCO MARIVA S.A. |
259 | BANCO ITAU ARGENTINA S.A. |
262 | BANK OF AMERICA, NATIONAL ASSOCIATION |
266 | BNP PARIBAS |
268 | BANCO PROVINCIA DE TIERRA DEL FUEGO |
269 | BANCO DE LA REPUBLICA ORIENTAL DEL URUGU |
277 | BANCO SAENZ S.A. |
281 | BANCO MERIDIAN S.A. |
285 | BANCO MACRO S.A. |
299 | BANCO COMAFI SOCIEDAD ANONIMA |
300 | BANCO DE INVERSION Y COMERCIO EXTERIOR S |
301 | BANCO PIANO S.A. |
305 | BANCO JULIO SOCIEDAD ANONIMA |
309 | BANCO RIOJA SOCIEDAD ANONIMA UNIPERSONAL |
310 | BANCO DEL SOL S.A. |
311 | NUEVO BANCO DEL CHACO S. A. |
312 | BANCO VOII S.A. |
315 | BANCO DE FORMOSA S.A. |
319 | BANCO CMF S.A. |
321 | BANCO DE SANTIAGO DEL ESTERO S.A. |
322 | BANCO INDUSTRIAL S.A. |
330 | NUEVO BANCO DE SANTA FE SOCIEDAD ANONIMA |
331 | BANCO CETELEM ARGENTINA S.A. |
332 | BANCO DE SERVICIOS FINANCIEROS S.A. |
336 | BANCO BRADESCO ARGENTINA S.A.U. |
338 | BANCO DE SERVICIOS Y TRANSACCIONES S.A. |
339 | RCI BANQUE S.A. |
340 | BACS BANCO DE CREDITO Y SECURITIZACION S |
341 | BANCO MASVENTAS S.A. |
384 | WILOBANK S.A. |
386 | NUEVO BANCO DE ENTRE RÍOS S.A. |
389 | BANCO COLUMBIA S.A. |
426 | BANCO BICA S.A. |
431 | BANCO COINAG S.A. |
432 | BANCO DE COMERCIO S.A. |
435 | BANCO SUCREDITO REGIONAL S.A.U. |
7. Compatibilidad con VTOL Server
...