Versões comparadas

Chave

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

...

Fecha

Revisión

Cambios

02/11/2009

1.0

Generación del documento

04/11/2009

1.1

Indicación de campos obligatorios

26/04/2010

1.2

Actualización de gráfico manejo de PINPAD

22/03/2011

1.3

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

03/06/2011

1.4

Agregado de definición de mensaje de cierre de lote

30/05/2012

1.5

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

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

21/08/2013

1.7

Agregado de apartado de error del core.

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.

15/11/2013

1.9

Agregado de 'Formato Interface POS'

23/12/2013

2.0

Agregado de detalle de los mensajes ServicePayment y VoidServicePayment

13/02/2014

2.1

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

29/05/2014

2.2

Aclaración sobre el uso de pre-autorizaciones.

22/08/2014

2.3

Agregado de campo pinpadAutoCode en Tercer Mensaje y RejectedEMVAdvice.

29/08/2014

2.4

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

11/09/2014

2.5

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

09/12/2014

2.6

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

26/02/2015

2.7

Agregado de nuevos campos ServiceCode y ProviderPosCode.

27/02/2015

2.8

Agregado de nuevos mensajes propios a la funcionalidad Cash Back.

07/08/2015

2.9

Agregado de aclaraciones en el uso de la mensajería

09/09/2015

3.0

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

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.

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)

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

19/04/2017

3.4

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

03/05/2017

3.5

Incorporación del apartado 1.3.10 Echo

05/05/2017

3.6

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

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

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

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

14/12/2018 

4.0Incorporación del apartado Antifraude e incorporación de la funcionalidad Antifraude en la mensajería
08/02/20194.1Incorporación del apartado Tokenización e incorporación de la funcionalidad Tokenización en la mensajería
03/04/20194.2Agregado del campo 0 (Compañía) en la mensajería de todos los tipos de transacciones.
28/08/20194.3Incorporación de la funcionalidad Billeteras electrónicas en la mensajería.
01/04/20204.4Incorporación de mensajería para operaciones eCommerce.
22/06/20204.5Incorporación de mensajería para operaciones de Cuenta DNI.
30/07/20204.6Incorporación de funcionalidad de Billeteras Mercado Pago con retiro de efectivo.
28/08/20204.7Incorporación de consideraciones en el Formato de Interface POS en la tabla Plan de Pagos, para tiendas presenciales.
22/09/20204.8Se actualiza el campo 54 (additionalAmount) como tipo de dato Importe, en la mensajería de Billeteras electrónicas.
21/10/20204.9Incorporación de funcionalidad PEI No Presencial
26/11/20204.10Agregado del campo Descripción en Formato de Interface POS para indicar la descripción sobre un plan de pago.
11/12/20204.11Incorporación de funcionalidad de QR Adquiriente.
16/12/20204.12Incorporación del campo afApplicationCondition para validar la aplicación de reglas antifraudes por el módulo AF de VTOL.
05/03/20214.13Se actualiza el nombre y la descripción del campo 406 en la respuesta de la mensajería de QR Adquiriente.
05/05/20214.14Incorporación de mensajería para Consultar tarjetas de Fidelidad
11/05/20214.15Se quitan las referencias de la billetera Todo Pago, ya que dicha Billetera está incluida dentro de QR Adquiriente Prisma.
19/05/20214.16Incorporación de mensajería para Billetera Yacaré. Se incluye dentro del apartado "1.4.18 Billeteras electrónicas"
23/09/20214.17En Billetera QR Adquiriente, en el campo WalletType se diferencian por id 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.
01/10/20214.18Incorporación de mensajería para Billetera Plus Pagos. Se incluye dentro del apartado "1.4.18 Billeteras electrónicas"
10/11/20214.19Incorporación de mensajería para Billetera Rappi Payless. Se incluye dentro del apartado "1.4.18 Billeteras electrónicas"

...

  • Mercado Pago
  • Yacaré
  • Plus Pagos
  • Rappi Payless

Las operaciones soportadas en VTOL Server para Billeteras electrónicas son:

