Contenido


Revisiones

Fecha

Versión

Descripción

03/01/20241.0Se agrega el proceso y la mensajería de GOCuotas API Full en el manual de emvkit


1.    Introducción

1.1.  Propósito

Definir los procesos y la mensajería de emvkit para operar con GOCuotas API Full. 

2. GOCuotas API Full

  • Procesar Intención de compra Aprobado (saleWallet)

El proceso de pagos con billetera virtual se realizará de la siguiente manera:

  1. Se inicia con el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL.
  2. VTOL le envía a GoCuotas el requerimiento de Authentication mediante el endpoint /authentication. Nota: el request message solo se envía si no existe un authToken vigente, la vigencia de cada authToken es de 24 hs.
  3. GoCuotas responde a VTOL con el message HTTP 200 en donde se envía el Token de autenticación aprobado.
  4. Luego VTOL se comunica con GoCuotas mediante endpoint / send_code, en donde se envían todos los datos necesarios para generar la venta: email, dni, area_code (sin "0"), telephone_number (sin "15"), amount_in_cents, number_of_installments, order_reference_id y Authorization: Bearer.
  5. GoCuotas responde a VTOL con el Message HTTP 201 y el dato "sale_token" que será el token que representará la nueva venta.
  6. VTOL le responde al POS el isocode 714 y el responseMessage “Orden creada, ingrese el código de verificación”
  7. El POS le envía a VTOL el primer QueryWallet con el campo 279: softToken.
  8. VTOL se comunica con GoCuotas mediante el endpoint /code_verification, en donde envía los campos sale_token, code y Authorization: Bearer. En este endpoint se envía el código de seguridad “code” que recibió el cliente en su celular para validar su identidad.
  9. GoCuotas le responde a VTOL con el dato de la tarjeta (card) que contiene los últimos 4 dígitos y el status de la compra. GoCuotas responde con toda la información de la venta generada y con los datos del cliente.
  10. VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
  11. El POS le envía a VTOL la segunda QueryWallet (se envía el campo 6: cardNumber con los últimos cuatro dígitos de la tarjeta como eco del campo 6 de la respuesta de VTOL al POS del paso anterior). 
  12. VTOL se comunica con Gocuotas mediante al endpoint / payments (este endpoint se utiliza para realizar el pago y completar la venta).
  13. GoCuotas responde a VTOL con el status aprobado de la transacción y otros datos.
  14. VTOL le responde al POS con el estado de la transacción aprobada (isoCode "00" y responseMessage "Aprobada")
  15. Por último, el POS envía el tercer mensaje de “Commit”.
  • Diagrama para procesar orden de compra

  • Procesar intención de compra realizando un cambio de tarjeta aprobado

Si se requiere un cambio de tarjeta, se deben realizar los siguientes pasos:

  1. Se inicia con el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL.
  2. VTOL le envía a GoCuotas el requerimiento de Authentication mediante el endpoint /authentication. Nota: el request message solo se envía si no existe un authToken vigente, la vigencia de cada authToken es de 24 hs.
  3. GoCuotas responde a VTOL con el Message HTTP 200 en donde se envía el Token de autenticación aprobado.
  4. Luego VTOL se comunica con GoCuotas mediante endpoint / send_code, en donde se envían los datos del email, dni, area_code (sin "0"), telephone_number (sin "15"), amount_in_cents, number_of_installments, order_reference_id y Authorization: Bearer.
  5. GoCuotas responde a VTOL con el Message HTTP 201 y el dato del "sale_token" que será el token que representará la nueva venta
  6. VTOL le responde al POS el isocode 714 y el responseMessage “Orden creada, ingrese el código de verificación”
  7. El POS le envía a VTOL el primer QueryWallet con el campo 279: softToken.
  8. VTOL se comunica con GoCuotas mediante el endpoint / code_verification, en donde le envía los campos sale_token, code y Authorization: Bearer.
  9. GoCuotas le responde a VTOL con el dato de la tarjeta (card) que contiene los últimos 4 dígitos y el status de la compra. GoCuotas responde con toda la información de la venta generada y con los datos del cliente.
  10. VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
  11. El POS le envía a VTOL la segunda QueryWallet con los campos, "6 cardNumber" (dieciséis dígitos de la tarjeta), "8 cvc" (tres dígitos), expirationDate (cuatro dígitos en formato AAMM). También se debe informar el campo "269 WalletType" con GoCuotas.
  12. VTOL le envía a GoCuotas el requerimiento del cambio de tarjeta mediante el endpoint /cards (este endpoint se utiliza en el caso de que el cliente no tenga ninguna tarjeta cargada en el sistema de GoCuotas o si es necesario cambiar de tarjeta para realizar el pago).
  13. GoCuotas le responde a VTOL con los siguientes datos: sale_token, status, last_four_digits, entre otros
  14. VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
  15. El POS le envía a VTOL la tercera QueryWallet con el "campo 6: cardNumber" en donde se deben ingresar los cuatro últimos dígitos de la tarjeta para confirmar el pago.
  16. VTOL se comunica con Gocuotas mediante el endpoint / payments  (este endpoint se utiliza para realizar el pago y completar la venta).
  17. GoCuotas responde a VTOL con los campos payment_successfully_confirmed: true, "status": "approved", card, entre otros.
  18. VTOL le envía al POS el response message "Aprobada".
  • Diagrama del proceso de pago con cambio de tarjeta de débito "Aprobado" (endpoint /Cards)



  • Procesar intención de compra con cambio de tarjeta, superando el tiempo máximo (2min) para realizar el pago:

