Versões comparadas

Chave

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

...

Painel
borderColor#E4E3E3
bgColor#ffffff
titleColor#ffffff
borderWidth1px
titleBGColor#704581
titleREVISIONES


Expandir
titleExpandir revisiones



Fecha

Revisión

Cambios

1

02/11/2009

1.0

Generación del documento

2

04/11/2009

1.1

Indicación de campos obligatorios

3

26/04/2010

1.2

Actualización de gráfico manejo de PINPAD

4

22/03/2011

1.3

Incorporación mensajes MembershipQuery y VoidMembershipQuery para consulta membresía Club Personal y Club La Nación

5

03/06/2011

1.4

Agregado de definición de mensaje de cierre de lote

6

30/05/2012

1.5

Agrego Tabla de Respuestas al POS y mejoro explicación de Tercer Mensaje y Chequeo de Pendientes.

7

08/03/2013

1.6

Agrego nuevos campos relacionados con operador y vendedor en operaciones de pre-autorización, venta, devolución y anulación.
Nuevo mensaje para consulta de configuración 'PosConfQuery'.

8

21/08/2013

1.7

Agregado de apartado de error del core.

9

09/09/2013

1.8

Agrego campos EMV en operaciones de Venta, Devolución y anulación. Incorporo mensaje RejectedEMVAdvice y flujo de datos EMV.

10

15/11/2013

1.9

Agregado de 'Formato Interface POS'

11

23/12/2013

2.0

Agregado de detalle de los mensajes ServicePayment y VoidServicePayment

12

13/02/2014

2.1

Agregado del campo bandera '164 – posEncryptedFields', que indica cuando los datos sensibles viajan encriptados.

13

29/05/2014

2.2

Aclaración sobre el uso de pre-autorizaciones.

14

22/08/2014

2.3

Agregado de campo pinpadAutoCode en Tercer Mensaje y RejectedEMVAdvice.

15

29/08/2014

2.4

Actualización del Formato Interface POS, agregando el campo 'Tarjeta que Encripta' a los prefijos.

16

11/09/2014

2.5

Incorporación de Bines de Excepción y nuevo mensaje CardInfoService.

17

09/12/2014

2.6

Agregado de mensaje de Anulación de Pre Autorización.

18

26/02/2015

2.7

Agregado de nuevos campos ServiceCode y ProviderPosCode.

19

27/02/2015

2.8

Agregado de nuevos mensajes propios a la funcionalidad Cash Back.

20

07/08/2015

2.9

Agregado de aclaraciones en el uso de la mensajería

21

09/09/2015

3.0

Incorporación de campo PinpadApplicationVersion en los mensajes Sale, VoidSale, Refund y VoidRefund

22

30/10/2015

3.1

El campo ProviderPosCode para a ser el número 147. Incorporación de campo trxReferenceNumber en las respuestas de VTOL. Corrección de formato esperado en campo 7 - Expiration. El formato correcto es: YYMM.

23

11/02/2016

3.2

Incorporación del campo 201 additionalMessageData en el requerimiento y respuesta y la posibilidad de incluir el número de Ticket original en una anulación (Campo 17 originalTrxTicketNr)

24

29/07/2016

3.3

Incorporación del apartado 1.9. Mecanismo en Tiendas Virtuales y del 1.3.13. Chequeo de Listado de Pendientes

25

19/04/2017

3.4

Actualización de la tabla Prefijo en el apartado Formato Interface POS

26

03/05/2017

3.5

Incorporación del apartado 1.3.10 Echo

27

05/05/2017

3.6

Incorporación del apartado 1.3.9 SynQuery y de la sección 1.7 Formato Datos Sincronización

28

06/06/2017

3.7

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

29

07/07/2017

3.8

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

3004/09/20183.9Incorporación de la funcionalidad PEI en la mensajería
31

14/12/2018 

4.0Incorporación del apartado Antifraude e incorporación de la funcionalidad Antifraude en la mensajería
3208/02/20194.1Incorporación del apartado Tokenización e incorporación de la funcionalidad Tokenización en la mensajería
3303/04/20194.2Agregado del campo 0 (Compañía) en la mensajería de todos los tipos de transacciones.
3428/08/20194.3Incorporación de la funcionalidad Billeteras electrónicas en la mensajería.
3501/04/20204.4Incorporación de mensajería para operaciones eCommerce.
3622/06/20204.5Incorporación de mensajería para operaciones de Cuenta DNI.
3730/07/20204.6Incorporación de funcionalidad de Billeteras Mercado Pago con retiro de efectivo.
3828/08/20204.7Incorporación de consideraciones en el Formato de Interface POS en la tabla Plan de Pagos, para tiendas presenciales.
3922/09/20204.8Se actualiza el campo 54 (additionalAmount) como tipo de dato Importe, en la mensajería de Billeteras electrónicas.
4021/10/20204.9Incorporación de funcionalidad PEI No Presencial
4126/11/20204.10Agregado del campo Descripción en Formato de Interface POS para indicar la descripción sobre un plan de pago.
4211/12/20204.11Incorporación de funcionalidad de QR Adquiriente.
4316/12/20204.12Incorporación del campo afApplicationCondition para validar la aplicación de reglas antifraudes por el módulo AF de VTOL.
4405/03/20214.13Se actualiza el nombre y la descripción del campo 406 en la respuesta de la mensajería de QR Adquiriente.
4505/05/20214.14Incorporación de mensajería para Consultar tarjetas de Fidelidad
4611/05/20214.15Se quitan las referencias de la billetera Todo Pago, ya que dicha Billetera está incluida dentro de QR Adquiriente Prisma.
4719/05/20214.16Incorporación de mensajería para Billetera Yacaré. Se incluye dentro del apartado "1.4.18 Billeteras electrónicas"
4823/09/20214.17En QR Adquiriente, las billeteras Bimo, Modo y Todo Pago, se diferencian por id en el campo WalletType. Incorporación disponible a partir de la versión 3.8.0.12b de VTOL Server.
4901/10/20214.18Incorporación de mensajería para Billetera Plus Pagos. Se incluye dentro del apartado "1.4.18 Billeteras electrónicas"
5010/11/20214.19Incorporación de mensajería para Billetera Rappi Payless. Se incluye dentro del apartado "1.4.18 Billeteras electrónicas".
5103/03/20224.20Incorporación de mensajería para funcionalidad QR Adquiriente Fiserv. Se incluye dentro del apartado "1.4.26 QR Adquiriente Fiserv".
5204/03/20224.21