...

  1. Se inicia con el envío de una orden de devolución (transacción RefundWallet) por parte del POS a VTOL.
  2. VTOL recibe un RefundWallet desde el POS indicando el origen de la billetera.
  3. VTOL responde al POS Devolución Aprobada.
  4. El POS  envía el tercer mensaje:
    1. Si es COMMIT. VTOL programa el envío de la devolución al servicio de Plus Pagos:
      1. Si es el pago fue con Tarjeta de Credito/Debito, Plus Pagos informa al autorizador de la devolución, y si este aprueba, en la respuesta informa "Devolución Aprobada".
      2. Si es el pago fue con Saldo PlusPagos, esa devolución queda pendiente en el sistema de Plus Pagos hasta que sea confirmada o rechazada en su BackOffice. 
        1. Plus Pagos responde a VTOL que el estado de la transacción es PENDIENTE DE APROBACIÓN.
        2. La operación quedará pendiente en el BackOffice de PlusPagos, hasta que el comerciante Confirme o Rechace la devolución en su plataforma.
        3. Una vez que se aplica una acción en el BackOffice de PlusPagos por parte del comerciante, Plus Pagos enviará una Notificación hacia VTOL informando el cambio de estado de la operación:
          1. Si Confirma, se devolverá el pago original, y se enviará una Notificación a VTOL indicando que el estado de la venta es DEVUELTA.

          2. Si Rechaza, no se devolverá el pago original, y se enviará una Notificación a VTOL indicando que el estado de la venta original sigue APROBADA. Si fue Rechazada, no se podrá volver a enviar el pedido de devolución.                                

        4. Cuando VTOL recibe la notificación desde PlusPagos, no informa nada al POS, y si se quiere conocer el estado de la devolución, se debe hacer mediante una consulta con el número de la transacción.

    2. Si es ROLLBACK. VTOL no enviará ningún mensaje a Plus Pagos, y se eliminará el pedido de devolución.


Procedimiento para Pagos con Rappi Payless

El flujo consiste en:

  1. El cliente realiza un pedido en la app de Rappi. Un mensajero de Rappi recolecta los productos en el comercio y confirma en la app. 
  2. Se genera un código QR en la app de Rappi. El repartidor se acerca a la caja para realizar el pago. El código QR será el medio de pago.
  3. El cajero tiene la opción de escanear un código QR, un código de barras o ingresar manualmente un código.
  4. El POS genera una transacción de venta SaleWallet con Billetera Rappi y la envía a VTOL, enviando todos los datos además del código de pago (es el QR generado en la app).
  5. VTOL recibe el mensaje, y lo procesa.
  6. VTOL envía una solicitud de autorización de pago a la API de Rappi.
  7. Rappi procesa el mensaje, y responde si el pago fue aprobado. 
  8. VTOL recibe la respuesta del pago.
    1. Si VTOL no recibe la respuesta en el tiempo configurado para recibirla, reintentará enviar la solicitud de autorización de pago. Si aún no recibe la respuesta de Rappi, responderá a la caja "La comunicación con Rappi no está disponible. El personal de Rappi necesita este código para pagar con tarjeta de débito". 
  9. VTOL informa al POS la respuesta del Autorizador.
  10. Por último, el POS deberá confirmar la operación, mediante el tercer mensaje (transacción UnsyncCompletion).
  11. Finaliza el flujo de la operación.


1.4.18.1 Requerimiento

Informações
titleReferencias

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

...

Número

Nombre del campo

Tipo de dato

SaleWallet

RefundWallet
QueryWallet

Descripción

0companyNuméricoXXXIdentificador de la compañía donde se generó la transacció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éricoXXXIdentificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL')
4messageTypeAlfanuméricoXXX

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

XX

Tipo de Transacción:

  • SaleWallet = Compra con billetera electrónica
  • RefundWallet = Devolución de compra realizada con billetera electrónica
  • QueryWallet = Consulta de transacción de compra o devolución realizada con billetera electrónica

12

amount

Importe

X

X-

Monto de la transacción. 12 dígitos como máximo. Se envía sin coma. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00

Nota: Para billeteras Yacaré y Plus Pagos, el importe debe ser siempre por el total de la venta y en la moneda informada.