A continuación, se define el flujo para procesar un pago con cambio de tarjeta y superando el tiempo máximo (2min) para realizar el pago:

  1. Se inicia con el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL.
  2. VTOL le envía a GoCuotas el requerimiento de Authentication mediante el endpoint /authentication. Nota: el request message solo se envía si no existe un authToken vigente, la vigencia de cada authToken es de 24 hs.
  3. GoCuotas responde a VTOL con el Message HTTP 200 en donde se envía el Token de autenticación aprobado.
  4. Luego VTOL se comunica con GoCuotas mediante endpoint / send_code, en donde se envían los datos del email, dni, area_code (sin "0"), telephone_number (sin "15"), amount_in_cents, number_of_installments, order_reference_id y Authorization: Bearer.
  5. GoCuotas responde a VTOL con el Message HTTP 201 y el dato del "sale_token" que será el token que representará la nueva venta.
  6. VTOL le responde al POS el isocode 714 y el responseMessage “Orden creada, ingrese el código de verificación”
  7. El POS le envía a VTOL el primer QueryWallet con el campo 279: softToken.
  8. VTOL se comunica con GoCuotas mediante el endpoint / code_verification, en donde le envía los campos sale_token, code y Authorization: Bearer.
  9. GoCuotas le responde a VTOL con el dato de la tarjeta (card) que contiene los últimos 4 dígitos y el status de la compra. GoCuotas responde con toda la información de la venta generada y con los datos del cliente.
  10. VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
  11. El POS le envía a VTOL la segunda QueryWallet con los campos, "6 cardNumber" (dieciséis dígitos de la tarjeta), "8 cvc" (tres dígitos), expirationDate (cuatro dígitos en formato AAMM). También se debe informar el campo "269 WalletType" con GoCuotas.
  12. VTOL le envía a GoCuotas el requerimiento del cambio de tarjeta mediante el endpoint /cards (este endpoint se utiliza en el caso de que el cliente no tenga ninguna tarjeta cargada en en el sistema de GoCuotas o si es necesario cambiar de tarjeta para realizar el pago).
  13. GoCuotas le responde a VTOL con los siguientes datos: sale_token, status, last_four_digits, entre otros
  14. VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
  15. El POS le envía a VTOL la tercera QueryWallet con el "campo 6: cardNumber" en donde se deben ingresar los cuatro últimos dígitos de la tarjeta para confirma el pago.
  16. VTOL se comunica con Gocuotas mediante el endpoint / payments. Se valida que se excede el tiempo determinado de 2 minutos para realizar el pago.
  17. GoCuotas responde "Response message: (confirmed: false....)"
  18. Vtol responde al POS "Response message: Error 604, No se puede realizar el pago, reinicie la operación"
  19. Se reitera nuevamente el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL.
  20. VTOL se comunica con GoCuotas mediante el endpoint / send_code, en donde se envían los datos del email, dni, area_code (sin "0"), telephone_number (sin "15"), amount_in_cents, number_of_installments, order_reference_id y Authorization: Bearer.
  21. GoCuotas responde a VTOL con el Message HTTP 200 (verificar cód de respuesta) y el dato del "sale_token".
  22. VTOL le responde al POS el isocode 714 y el responseMessage “Orden creada, ingrese el código de verificación”
  23. El POS le envía a VTOL la cuarta QueryWallet con el campo 279: softToken.
  24. VTOL se comunica con GoCuotas mediante el enpoint “code_verification”, en donde le envía los campos sale_token, code y Authorization: Bearer.
  25. El POS le envía a VTOL la quinta QueryWallet enviando el campo 6: cardNumber con los últimos cuatro dígitos de la tarjeta para confirmar el pago.
  26. VTOL se comunica con Gocuotas mediante al endpoint / payments.
  27. GoCuotas responde a VTOL con el status aprobado de la transacción y otros datos para finalizar el pago.
  28. VTOL le responde a POS con el estado de la transacción aprobada (isoCode "00" y responseMessage "Aprobada")
  29. Por último, el POS envía el tercer mensaje de “Commit”.
  • Diagrama del proceso de pago con cambio de tarjeta que excede el tiempo máximo (2min) para realizar el pago (endpoint payments)


  • Procesar Devolución (RefundWallet)