Incorporación de mensajería para funcionalidad PayStore. Se incluye dentro del apartado "1.4.27 Operaciones PayStore".

5316/03/20224.22Agregado del campo Marca de tarjeta en el "Formato Interface POS", dentro de la tabla "Provider".
5412/04/20244.23Incorporación de mensajería para funcionalidad GoCuotas API QR. Se incluye dentro del apartado "1.4.28 Operaciones GoCuotas API QR".
5515/04/20244.24Incorporación de mensajería para funcionalidad GoCuotas API Full. Se incluye dentro del apartado "1.4.29 Operaciones GoCuotas API Full".
5608/05/20254.25Agrego campo 421:tipAmount para manejo de ventas con propina para transacciones de venta





Painel
borderColor#E4E3E3
titleColor#ffffff
borderWidth1
titleBGColor#704581
titleCONTENIDO


Expandir
titleExpandir contenido

Índice


...


Âncora
_Toc485222716
_Toc485222716
1.2 Protocolo de comunicación POS – VTOL Server

Synthesis Napse establece un protocolo de comunicación para la interacción POS - VTOL, el cual se denomina "Protocolo VTOL". Dicho protocolo se basa en un esquema recursivo compuesto por campos y separadores. A continuación se provee una especificación detallada de su estructura junto con los consecuentes diagramas para un mejor entendimiento.
Para implementar esta mensajería, VTOL provee una librería en el cual se encuentra la declaración de funciones y las definiciones de constantes y tipos necesarias. La librería es en realidad un módulo cliente que se comunica vía TCP/IP con el servidor de transacciones VTOL. El cliente podrá implementar esta mensajería sin utilizar la librería, pero deberá respetar el formato de la misma.
El formato del protocolo VTOL se basa en la siguiente estructura:

...

Requerimiento

#

FieldId

Tipo

Obligatorio

Descripción

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

1

store

Alfanumérico

SI

Identificador del sitio originador de la transacción

2

node

Numérico

SI

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

3

server

Alfanumérico

Compatibilidad atrás.

Identificador del Server que procesará la transacción. ('VTOL')

4

messageType

Alfanumérico

Compatibilidad atrás.

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

Obligatorio si es Manual

Número de tarjeta. Sólo presente si el modo de ingreso fue Manual.

7

expiration

Numérico

Obligatorio si es Manual

Formato YYYYMM Fecha de vencimiento de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

8

Cvc

Numérico

Obligatorio si es Manual. Además es opcional según la tarjeta.

Código de seguridad de la tarjeta. Sólo presente si el modo de ingreso fue Manual.

9

track2

Alfanumérico

Obligatorio si es MSR

