...
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. |
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/2018 | 3.9 | Incorporación de la funcionalidad PEI en la mensajería |
14/12/2018 | 4.0 | Incorporación del apartado Antifraude e incorporación de la funcionalidad Antifraude en la mensajería |
08/02/2019 | 4.1 | Incorporación del apartado Tokenización e incorporación de la funcionalidad Tokenización en la mensajería |
03/04/2019 | 4.2 | Agregado del campo 0 (Compañía) en la mensajería de todos los tipos de transacciones. |
28/08/2019 | 4.3 | Incorporación de la funcionalidad Billeteras electrónicas en la mensajería. |
01/04/2020 | 4.4 | Incorporación de mensajería para operaciones eCommerce. |
22/06/2020 | 4.5 | Incorporación de mensajería para operaciones de Cuenta DNI. |
30/07/2020 | 4.6 | Incorporación de funcionalidad de Billeteras Mercado Pago con retiro de efectivo. |
28/08/2020 | 4.7 | Incorporación de consideraciones en el Formato de Interface POS en la tabla Plan de Pagos, para tiendas presenciales. |
22/09/2020 | 4.8 | Se actualiza el campo 54 (additionalAmount) como tipo de dato Importe, en la mensajería de Billeteras electrónicas. |
21/10/2020 | 4.9 | Incorporación de funcionalidad PEI No Presencial |
26/11/2020 | 4.10 | Agregado del campo Descripción en Formato de Interface POS para indicar la descripción sobre un plan de pago. |
11/12/2020 | 4.11 | Incorporación de funcionalidad de QR Adquiriente. |
16/12/2020 | 4.12 | Incorporación del campo afApplicationCondition para validar la aplicación de reglas antifraudes por el módulo AF de VTOL. |
05/03/2021 | 4.13 | Se actualiza el nombre y la descripción del campo 406 en la respuesta de la mensajería de QR Adquiriente. |
05/05/2021 | 4.14 | Incorporación de mensajería para Consultar tarjetas de Fidelidad |
11/05/2021 | 4.15 | Se quitan las referencias de la billetera Todo Pago, ya que dicha Billetera está incluida dentro de QR Adquiriente Prisma. |
19/05/2021 | 4.16 | Incorporación de mensajería para Billetera Yacaré. Se incluye dentro del apartado "1.4.18 Billeteras electrónicas" |
23/09/2021 | 4.17 | En 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/2021 | 4.18 | Incorporación de mensajería para Billetera Plus Pagos. Se incluye dentro del apartado "1.4.18 Billeteras electrónicas" |
10/11/2021 | 4.19 | Incorporació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:
...
- Se inicia con el envío de una orden de devolución (transacción RefundWallet) por parte del POS a VTOL.
- VTOL recibe un RefundWallet desde el POS indicando el origen de la billetera.
- VTOL responde al POS Devolución Aprobada.
- El POS envía el tercer mensaje:
- Si es COMMIT. VTOL programa el envío de la devolución al servicio de Plus Pagos:
- 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".
- 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.
- Plus Pagos responde a VTOL que el estado de la transacción es PENDIENTE DE APROBACIÓN.
- La operación quedará pendiente en el BackOffice de PlusPagos, hasta que el comerciante Confirme o Rechace la devolución en su plataforma.
- 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:
Si Confirma, se devolverá el pago original, y se enviará una Notificación a VTOL indicando que el estado de la venta es DEVUELTA.
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.
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.
Si es ROLLBACK. VTOL no enviará ningún mensaje a Plus Pagos, y se eliminará el pedido de devolución.
- Si es COMMIT. VTOL programa el envío de la devolución al servicio de Plus Pagos:
Procedimiento para Pagos con Rappi Payless
El flujo consiste en:
- 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.
- 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.
- El cajero tiene la opción de escanear un código QR, un código de barras o ingresar manualmente un código.
- 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).
- VTOL recibe el mensaje, y lo procesa.
- VTOL envía una solicitud de autorización de pago a la API de Rappi.
- Rappi procesa el mensaje, y responde si el pago fue aprobado.
- VTOL recibe la respuesta del pago.
- 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".
- VTOL informa al POS la respuesta del Autorizador.
- Por último, el POS deberá confirmar la operación, mediante el tercer mensaje (transacción UnsyncCompletion).
- Finaliza el flujo de la operación.
1.4.18.1 Requerimiento
Informações | ||
---|---|---|
| ||
X = Obligatorio |
...
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QueryWallet | Descripción |
---|---|---|---|---|---|---|
0 | company | Numérico | X | X | X | Identificador de la compañía donde se generó la transacción. |
1 | store | Alfanumérico | X | X | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
3 | server | Alfanumérico | X | X | X | Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL') |
4 | messageType | Alfanumérico | X | X | X | Tipo de Mensaje:
|
11 | trxType | Alfanumérico | X | X | X | Tipo de Transacción:
|
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:
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 |
14 | payments | Numérico | - | - | O | Cantidad 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 |
15 | plan | Alfanumérico | - | - | O | Plan. 1 caracter de longitud |
16 | originalDate | Numérico | - | X | X | Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD |
22 | authorizationCode | Alfanumé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. |
24 | lastTrxId | Numérico | O | O | O | Utilizado cuando está activo el control transaccional. En este campo el POS debe enviar la última transacción procesada correctamente. |
25 | dateTime | Numérico | X | X | X | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS |
53 | paymentCondition | Alfanumérico | - | - | O | Condición de pago. Sólo se encuentra presente si existe una condición de pago vinculada con la transacción |
54 | additionalAmount | Importe | O | O | - | 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. |
71 | checkPendingString | Alfanumé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):
|
268 | walletPosTrxId | Alfanumérico | X | X | O | 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: Opcional en QueryWallet: Se informa este campo o el campo walletPaymentId para localizar una transacción de compra |
269 | walletType | Numérico | X | X | X | Tipo de billetera por la cual se cursará la transacción en el POS. Opciones: 1: Mercado Pago |
270 | posTicket | Base 64 | X | - | - | Información del ticket en formato xml y posteriormente transformado en Base 64. Ver sección Estructura del campo posTicket |
271 | walletPaymentId | Alfanumérico | - | X | 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 |
311 | purchaseTitle | Alfanumérico | O | - | - | 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". |
312 | purchaseDesc | Alfanumérico | O | - | - | 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.". |
300 | barCode | Alfanumérico | C | - | - | 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 | SaleWallet | RefundWallet | QueryWallet | Descripción |
---|---|---|---|---|---|---|
0 | company | Numérico | X | X | X | Identificador de la compañía donde se generó la transacción |
1 | store | Alfanumérico | X | X | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
6 | cardNumber | Alfanumérico | O | - | 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. |
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 | O | - | X | Tipos de moneda:
|
14 | payments | Numérico | - | - | O | Cantidad 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 |
22 | authorizationCode | Alfanumérico | O | - | 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. |
24 | trxId | Numérico | X | X | X | Identificador de la transacción |
25 | dateTime | Numérico | X | X | X | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS. 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 |
26 | responseCode | Alfanumérico | X | X | X | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | X | X | X | 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 |
28 | responseMessage | Alfanumérico | X | X | X | Mensaje de la Respuesta relacionado con el código del campo 27 |
54 | additionalAmount | Importe | O | O | O | 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. |
140 | paymentType | Numérico | - | - | X | Tipo de pago. Valores posibles: 0: Tarjeta |
142 | providerName | Alfanumérico | - | - | O | Proveedor 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 |
147 | providerPosCode | Lista | O | - | - | 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. |
157 | customerDoc | Numérico | O | O | O | Numero de documento del titular de la tarjeta. |
303 | customerName | Alfanumérico | O | O | O | Nombre del titular de la tarjeta. |
166 | trxReferenceNumber | Numérico | X | X | X | Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos, debido a que utiliza el día como parte de formato |
271 | walletPaymentId | Alfanumérico | X | - | X | Identificador del número de pago informado por el Autorizador. Para Rappi, este campo retorna el barcode utilizado para el pago. |
272 | amountRefunded | Importe | - | - | X | Monto devuelto en la transacción |
273 | paymentStatus | Alfanumérico | O | - | O | Estado de la transacción de pago informado por el Autorizador. Estados posibles: 0: Aprobado |
274 | paymentStatusDetail | Alfanumérico | O | - | O | Detalle del estado de la transacción de pago informado por el Autorizador. |
275 | cardType | Numé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: |
...