Importante:

  • Se pueden realizar devoluciones por el monto total de la transacción y también por un monto parcial.
  • Las devoluciones se deben realizar desde la misma caja donde se realizó la venta original.
  1. El POS le envía a VTOL la operación “RefundWallet” con los campos 271 walletPaymentId, 24 trxId (opcional) y el 12 Ammount. Nota: si la devolución es por el monto total de la compra, se deberá enviar en el campo 12 el importe total. Si el importe que se desea devolver es menor al total de la compra, se deberá enviar el importe en dicho campo, y se refiere a una compra parcial.
  2. VTOL se comunica con GoCuotas mediante el endpoint / orders para consultar la orden, en donde se envía el saleToken y el Authorization: Bearer.
  3. GoCuotas responde el código HTTP 200 con el status de la transacción de compra y los datos de la operación.
  4. VTOL le responde al POS.
  5. VTOL se comunica con GoCuotas mediante el endpoint / refund para solicitar la devolución total o parcial de una venta. Se envían los parámetros sale_token y el amount_in_cents.
  6. GoCuotas le responde a VTOL con datos de la transacción del refundWallet. Si la devolución se realiza por el monto total de la compra, entonces en el campo status aparece “denied”. Si el monto es menor que el importe total de la compra entonces aparece “Approved”.

 

  • Diagrama de la Devolución

En el diagrama se encuentra resaltado en color rojo el proceso de RefundWallet:

IMPORTARTE:

Las devoluciones se deben realizar desde la misma caja donde se realizó la venta original


  • Procesar consulta (QueryWallet)

  1. El POS le envía a VTOL la operación “QueryWallet” con el campo 268: WalletPosTrxId.
  2. VTOL se comunica con GoCuotas mediante el endpoint / orders, en donde se envía el saleToken y el Authorization: Bearer. Nota: VTOL solo se comunica con GoCuotas si el pago no está aprobado. Si el pago se encuentra aprobado, entonces VTOL le responde automáticamente al POS con la información de la orden aprobada, sin realizar la consulta a GoCuotas.
  3. GoCuotas responde con el código HTTP 200 y con el status de la solicitud del QueryWallet de la transacción de compra.
  4. VTOL le responde al POS el estado Aprobada de la operación solicitada (saleWallet o refundWallet).
  • Diagrama de flujo Procesar QueryWallet - (/orders)

El proceso de QueryWallet se encuentra resaltado en color azul en el diagrama:

En el diagrama se muestra que luego del tercer mensaje "Commit", el POS envía un mensaje de consulta ("QueryWallet").

  • Mensajería POS - VTOL para la transacción SaleWallet


    • Request POS - VTOL:

Referencias:

X = Mandatorio

O = Opcional

- = No requerido

Código

Nombre del campo

Tipo de dato

SaleWallet

QueryWallet (1)

QueryWallet (2)

Descripción

1

store

Alfanumérico

X

X

X

Identificador del sitio originador de la transacción

2

node

Numérico

X

X

X

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

3

server

Alfanumérico

X

X

X

Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL')

4

messageType

Alfanumérico

X

X

X

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

-

-

X

Tarjeta enmascarada seleccionada por el cliente al momento de efectuar el pago.

Nota: se envía como eco del campo 6 de la respuesta de VTOL al POS.

7

expiration

Numérico

-

-

-

Indica el año y el mes de vencimiento de la tarjeta (cuatro dígitos en formato AAMM). Este campo se envía solo si se realiza el cambio de tarjeta para realizar el pago.

8

cvc

Numérico

-

-

-

Indica los tres dígitos de atrás de la tarjeta. Este campo se envía solo si se realiza el cambio de tarjeta para realizar el pago.

11

trxType

Alfanumérico

X

X

X

Tipo de Transacción:

  • SaleWallet = permite realizar una compra presencial con billetera. 
  • RefundWallet = permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.
  • QueryWallet= permite realizar una consulta de una operación de compra con billetera

12

ammount

Importe

X

-

O

Monto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales.

13

currencyPosCode 

Alfanumérico

X

-

-

Tipos de moneda:

$ = Pesos

U$S = Dólares

14

payments

Numérico

X

-

 O

Cantidad de cuotas seleccionadas al momento de realizar el pago. Solo se admiten los valores 2, 3 y 4.

16

originalDate

 Numérico

-

X

X

Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD

24

trxId

Numérico

-

-

-

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

71

checkPendingString

Alfanumérico

X

O

-

Indica si VTOL debe o no efectuar el chequeo de pendientes:

  • true = activa chequeo de pendientes.
  • false = desactiva chequeo de pendientes.

157

customerDoc

Numérico

X

-

 -

Número de documento del cliente que realiza la consulta.

268

walletPosTrxId

Alfanumérico

X

X

X

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:
codigoTienda (longitud 10) + codigoCaja (longitud 10) + Fecha (AAMMDDHHmmss) (longitud 12)
Longitud total de 32

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

5: Yacaré

6: Plus Pagos

8: Rappi Payless

10: GoCuotas

270

walletPosTicket

Alfanumérico

X

X

-

Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura posTicket

271

walletPaymentId

 Numérico

-

-

-

Identificador del número de pago informado por el Autorizador.

279

softToken

Alfanumérico