Track2 de la tarjeta entero (se envía todo el contenido del track2 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

10

posInputMode

Alfanumérico

Obligatorio

Modo de Ingreso:

  • MSR = Ingreso por banda magnética
  • Manual = Ingreso manual
  • Chip = EMV Chip
  • MSR Chip = Fallback
  • E-Commerce = Comercio electrónico

11

trxType

Alfanumérico

Obligatorio

Tipo de Transacción:

  • Sale = Compra. Opcionalmente puede acompañarse con una extracción de efectivo (CashBack) cuando se envía el campo monto adicional.
  • PreAuthorization = Pre-autorización
  • VoidSale= Anulación de venta. Opcionalmente puede acompañarse con una Anulación de extracción de efectivo, enviando el monto en el campo monto adicional.
  • VoidPreAuthorization = Anulación de Pre-autorización.
  • VoidRefund = Anulación de devolución
  • CashBack = Extracción de efectivo solamente. NO incluye una Compra.
  • VoidCashBack = Anulación de extracción de efectivo (No incluye una Compra).

12

amount

Importe

Obligatorio

14

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

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

Nota: Para ventas con propina, en este campo se envía el importe total de la compra (consumo + propina) sin especificar el valor de la propina, y la propina se envía en el campo 421 "tipAmount".

13

currencyPosCode

Alfanumérico

Obligatorio

Tipos de Moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

Obligatorio

Cantidad de cuotas. 2 dígitos como máximo.

15

plan

Alfanumérico

Obligatorio

Plan. 1 caracter de longitud.

17

originalTrxTicketNr

Numérico

Opcional

Este campo es Opcional. Si viaja se debe precisar el número de ticket de la venta original para poder distinguir la transacción a anular. Se trata del número de ticket de la transacción original. 4 dígitos como máximo.

18

referedSale

Numérico

Condicional a tarjeta AMEX

Se usa para indicar si una venta se hizo de forma referida. SOLO para AMEX. Se debe encender este campo con el valor 1.

22

authorizationCode

Alfanumérico

Condicional si fue realizada la autorización telefónica o la pre-autorización.

Código de autorización telefónica o retornado en la Pre-autorización. 6 dígitos como máximo. Este campo se encuentra presente si la transacción se autorizó off-line por teléfono o en una Pre-autorización.

23

authorizationMode

Alfanumérico

Opcional, default = Online

Modo de Autorización:

  • Online = La autorización fue realizada por el Centro Autorizador.
  • Offhost = La autorización fue realizada internamente por VTOL.
  • Offline = La autorización fue realizada localmente por el POS. Y para Capturar la pre-autorización o Anular la pre-autorización

25

dateTime

Numérico

Obligatorio

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

53

paymentCondition

Alfanumérico

Opcional

Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción.

54

additionalAmount

Alfanumérico

Opcional CASH BACK

Contiene el Importe del "Cash Back". Se usa en transacciones del tipo CashBack o Sale + CashBack. Debe contener 12 dígitos como máximo

56

pinblock

Alfanumérico

Condicional a PINPAD

PIN encriptado. Se emplea para tarjetas que tienen PIN. Ejemplo pinblock: D76484D688FE1826

57

accountType

Alfanumérico

Condicional a tarjeta de débito

Campo que se emplea para identificar el tipo de cuenta (ej: cta cte en pesos) Se usa para tarjetas de débito. Los valores posibles son:

  • 1 = Caja de ahorros en pesos
  • 2 = Cuenta corriente en pesos
  • 3 = Caja de ahorros en dólares
  • 4 = Cuenta corriente en dolares

66

track1

Alfanumérico

Opcional a su lectura

Track1 de la tarjeta entero (se envía todo el contenido del track1 en este campo) Este campo sólo está presente si la banda magnética / chip de la tarjeta pudo ser leído.

70

effectiveDate

Alfanumérico

Opcional AMEX

Fecha efectiva. Se usa para AMEX con formato yyMM

71

checkPendingString

Alfanumérico

Opcional, default = true

Indica si VTOL debe o no efectuar el chequeo de pendientes (se emplea para pagos parciales de tarjetas):

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

72

creditCardCondition

Alfanumérico

Opcional

Es una cadena de 3 de largo donde se indica una condición de la tarjeta. Se usa para las tarjetas regionales o propias donde los prefijos se superponen. Este valor es identificable en el TrackI de la tarjeta y si es manual se le pregunta al cajero.

73

interestAmount

Alfanumérico

Opcional

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.

74

requestAccountNumber

Alfanumérico

Opcional, default = 0

Indica si puede recibir el número de cuenta (Visa y Posnet). Valores posible:

  • 1 = activado
  • 0 = desactivado

101

differDate

Alfanumérico

Opcional

Fecha diferida. Solo utilizada para AMEX.

102

chipTokens

Alfanumérico

Obligatorio para modo de ingreso Chip

Visa: Criptograma tarjetas EMV
Posnet: Lista de Tags EMV

103

emvEncryptedType

Alfanumérico

Opcional

Tipo de encriptación utilizada entre Pinpad y Host Autorizador.
Los campos 103, 104, 108 y 137 deben ser utilizados en conjunto.
Valores posibles:

  • D = DES
  • T = 3DES

104

emvEncryptedData

Alfanumérico

Opcional

Paquete encriptado devuelto por el pinpad y que se enviará al Host Autorizador.
Los campos 103, 104, 108 y 137 deben ser utilizados en conjunto.

105

cardSequenceNumber

Numérico

Opcional

Numero de secuencia del PAN

106

pinpadLogSerialNumber

Alfanumérico

Opcional

Número de serie lógico del pinpad

107

pinpadFisSerialNumber

Alfanumérico

Opcional

Número de serie Físico del pinpad

108

useEncryptedData

Alfanumérico

Opcional

Indica si se utiliza encriptación entre Pinpad y Host Autorizador (Visa, Posnet, etc).
Los campos 103, 104, 108 y 137 deben ser utilizados en conjunto.
Valores posibles:

  • false = No se utiliza encriptación
  • true = Se utiliza encriptación

118

terminalCapability

Alfanumérico

Opcional

Capacidad de captura. Valores 1 = Manual / 2 = Lectura de Banda / 5 = Lectura de Chip

130

posPeriod

Numérico

Opcional

Periodo enviado por el POS. Longitud 5

131

turn

Numérico

Opcional

Turno. Longitud 2

132

operatorCode

Alfanumérico

Opcional

Código de operador. Longitud 20

133

operatorName

Alfanumérico

Opcional

Nombre de operador. Longitud 50

134

sellerCode

Alfanumérico

Opcional

Código del vendedor. Longitud 20

135

sellerName

Alfanumérico

Opcional

Nombre del vendedor. Longitud 50

136

attentionMode

Alfanumérico

Opcional

Modalidad de atención (AU ó AS). Longitud 2

137

serviceCode

Numérico

Opcional

Código de Servicio, se envía cuando el mensaje esta encriptado (campo 108=true) y no se tiene acceso al Track2. Longitud 3.
Los campos 103, 104, 108 y 137 deben ser utilizados en conjunto.

147

providerPosCode

Alfanumérico

Opcional

Código del Provider. Se utiliza en los casos donde VTOL Server no puede obtener unívocamente el Proveedor utilizando los prefijos (debido enmascaramiento de la tarjeta). Ejemplo VI (Visa). Longitud 20.

164

posEncryptedFields

Numérico

Opcional

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
Valores posibles:

  • 1 = activado
  • 0 = desactivado (valor por defecto).

168

pinpadApplicationVersion

Alfanumérico

Opcional

Versión de la aplicación del software del PinPad

201

additionalMessageData

Alfanumérico

Opcional

Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD)

