Versões comparadas

Chave

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


Image RemovedImage Added




VTOL CD AR - Manual de mensajería POS - VTOL AR



VTOL CRÉDITO DÉBITO ARGENTINA

Mensajería POS - VTOL

...




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


Expandir
titleExpandir revisiones


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 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.
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".
03/03/20224.20Incorporación de mensajería para funcionalidad QR Adquiriente Fiserv. Se incluye dentro del apartado "1.4.26 QR Adquiriente Fiserv".
04/03/20224.21

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

16/03/20224.22Agregado del campo Marca de tarjeta en el "Formato Interface POS", dentro de la tabla "Provider".

...





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


Expandir
titleExpandir contenido

Índice


Âncora
_Toc485222713
_Toc485222713
1. Campos de los mensajes

...

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.

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 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, en 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

415walletPayoutIdAlfanuméricoO-O

Identificador del ID de cashback informado por el Autorizador.

Sólo retorna en caso de haber realizado Retiro de efectivo con la app de Mercado Pago.


Ejemplo

Response from VTOL (SaleWallet):

Response message: {1:1;2:1;166:14021905052200000204;271:2289999999999999228;22:1234567;24:121;25:20190214050518;26:ISO8583;27:00;28:APROBADA}

Response from VTOL (RefundWallet):

Response message: {1:1;2:1;25:20190214050543;26:ISO8583;27:509;28:Estado trx original no acepta devolucion}

Response from VTOL (QueryWallet):

Response message: {1:1;2:1;6:450995xxxxxx3704;140:0;12:53.0;13:$;14:1;142:visa;271:2289999999999999228;272:0.0;273:0;274:accredited;275:1;22:1234567;24:121;25:20190214050534;26:ISO8583;27:00;28:APROBADA}

...

VTOL se integra con QR Adquiriente de Fiserv para permitir efectuar pagos en los puntos de venta con billeteras electrónicas. En el pinpad se imprime el código QR en pantalla, el cual siempre es dinámico, es decir que se genera uno nuevo por cada transacción.

...

Aviso
titleManejo de cuotas

En caso de ser un pago con Tarjeta de Débito, el POS deberá enviar en el mensaje SaleWallet el campo payments (14) con valor = 1.

En caso de ser un pago con Tarjeta de Crédito, el POS deberá enviar en el mensaje SaleWallet el campo payments (14) con valor mayor a 0.

En caso de ser un pago con Dinero en cuenta, el POS deberá enviar en el mensaje SaleWallet el campo payments (14) con valor = 0, o directamente no enviar el campo 14.

Operatoria de pago con Tarjetas:

El Punto de Venta informará en el mensaje de SaleWallet el Monto y las Cuotas de la operación. VTOL responderá al POS el dato de la tarjeta seleccionada por el cliente en su Billetera Virtual, y el POS con esa información podrá modificar o no el monto original y las cuotas originales. Esto es para que el POS pueda aplicar algún beneficio, por ejemplo 12 cuotas sin interés, o para aplicar intereses, por ejemplo 12 con interés, con el cual el monto puede afectarse. Por lo tanto, el POS enviará en el mensaje de QueryWallet el monto y las cuotas, pudiendo modificar ambos datos.

El flujo es el siguiente:

  1. El POS envía un SaleWallet con el monto y las cuotas de la operación.
  2. Se despliega en el pinpad el QR dinámico para ser escaneado por la billetera virtual del cliente.
  3. El cliente escanea el QR y selecciona la Tarjeta para confirmar el pago.
  4. VTOL responde al POS el código 514 (Tiempo expirado. Elija Consultar o Cancelar pago)
  5. El POS envía un QueryWallet para obtener los datos del pago.
  6. VTOL responde cuál fue la Tarjeta elegida por el cliente, con el código 654 (Valide monto y cuotas según tarjeta elegida) y hace un eco del monto y las cuotas originales enviadas por el POS.
  7. El POS envía un nuevo QueryWallet, enviando los campos de monto y cuotas, pudiendo modificar ambos datos.
    1. Si el POS no envía los campos de monto y cuotas, VTOL responderá nuevamente el código 654 (Valide monto y cuotas según tarjeta elegida)
  8. VTOL responde los datos del pago autorizado.
  9. El POS confirma la operación enviando un Cierre de sesión en estado CLOSE.
  10. VTOL responde OK.
  11. Finaliza el flujo.


1.4.26.1 Requerimiento

Informações
titleReferencias

X = Obligatorio
O = Opcional
- = No requerido

...

-

Número

Nombre del campo

Tipo de dato

SaleWallet

QueryWallet

Descripción

0companyNuméricoXXIdentificador de la compañía donde se generó la transacción.
1storeAlfanuméricoXXIdentificador del sitio originador de la transacción
2nodeNuméricoXXIdentificación del nodo, en el sitio originador, donde se generó la transacción
3serverAlfanuméricoXXIdentificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL')
4messageTypeAlfanuméricoX

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.
11trxTypeAlfanuméricoXX

Tipo de Transacción:

  • SaleWallet = Compra con billetera electrónica
  • QueryWallet = Consulta de transacción de compra realizada con billetera electrónica
12amountNuméricoX-

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