-

X

-

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.

401

paymentMethodsData

Json

-

-

-

Información de los planes de pago, en formato json

402

walletBenefits

Json

-

-

-

Información de las tarjetas de beneficio, en formato json

416

customerPhoneAreaCode

Numérico

X

-

-

Código de área de teléfono celular del cliente

417

customerPhone

Numérico

X

-

-

Teléfono celular del cliente 

418

customerEmail 

Alfanumérico

X

-

-

Mail del cliente

    • Response VTOL - POS

Referencias:

X = Mandatorio

O = Opcional

- = No requerido

Código

Nombre del campo

Tipo de dato

SaleWallet

QueryWallet (1)

QueryWallet (2)

Descripción

1

store

Alfanumérico

XXX

Identificador del sitio originador de la transacción

2

node

Numérico

XXX

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

 ---

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

-X-

Tarjeta enmascarada seleccionada por el cliente al momento de efectuar el pago.

11

trxType

Alfanumérico

---

Tipo de Transacción:

  • SaleWallet = permite realizar una compra presencial con billetera. 
  • RefundWallet = permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.
  • QueryWallet= permite realizar una consulta de una operación de compra con billetera

12

ammount

Importe

XXX

Monto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales.

13

currencyPosCode 

Alfanumérico

XXX

Tipos de moneda:

$ = Pesos

U$S = Dólares

14

payments

Numérico

X-X

Cantidad de cuotas seleccionadas al momento de realizar el pago. Solo se admiten los valores 2, 3 y 4.

16

originalDate

 Numérico

---

Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD

24

trxId

Numérico

XXX

Identificador de la transacción

25

dateTime

Numérico

XXX

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS

26

responseCode

Alfanumérico

XXX

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Códigos de error del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24

27

isoCode 

Numérico

XXX

Código de Respuesta emitido por el centro autorizador. 3 dígitos como máximo.

28

responseMessage

Alfanumérico

XXX

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

71

checkPendingString

Alfanumérico

---

Indica si VTOL debe o no efectuar el chequeo de pendientes:

  • true = activa chequeo de pendientes.
  • false = desactiva chequeo de pendientes.

140

paymentType

Numérico

XXX

Tipo de pago. Valores posibles 0: Tarjeta

157

customerDoc

Numérico

---

Número de documento del cliente que realiza la consulta.

166

trxReferenceNumber

Numérico

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

268

walletPosTrxId

Alfanumérico

-

--

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:
codigoTienda (longitud 10) + codigoCaja (longitud 10) + Fecha (AAMMDDHHmmss) (longitud 12)
Longitud total de 32

Opcional en QueryWallet: Se informa este campo o el campo walletPaymentId para localizar una transacción de compra

269

walletType

Numérico

-

--

Tipo de billetera por la cual se cursará la transacción en el POS. Opciones:

10: GoCuotas

270

walletPosTicket

Alfanumérico

-

--

Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura posTicket

271

walletPaymentId

 Numérico

X

XX

Identificador del número de pago informado por el Autorizador.

273

paymentStatus

Alfanumérico

X

XX

Estado de la transacción de pago informado por el Autorizador. Estados posibles:

0: Aprobado
1: Devuelto
2: Pendiente
3: Autorizado
4: En Progreso
5: En mediacion
6: Rechazado
7: Cancelado
8: Contracargo
9: Reversado

274

paymentStatusDetail

Alfanumérico

-

XX

Detalle del estado de la transacción de pago informado por el Autorizador

275

cardType

Numérico

X

XX

Tipo de tarjeta seleccionada al momento de efectuar el pago.

416

customerPhoneAreaCode

Numérico

-

--

Código de área de teléfono celular del cliente

417

customerPhone

Numérico

-

--

Teléfono celular del cliente 

418

customerEmail 

Alfanumérico

-

--

Mail del cliente

512

installmentAmount

Numérico

-

O-

Importe de cuota.
El campo es opcional porque no llega siempre a la caja la información. Es un dato que manda VTOL al POS, previamente informado por GoCuotas.

1010

currentSessionId

Numérico

XXX

Identificador de la sesión que se cierra

1027

libResponseCode

Numérico

XXX

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

1028

libResponseMessage

Alfanumérico

XXX

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



  • Mensajería POS - VTOL para la transacción SaleWallet con cambio de tarjeta


    • Request POS - VTOL

Referencias:

X = Mandatorio

O = Opcional

- = No requerido

Código

Nombre del campo

Tipo de dato

SaleWallet

QueryWallet (1)

QueryWallet (2) 

QueryWallet (3)

Descripción

1

store

Alfanumérico

X

X

X

X

Identificador del sitio originador de la transacción

2

node

Numérico

X

X

X

X

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

3

server

Alfanumérico

X

X

X

X

Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL')

4

messageType

Alfanumérico

X

X

X

X

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

-

-

X

X

Tarjeta enmascarada seleccionada por el cliente al momento de efectuar el pago.

7

expiration

Numérico

-

-

X

-

