Versões comparadas

Chave

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

...

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

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

Los comprobantes digitales tienen la posibilidad de ser guardados en EMVKit y luego ser enviado VTOL Server. Para las transacciones que no resulten aprobadas, se podrá imprimir un cupón físico, pero no se guardará comprobante digital

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

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

...

Informações
titleReferencias

X = Obligatorio
O = Opcional
-   = No requerido


Número

Nombre del campo

Tipo de dato

PrintTrxVoucher

Descripción

0companyNuméricoXIdentificador de la compañía donde se generó la transacción.

11

trxType

Alfanumérico

X

Tipo de Transacción:

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

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

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

X

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

  • 0: no solicita firma digital, pero se imprime el texto "Firma" en el ticket físico. No genera comprobante digital.

  • 1: solicita firma digital y genera comprobante digital.

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

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

1131voucherHeaderMapaO

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

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

...

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

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

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

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

Ejemplos de Control Transaccional

Operaciones de pagos parciales:

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

    1. Apertura de sesión.

      1. Lectura de tarjeta.

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

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

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

    1. Apertura de sesión.

      1. Lectura de tarjeta.

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

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

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

    1. Apertura de sesión.

      1. Lectura de tarjeta.

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

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

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

    1. Apertura de sesión.

      1. Lectura de tarjeta.

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

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

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

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

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

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

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

6.9 Ejemplo de integración

...