13currencyPosCodeAlfanuméricoX-

Tipos de moneda:

  • $ = Pesos
16originalDateNumérico-XFecha de realización de la compra con billetera electrónica en formato YYYYMMDD
24

lastTrxId

NuméricoOOUtilizado cuando está activo el control transaccional. En este campo el POS debe enviar la última transacción procesada correctamente.
25dateTimeNuméricoXXFecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS
268walletPosTrxIdAlfanuméricoXO

Identificador único de la transacción de billetera para la compañía. Es originado por el POS para realizar una compra 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éricoXX

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

7: QR Adquiriente Fiserv

270posTicketAlfanuméricoX-Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura del campo posTicket
271walletPaymentIdAlfanumérico-O

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.

401paymentMethodsDataJsonO

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

Requerido únicamente cuando el pago se realiza con Tarjeta de crédito o débito.

Si el POS no informa este campo, solamente se podrá pagar con Dinero en cuenta.

410QRCodeAlfanuméricoO-

El POS enviará si desea recibir el código QR para imprimirlo en la caja. Valores posibles:

True: indica que se recibirá el código QR y se inyectará en el pinpad.

False: indica que se recibirá el código QR pero no se inyectará en el pinpad.

No se envía el campo: indica que no se recibirá el código QR


Estructura del campo posTicket (270)

El mensaje con la estructura del ticket estará en XML. El elemento raíz de ese mensaje XML deberá ser la etiqueta <message>, siendo la misma lo que se llamará encabezado.La manera de ejecutar un comando es utilizando una etiqueta con la forma <elemento-comando>. El elemento "item" identifica a los artículos. De esta manera

Dentro del encabezado, se podrá enviar el valor de los descuentos totales y de los impuestos totales que aplicarán a la compra.

Los campos dentro del encabezado serán: totDiscount y totTaxes

Detalle de los campos:

Elemento

Tipo de dato

Descripción

Requerido

Valor ante ausencia

totDiscountNuméricoImporte total de descuento que calcula el POS. Será la sumatoria de descuentos que se apliquen a los artículos.No0
totTaxesNuméricoImporte total de impuesto que calcula el POS. Será la sumatoria de impuestos que se apliquen sobre la compra.No0


La manera de ejecutar un comando es utilizando una etiqueta con la forma <elemento-comando>. El elemento "item" identifica a los artículos. De esta manera, si se desea, por ejemplo, agregar un nuevo artículo el comando a utilizar será <item-add>. En el cuerpo del mensaje podrá contener uno, ninguno o varios de estos comandos. 

...

Aviso
titleImportante

Esta estructura generada debe transformarse al formato Base 64 para informárselo a VTOL en el campo 270 posTicket.

Estructura del campo paymentMethodsData (401)

El mensaje con la estructura de los medios de pago será en JSON. Estará conformado por los siguientes campos:

...

Código del Proveedor de la tarjeta configurado en VTOL. Por ejemplo para Visa el código es "VI".

El código se obtiene de la Configuración de POS.

...

Identificador del banco asociado a la tarjeta. Debe corresponder al ID de banco dispuesto por el BCRA.

Ver códigos de bancos.

...

Identificador de la opción de pago. Máximo 10 caracteres. Debe ser único dentro del campo "paymentMethodsData".

Permite trazabilidad con la opción que elija el cliente en el momento de pagar.

La opción de pago seleccionada por el cliente en su billetera virtual es retornada por VTOL en el mensaje de respuesta de la venta, en el campo 404.

...

Condición de la opción de pago. Sólo se informará si existe en VTOL una opción de pago con una condición.

Máximo 20 caracteres.

...

C.F.T. (Costo Financiero Total). Porcentaje de recargo sobre las cuotas. Valor entero. Los 2 últimos dígitos corresponden a los decimales.

...

T.N.A. (Tasa Nominal Anual). Valor entero. Los 2 últimos dígitos corresponden a los decimales.

...

Ejemplo del campo paymentMethodsData (401)

Bloco de código
[ { "providerPosCode":"VIG", "bankCode":"7", "installments":[ { "paymentOptionId":"1", "quantity":"1", "amountPerInstallment":150000, "totalAmount":150000, "surcharge":0, "nominalAnnualRate":0, "defaultPosWalletInstallement":true }, { "paymentOptionId":"2", "quantity":"6", "amountPerInstallment":25000, "totalAmount":150000, "surcharge":1100, "nominalAnnualRate":1500 } ] }, { "providerPosCode":"VI", "installments":[ { "paymentOptionId":"3", "quantity":"12", "amountPerInstallment":15000, "totalAmount":180000, "surcharge":1256, "nominalAnnualRate":1487 } ] }, { "providerPosCode":"MC", "installments":[ { "paymentOptionId":"4", "quantity":"1", "amountPerInstallment":150000, "totalAmount":150000, "surcharge":0, "nominalAnnualRate":0 }, { "paymentOptionId":"5", "quantity":"12", "amountPerInstallment":15000, "totalAmount":180000, "surcharge":1256, "nominalAnnualRate":1487 } ] } ]



1.4.26.2 Respuesta

Informações
titleReferencias

X = Obligatorio
O = Opcional
- = No requerido

...