Versões comparadas

Chave

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

...

Manual de Integración


Librería full - ARFull AR 1.2.4




Cambios por revisiones


Fecha

Revisión

Cambios – Motivo

06/01/2014

1.0

Creación del documento

17/08/2015

1.1

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

23/10/2015

1.2

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

09/11/2015

1.3

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

13/05/2016

1.4

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

16/05/2016

1.5

Revisión del documento

06/06/2016

1.6

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

14/07/2016

1.7

Agregados los tipos de transacciones CashBack, VoidCashBack, ServicePayment y VoidServicePayment

18/08/2016

1.8

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

15/09/2016

1.9

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

19/09/2016

1.10

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

21/09/2016

1.11

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

23/09/2016

1.12

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

06/10/2016

1.13

Se incorpora definición de timeout de librería full.

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

05/04/2017

1.14

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

16/05/2017

1.15

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

17/05/2017

1.16

Agregado del valor MSR Chip en campo inputMode

30/05/2017

1.17

Agregado del apartado "Circuito Operativo de la Librería Full"

06/06/2017

1.18

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

07/07/2017

1.19

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

23/04/20181.20

Revisión general del documento.

Agregado de apartado Pagos Parciales.


Âncora
_Toc486522120
_Toc486522120
Índice

...

A continuación, se listan los requisitos mínimos que requiere la librería Full para su correcto funcionamiento:

...


...

1.5.1 Plataformas Soportadas

  • Windows 32/64 bits
  • Linux 32/64 bits


1.5.2 Requerimientos de Hardware

...

  • Memoria RAM: 64MB disponibles
  • Procesador: 2 núcleos de 1.6GHZ o superior (sujeto a pruebas ya que hay dependencias de arquitecturas de hardware, por ejemplo, pudiera funcionar con 1 núcleo pero más potente)
  • Conexión a VTOL Server por red TCP/IP

...

  • Capacidad de almacenamiento en disco rígido: Al menos 150MB


1.5.3 Requerimientos de Software

  • Java Virtual Machine (JDK) 1.6.x/1.7.x/1.8.x (32/64 bits acorde con el sistema operativo)
  • Conexión a VTOL Server por red TCP/IP


Âncora
_Toc486522127
_Toc486522127
2. Funcional

Âncora
_Toc486522128
_Toc486522128
2.1 Explicación General

...

La librería Full está pensada para funcionar como una aplicación stand alone e, inicialmente, se entrega contenida en un archivo ZIP, como por ejemplo: vtol-pos-client-lib-ar-1.X2.X.zip 

Al descomprimir el archivo se obtiene la siguiente estructura de directorios:

...

Âncora
_Toc424747705
_Toc424747705
Âncora
_Toc486522130
_Toc486522130
4. Configuración

La librería Full cuenta con los siguientes archivos de configuración:


Âncora
_Toc424747706
_Toc424747706
4.1 Opciones de configuración JAVA

Para que la librería Full funcione correctamente se deben configurar los siguientes parámetros (el archivo start.cmd ya trae una configuración por defecto):


Parámetros

Descripción

-DLIB_BIND_ADDRESS

Dirección IP en la cual la librería recibirá y enviará los mensajes al punto de venta. Si no se menciona esta propiedad, el bind por defecto es 127.0.0.1

-DBASE_CONF_DIR

Directorio absoluto de la configuración de la librería

-DLOG_DIR

Directorio absoluto de logeo de la aplicación. Esta variable es utilizada en el archivo de configuración de logeo (log4j.properties)
Existe la posibilidad de prescindir de ésta variable. Para ello se debe especificar el valor absoluto en el archivo de configuración de logeo

...

Propiedad

Descripción

log4j.appender.file.File

Ruta y nombre del archivo de salida de logeo

log4j.appender.file.MaxFileSize

Tamaño máximo del archivo de logeo antes de hacer el "rolling" (cambio a otro archivo de logeo)

log4j.appender.file.MaxBackupIndex

Máxima cantidad de archivos de logs que se conservarán


Âncora
_

...

Toc508730831
_

...

Toc508730831
4.4 Configuración de

...

enlace con VTOL

La librería Full se conecta al PINPAD comunica con VTOL Server y las propiedades de enlace se encuentran en el archivo de configuración vtolClient.properties.


Propiedad

Descripción

HOSTIP

IP o nombre del servidor donde se encuentra ubicado VTOL Server

HOSTPORT

Puerto de comunicación con VTOL Server


Nota

Nota: El código de la tienda y el código de la caja en donde se origina la transacción se informa en la operación de creación de sesión.