261cipherSuiteNuméricoOpcional

Indica el largo de la llave RSA para encriptar y desencriptar datos sensibles. En VTOL Admin debe estar habilitada la propiedad de datos sensibles.
Valores posibles:

  • 1: utiliza largo de 1024
  • 2. utiliza largo de 2048
263vtolTokenAlfanuméricoOpcional

Cuando se efectúa una transacción Sale, VoidSale, Refund o VoidRefund tokenizada, se puede enviar el Token VTOL

264posChannelOriginNuméricoOpcional

Indica el canal de origen de la transacción. Es un código con los siguientes valores posibles:

  • 0: Presencial
  • 1: E-Commerce
  • 2: Reservado para uso futuro
  • 3: IVR

Si no se envía este campo, se toma por defecto el valor 0.

265customerIdAlfanuméricoOpcionalNombre o id de usuario que realizó la transacción
266cardHolderNameAlfanuméricoOpcionalNombre del tarjetahabiente
270posTicketAlfanuméricoOpcionalInformación del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura del campo posTicket
403afApplicationConditionAlfanuméricoOpcional

Condición de aplicación antifraude. Este dato será utilizado por el módulo antifraude de VTOL para ejecutar o ignorar validaciones de fraude.

Longitud máxima: 50 caracteres.

Se puede enviar en transacciones de:

  • Sale
  • PreAuthorization
  • Sale Offline

Si el POS envía una Condición en este campo, se validará si la compañía está suscripta a alguna regla con dicha Condición. Si está suscripta, se ejecutará la regla AF, pero si no está suscripta, no se ejecutará.

Si el POS envía este campo vacío, o no lo envía, se validará si la compañía está suscripta a alguna regla "Sin condición". Si está suscripta, se ejecutará la regla que no tiene condición, y si no está suscripta, no se ejecutará.

Si el POS envía una Condición, pero no está creada en antifraude de VTOL, no se ejecutará ninguna regla AF.

421tipAmountImporteOpcional

Monto de propina.  Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00


Âncora
posticket
posticket
1.4.1.1.1 Estructura del campo posTicket

...

#

FieldId

Tipo

Descripción

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

1

store

Alfanumérico

Identificador del sitio originador de la transacción

2

node

Numérico

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

3

server

Alfanumérico