Indica el año y el mes de vencimiento de la tarjeta (cuatro dígitos en formato AAMM). Este campo se envía solo si se realiza el cambio de tarjeta para realizar el pago.

8

cvc

Numérico

-

-

X

-

Indica los tres dígitos de atrás de la tarjeta. Este campo se envía solo si se realiza el cambio de tarjeta para realizar el pago.

11

trxType

Alfanumérico

X

X

X

X

Tipo de Transacción:

  • SaleWallet = permite realizar una compra presencial con billetera. 
  • RefundWallet = permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.
  • QueryWallet= permite realizar una consulta de una operación de compra con billetera

12

ammount

Importe

X

-

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:

$ = Pesos

U$S = Dólares

14

payments

Numérico

X

-

X

 X

Cantidad de cuotas seleccionadas al momento de realizar el pago. Solo se admiten los valores 2, 3 y 4.

16

originalDate

 Numérico

-

X

X

X

Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD

24

trxId

Numérico

-

-

-

-

Identificador de la transacción

25

dateTime

Numérico

X

X

X

X

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS

71

checkPendingString

Alfanumérico

X

O

-

-

Indica si VTOL debe o no efectuar el chequeo de pendientes:

  • true = activa chequeo de pendientes.
  • false = desactiva chequeo de pendientes.

157

customerDoc

Numérico

X

-

-

 -

Número de documento del cliente que realiza la consulta.

268

walletPosTrxId

Alfanumérico

X

X

X

X

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:
codigoTienda (longitud 10) + codigoCaja (longitud 10) + Fecha (AAMMDDHHmmss) (longitud 12)
Longitud total de 32

269

walletType

Numérico

X

X

X

X

Tipo de billetera por la cual se cursará la transacción en el POS. Opciones:

10: GoCuotas

270

walletPosTicket

Alfanumérico

X

X

-

-

Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura posTicket

271

walletPaymentId

 Numérico

-

-

-

-

Identificador del número de pago informado por el Autorizador.

279

softToken

Alfanumérico

-

X

-

-

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.

401

paymentMethodsData

Json

-

-

-

-

Información de los planes de pago, en formato json

402

walletBenefits

Json

-

-

-

-

Información de las tarjetas de beneficio, en formato json

416

customerPhoneAreaCode

Numérico

X

-

-

-

Código de área de teléfono celular del cliente

417

customerPhone

Numérico

X

-

-

-

Teléfono celular del cliente 

418

customerEmail 

Alfanumérico

X

-

-

-

Mail del cliente


Para el caso de realizar una intención de compra con cambio de tarjeta que supere los 2 minutos para finalizar el pago, los campos de la mensajería POS - VTOL son los mismos que están definidos en las columnas de la tabla * Request POS - VTOL para transacciones con cambio de tarjeta.

El proceso para la compra con cambio de tarjeta se encuentra definido en Procesar intención de compra con cambio de tarjeta, superando el tiempo máximo (2min) para realizar el pago


    • Response VTOL - POS

Referencias:

X = Mandatorio

O = Opcional

- = No requerido

Código

Nombre del campo

Tipo de dato

SaleWallet

QueryWallet (1)

QueryWallet (2)

QueryWallet (3)

Descripción

1

store

Alfanumérico

XXXX

Identificador del sitio originador de la transacción

2

node

Numérico

XXXX

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

----

Tipo de Mensaje:

  • Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.
  • Data = Mensaje de la Aplicación cliente.

6

cardNumber

Numérico

-XX-

Tarjeta enmascarada seleccionada por el cliente al momento de efectuar el pago, para darle a éste la posibilidad de confirmar o cambiar el medio de pago.

11

trxType

Alfanumérico

----

Tipo de Transacción:

  • SaleWallet = permite realizar una compra presencial con billetera. 
  • RefundWallet = permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.
  • QueryWallet= permite realizar una consulta de una operación de compra con billetera

12

ammount

Importe

XXXX

Monto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales.

13

currencyPosCode 

Alfanumérico

XXXX

Tipos de moneda:

$ = Pesos

U$S = Dólares

14

payments

Numérico

X-XX

Cantidad de cuotas seleccionadas al momento de realizar el pago. Solo se admiten los valores 2, 3 y 4.

16

originalDate

 Numérico

----

Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD

24

trxId

Numérico

XXXX

Identificador de la transacción

25

dateTime

Numérico

XXXX

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS

26

responseCode

Alfanumérico

XXXX

Puede contener uno de los siguientes valores:

  • Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27
  • Error = ver sección Códigos de error del CORE
  • TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24

27

isoCode 

Numérico

XXXX

Código de Respuesta emitido por el centro autorizador. 3 dígitos como máximo.

28

responseMessage

Alfanumérico

XXXX

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

71

checkPendingString

Alfanumérico

----

Indica si VTOL debe o no efectuar el chequeo de pendientes:

  • true = activa chequeo de pendientes.
  • false = desactiva chequeo de pendientes.

140

paymentType

Numérico

XXXX

Tipo de pago. Valores posibles 0: Tarjeta

157