Âncora
_Toc424747709
_Toc424747709
4.5 Configuración de PINPAD

La librería Full se conecta al PINPAD modelo Verifone VX820 con Firmware. 

...

Ejemplo de configuración para el PINPAD de POSNET (FD)
#serie
#PPVX820POSNET.portName=COM3
#USB
PPVX820POSNET.portName=COM9
PPVX820POSNET.dataBits=7
PPVX820POSNET.stopBits=1
PPVX820POSNET.baudRate=115200
PPVX820POSNET.parity=EVEN
#Timeout por defecto en esperar la respuesta del Pinpad.
PPVX820POSNET.timeout=30000
PPVX820POSNET.timeoutMilisecondsWrite=150
PPVX820POSNET.language=1
#Tamaño maximo del buffer de lectura del puerto serie.
PPVX820POSNET.bufferSize=2048
PPVX820POSNET.nativeImpleClass=com.synthesis.vtolClientLib.deviceAdapters.RxTxSimpleSerialNativeLibWrapperImpl
#PPVX820POSNET.nativeImpleClass=com.synthesis.vtolClientLib.deviceAdapters.JavaCommSimpleSerialNativeLibWrapperImpl
#PPVX820POSNET.nativeImpleClass=com.synthesis.vtol.ar.client.test.pinpad.POSNETVx820VA0600PinpadEmulatorConnector
#PPVX820POSNET.nativeImpleClass=com.synthesis.vtol.ar.client.test.pinpad.POSNETVx8203DESPinpadEmulatorConnector


Wiki Markup
#\[TEC\]:Timeout entre comandos expresado en segundos / Formato: NNN



PPVX820POSNET.y01Tec=035


Wiki Markup
#\[TOM\]:Timeout Ingreso de Datos expresado en segundos / Formato: NNN


PPVX820POSNET.y06Tom=020

#Tiempo de espera luego de enviar un Y06 (en millisecs)
PPVX820POSNET.y06ProcessWait=1000
#Tiempo de espera para un ACK de respuesta (en millisecs)
PPVX820POSNET.ackResponseTimeout=1000
#Version de la aplicacion del PINPAD
PPVX820POSNET.firmwareVersion=A0700
#Versiones de Firmware que requieren mensaje de inicialización (separadas por coma).
PPVX820POSNET.requiredInitAppVersions=A0600,A0700
#Indica si el aprobado en 2da. decisión del PINPAD está habilitado
PPVX820POSNET.approveInSecondInstance=true

...

Response from Full library:


Wiki Markup
\{1103:20150827182503734;1102:\{\[PosCodeVI NameVisa PosTenderCodenull\]\};1010:27082015182500;{*}1028:Ok;1027:000{*};1116:000001;1115:101;1114:072;1108:0;1107:450979******1495;1106:1495;1105:450979\}




C. Cancelar Lectura de Tarjeta

...

IMPORTANTE: Es importante que una vez finalizada la transacción de pago en la aplicación de punto de venta se realice el cierre de la sesión con la librería Full, indicando si se debe confirmar o reversar las autorizaciones realizadas.

...


  • Requerimiento

Número

Nombre del campo

Tipo de dato

Obligatorio

IMPORTANTE: Cuando se desee cancelar una transacción dentro de una sesión de la librería Full, es requisito realizar la anulación de la transacción teniendo que ingresar nuevamente la tarjeta o ingresar los datos de la misma.


Mensajería


  • Requerimiento


Número

Nombre del campo

Tipo de dato

Obligatorio

Descripción

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • closeSession: cierre de sesión con la librería

1008

closeSessionAction

Alfanumérico

Obligatorio

Acción que se debe realizar sobre el cierre de sesión:

  • CLOSE = Confirmar autorizaciones realizadas en la sesión
  • CANCEL = Reversar las autorizaciones realizadas en la sesión
  • FORCED_CLOSE = Confirmar autorizaciones realizadas en la sesión que fue cerrada forzosamente

1009

closeTrxIdList

Lista

Obligatorio. Solo cuando el campo 1008 es igual a CLOSE

Lista de los trxId (campo 24) recibidos en la respuestas a las distintas llamadas "Procesar Operación con la Tarjeta"

250

actionCode

Alfanumérico

Obligatorio cuando el campo 1008 es igual a FORCED_CLOSE