Identificador del Server que procesará la transacción. (‘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.

11

trxType

Alfanumérico

Tipo de Transacción:

  • UnSyncCompletion = Mensaje de completamiento de transacción (“tercer mensaje”)

19

lastTrxAction

Alfanumérico

Acción a realizar sobre la Transacción:

  • Commit  = Confirma la transacción
  • Rollback = Reversa la transacción

24

lastTrxId

Numérico

Id de transacción a confirmar / reversar.

25

dateTime

Numérico

Fecha de generación de la trx en el POS. Formato YYYYMMDDHHmmss

200

EMV extra data

Alfanumérico

Datos extras que se deben enviar en el tercer mensaje cuanto cuando el EMV Advice es requerido. 

Es necesario enviar los campos: adviceChipTokens, pinpadResponseCode y pinpadAutCode.

Formato del campo:

[adviceChipTokens|valor,pinpadResponseCode|valor, pinpadAutCode|valor]

Ver detalle en: EMV Extra Data


1.4.12.2 Respuesta


El tercer mensaje no tiene respuesta, salvo que esté prendido el flag de chequeo de transacciones pendientes.

...

SaleWallet:
{25:20220303133649;2:1;1:1;0:1;12:8100;275:0;13:$;27:514;273:0;140:0;14:0;26:ISO8583;28:Tiempo expirado. Elija Consultar o Cancelar;24:13;166:3032213365800000020;271:03013659-d8ec-4e06-974c-e967f83e782e}

RefundWallet:
{2:1;1:1;0:1;24:14;25:20220303133836;26:ISO8583;27:514;28:Tiempo expirado. Elija Consultar o Cancelar;166:3032213385800000021}

QueryWallet:
{0:1;1:1;2:1;12:8100;13:$;24:14;25:20220303133921;26:ISO8583;27:00;28:APROBADA;166:3032213385800000021;271:03013858-d8ec-4e06-974c-e967f83e782e;273:0;274:CONFIRMED}

...


1

...

  1. Campo 27: Código de Respuesta
  2. Campo 28: Descripción de la Respuesta

...

Código

...

Descripción

...

'00'

.4.28 Operaciones GoCuotas API QR

VTOL se integra con GoCuotas API QR para permitir efectuar pagos mediante un código QR estático por cada caja, en modalidad presencial, desde un punto de venta (POS). Al enviar la intención de compra desde VTOL a GoCuotas, se habilitará un QR que el usuario comprador deberá escanear desde la cámara de su celular y se le redireccionará a la web de GoCuotas, en donde deberá tener una cuenta registrada con una tarjeta de débito para realizar el pago. El encargado de aprobar los pagos es GOCUOTAS, quien es el encargado también de la gestión e impresión de los códigos QR. Luego VTOL deberá recibir mediante una notificación la respuesta con el estado de la orden, ya sea Confirmado o Cancelado.

Las transacciones soportadas son:

  • SaleWallet = Permite realizar una compra presencial con billetera electrónica.
  • 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 para conocer si la misma fue autorizada y así obtener los datos por parte del Autorizador

Definición del flujo de la operación SaleWallet:

  1. El POS envía la transacción de venta (SaleWallet) a VTOL.
  2. VTOL le envía a GoCuotas el requerimiento de Authenticacion al endpoint /api/qr/v1/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 le envía el Token de autenticación aprobado.
  4. VTOL se comunica con GoCuotas para enviar la intención de pago mediante un POST al endpoint /api/qr/v1/checkouts. 
  5. GoCuotas responde con el mensaje HTTP 201 "Orden creada" y algunos campos en el messagge response como el sale_token, status, amount_in_cents, entre otros. El campo sale_token será el token que representará la nueva venta y que se deberá enviar en algunos requests.
  6. VTOL recibe el mensaje de que la orden fue creada. Importante: luego de la creación de la orden de pago, se tienen 15 min para realizar la confirmación del pago, si se excede el tiempo establecido, la compra será cancelada automáticamente.
  7. Se pueden presentar los siguientes escenarios:
    1. Si el usuario escanea el QR y selecciona la tarjeta de débito/ cuotas para realizar el pago dentro del tiempo establecido (15 min), entonces, VTOL recibe la notificación de la compra con el estado de la orden confirmada (status: approved), ya que el usuario realizó el pago de forma exitosa. Luego VTOL le responde al POS con el estado de la transacción aprobada (isoCode "00" y responseMessage "Aprobada"). 
    2.  Si expiró el tiempo establecido de los 15 min para realizar el pago, entonces, VTOL recibe la notificación de la compra con el estado cancelada (status: denied). En este caso, la orden se cancela de forma automáticamente. Luego VTOL le responde al POS con la información de la orden cancelada.

Nota: la información de la confirmación o cancelación del pago será enviando al webhook_url que se completó al momento de crear la venta con QR. El mismo será un POST con formato JSON. En el caso de confirmación de pago por parte del cliente, el webhook será enviado en el momento. Por otro lado, si el cliente no realiza el pago, el webhook de cancelación de venta será enviado a los 15 minutos.

      8. Se continua con el flujo 7.a. El POS envía el tercer mensaje de “Commit”.

      9. Finaliza el flujo de la operación.

Definición del flujo de la operación RefundWallet:

  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 o 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 al endpoint /api/qr/v1/orders para consultar el estado de la orden, en donde se envía el saleToken que identifica la transacción original que se desea devolver.
  3. GoCuotas responde el código HTTP 200 con el estado de la transacción de compra y los datos de la operación. Importante: la orden debe estar confirmada (status: approved) para poder solicitar la devolución parcial o total. Una orden se marca como confirmada luego de que el usuario realiza el pago de forma exitosa.
  4. VTOL le responde al POS con el estado de la orden confirmada, con el campo 27 isoCode = 00 y el campo 28 responseMessage = Aprobada.
  5. El POS le envía a VTOL el tercer mensaje "Commit".
  6. VTOL se comunica con GoCuotas mediante el endpoint api/qr/v1/refund para solicitar la devolución total o parcial de una venta. Se envían los parámetros sale_token y amount_in_cents.
  7. GoCuotas le responde a VTOL con datos de la transacción como el status, order_reference_id, amount_in_cents, entre otros.
  8. Finaliza el flujo de la operación. 


Dica
titleImportante:

Se pueden realizar devoluciones por el monto total de la transacción y también por un monto parcial.

Definición del flujo de la operación 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 /checkouts/{api_qr_sale_token}, en donde se deberá enviar un sale_token válido. 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 le responde a VTOL el código HTTP 200 con el status de la operación y los otros campos definidos por GoCuotas.
  4. VTOL le responde al POS el estado Aprobado de la operación solicitada (saleWallet o refundWallet).

1.4.28.1 Requerimiento POS - VTOL

Informações
titleReferencia de campos:

X = Obligatorio
O = Opcional
- = No requerido
C = Condicional


Número

Nombre del campo

Tipo de dato

SaleWallet

RefundWallet

QueryWallet

Descripción

0

company

Alfanumérico

X

X

XIdentificador de la compañía donde se generó la transacción

1

store

Numérico

X

X

X

Identificador del sitio originador de la transacción

2

node

Alfanumé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.

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 = Consulta de transacción de compra realizada con billetera electrónica

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

X

-

Tipos de moneda:

  • $ = Pesos
  • U$S = Dólares
16originalDateNumérico-XXFecha de realización de la compra con billetera electrónica en formato YYYYMMDD

25

dateTimeNuméricoXXXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS

71

checkPendingStringAlfanuméricoOXX

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

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

Default = true.

157

customerDocNuméricoXO-

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

Valida la cantidad de dígitos ingresados, máximo 8 dígitos.

268walletPosTrxIdAlfanuméricoXXX

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éricoXXX

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éricoX--Información del ticket en formato xml y posteriormente transformado en Base 64.  Ver sección Estructura del campo posTicket

271

walletPaymentIdAlfanumérico-XOIdentificador del número de pago informado por el Autorizador.
416customerPhoneAreaCodeNuméricoO--

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

Valida la cantidad de dígitos, máximo 5 dígitos. No se envía el 0 en el código de área. 

417customerPhoneNuméricoO--

Teléfono celular del cliente. 

Valida la cantidad de dígitos ingresados, máximo 9 dígitos.

418customerEmail AlfanuméricoO--

Mail del cliente. 

Valida el formato del mail: [email protected]

1.4.28.2 Respuesta VTOL - POS

Informações
titleReferencia de campos:

X = Obligatorio
O = Opcional
- = No requerido
C = Condicional


Número

Nombre del campo

Tipo de dato

SaleWallet

RefundWallet

QueryWallet

Descripción

0

company

Alfanumérico

X

X

XIdentificador de la compañía donde se generó la transacción

1

store

Numérico

X

X

X

Identificador del sitio originador de la transacción

2

node

Alfanumérico

X

X

X

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

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

-

X

Tipos de moneda:

  • $ = Pesos
  • U$S = Dólares

24

trxId

Numérico

X

X

X

Identificador de la transacción

25

clientDateNuméricoXXXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS

26

responseCodeAlfanumé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

27

isoCodeNuméricoXXX

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

Ver sección Códigos de respuesta VTOL Server para GoCuotas

28

responseMessageAlfanuméricoXXXMensaje de la Respuesta relacionado con el código del campo 27

140

paymentTypeNuméricoX-X

Tipo de pago. Valore posible 0: Tarjeta

166

trxReferenceNumberNumé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

271

walletPaymentIdAlfanuméricoX-XIdentificador del número de pago informado por el Autorizador.

273

paymentStatusAlfanumé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

274paymentStatusDetailAlfanumérico--XDetalle del estado de la transacción de pago informado por el Autorizador

275

cardTypeNuméricoX-X

Tipo de tarjeta seleccionada al momento de efectuar el pago.

Valor posible:
0: Débito

1.4.29 Operaciones GoCuotas API Full

VTOL se integra con la API Full de GOCUOTAS para permitir a los comercios aceptar esta billetera como un método de pago adicional. GoCuotas, es una billetera que permite realizar el pago con tarjeta de DEBITO de una compra hasta en 4 cuotas sin interés. Se realizarán pagos con la Billetera GOCUOTAS, en modalidad presencial, desde un punto de venta (POS). El encargado de aprobar los pagos será GOCUOTAS. VTOL enviará una intención de pago, y esperará recibir la respuesta del mismo, ya sea Aprobado o Rechazado.

En la versión API Full de GoCuotas al ingresar todos los datos para generar una venta, se le enviará un código de verificación al celular del cliente que se le deberá solicitar luego para realizar la validación de identidad y poder completar la venta. Se puede agregar una nueva tarjeta que se utilizará para completar la venta (solo es necesario para clientes nuevos o clientes que necesiten utilizar otra tarjeta). También se pueden realizar reembolsos por el monto total o parcial de la venta y consultar ordenes generadas. Las operaciones soportadas son las siguientes: 

  • SaleWallet = Permite realizar una compra presencial con billetera electrónica.
  • 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 para conocer si la misma fue autorizada y así obtener los datos por parte del Autorizador


Definición del flujo de la operación SaleWallet:

  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”.


Definición del flujo de la operación SaleWallet con cambio de tarjeta:

A continuación, se define el flujo para procesar un pago con cambio de tarjeta de débito "Aprobado":

  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 con la respuesta 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: el 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 le 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 con los campos, "6: cardNumber" (dieciséis dígitos de la tarjeta), "8: cvc" (tres dígitos), expirationDate (cuatro dígitos en formato AAMM).
  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".
  16. VTOL se comunica con Gocuotas mediante al 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".


Definición del flujo de la operación SaleWallet con cambio de tarjeta que excede el tiempo máximo (2min) para realizar el pago:

 A continuación, se define el flujo para procesar un pago con cambio de tarjeta 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 con la respuesta 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: el 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. 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 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.
  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”.


Definición del flujo de la operación RefundWallet:

  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”.


Informações
titleIMPORTANTE:

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


Informações
titleIMPORTANTE
  • Si el monto en centavos de la devolución es igual o mayor al monto en centavos de la venta, automáticamente el sistema realiza una devolución total y anula la operación, quedando en estado "DENIED"

  • Si el monto en centavos de la devolución es menor al monto en centavos de la venta, automáticamente el sistema realiza una devolución parcial, quedando en estado "APPROVED"


Definición del flujo de la operación 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).