13

currencyPosCode

Alfanumérico

X

X-

Tipos de moneda:

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

Nota: En el punto de venta se deberá informar la moneda de la cuenta vendedor de Mercado Pago (si el retailer posee una cuenta argentina en Mercado Pago entonces tendrá que informar la moneda $ -pesos argentinos-)

Importante: Tener en cuenta que operando con Mercado Pago siempre debe coincidir el país de la cuenta vendedor con el país de la cuenta comprador

14paymentsNumérico--OCantidad de cuotas por las cuales se realizará el pago. 2 dígitos como máximo 
Si es sin cuotas, el valor por defecto es 1
15planAlfanumérico--OPlan. 1 caracter de longitud
16originalDateNumérico-XX

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

22authorizationCodeAlfanumérico-C-

Código de autorización.

Exclusivo para billetera Yacaré.

Campo Condicional. Si la Compañía tiene configurado "Requiere código de autorización" entonces es obligatorio.

24lastTrxIdNuméricoOOOUtilizado cuando está activo el control transaccional. En este campo el POS debe enviar la última transacción procesada correctamente.

25

dateTime

Numérico

X

XX

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

53paymentConditionAlfanumérico--OCondición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción
54additionalAmountImporteOO-

Contiene el Importe del "Cashout". 12 dígitos como máximo. Valor entero. Los últimos 2 dígitos corresponden a los decimales.

Para devoluciones, se debe enviar el monto total del cashout.

Para devolver sólo el cashout, se debe enviar el campo 12 (amount) con valor 0.

Sólo disponible para billetera de Mercado Pago.

71checkPendingStringAlfanumérico

O

Default = true

O

Default = true

O

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.
268walletPosTrxIdAlfanuméricoXXO

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

270posTicketBase 64X--

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

271walletPaymentIdAlfanumérico

-

XO

Identificador del número de pago informado por el Autorizador en el campo 271 de la respuesta de la operación SaleWallet

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

311purchaseTitleAlfanuméricoO--

Título de la venta. Longitud máxima 100.

Si el POS no lo envía, VTOL tomará un valor por defecto. El siguiente label: "Pago con Billetera virtual en" + "CompanyName".

312purchaseDescAlfanuméricoO--

Descripción de la venta. Longitud máxima 100.

Si el POS no lo envía, VTOL tomará un valor por defecto. El siguiente label: "Pago realizado con QR. Por un monto de $amount. Y retiro de efectivo de $additionalAmount.".

300barCodeAlfanuméricoC--

Campo exclusivo y obligatorio para billetera Rappi Payless.

Corresponde al código de pago generado por la app mobile de Rappi.

El POS puede obtener este código escaneando un código QR, un código de barras o ingresarlo manualmente, desde la billetera virtual del recolector de Rappi.


Ejemplo

Request to VTOL (SaleWallet):

Request: {270:PG1lc3NhZ2U+CiAgICAgICA8aXRlbS1hZGQgc2VxPSIxIiBjb2RlPSIwMDAxIiBkaXNjb3VudGFibGU9InRydWUiIHVuaXRwcmljZT0iMjUuMCIgcXR5PSIxLjAiIGxldmVsMT0iTUVOIiBsZXZlbDI9IkNBU1VBTCIgc3VwcGxpZXI9IiIgYnJhbmQ9IkxFVklTIiB4cHJpY2U9IjI1LjAiIG1hZ25pdHVkZT0iMS4wIiBkZXNjcmlwdGlvbj0iSmVhbiBjYXN1YWwiIGN1cnJlbmN5PSIkIiAvPgogICAgICAgPGl0ZW0tYWRkIHNlcT0iMiIgY29kZT0iMDAwMiIgZGlzY291bnRhYmxlPSJ0cnVlIiB1bml0cHJpY2U9IjI4LjAiIHF0eT0iMi4wIiBsZXZlbDE9Ik1FTiIgbGV2ZWwyPSJDQVNVQUwiIHN1cHBsaWVyPSIiIGJyYW5kPSJMRVZJUyIgeHByaWNlPSI0OC4wIiBtYWduaXR1ZGU9IjEuMCIgZGVzY3JpcHRpb249IkplYW4gY2FzdWFsIiBjdXJyZW5jeT0iJCIgLz4KPC9tZXNzYWdlPg==;269:1;268:1120181116055713;13:$;12:1200;11:SaleWallet;4:DATA;3:VTOL;2:1;25:20181116055713;71:True;1:1;54:50000}