customerDoc

Numérico

----

Número de documento del cliente que realiza la consulta.

166

trxReferenceNumber

Numérico

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

268

walletPosTrxId

Alfanumérico

-

---

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:
codigoTienda (longitud 10) + codigoCaja (longitud 10) + Fecha (AAMMDDHHmmss) (longitud 12)
Longitud total de 32

Opcional en QueryWallet: Se informa este campo o el campo walletPaymentId para localizar una transacción de compra

269

walletType

Numérico

-

---

Tipo de billetera por la cual se cursará la transacción en el POS. Opciones:

10: GoCuotas

270

walletPosTicket

Alfanumérico

-

---

Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura posTicket

271

walletPaymentId

 Numérico

X

XXX

Identificador del número de pago informado por el Autorizador.

273

paymentStatus

Alfanumérico

X

XXX

Estado de la transacción de pago informado por el Autorizador. Estados posibles:

0: Aprobado
1: Devuelto
2: Pendiente
3: Autorizado
4: En Progreso
5: En mediacion
6: Rechazado
7: Cancelado
8: Contracargo
9: Reversado

274

paymentStatusDetail

Alfanumérico

-

XXX

Detalle del estado de la transacción de pago informado por el Autorizador

275

cardType

Numérico

X

XXX

Tipo de tarjeta seleccionada al momento de efectuar el pago.

416

customerPhoneAreaCode

Numérico

-

---

Código de área de teléfono celular del cliente

417

customerPhone

Numérico

-

---

Teléfono celular del cliente 

418

customerEmail 

Alfanumérico

-

---

Mail del cliente

512

installmentAmount

Numérico

-

O--

Importe de cuota. 
El campo es opcional porque no llega siempre a la caja la información. Es un dato que manda VTOL al POS, previamente informado por GoCuotas.

1010

currentSessionId

Numérico

XXXX

Identificador de la sesión que se cierra

1027

libResponseCode

Numérico

XXXX

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

XXXX

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


Para el caso de realizar una intención de compra con cambio de tarjeta que supere los 2 minutos para finalizar el pago, los campos de la mensajería POS - VTOL son los mismos que están definidos en las columnas de la tabla * Response POS - VTOL para transacciones con cambio de tarjeta.

El proceso para la compra con cambio de tarjeta se encuentra definido en Procesar intención de compra con cambio de tarjeta, superando el tiempo máximo (2min) para realizar el pago


  • Mensajería POS - VTOL para la transacción de consultas "QueryWallet"


    • Request  POS - VTOL

Referencias:

X = Mandatorio

O = Opcional

- = No requerido

CódigoNombre del campoTipo de datoQueryWallet (Operación)Descripción
1storeAlfanuméricoXIdentificador del sitio originador de la transacción
2nodeNuméricoXIdentificación del nodo, en el sitio originador, donde se generó la transacción
3serverAlfanuméricoXIdentificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL')
4messageTypeAlfanuméricoX

Tipo de Mensaje:

Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.

Data = Mensaje de la Aplicación cliente.

6cardNumberNumérico-

Tarjeta enmascarada seleccionada por el cliente al momento de efectuar el pago. Este campo se envía solo si se realiza el cambio de tarjeta para realizar el pago.

7expirationNumérico-Indica el año y el mes de vencimiento de la tarjeta (cuatro dígitos en formato AAMM). Este campo se envía solo si se realiza el cambio de tarjeta para realizar el pago.
8cvcNumérico-Indica los tres dígitos de atrás de la tarjeta. Este campo se envía solo si se realiza el cambio de tarjeta para realizar el pago.
11trxTypeAlfanuméricoX

Tipo de Transacción:

SaleWallet = permite realizar una compra presencial con billetera. 

RefundWallet = permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.

QueryWallet= permite realizar una consulta de una operación de compra con billetera

12ammountImporte-Monto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales.
13currencyPosCode Alfanumérico-

Tipos de moneda:

$ = Pesos

U$S = Dólares

14paymentsNumérico -Cantidad de cuotas seleccionadas al momento de realizar el pago. Solo se admiten los valores 2, 3 y 4.
16originalDate NuméricoXFecha de realización de la compra con billetera electrónica en formato YYYYMMDD
24trxIdNumérico-Identificador de la transacción
25dateTimeNuméricoXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS
71checkPendingStringAlfanuméricoX

Indica si VTOL debe o no efectuar el chequeo de pendientes:

true = activa chequeo de pendientes.

false = desactiva chequeo de pendientes.

157customerDocNumérico -Número de documento del cliente que realiza la consulta.
268walletPosTrxIdAlfanuméricoX

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:

codigoTienda (longitud 10) + codigoCaja (longitud 10) + Fecha (AAMMDDHHmmss) (longitud 12)

Longitud total de 32

269walletTypeNuméricoX

Tipo de billetera por la cual se cursará la transacción en el POS. Opciones:

10: GoCuotas