1.4.29.1 Requerimiento POS - VTOL

Informações
titleReferencia de campos:

X = Obligatorio
O = Opcional
- = No requerido
C = Condicional


Número

Nombre del campo

Tipo de dato

SaleWallet

RefundWallet

QueryWallet

Descripción

0

company

Alfanumérico

X

X

XIdentificador de la compañía donde se generó la transacción

1

store

Numérico

X

X

X

Identificador del sitio originador de la transacción

2

node

Alfanumé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.

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 venta o devolución con billetera, para conocer si la misma fue autorizada y así obtener los datos de la misma por parte del Autorizador.

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

X

-

Tipos de moneda:

  • $ = Pesos
  • U$S = Dólares

14

payments

Numérico

X

X

-

Cantidad de cuotas seleccionadas al momento de realizar el pago.

Valida la cantidad de cuotas ingresadas, solo se admiten los valores 2, 3 y 4.

16originalDateNumérico-XXFecha de realización de la compra con billetera electrónica en formato YYYYMMDD

25

dateTimeNuméricoXXXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS

71

checkPendingStringAlfanuméricoXXX

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

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

157

customerDocNuméricoX--

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

Valida la cantidad de dígitos ingresados, máximo 8 dígitos.

268walletPosTrxIdAlfanuméricoXXX

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éricoXXX

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éricoXO-Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura del campo posTicket