Request to VTOL (RefundWallet):

Request: {271:4379999999999999437;269:1;16:20181116;13:$;12:1200;11:RefundWallet;4:DATA;3:VTOL;2:1;25:20181116105619;71:True;1:1;268:00000000110000000001210519154938}

Request to VTOL (QueryWallet):

Request: {271:2289999999999999228;269:1;16:20190214;268:11020190514050534;25:20190214050534;11:QueryWallet}

...

Número

Nombre del campo

Tipo de dato

SaleWalletRefundWalletQueryWallet

Descripción

0companyNuméricoXXXIdentificador de la compañía donde se generó la transacció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
6cardNumberAlfanuméricoO-O

Tarjeta enmascarada seleccionada al momento de efectuar el pago QR. El campo es opcional en caso de que se haya abonado con saldo de la cuenta de Mercado Pago.

Para Rappi este campo no retorna.

12amountImporteX-XMonto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales.
13currencyPosCodeAlfanuméricoO-X

Tipos de moneda:

  • $ = Pesos
  • U$S = Dólares
14paymentsNumérico--OCantidad de cuotas seleccionadas al momento de realizar el pago QR. El campo es opcional en caso de que se haya abonado con saldo de la cuenta de Mercado Pago
22authorizationCodeAlfanuméricoO-O

Código de autorización informado por el Autorizador.

Para Mercado Pago sólo retorna cuando el cliente paga con tarjeta de crédito o débito.

Para Yacaré, este campo no retorna.

Para Rappi este campo no retorna.

24trxIdNuméricoXXXIdentificador de la transacción
25dateTimeNuméricoXXX

Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS. El valor en este campo debe ser el mismo que el valor de la fecha y hora del requerimiento. El POS utiliza este dato para validar que se trate de la misma transacción

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

Código de Respuesta emitido por el centro autorizador. 3 dígitos como máximo. Ver sección Códigos de Respuesta de VTOL Server para Billeteras Electrónicas

28responseMessageAlfanuméricoXXX

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

54additionalAmountImporteOOO

Contiene el Importe del "Cashout". Para aquellas operaciones realizadas con retiro de efectivo. Valor entero. Los últimos 2 dígitos corresponden a los decimales.

Sólo disponible para billetera de Mercado Pago.

140paymentTypeNumérico--X

Tipo de pago. Valores posibles:

0: Tarjeta
1: Efectivo
2: Transferencia

142providerNameAlfanumérico--OProveedor de la tarjeta seleccionada al momento de efectuar el pago QR. El campo es opcional en caso de que se haya abonado con saldo de la cuenta de Mercado Pago
147providerPosCodeListaO--Lista de proveedores/tarjetas que coinciden con la tarjeta ingresada en la app de la billetera electrónica. Ejemplo: {VI, EL}. Esta lista deberá ser utilizada para seleccionar la tarjeta manualmente por el POS.
157customerDocNuméricoOOONumero de documento del titular de la tarjeta.
303customerNameAlfanuméricoOOONombre del titular de la tarjeta.
166trxReferenceNumberNuméricoXXXIdentificador ú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
271walletPaymentIdAlfanuméricoX-X

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

Para Rappi, este campo retorna el barcode utilizado para el pago.

272amountRefundedImporte--XMonto devuelto en la transacción
273paymentStatusAlfanuméricoO-O

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éricoO-ODetalle del estado de la transacción de pago informado por el Autorizador.
275cardTypeNumérico--O

Tipo de tarjeta seleccionada al momento de efectuar el pago QR. Es opcional en caso de que se haya abonado con saldo de la cuenta de Mercado Pago.

Para Yacaré, este campo no retorna.

Para Rappi este campo no retorna.

Valores posibles:
0: Débito
1: Crédito

...