...
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 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/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". |
03/03/2022 | 4.20 | Incorporación de mensajería para funcionalidad QR Adquiriente Fiserv. Se incluye dentro del apartado "1.4.26 QR Adquiriente Fiserv". |
04/03/2022 | 4.21 | Incorporación de mensajería para funcionalidad PayStore. Se incluye dentro del apartado "1.4.27 Operaciones PayStore". |
16/03/2022 | 4.22 | Agregado del campo Marca de tarjeta en el "Formato Interface POS", dentro de la tabla "Provider". |
Índice
Índice
Âncora_Toc485222713 _Toc485222713
1. Campos de los mensajes
_Toc485222713 | |
_Toc485222713 |
...
Procedimiento para Pago Offline con Rappi Payless:
1. El POS envía un SaleWallet a VTOL con la billetera Rappi (walletType: 8).
2. VTOL envía la autorización a Rappi, pero no hay conexión.
3. VTOL responde al POS código 620, “Reintente pago por modo offline con código PIN”. Y la operación queda rechazada en VTOL.
4. El POS calcula el código PIN utilizando un barcode vigente. Y se lo informa al rappi tendero para que lo ingrese en su app y así se autoriza el pago.
5. El POS envía una nueva SaleWallet a VTOL, informando el campo 22 (authorizationCode) con el valor del PIN. Esto es para dejar asentada en VTOL que la transacción se realizó en modo offline.
6. VTOL responde “Aprobado” al POS. La autorización se realiza de forma offline, es decir no se envía ningún mensaje a Rappi.
7. El POS envía tercer mensaje a VTOL, "commit" para confirmar la transacción.
8. El POS imprime el ticket y entrega los productos al rappi tendero.
...
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.
Dentro del encabezado, se podrá enviar el valor de los descuentos totales y de los impuestos totales que aplicarán a la compra. Son campos opcionales.
Los campos dentro del encabezado son: totDiscount y totTaxes
Detalle de los campos:
Elemento | Tipo de dato | Descripción | Requerido | Valor ante ausencia |
---|---|---|---|---|
totDiscount | Numérico | Importe total de descuento que calcula el POS. Será la sumatoria de descuentos que se apliquen a los artículos. | No | 0 |
totTaxes | Numérico | Importe total de impuesto que calcula el POS. Será la sumatoria de impuestos que se apliquen sobre la compra. | No | 0 |
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.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
<message> <item-add seq="1<message totDiscount="100.00" totTaxes="50.00"> <item-add seq="1" code="0001" discountable="true" unitprice="25100.0" qty="13.0" xprice="300.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" xprice="25.0" magnitude="1" description="Jean casual" currency="$" /> <item-add seq="2" code="0002" discountable="true" unitprice="2848.0" qty="21.0" xprice="48.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" xprice="48.0" magnitude="1" description="Jean casual" currency="$" /> </message> |
...
Nro | Campo | Tipo | SalePEI | RefundPEI | QueryPEI | 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 | X | X | O | Número de tarjeta enmascarado con la cual se realizó el pago. Ejemplo: 450799xxxxxx0010 |
25 | dateTime | Numérico | X | X | X | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS. |
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 ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo |
28 | responseMessage | Alfanumérico | X | X | X | Mensaje de la Respuesta ISO-8583 |
33 | creditCardIssuerName | Alfanumérico | X | X | X | Nombre del emisor de la tarjeta |
35 | errorDescription | Alfanumérico | X | X | X | Descripción de error. Sólo se encuentra presente si el valor del campo 26 es "Error". |
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. |
153 | idOperationPEI | Alfanumérico | X | X | X | Identificador de la operación PEI de pago o de devolución |
154 | idOperationOrigenPEI | Alfanumérico | - | X | O | Identificador de la operación PEI de origen con la cual se solicitó la devolución. |
170 | idCommercePEI | Alfanumérico | X | X | X | Identificador PEI de compañía |
171 | idBranchPEI | Alfanumérico | X | X | X | Identificador PEI de local |
174 | originalTrxStatus | Alfanumérico | - | - | O | Informa el estado de la transacción original en una operación de consulta. Si el campo en la respuesta no se recibe es porque la consulta falló. Puede contener uno de los siguientes valores:
|
278 | bankingRefNum | Alfanumérico | X | - | X | Numero de referencia de la transacción de pago. Se utiliza para conciliar con los reportes de las entidades bancarias. Número generado por LINK. |
1.4.24 Operaciones QR Adquiriente Prisma
VTOL se integra con QR Adquiriente de Prisma para permitir efectuar pagos en los puntos de venta con billeteras electrónicas.
...
- Se inicia con el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL. En el requerimiento, el POS incluirá las opciones de pago que tiene disponibles la caja, para que luego el cliente seleccione la opción de pago más conveniente en su billetera.
- VTOL recibe la orden de venta del POS, y envía la información a Prisma con todos los datos de la venta.
- En ese momento el comprador podrá realizar, con su billetera virtual, la lectura del código QR disponible en la caja.
- Prisma, con la información recibida por VTOL, le comunicará a la billetera virtual el Importe, y las opciones de pago (tarjetas, cuotas, intereses).
- El comprador visualizará el detalle de la compra, con las opciones de pago enviadas por la caja, y efectuará el pago seleccionando la tarjeta enrolada, las cuotas y confirmando el pago.
- El POS recibirá la respuesta de la transacción SaleWallet a través de VTOL, quien informará si la operación resultó autorizada por Prisma.
- Puede darse el caso que VTOL responda "Consulte el pago por tiempo expirado". Este escenario puede surgir cuando el cliente demora en confirmar el pago desde su app mobile, y expira el tiempo designado por defecto en VTOL, entonces al POS se envía una respuesta automática por timeout. Para conocer el resultado de la operación, el POS deberá realizar una consulta (transacción QueryWallet). Las respuestas del QueryWallet pueden ser las siguientes:
- VTOL responde "Aprobado". Indica que el pago fue autorizado por Prisma. El paso siguiente del POS es confirmar o cancelar la transacción, con un tercer mensaje.
- VTOL responde "Rechazado". Indica que el cliente intentó pagar pero Prisma rechazó el pago.
- Puede darse el caso que VTOL responda "Consulte el pago por tiempo expirado". Este escenario puede surgir cuando el cliente demora en confirmar el pago desde su app mobile, y expira el tiempo designado por defecto en VTOL, entonces al POS se envía una respuesta automática por timeout. Para conocer el resultado de la operación, el POS deberá realizar una consulta (transacción QueryWallet). Las respuestas del QueryWallet pueden ser las siguientes:
- Por último, el POS deberá confirmar la operación, mediante el cierre de sesión (en estado Closeun Tercer Mensaje (Commit o Rollback).
La anulación o / devolución, sí precisa de interacción por parte del comprador en la caja, en su billetera digital debe confirmar la operación. El POS envía el identificador del número de pago del Autorizador en el mensaje RefundWallet.
...
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | CardQuery | Descripción |
---|---|---|---|---|
0 | company | Numérico | X | Identificador de la compañía donde se generó la transacción |
1 | store | Alfanumérico | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | Identificación del nodo, en el sitio originador, donde se generó la transacción. |
6 | cardNumber | Alfanumérico | X | Número de Tarjeta del cliente. Si es una tarjeta de fidelidad, retornará en plano. |
25 | dateTime | Numérico | 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 | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | 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 Consulta de Fidelidad |
28 | responseMessage | Alfanumérico | X | Mensaje de la Respuesta relacionado con el código del campo 27 |
292 | customerFirstName | Alfanumérico | X | Nombre del tarjetahabiente. |
293 | customerLastName | Alfanumérico | X | Apellido del tarjetahabiente. |
409 | loyaltyCardCategory | Alfanumérico | X | Categoría de la tarjeta de fidelidad. Puede retornar los siguientes valores:
|
Ejemplo de Respuesta
Response from VTOL: Response: {25:20210503193023;2:1;1:1;0:1;6:44123456789010;292:Juan;293:Perez;409:CLASSIC;26:ISO8583;27:00;28:APROBADA} |
...
...
- Campo 27: Código de Respuesta
- Campo 28: Descripción de la Respuesta
...
...
Código
...
Descripción
1.4.26 Operaciones QR Adquiriente Fiserv
VTOL se integra con QR Adquiriente de Fiserv para permitir efectuar pagos en los puntos de venta con billeteras electrónicas. El código QR es dinámico, es decir que se genera uno nuevo por cada transacción.
Las operaciones soportadas son:
- SaleWallet = Permite realizar una compra presencial con billetera electrónica.
- RefundWallet = NO se permite realizar una devolución con Adquiriente Fiserv. No está contemplado en Fiserv.
- 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.
Nota | ||
---|---|---|
| ||
Las operatorias de billeteras electrónicas poseen tercer mensaje; por lo que en el cierre de sesión se efectuará el envío del requerimiento del tercer mensaje. |
Procedimiento para QR Adquiriente Fiserv
El proceso de pagos para QR Adquiriente Fiserv con billetera virtual se realizará de la siguiente manera:
- Se inicia con el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL Server. En el requerimiento, el POS podrá incluir las opciones de pago mediante las cuales se realizará la operación.
- VTOL recibe la orden de venta del POS, y envía la información a Fiserv con todos los datos de la venta.
- Fiserv responde a VTOL que la orden de venta fue creada, y envía el QR para imprimir en el Punto de Venta.
- VTOL envía hacia el POS el QR enviado por Fiserv. El POS muestra el QR.
- VTOL responde al POS: "QR generado. Consulte operación"
- En ese momento el comprador podrá realizar con su billetera virtual la lectura del código QR. Luego de escanear el QR, el comprador visualizará el detalle de la compra, seleccionando tarjeta, cuotas y confirmando el pago.
- Fiserv envía a VTOL el Bin de la tarjeta (prefijo y últimos 4 dígitos) del cliente para que VTOL obtenga el Proveedor de la tarejta. Además envía la opción de pago seleccionada por el cliente, informando cuotas y monto final de la operación.
- VTOL valida que la opción de pago esté configurada en su sistema. Si las cuotas y el monto final de la operación son correctos, se envían los datos a Fiserv para ser autorizados.
- Fiserv cursa el pago con el Autorizador.
- El POS deberá consultar el estado del pago, enviando un mensaje de QueryWallet.
- Las respuestas del QueryWallet pueden ser las siguientes:
- VTOL responde "Aprobado". Indica que el pago fue autorizado por Fiserv. El paso siguiente del POS es confirmar o cancelar la transacción.
- VTOL responde "Rechazado". Indica que el cliente intentó pagar pero Fiserv rechazó el pago.
- Las respuestas del QueryWallet pueden ser las siguientes:
- Por último, el POS debe confirmar la operación, mediante un Tercer Mensaje (Commit o Rollback).
Aviso | ||
---|---|---|
| ||
En caso de ser un pago con tarjeta (Crédito o Débito), el POS podrá enviar en el mensaje SaleWallet el campo paymentMethodsData (401), con las posibles opciones de pago que servirán para validar lo elegido por el cliente en su billetera digital. En el campo paymentMethodsData puede existir un installments marcado con la propiedad "defaultPosWalletInstallment = true", que determina el método de pago por defecto que será enviado a Fiserv QR en el mensaje de pago. El proceso de validación de VTOL al recibir el mensaje desde Fiserv informando la opción de pago seleccionada por el cliente, es el siguiente:
|
1.4.26.1 Requerimiento
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | QueryWallet | Descripción |
---|---|---|---|---|---|
0 | company | Numérico | X | X | Identificador de la compañía donde se generó la transacción. |
1 | store | Alfanumérico | X | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
3 | server | Alfanumérico | X | X | Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL') |
4 | messageType | Alfanumérico | X | X | Tipo de Mensaje:
|
11 | trxType | Alfanumérico | X | X | Tipo de Transacción:
|
12 | amount | Numérico | X | - | 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". |
13 | currencyPosCode | Alfanumérico | X | - | Tipos de moneda:
|
16 | originalDate | Numérico | - | X | Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD |
24 | lastTrxId | Numérico | 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 | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS |
268 | walletPosTrxId | Alfanumérico | X | O | Identificador único de la transacción de billetera para la compañía. Es originado por el POS para realizar una compra 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 | Tipo de billetera por la cual se cursará la transacción en el POS. Opciones: 7: QR Adquiriente Fiserv |
270 | posTicket | Alfanumérico | 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 | - | 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. |
401 | paymentMethodsData | Json | O | - | 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. |
410 | QRCode | Alfanumérico | O | - | 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, 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.
Cada uno de los comandos que se envían posee diversos atributos, los cuales identifican al elemento que se está enviando y definen diversas propiedades que poseen los mismos. Poseerá un número de secuencia, el cual identifica cada elemento unívocamente:
Propiedad | Tipo de dato | Descripción | Requerido |
---|---|---|---|
seq | Entero positivo | Número identificador único del elemento dentro de la transacción. | Sí |
Cada comando posee una serie de atributos que definirán las distintas propiedades del elemento que se está agregando (además del número de secuencia antes mencionado).
Para el elemento ítem, los atributos serán los siguientes:
Elemento | Atributo | Tipo de dato | Descripción | Requerido | Valor ante ausencia |
---|---|---|---|---|---|
Ítem
| unitprice | Numérico positivo | Precio unitario del artículo en cuestión. | Si |
|
xprice | Numérico positivo | Precio extendido del artículo en cuestión. Es igual a la cantidad por el precio unitario. | Si |
| |
qty | Entero positivo | Cantidad de artículos en la línea. | Si |
| |
magnitude | Numérico positivo | Si el artículo es mensurable por otro unidad que no sea la cantidad, deberá ser expresad en esta propiedad. | No | 0 | |
code | Alfanumérico | Código propio del artículo. | No | "-" | |
brand | Alfanumérico | Marca del artículo. | No | "-" | |
supplier | Alfanumérico | Proveedor al que pertenece el artículo. | No | "-" | |
discountable | Alfanumérico | Si el artículo es puede recibir descuentos o no. | No | "-" | |
level1 | Alfanumérico | Nivel 1 de categorización del artículo. Anteriormente este nivel se conocía con el nombre de Departamento. | No | "-" | |
level2 | Alfanumérico | Nivel 2 de categorización del artículo. Anteriormente este nivel se conocía como la Familia del artículo. | No | "-" | |
level3 | Alfanumérico | Nivel 3 de categorización del artículo. Anteriormente este nivel se conocía como la Categoría del artículo. | No | "-" | |
level4 | Alfanumérico | Nivel 4 de categorización del artículo. Anteriormente este nivel se conocía como la subcategoría del artículo. | No | "-" | |
description | Alfanumérico | Descripción del ítem | Si | ||
currency | Alfanumérico | Moneda utilizada en el precio del ítem 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-). | Si | ||
measure | Alfanumérico | Unidad de medida del ítem. Valores posibles: unit - pack | No | "unit" |
Ejemplo
Bloco de código | ||
---|---|---|
| ||
<message>
<item-add seq="1" code="0001" discountable="true" unitprice="25.0" qty="1.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" xprice="25.0" magnitude="1" description="Jean casual" currency="$" />
<item-add seq="2" code="0002" discountable="true" unitprice="28.0" qty="2.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" xprice="48.0" magnitude="1" description="Jean casual" currency="$" />
</message> |
Aviso | ||
---|---|---|
| ||
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:
Parámetro | Tipo de dato | Requerido | Descripción | |
---|---|---|---|---|
providerPosCode | Alfanumérico | Si | 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. | |
bankCode | Numérico | No | Identificador del banco asociado a la tarjeta. Debe corresponder al ID de banco dispuesto por el BCRA. Ver códigos de bancos. | |
installments | Array | Si | Información de las cuotas. | |
paymentOptionId | Alfanumérico | Si | 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. | |
quantity | Numérico | Si | Cantidad de cuotas. Número entero. Máximo 2 dígitos. | |
paymentCondition | Alfanumérico | No | 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. | |
amountPerInstallment | Importe | Si | Monto por cuotas. Valor entero. Los 2 últimos dígitos corresponden a los decimales. | |
totalAmount | Importe | Si | Monto total. Incluye los recargos. Valor entero. Los 2 últimos dígitos corresponden a los decimales. | |
surcharge | Numérico | Si | C.F.T. (Costo Financiero Total). Porcentaje de recargo sobre las cuotas. Valor entero. Los 2 últimos dígitos corresponden a los decimales. | |
nominalAnnualRate | Numérico | Si | T.N.A. (Tasa Nominal Anual). Valor entero. Los 2 últimos dígitos corresponden a los decimales. | |
defaultPosWalletInstallment | Boolean | No | Marca que indica dentro de la colección el método de pago seleccionado por defecto para que VTOL lo informe al Autorizador. |
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 | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | QueryWallet | Descripción |
---|---|---|---|---|---|
0 | company | Numérico | X | X | Identificador de la compañía donde se generó la transacción |
1 | store | Alfanumérico | X | X | Identificador del sitio originador de la transacción |
2 | node | Numérico | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción. |
12 | amount | Importe | X | X | Contiene el importe que pagó el cliente, el cual puede variar si pagó con intereses o se aplicó algún descuento. Valor entero. Los últimos 2 dígitos corresponden a los decimales. |
13 | currencyPosCode | Alfanumérico | X | X | Tipos de moneda:
|
14 | payments | Numérico | X | O | Cantidad de cuotas seleccionadas al momento de realizar el pago QR. |
22 | authorizationCode | Alfanumérico | - | X | Código de autorización informado por el Autorizador |
24 | trxId | Numérico | X | X | Identificador de la transacción. |
25 | dateTime | Numérico | 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 | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | X | X | Código de Respuesta emitido por el centro autorizador. 2 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 | Mensaje de la Respuesta relacionado con el código del campo 27 |
140 | paymentType | Numérico | - | X | Tipo de pago. Valores posibles: 0: Tarjeta |
166 | trxReferenceNumber | Numérico | X | - | Identificador único de la transacción en VTOL Server. Longitud entre 19 y 20 dígitos, debido a que utiliza el día como parte de formato |
271 | walletPaymentId | Alfanumérico | - | X | Identificador del número de pago informado por el Autorizador |
273 | paymentStatus | Alfanumérico | - | X | Estado de la transacción de pago informado por el Autorizador. Estados posibles: 0: Aprobado |
275 | cardType | Numérico | - | O | Tipo de tarjeta seleccionada al momento de efectuar el pago QR. Valores posibles: 0: Débito |
410 | QRCode | Alfanumérico | O | O | Se envía la cadena de texto (string del QR dinámico) que retorna desde Fiserv. Este string se utiliza para imprimir el QR en el POS. |
1010 | currentSessionId | Numérico | X | X | Identificador de la sesión |
1027 | libResponseCode | Numérico | X | X | Código de respuesta de la librería. |
1028 | libResponseMessage | Alfanumérico | X | X | Mensaje descriptivo del código de respuesta de la librería |
1.4.27 Operaciones PayStore
VTOL se integra con PayStore de Prisma para permitir efectuar pagos en los puntos de venta, utilizando tarjetas presentes de crédito o débito, y billeteras electrónicas.
Las operaciones soportadas son:
- SaleWallet = Permite realizar una compra presencial a través de PayStore.
- RefundWallet = Permite realizar una devolución (total) de una compra presencial a través de PayStore. No se permiten devoluciones parciales.
- QueryWallet = Permite realizar una consulta de una operación de compra con PayStore para conocer si la misma fue autorizada y así obtener los datos por parte del Autorizador.
Procedimiento para PayStore
El proceso de pagos con PayStore se realizará de la siguiente manera:
- Se inicia con el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL. En el requerimiento, el POS puede incluir o no la cantidad de cuotas del pago.
- VTOL recibe la orden de venta del POS, y envía la información a PayStore con todos los datos de la venta.
- En ese momento el cajero podrá capturar los datos del pago en la terminal pinpad, el cual puede ser con tarjeta física de crédito y débito, o bien con billetera virtual, realizando la lectura del código QR que se muestra en el pinpad.
- El POS recibirá la respuesta de la transacción SaleWallet con el mensaje: "Consulte el pago".
- Para conocer el resultado de la operación, el POS deberá realizar una consulta (transacción QueryWallet). Las respuestas del QueryWallet pueden ser las siguientes:
- VTOL responde "Aprobado". Indica que el pago fue autorizado por PayStore. El paso siguiente del POS es confirmar o cancelar la transacción. Se imprime el comprobante en la terminal pinpad.
- VTOL responde "Rechazado". Indica que el cliente intentó pagar pero PayStore rechazó el pago.
- Por último, el POS deberá confirmar la operación, mediante el Tercer Mensaje, enviando Commit.
La anulación o devolución, sí precisa de interacción por parte del comprador en la caja, en la terminal pinpad se debe capturar los mismos datos de la tarjeta o billetera virtual que se utilizó para el pago. El POS envía el identificador del número de pago del Autorizador en el mensaje RefundWallet.
1.4.27.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. Valor entero. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00 Para devoluciones, el importe debe ser siempre por el total de la venta y en la misma moneda informada. |
13 | currencyPosCode | Alfanumérico | X | X | - | Tipos de moneda:
|
14 | payments | Numérico | O | - | - | Cantidad de cuotas. 2 dígitos como máximo. Valor entero. Si no se informa este campo, se toma por defecto el valor 1. |
16 | originalDate | Numérico | - | X | X | Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD |
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 |
268 | walletPosTrxId | Alfanumérico | X | X | O | Identificador único de la transacción de billetera para la compañía. Es originado por el POS para realizar una compra o una devolución. Formato: Longitud total de 32 Opcional en QueryWallet: Se informa este campo o el campo walletPaymentId para localizar una transacción. |
269 | walletType | Numérico | X | X | X | Tipo de billetera por la cual se cursará la transacción en el POS. Opciones: 9: PayStore |
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. |
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 por un monto de $amount. |
413 | printCopiesVoucher | Numérico | O | O | - | Indica las copias del comprobante de pago debe imprimir el terminal. Valores posibles: 1. Solo copia comercio Si no se envía este campo, no se imprime ninguna copia |
414 | paymentOperationMethod | Numérico | O | - | - | Indica el medio de pago que se podrá utilizar para la operación. Valores posibles: 1. Tarjeta (pago con tarjeta física débito o crédito) Si no se envía este campo, se toma por defecto el valor 1. |
Estructura del campo posTicket
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.
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 |
---|---|---|---|---|
totDiscount | Numérico | Importe total de descuento que calcula el POS. Será la sumatoria de descuentos que se apliquen a los artículos. | No | 0 |
totTaxes | Numérico | Importe total de impuesto que calcula el POS. Será la sumatoria de impuestos que se apliquen sobre la compra. | No | 0 |
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.
Cada uno de los comandos que se envían posee diversos atributos, los cuales identifican al elemento que se está enviando y definen diversas propiedades que poseen los mismos. Poseerá un número de secuencia, el cual identifica cada elemento unívocamente:
Propiedad | Tipo de dato | Descripción | Requerido |
---|---|---|---|
seq | Entero positivo | Número identificador único del elemento dentro de la transacción. | Sí |
Cada comando posee una serie de atributos que definirán las distintas propiedades del elemento que se está agregando (además del número de secuencia antes mencionado).
Para el elemento ítem, los atributos serán los siguientes:
Elemento | Atributo | Tipo de dato | Descripción | Requerido | Valor ante ausencia |
---|---|---|---|---|---|
Ítem | unitprice | Numérico positivo | Precio unitario del artículo en cuestión. | Si |
|
xprice | Numérico positivo | Precio extendido del artículo en cuestión. Es igual a la cantidad por el precio unitario. | Si |
| |
qty | Entero positivo | Cantidad de artículos en la línea. | Si |
| |
magnitude | Numérico positivo | Si el artículo es mensurable por otro unidad que no sea la cantidad, deberá ser expresad en esta propiedad. | No | 0 | |
code | Alfanumérico | Código propio del artículo. Puede ser el sku o ean. | No | "-" | |
brand | Alfanumérico | Marca del artículo. | No | "-" | |
supplier | Alfanumérico | Proveedor al que pertenece el artículo. | No | "-" | |
discountable | Alfanumérico | Si el artículo es puede recibir descuentos o no. | No | "-" | |
level1 | Alfanumérico | Nivel 1 de categorización del artículo. Anteriormente este nivel se conocía con el nombre de Departamento. | No | "-" | |
level2 | Alfanumérico | Nivel 2 de categorización del artículo. Anteriormente este nivel se conocía como la Familia del artículo. | No | "-" | |
level3 | Alfanumérico | Nivel 3 de categorización del artículo. Anteriormente este nivel se conocía como la Categoría del artículo. | No | "-" | |
level4 | Alfanumérico | Nivel 4 de categorización del artículo. Anteriormente este nivel se conocía como la subcategoría del artículo. | No | "-" | |
description | Alfanumérico | Descripción del ítem | Si | ||
currency | Alfanumérico | Moneda utilizada en el precio del ítem. | Si | ||
measure | Alfanumérico | Unidad de medida del ítem. Valores posibles: unit - pack | No | "unit" |
Ejemplo
Bloco de código | ||
---|---|---|
| ||
<message totDiscount="100.00" totTaxes="50.00">
<item-add seq="1" code="0001" discountable="true" unitprice="100.0" qty="3.0" xprice="300.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" magnitude="1" description="Jean casual" currency="$" />
<item-add seq="2" code="0002" discountable="true" unitprice="28.0" qty="1.0" xprice="48.0" level1="MEN" level2="CASUAL" supplier="" brand="LEVIS" magnitude="1" description="Jean casual" currency="$" />
</message> |
Ejemplo de requerimiento:
SaleWallet: RefundWallet: QueryWallet: |
1.4.27.2 Respuesta
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. |
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:
|
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 |
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 |
273 | paymentStatus | Alfanumérico | X | - | X | Estado de la transacción de pago informado por el Autorizador. Estados posibles: 0: Aprobado |
274 | paymentStatusDetail | Alfanumérico | X | - | X | Detalle del estado de la transacción de pago informado por el Autorizador |
Ejemplo de respuesta:
SaleWallet: RefundWallet: QueryWallet: |
Âncora _Toc485222740 _Toc485222740
1.5 Códigos de Respuesta al POS
_Toc485222740 | |
_Toc485222740 |
La respuesta que el POS recibe de VTOL se encuentra en los siguientes campos:
- Campo 27: Código de Respuesta
- 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 |
...
A continuación se detallan las respuestas posibles de VTOL Server, cuando se opera con Billeteras Electrónicas, con una breve descripción de cada una:
Código | Descripción |
---|---|
00 | APROBADA |
500 | No se encuentra la transaccion original |
501 | El campo WalletPosTrxId es requerido |
502 | El campo WalletType es requerido |
503 | No esta configurado una Compañia MP |
504 | No esta configurado una Caja MP |
505 | El tipo de billetera es invalido |
506 | El campo WalletPaymentId es requerido |
507 | El campo OriginalDate es requerido |
508 | No es posible devolver una devolucion |
509 | Estado trx original no acepta devolucion |
510 | Importe devolucion supero monto limite |
511 | No se pudo realizar la orden de pago |
512 | La transaccion no posee estado |
513 | El campo posTicket es requerido |
514 | Tiempo expirado. Elija Consultar o Cancelar pago |
515 | Tiempo expirado confirmacion devolucion |
516 | Pago aun no realizado, desea seguir esperando? |
517 | Estado trx original no acepta devolucion |
518 | No se encuentra la devolucion |
519 | Acceso a MP no esta autorizado |
520 | Accion a MP no esta autorizada |
521 | El campo WalletPosTrxId es invalido |
522 | Cancelado |
523 | Estado trx original no acepta devolucion |
524 | Importe invalido para devolucion |
525 | Estado trx original no acepta devolucion |
526 | Compañia MP no permite operar |
527 | Numero devoluciones parciales superados |
528 | El pago es antiguo para ser devuelto |
529 | No es posible devolver una devolucion |
530 | Compañia MP sin dinero para devolver |
531 | Compañia MP sin dinero disponible |
532 | Estado trx original no acepta devolucion |
533 | Devolucion parcial no soportada |
534 | Url de notificacion invalido |
535 | El monto de la transaccion es invalido |
536 | Error general por parte de MP |
537 | No se encuentra la transaccion original |
538 | El campo WalletPosTrxId es requerido |
539 | Transaccion devuelta |
540 | Pendiente |
541 | Autorizado |
542 | En Progreso |
543 | En mediacion |
544 | Transaccion ya devuelta |
545 | Cancelado |
546 | Contracargo |
547 | No se encontró la trx original |
548 | Error en comunicación |
549 | No existe comunicación con Mercado Pago |
550 | Error al consultar venta original online |
552 | Orden no generada por Prisma |
553 | Pago Rechazado |
554 | Esta operación requiere autorización |
555 | Esta operación requiere autorización |
556 | Pago rechazado, reintente con otro medio de pago |
557 | Pago rechazado, reintente con otro medio de pago |
558 | Pago rechazado, reintente con otro medio de pago |
559 | Pago rechazado, reintente con otro medio de pago |
560 | Pago rechazado, reintente con otro medio de pago |
561 | No fue posible procesar su pago, intente más tarde |
562 | No fue posible procesar su pago, intente más tarde |
563 | No fue posible procesar su pago, intente más tarde |
564 | No fue posible procesar su pago, intente más tarde |
565 | No fue posible procesar su pago, intente más tarde |
566 | La cantidad de cuotas seleccionada es inválida |
567 | La cantidad de cuotas seleccionada es inválida |
568 | Tarjeta de crédito vencida |
569 | Tarjeta de crédito no habilitada |
570 | Fondos insuficientes, reintente otro medio de pago |
571 | Fondos insuficientes, reintente otro medio de pago |
572 | Datos incorrectos, revíselos y reintente |
573 | Datos incorrectos, revíselos y reintente |
574 | No fue posible procesar su pago, intente más tarde |
575 | No fue posible procesar su pago, intente más tarde |
576 | Tarjeta no vigente, reintente otro medio de pago |
577 | Esta operación requiere autorización |
578 | No fue posible procesar su pago, intente más tarde |
579 | No fue posible procesar su pago, intente más tarde |
580 | La cantidad de cuotas seleccionada es inválida |
581 | Datos incorrectos, revíselos y reintente |
582 | Datos incorrectos, revíselos y reintente |
583 | Las cuotas informadas son incorrectas |
584 | Devolucion parcial no soportada |
585 | Transacción con CashBack no permitido |
586 | El comercio informado es inválido |
587 | El establecimiento informado es inválido |
588 | El establecimiento no pertenece al comercio |
589 | El punto de venta informado es inválido |
590 | El punto de venta no pertenece al establecimiento |
591 | El tipo de documento es inválido |
592 | Se debe informar el ID de la operación |
593 | Se debe informar un timeStamp |
594 | Se debe informar el traceNumber |
595 | Intención de pago vencida |
596 | Entrega Excede Supera Limite |
598 | Las cuotas del pago ya fueron informadas |
602 | Devolución rechazada |
603 | Devolución no aprobada |
604 | Devolución pendiente de aprobación |
650 | Importe de devolución de cashout invalido |
651 | Importe de cashout invalido |
652 | Medio de pago inválido |
654 | Devolución no aprobada |
604 | Devolución pendiente de aprobación |
650 | Importe de devolución de cashout invalido |
651 | Importe de cashout invalido |
652 | Medio de pago inválido |
654 | Devolución registrada confirme administrativamente |
733 | La transacción no corresponde a una operación de Billeteras Electrónicas |
734 | No es posible cancelar la transacción informada |
1.5.4.1 Códigos de respuesta de VTOL Server para Billetera Rappi Payless
registrada confirme administrativamente | |
733 | La transacción no corresponde a una operación de Billeteras Electrónicas |
734 | No es posible cancelar la transacción informada |
1.5.4.1 Códigos de respuesta de VTOL Server para Billetera Rappi Payless
Código | Descripción |
---|---|
00 | APROBADA |
57 | TRANSACCION NO PERMITIDA |
500 | Sucursal no configurada Billetera RappiPayless |
503 | Compañia no configurada Billetera RappiPayless |
509 | Estado trx original no acepta devolucion |
510 | Importe devolucion supero monto limite |
533 | Devolucion parcial no soportada |
537 | Se excedio el tiempo limite para devolver |
539 | Devuelto |
544 | Transaccion ya devuelta |
545 | Cancelado |
549 | No existe comunicación con RappiPayless |
553 | Pago rechazado por diferencias en la orden |
585 | Transacción con CashBack no permitido |
586 | Imposible identificar el comercio. Verifique datos |
595 | Intención de pago vencida en Billetera |
599 | Error de validacion |
601 | No se pudo realizar la operación, reintente |
602 | Devolucion rechazada |
605 | La transaccion no se puede anular |
606 | Identificador de transaccion incorrecto |
607 | No se pudo realizar la devolucion |
611 | Código de barras invalido |
619 | No se pudo realizar la cancelación |
620 | Reintente pago por modo offline con código PIN |
Âncora | ||||
---|---|---|---|---|
|
...
A continuación se detalla la información que viaja en el campo ConfData y que se corresponde con la interface generada para el POS.
La versión de Formato de interface utilizada por Crédito Debito Argentina es la v109 v110
Header
Pos. | Descripción | Longitud | Tipo de dato | Detalle |
1 | HD | 2 | AN | Identificador de tipo de registro |
2 | Local | 6 | AN | Código local. |
3 | Incremental | 6 | N | Nº de incremental. |
4 | CRC | 8 | N |
|
5 | Fecha / Hora | 16 | AN | Fecha/Hora. yyyy/mm/dd |
...
Pos. | Descripción | Longitud | Tipo de dato | Detalle |
1 | PV | 2 | AN | Identificador de tipo de registro |
2 | ID Tarjeta | 2 | AN | ID proveedor VTOL |
3 | Nombre | 40 | AN | Nombre proveedor |
4 | Medio de Pago | 20 | AN | Código proveedor en POS. Campo de relación entre POS y VTOL (Opcional) |
5 | Código de banco | 10 | AN | Código del banco (Opcional |
6 | Descripción del banco | 40 | AN | Descripción del banco (Opcional) |
7 | Marca de Tarjeta | 10 | AN | Código de la Marca de la tarjeta (Opcional). Si la tarjeta no tiene marca, no se informa el campo. |
Ejemplo
PV:VI;Visa;;
PV:MA;Mastercard;00;DEFAULT;VI
PV:AMVIG;AmexVisa;;7;BANCO DE GALICIA Y BUENOS AIRES S.A.U.;VI
PV:MA;Maestro;;00;DEFAULT;MC
PV:MC;Master Card;;00;DEFAULT;MC
PV:AM;Amex;;00;DEFAULT;AM
PV:DI;Diners;;00;DEFAULT
Tabla Prefijos
Pos | Descripción | Longitud | Tipo de dato | Detalle |
1 | PF | 2 | AN | Identificador de tipo de registro |
2 | Hasta | 20 | AN | Rango Desde. |
3 | Desde | 20 | AN | Rango Hasta. |
4 | Largo prefijo | 2 | N | Largo del prefijo. |
5 | Largo tarjeta | 2 | N | Largo de la tarjeta. |
6 | ID Tarjeta | 2 | AN | ID proveedor VTOL |
7 | Condición | 10 | AN |
|
8 | Largo CVC | 2 | N | Largo código seguridad. |
9 | Validar digito | 1 | N | Valida el digito verificador. |
10 | Envía Track I | 1 | N | 0/vacío deshabilitado / 1 habilitado / 2 Opcional. |
11 | Validar vencimiento | 1 | N | Valida fecha vencimiento. |
12 | Offline permitido | 1 | N | Permite operar offline. |
13 | Offline monto | 14 | N | Límite para operación Offline. |
14 | Habilitado | 1 | N | Prefijo habilitado. |
15 | Valida fecha efectiva | 1 | N | Valida fecha emisión o fecha desde. |
16 | Valida CVC | 1 | N | 0/vacío deshabilitado / 1 habilitado / 2 Opcional. |
17 | Service code | 5 | AN | Se suele utilizar en VTOL para diferenciar Visa débito (2) de Visa crédito (0 ó vació) |
18 | Ingreso manual permitido | 1 | N |
|
19 | Chequea boletines | 1 | N | Valida contra boletines protectivos. |
20 | Es debito | 1 | N | Es prefijo de tarjeta de tipo débito. |
21 | Requiere pin. | 1 | N | 0 deshabilitado / 1 habilitado / 2 Opcional. |
22 | Valida últimos N números. | 2 | N | Cantidad de últimos números a validar de la tarjeta. 0 no valida nada. |
23 | Pide tipo de cuenta. | 1 | N | Requiere envío tipo de cuenta. |
24 | Solicita número de cuenta | 1 | N | Solicita al autorizador el número de cuenta. |
25 | Cashback | 1 | N | Habilita la operatoria de Cashback |
26 | Puntos de Lealtad | 1 | N | Habilita la acumulación y/o redención de puntos de lealtad. |
27 | Tarjeta que Encripta punto a punto POS - CA. | 1 | N | Indica si la tarjeta encripta. |
28 | Posición de la Master Key | 1 | N | Indica la posición de la Master Key en los registros del Firmware. Valores posibles: |
29 | Código de banco | 10 | AN | Código del banco |
30 | Permite Fallback | 1 | N | Visa 1; Mastercard y Maestro 0 |
...