271

walletPaymentIdAlfanumérico-XOIdentificador del número de pago informado por el Autorizador.
416customerPhoneAreaCodeNuméricoX--

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

Valida la cantidad de dígitos, máximo 5 dígitos. No se envía el 0 en el código de área

417customerPhoneNuméricoX--

Teléfono celular del cliente. 

Valida la cantidad de dígitos ingresados, máximodígitos.

418customerEmail AlfanuméricoX--

Mail del cliente. 

Valida el formato del mail: [email protected]


Informações
titleImportante:

Si se realiza un cambio de tarjeta se debe enviar en la segunda QueryWallet de POS a VTOL los campos especificados para la operación SaleWallet y lo siguiente: 

  • campo 6 cardNumber (dieciséis dígitos de la tarjeta).
  • campo 7 expiration (cuatro dígitos en formato AAMM).
  • campo 8 cvc (tres dígitos).

1.4.29.2 Respuesta VTOL - POS

Informações
titleReferencia de campos:

X = Obligatorio
O = Opcional
- = No requerido
C = Condicional


Número

Nombre del campo

Tipo de dato

SaleWallet

RefundWallet

QueryWallet

Descripción

1

store

Numérico

X

X

X

Identificador del sitio originador de la transacción

2

node

Alfanumérico

X

X

X

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

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

-

X

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.

24

trxId

Numérico

X

X

X

Identificador de la transacción

25

clientDateNuméricoXXXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS

26

responseCodeAlfanumé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

27

isoCodeNuméricoXXX

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

Ver sección Códigos de respuesta VTOL Server para GoCuotas

28

responseMessageAlfanuméricoXXXMensaje de la Respuesta relacionado con el código del campo 27

140

paymentTypeNuméricoX-X

Tipo de pago. Valore posible 0: Tarjeta

166

trxReferenceNumberNumé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

271

walletPaymentIdAlfanuméricoX-XIdentificador del número de pago informado por el Autorizador.

273

paymentStatusAlfanumé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

274paymentStatusDetailAlfanumérico--XDetalle del estado de la transacción de pago informado por el Autorizador

275

cardTypeNuméricoX-X

Tipo de tarjeta seleccionada al momento de efectuar el pago.

Valor posible:
0: Débito

Âncora
_Toc485222740
_Toc485222740
1.5 Códigos de Respuesta al POS


La respuesta que el POS recibe de VTOL se encuentra en los siguientes campos:

  1. Campo 27: Código de Respuesta
  2. Campo 28: Descripción de la Respuesta


A continuación se detallan las respuestas posibles con una breve descripción de cada una:


Código

Descripción

'00'

Aprobada

'01'

Pedir autorización telefónica

'02'

Pedir autorización

'03'

Comercio inválido

'04'

Capturar tarjeta

'05'

Denegada

'07'

Retenga y llame

'11'

Aprobada

'12'

Transacción inválida

'13'

Monto inválido

'14'

Tarjeta inválida

'25'

No existe original

'30'

Error en formato

'38'

Excede ingreso de PIN

'43'

Retener tarjeta

'45'

No opera en cuotas

'46'

Tarjeta no vigente

'47'

PIN requerido

'48'

Excede máximo de cuotas

'49'

Error fecha de vencimiento

'50'

Entrega supera límite

'51'

Fondos insuficientes

'53'

Cuenta inexistente

'54'

Tarjeta vencida

'55'

PIN incorrecto

'56'