270walletPosTicketAlfanumérico-Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura posTicket
271walletPaymentId Numérico-Identificador del número de pago informado por el Autorizador.
416customerPhoneAreaCodeNumérico-Código de área de teléfono celular del cliente
417customerPhoneNumérico-Teléfono celular del cliente 
418customerEmail Alfanumérico-Mail del cliente



    • Response VTOL - POS

Referencias:

X = Mandatorio

O = Opcional

- = No requerido

CódigoNombre del campoTipo de datoQueryWallet (Operación)Descripción
1storeAlfanuméricoXIdentificador del sitio originador de la transacción
2nodeNuméricoXIdentificación del nodo, en el sitio originador, donde se generó la transacción
3serverAlfanumérico-Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL')
4messageTypeAlfanumérico-

Tipo de Mensaje:

Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.

Data = Mensaje de la Aplicación cliente.

11trxTypeAlfanumérico-

Tipo de Transacción:

SaleWallet = permite realizar una compra presencial con billetera. 

RefundWallet = permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.

QueryWallet= permite realizar una consulta de una operación de compra con billetera

12ammountImporteXMonto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales.
13currencyPosCode AlfanuméricoX

Tipos de moneda:

$ = Pesos

U$S = Dólares

14paymentsNuméricoXCantidad de cuotas seleccionadas al momento de realizar el pago. Solo se admiten los valores 2, 3 y 4.
16originalDate Numérico-Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD
24trxIdNuméricoXIdentificador de la transacción
25dateTimeNuméricoXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS
26responseCodeAlfanuméricoX

Puede contener uno de los siguientes valores:

Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27

Error = ver sección Códigos de error del CORE

TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24

27isoCode NuméricoXCódigo de Respuesta emitido por el centro autorizador. 3 dígitos como máximo.
28responseMessageAlfanuméricoXMensaje de la Respuesta relacionado con el código del campo 27
71checkPendingStringAlfanumérico-

Indica si VTOL debe o no efectuar el chequeo de pendientes:

true = activa chequeo de pendientes.

false = desactiva chequeo de pendientes.

140paymentTypeAlfanuméricoXTipo de pago. Valore posible 0: Tarjeta
157customerDocNumérico-Número de documento del cliente que realiza la consulta.
166trxReferenceNumberNumérico-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
268walletPosTrxIdAlfanumérico-

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:

codigoTienda (longitud 10) + codigoCaja (longitud 10) + Fecha (AAMMDDHHmmss) (longitud 12)

Longitud total de 32

Opcional en QueryWallet: Se informa este campo o el campo walletPaymentId para localizar una transacción de compra

269walletTypeNumérico-

Tipo de billetera por la cual se cursará la transacción en el POS. Opciones:

10: GoCuotas

270walletPosTicketAlfanumérico-Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura posTicket
271walletPaymentId NuméricoXIdentificador del número de pago informado por el Autorizador.
273paymentStatusAlfanuméricoX

Estado de la transacción de pago informado por el Autorizador. Estados posibles:

0: Aprobado

1: Devuelto

2: Pendiente

3: Autorizado

4: En Progreso

5: En mediacion

6: Rechazado

7: Cancelado

8: Contracargo

9: Reversado

274paymentStatusDetail
XDetalle del estado de la transacción de pago informado por el Autorizador
275cardTypeNuméricoXTipo de tarjeta seleccionada al momento de efectuar el pago.
416customerPhoneAreaCodeNumérico-Código de área de teléfono celular del cliente
417customerPhoneNumérico-Teléfono celular del cliente 
418customerEmail Alfanumérico-Mail del cliente



  • Mensajería POS - VTOL para la transacción de Devolución "RefundWallet"


    • Request  POS - VTOL

Referencias:

X = Mandatorio

O = Opcional

- = No requerido

CódigoNombre del campoTipo de datoRefundWalletDescripción
1storeAlfanuméricoXIdentificador del sitio originador de la transacción
2nodeNuméricoXIdentificación del nodo, en el sitio originador, donde se generó la transacción
3serverAlfanuméricoXIdentificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL')
4messageTypeAlfanuméricoX

Tipo de Mensaje:

Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.

Data = Mensaje de la Aplicación cliente.

6cardNumberNumérico-Tarjeta enmascarada seleccionada por el cliente al momento de efectuar el pago.
7expirationNumérico-Indica el año y el mes de vencimiento de la tarjeta (cuatro dígitos en formato AAMM). Este campo se envía solo si se realiza el cambio de tarjeta para realizar el pago.
8cvcNumérico-Indica los tres dígitos de atrás de la tarjeta. Este campo se envía solo si se realiza el cambio de tarjeta para realizar el pago.
11trxTypeAlfanuméricoX

Tipo de Transacción:

SaleWallet = permite realizar una compra presencial con billetera. 

RefundWallet = permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.

QueryWallet= permite realizar una consulta de una operación de compra con billetera

12ammountImporteXMonto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales.
13currencyPosCode AlfanuméricoX

Tipos de moneda:

$ = Pesos

U$S = Dólares