Identificación del motivo por el cual la sesión tuvo un cierre forzado. Código de 5 caracteres.
Valores posibles:

  • 00001 – Corte de energía en el local
  • 00002 – El tarjeta habiente se marchó
  • 00003 – El vendedor decidió cerrarla
  • 00004 – Error en la impresión
  • 00005 – Error en el punto de venta
  • 99999 – Motivo desconocido

251

actionNote

Alfanumérico

Opcional

Motivo informado por el punto de venta cuando la sesión tuvo un cierre no tradicional. Máximo de 50 caracteres

...

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


Tabla Plan de Pagos

Pos.

Descripción

Longitud

Tipo de dato

Detalle

1

PP

2

AN

Identificador de tipo de registro

2

ID Tarjeta

2

AN

ID proveedor VTOL

3

Símbolo moneda

10

AN

 

4

Condición de pago

20

AN

Información adicional del plan de pago.

5

Plan

4

N

 

6

Cuotas

4

N

 

7

Numero de comercio

30

AN

 

8

ID Lote

6

N

 

9

Limite a superar.

13

N

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

10

Limite intereses

13

N

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

11

Interés

5

AN

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

12

Promocional

1

N

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

...

Âncora
_Circuito_Operativo_de
_Circuito_Operativo_de
Âncora
_Toc486522140
_Toc486522140
6.5 Circuito Operativo de la Librería Full

6.5.1 Flujo a Implementar

En este anexo se mencionará el flujo a implementar los tipos de operaciones soportadas por la Librería dependiendo el dispositivo de captura que posea la terminal:

...

  1. Crear Sesión
  2. Procesar Mensaje Crédito Débito
    Flujo alternativo:
    2.1 Procesar Mensaje Crédito Débito
  3. Cerrar Sesión


Nota

Nota: La operación "Obtener Configuración de POS" se recomienda ejecutar por lo menos una vez a día: al inicio del día, tras efectuar un cierre de caja, etc.

...

...


Cuando el centro autorizador FirstData responde una operatoria de autorización con el mensaje "Autorización telefónica", se intenta enviar un comando Y03 hacia el pinpad.

...

6.5.2 Pagos Parciales

A continuación se muestra un diagrama de secuencia donde se explica la operatoria entre el POS, la Librería Full y el Pinpad.

Venta
Cuando en una sesión exista un sólo pago, se deberá efectuar la operatoria de lectura y de procesamiento de la operación. En caso de que en una sesión existan más de un pago; es decir, pagos parciales, se deberá efectuar el proceso de lectura y procesamiento por cada una de las tarjetas.

Anulación de venta
Cuando se desee cancelar una transacción dentro de una sesión de la librería Full, es requisito realizar la anulación de la transacción teniendo que ingresar nuevamente la tarjeta o ingresar los datos de la misma. En caso de anulación de pagos parciales en una sesión, se deberá efectuar una anulación por cada pago parciales, finalizando de esta manera la sesión con tanta cantidad de ventas como de anulaciones de venta.


Image Added

Diagrama de secuencia de Pagos Parciales


Âncora
_Toc486522141
_Toc486522141
6.6 Mecanismo de Autorización Telefónica

Cuando el centro autorizador responde a una operatoria de autorización con el mensaje "Autorización telefónica", la librería Full de igual forma le envía un comando de requerimiento al pinpad.

  • Si el pinpad aprueba la transacción, se envía un mensaje de advice al centro autorizador.
Nota
Nota: Este escenario se incluye en el proceso de certificación, pero en el entorno de producción no se contempla

...

  • Si el pinpad rechaza la transacción, se realiza un un echo de  de los valores y se retorna el resultado al POSpunto de venta.
    Luego, el retailer deberá comunicarse telefónicamente con el Centro Autorizador para

...

  • proceder a autorizar por teléfono la transacción rechazada.
    • Si la transacción intentada era procedente de una tarjeta con chip, se marca la transacción para realizarse nuevamente. El POS punto de venta reintentará efectuar la transacción.
    • Si la transacción intentada era procedente de una tarjeta sin chip, el Centro Autorizador entrega un código de autorización. El POS punto de venta debe volver a ejecutar las operaciones de la librería Full "Leer Datos de la Tarjeta" y "Procesar Operación con Tarjeta", esta vez informando el código de autorización otorgado por el Centro Autorizador y enviando la transacción como offline.
Aviso

Importante: El punto de venta es el responsable de validar que tanto la primera transacción de venta como la segunda, en la que se informa el código de autorización, se trate de la misma operación de venta. Para la librería Full, estas transacciones, se consideran como dos ventas individuales.


Âncora
_Toc486522142
_Toc486522142
6.7 Timeout de Librería Full

...