Tarjeta no habilitada

'57'

Transacción no permitida

'58'

Servicio inválido

'61'

Excede límite

'65'

Excede límite de tarjeta

'76'

Llamar al emisor

'77'

Error plan/cuotas

'85'

Aprobada

'86'

No envía fecha original

'89'

Terminal inválida

'91'

Emisor fuera de línea

'94'

Número de secuencia duplicado

'95'

Re-transmitiendo

'96'

Error en sistema

'98'

No aprobada

'99' 

Error no clasificado

Modo de ingreso inválido

Proveedor inválido

Error CVC

Error creando mensaje

Tipo de mensaje inválido

No envía código de autorización

Error en fecha efectiva

Error en fecha vencimiento

Tarjeta no efectiva

No opera off-line

Devolución monto mayor

Original ya anulada

Original ya devuelta

Original reversada

Moneda inválida

No envía fecha

Campo 71 inválido

Campo 71 nulo

CVC inválido

Tarjeta inválida

Track2 inválido

No envía moneda

No envía CVC

Timeout

Fecha original inválida

No envía ticket original

Ticket original inválido

No envía código de autorización de venta referida

Reintente

Chiptokens Invalido

Pinpad R. Cod. Error

Pinpad A. Cod. Error

...

CódigoDescripción
00APROBADA
57TRANSACCION NO PERMITIDA
500Sucursal no configurada Billetera RappiPayless
503Compañia no configurada Billetera RappiPayless
509Estado trx original no acepta devolucion
510Importe devolucion supero monto limite
533Devolucion parcial no soportada
537Se excedio el tiempo limite para devolver
539Devuelto
544Transaccion ya devuelta
545Cancelado
549No existe comunicación con RappiPayless
553Pago rechazado por diferencias en la orden
585Transacción con CashBack no permitido
586Imposible identificar el comercio. Verifique datos
595Intención de pago vencida en Billetera
599Error de validacion
601No se pudo realizar la operación, reintente
602Devolucion rechazada
605La transaccion no se puede anular
606Identificador de transaccion incorrecto
607No se pudo realizar la devolucion
611Código de barras invalido
619No se pudo realizar la cancelación
620Reintente pago por modo offline con código PIN
ya devuelta
545Cancelado
549No existe comunicación con RappiPayless
553Pago rechazado por diferencias en la orden
585Transacción con CashBack no permitido
586Imposible identificar el comercio. Verifique datos
595Intención de pago vencida en Billetera
599Error de validacion
601No se pudo realizar la operación, reintente
602Devolucion rechazada
605La transaccion no se puede anular
606Identificador de transaccion incorrecto
607No se pudo realizar la devolucion
611Código de barras invalido
619No se pudo realizar la cancelación
620Reintente pago por modo offline con código PIN

Âncora
Códigos de respuesta VTOL Server para GoCuotas
Códigos de respuesta VTOL Server para GoCuotas
1.5.4.2 Códigos de respuesta de VTOL Server para Billetera GoCuotas

A continuación, se detallan las respuestas posibles de VTOL Server, cuando se opera con GoCuotas:

Código

Descripción

503Compañia GoCuotas no configurada
601No se pudo crear la orden, reintente operación
623Respuesta GoCuotas inválida, reintente operación
714Orden creada, ingrese el código de verificación
599Error de validación
540Pendiente de pago
553Rechazado
539Devuelto
717Ingrese tarjeta de débito
718Confirma la tarjeta recibida
77ERROR [plan]/CUOTAS
601No se pudo confirmar el código, reintente.
622No se pudo agregar/cambiar la tarjeta, reintente.
603No se pudo realizar el pago, reintente.
549No existe comunicación con GoCuotas
602Devolución rechazada
604No se pudo realizar el pago, reinicie la operación

Âncora
codrespnopresencial
codrespnopresencial
1.5.5 Códigos de Respuesta de VTOL Server para operaciones no presenciales

...

  1. En caso de que el campo requiredAdvice tenga valor true, el POS debe enviar en el tercer mensaje Commit, los campos chipTokens (criptograma del Advice) y pinpadResponseCode (código autorización del Pinpad).
    Estos datos se incluyen en el campo 200 –extraData-, con el siguiente formato:

[adviceChipTokens|valor,pinpadResponseCode|valor]


Nota: Si el campo requiredAdvice no tiene valor true, se envía el tercer mensaje sin el campo de datos extras.


Importante: Para operaciones por CHIP siempre se debe enviar el campo 200 (extraData) en el Tercer Mensaje de COMMIT, informando los valores: adviceChipTokens, pinpadResponseCode y pinpadAutCode.

Ejemplo:

Bloco de código
themeRDark
[adviceChipTokens|9F1E08313534393734353682021C009F26086CA64413F38FF76F9F2701809F360200799F100706010A03A08800950580C00080009F3303E0F8C89F34031E03009F3704FE4084CE5F25031801019A032505279F02060000001050009C01008407A00000000310109F0306000000000000,pinpadResponseCode|00,pinpadAutCode|123456]


2. VTOL procesa el tercer mensaje registrando el código de respuesta del Pinpad (Aprobada o Rechazada) y genera el Advice a enviar hacia el autorizador incluyendo los datos recibidos en el Commit.

...