14paymentsNuméricoXCantidad de cuotas seleccionadas al momento de realizar el pago. Solo se admiten los valores 2, 3 y 4.
16originalDate Numérico-Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD
24trxIdNuméricoXIdentificador de la transacción
25dateTimeNuméricoXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS
71checkPendingStringAlfanuméricoX

Indica si VTOL debe o no efectuar el chequeo de pendientes:

true = activa chequeo de pendientes.

false = desactiva chequeo de pendientes.

157customerDocNumérico-Número de documento del cliente que realiza la consulta.
268walletPosTrxIdAlfanuméricoX

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:

codigoTienda (longitud 10) + codigoCaja (longitud 10) + Fecha (AAMMDDHHmmss) (longitud 12)

Longitud total de 32

Opcional en QueryWallet: Se informa este campo o el campo walletPaymentId para localizar una transacción de compra

269walletTypeNuméricoX

Tipo de billetera por la cual se cursará la transacción en el POS. Opciones:

10: GoCuotas

270walletPosTicketAlfanuméricoInformación del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura posTicket.
271walletPaymentId NuméricoXIdentificador del número de pago informado por el Autorizador.
416customerPhoneAreaCodeNumérico-Código de área de teléfono celular del cliente
417customerPhoneNumérico-Teléfono celular del cliente 
418customerEmail Alfanumérico-Mail del cliente



    • Response VTOL - POS

Referencias:

X = Mandatorio

O = Opcional

- = No requerido

CódigoNombre del campoTipo de datoSaleWalletRefundWalletQueryWalletDescripción
1storeAlfanuméricoXXXIdentificador del sitio originador de la transacción
2nodeNuméricoXXXIdentificación del nodo, en el sitio originador, donde se generó la transacción
3serverAlfanumérico---Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL')
4messageTypeAlfanumérico ---

Tipo de Mensaje:

Control = Mensaje de Control, para uso interno por parte de un módulo en su comunicación con el server.

Data = Mensaje de la Aplicación cliente.

11trxTypeAlfanumérico---

Tipo de Transacción:

SaleWallet = permite realizar una compra presencial con billetera. 

RefundWallet = permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.

QueryWallet= permite realizar una consulta de una operación de compra con billetera

12ammountImporteX-XMonto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales.
13currencyPosCode AlfanuméricoX-X

Tipos de moneda:

$ = Pesos

$S = Dólares

14paymentsNuméricoX-XCantidad de cuotas seleccionadas al momento de realizar el pago. Solo se admiten los valores 2, 3 y 4.
16originalDate Numérico---Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD
24trxIdNuméricoXXXIdentificador de la transacción
25dateTimeNuméricoXXXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS
26responseCodeAlfanuméricoXXX

Puede contener uno de los siguientes valores:

Iso8583 = la autorización fue procesada. Para evaluar si fue aprobada chequear el campo 27

Error = ver sección Códigos de error del CORE

TrxIsPending: indica si existen transacciones pendientes de confirmar. En este caso, el ID de transacción a confirmar está en el campo 24

27isoCode NuméricoXXXCódigo de Respuesta emitido por el centro autorizador. 3 dígitos como máximo.
28responseMessageAlfanuméricoXXXMensaje de la Respuesta relacionado con el código del campo 27
71checkPendingStringAlfanumérico---

Indica si VTOL debe o no efectuar el chequeo de pendientes:

true = activa chequeo de pendientes.

false = desactiva chequeo de pendientes.

140paymentTypeAlfanuméricoX-XTipo de pago. Valore posible 0: Tarjeta
157customerDocNumérico---Número de documento del cliente que realiza la consulta.
166trxReferenceNumberNuméricoXX-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
268walletPosTrxIdAlfanumérico---

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:

codigoTienda (longitud 10) + codigoCaja (longitud 10) + Fecha (AAMMDDHHmmss) (longitud 12)

Longitud total de 32

Opcional en QueryWallet: Se informa este campo o el campo walletPaymentId para localizar una transacción de compra

269walletTypeNumérico---

Tipo de billetera por la cual se cursará la transacción en el POS. Opciones:

1: Mercado Pago

5: Yacaré

6: Plus Pagos

8: Rappi Payless

10: GoCuotas

270walletPosTicketAlfanumérico---Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura posTicket
271walletPaymentId NuméricoX-XIdentificador del número de pago informado por el Autorizador.
273paymentStatusAlfanuméricoX-X

Estado de la transacción de pago informado por el Autorizador. Estados posibles:

0: Aprobado

1: Devuelto

2: Pendiente

3: Autorizado

4: En Progreso

5: En mediacion

6: Rechazado

7: Cancelado

8: Contracargo

9: Reversado

274paymentStatusDetail
--XDetalle del estado de la transacción de pago informado por el Autorizador
275cardTypeNuméricoX-XTipo de tarjeta seleccionada al momento de efectuar el pago.
416customerPhoneAreaCodeNumérico---Código de área de teléfono celular del cliente
417customerPhoneNumérico---Teléfono celular del cliente 
418customerEmail Alfanumérico---Mail del cliente
  • Sem rótulos