...
Painel | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Painel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
...
Âncora_Toc485222716 _Toc485222716
1.2 Protocolo de comunicación POS – VTOL Server
_Toc485222716 | |
_Toc485222716 |
Synthesis Napse establece un protocolo de comunicación para la interacción POS - VTOL, el cual se denomina "Protocolo VTOL". Dicho protocolo se basa en un esquema recursivo compuesto por campos y separadores. A continuación se provee una especificación detallada de su estructura junto con los consecuentes diagramas para un mejor entendimiento.
Para implementar esta mensajería, VTOL provee una librería en el cual se encuentra la declaración de funciones y las definiciones de constantes y tipos necesarias. La librería es en realidad un módulo cliente que se comunica vía TCP/IP con el servidor de transacciones VTOL. El cliente podrá implementar esta mensajería sin utilizar la librería, pero deberá respetar el formato de la misma.
El formato del protocolo VTOL se basa en la siguiente estructura:
...
SaleWallet: RefundWallet: QueryWallet: |
...
...
- Campo 27: Código de Respuesta
- Campo 28: Descripción de la Respuesta
...
...
Código
...
Descripción
1.4.28 Operaciones GoCuotas API QR
VTOL se integra con GoCuotas API QR para permitir efectuar pagos mediante un código QR estático por cada caja, en modalidad presencial, desde un punto de venta (POS). Al enviar la intención de compra desde VTOL a GoCuotas, se habilitará un QR que el usuario comprador deberá escanear desde la cámara de su celular y se le redireccionará a la web de GoCuotas, en donde deberá tener una cuenta registrada con una tarjeta de débito para realizar el pago. El encargado de aprobar los pagos es GOCUOTAS, quien es el encargado también de la gestión e impresión de los códigos QR. Luego VTOL deberá recibir mediante una notificación la respuesta con el estado de la orden, ya sea Confirmado o Cancelado.
Las transacciones soportadas son:
- SaleWallet = Permite realizar una compra presencial con billetera electrónica.
- RefundWallet = Permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.
- QueryWallet = Permite realizar una consulta de una operación de compra con billetera para conocer si la misma fue autorizada y así obtener los datos por parte del Autorizador
Definición del flujo de la operación SaleWallet:
- El POS envía la transacción de venta (SaleWallet) a VTOL.
- VTOL le envía a GoCuotas el requerimiento de Authenticacion al endpoint /api/qr/v1/authentication. Nota: el request message solo se envía si no existe un authToken vigente, la vigencia de cada authToken es de 24 hs
- GoCuotas responde a VTOL con el message HTTP 200 en donde le envía el Token de autenticación aprobado.
- VTOL se comunica con GoCuotas para enviar la intención de pago mediante un POST al endpoint /api/qr/v1/checkouts.
- GoCuotas responde con el mensaje HTTP 201 "Orden creada" y algunos campos en el messagge response como el sale_token, status, amount_in_cents, entre otros. El campo sale_token será el token que representará la nueva venta y que se deberá enviar en algunos requests.
- VTOL recibe el mensaje de que la orden fue creada. Importante: luego de la creación de la orden de pago, se tienen 15 min para realizar la confirmación del pago, si se excede el tiempo establecido, la compra será cancelada automáticamente.
- Se pueden presentar los siguientes escenarios:
- Si el usuario escanea el QR y selecciona la tarjeta de débito/ cuotas para realizar el pago dentro del tiempo establecido (15 min), entonces, VTOL recibe la notificación de la compra con el estado de la orden confirmada (status: approved), ya que el usuario realizó el pago de forma exitosa. Luego VTOL le responde al POS con el estado de la transacción aprobada (isoCode "00" y responseMessage "Aprobada").
- Si expiró el tiempo establecido de los 15 min para realizar el pago, entonces, VTOL recibe la notificación de la compra con el estado cancelada (status: denied). En este caso, la orden se cancela de forma automáticamente. Luego VTOL le responde al POS con la información de la orden cancelada.
Nota: la información de la confirmación o cancelación del pago será enviando al webhook_url que se completó al momento de crear la venta con QR. El mismo será un POST con formato JSON. En el caso de confirmación de pago por parte del cliente, el webhook será enviado en el momento. Por otro lado, si el cliente no realiza el pago, el webhook de cancelación de venta será enviado a los 15 minutos.
8. Se continua con el flujo 7.a. El POS envía el tercer mensaje de “Commit”.
9. Finaliza el flujo de la operación.
Definición del flujo de la operación RefundWallet:
- El POS le envía a VTOL la operación “RefundWallet” con los campos 271 walletPaymentId, 24 trxId (opcional) y el 12 Ammount. Nota: si la devolución es por el monto total de la compra, se deberá enviar en el campo 12 el importe total o si el importe que se desea devolver es menor al total de la compra, se deberá enviar el importe en dicho campo, y se refiere a una compra parcial.
- VTOL se comunica con GoCuotas mediante al endpoint /api/qr/v1/orders para consultar el estado de la orden, en donde se envía el saleToken que identifica la transacción original que se desea devolver.
- GoCuotas responde el código HTTP 200 con el estado de la transacción de compra y los datos de la operación. Importante: la orden debe estar confirmada (status: approved) para poder solicitar la devolución parcial o total. Una orden se marca como confirmada luego de que el usuario realiza el pago de forma exitosa.
- VTOL le responde al POS con el estado de la orden confirmada, con el campo 27 isoCode = 00 y el campo 28 responseMessage = Aprobada.
- El POS le envía a VTOL el tercer mensaje "Commit".
- VTOL se comunica con GoCuotas mediante el endpoint api/qr/v1/refund para solicitar la devolución total o parcial de una venta. Se envían los parámetros sale_token y amount_in_cents.
- GoCuotas le responde a VTOL con datos de la transacción como el status, order_reference_id, amount_in_cents, entre otros.
- Finaliza el flujo de la operación.
Dica | ||
---|---|---|
| ||
Se pueden realizar devoluciones por el monto total de la transacción y también por un monto parcial. |
Definición del flujo de la operación QueryWallet:
- El POS le envía a VTOL la operación “QueryWallet” con el campo 268: WalletPosTrxId.
- VTOL se comunica con GoCuotas mediante el endpoint /checkouts/{api_qr_sale_token}, en donde se deberá enviar un sale_token válido. Nota: VTOL solo se comunica con GoCuotas si el pago no está aprobado. Si el pago se encuentra aprobado, entonces VTOL le responde automáticamente al POS con la información de la orden aprobada, sin realizar la consulta a GoCuotas.
- GoCuotas le responde a VTOL el código HTTP 200 con el status de la operación y los otros campos definidos por GoCuotas.
- VTOL le responde al POS el estado Aprobado de la operación solicitada (saleWallet o refundWallet).
1.4.28.1 Requerimiento POS - VTOL
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QueryWallet | Descripción |
0 | company | Alfanumérico | X | X | X | Identificador de la compañía donde se generó la transacción |
1 | store | Numérico | X | X | X | Identificador del sitio originador de la transacción |
2 | node | Alfanumérico | X | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
3 | server | Alfanumérico | X | X | X | Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL') |
4 | messageType | Alfanumérico | X | X | X | Tipo de Mensaje:
|
11 | trxType | Alfanumérico | X | X | X | Tipo de 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:
|
16 | originalDate | Numérico | - | X | X | Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD |
25 | dateTime | Numérico | X | X | X | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS |
71 | checkPendingString | Alfanumérico | O | X | X | Indica si VTOL debe o no efectuar el chequeo de pendientes:
Default = true. |
157 | customerDoc | Numérico | X | O | - | Número de documento del cliente que realiza la consulta. Valida la cantidad de dígitos ingresados, máximo 8 dígitos. |
268 | walletPosTrxId | Alfanumérico | X | X | X | 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: |
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 5: Yacaré 6: Plus Pagos 8: Rappi Payless 10: GoCuotas |
270 | walletPosTicket | 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 | - | X | O | Identificador del número de pago informado por el Autorizador. |
416 | customerPhoneAreaCode | Numérico | O | - | - | Código de área de teléfono celular del cliente. Valida la cantidad de dígitos, máximo 5 dígitos. No se envía el 0 en el código de área. |
417 | customerPhone | Numérico | O | - | - | Teléfono celular del cliente. Valida la cantidad de dígitos ingresados, máximo 9 dígitos. |
418 | customerEmail | Alfanumérico | O | - | - | Mail del cliente. Valida el formato del mail: [email protected] |
1.4.28.2 Respuesta VTOL - POS
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QueryWallet | Descripción |
0 | company | Alfanumérico | X | X | X | Identificador de la compañía donde se generó la transacción |
1 | store | Numérico | X | X | X | Identificador del sitio originador de la transacción |
2 | node | Alfanumérico | X | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
12 | amount | Importe | X | - | X | Monto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales. |
13 | currencyPosCode | Alfanumérico | X | - | X | Tipos de moneda:
|
24 | trxId | Numérico | X | X | X | Identificador de la transacción |
25 | clientDate | 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 emitido por el centro autorizador. 3 dígitos como máximo. Ver sección Códigos de respuesta VTOL Server para GoCuotas |
28 | responseMessage | Alfanumérico | X | X | X | Mensaje de la Respuesta relacionado con el código del campo 27 |
140 | paymentType | Numérico | X | - | X | Tipo de pago. Valore posible 0: Tarjeta |
166 | trxReferenceNumber | Numérico | 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 | Detalle del estado de la transacción de pago informado por el Autorizador |
275 | cardType | Numérico | X | - | X | Tipo de tarjeta seleccionada al momento de efectuar el pago. Valor posible: |
1.4.29 Operaciones GoCuotas API Full
VTOL se integra con la API Full de GOCUOTAS para permitir a los comercios aceptar esta billetera como un método de pago adicional. GoCuotas, es una billetera que permite realizar el pago con tarjeta de DEBITO de una compra hasta en 4 cuotas sin interés. Se realizarán pagos con la Billetera GOCUOTAS, en modalidad presencial, desde un punto de venta (POS). El encargado de aprobar los pagos será GOCUOTAS. VTOL enviará una intención de pago, y esperará recibir la respuesta del mismo, ya sea Aprobado o Rechazado.
En la versión API Full de GoCuotas al ingresar todos los datos para generar una venta, se le enviará un código de verificación al celular del cliente que se le deberá solicitar luego para realizar la validación de identidad y poder completar la venta. Se puede agregar una nueva tarjeta que se utilizará para completar la venta (solo es necesario para clientes nuevos o clientes que necesiten utilizar otra tarjeta). También se pueden realizar reembolsos por el monto total o parcial de la venta y consultar ordenes generadas. Las operaciones soportadas son las siguientes:
- SaleWallet = Permite realizar una compra presencial con billetera electrónica.
- RefundWallet = Permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.
- QueryWallet = Permite realizar una consulta de una operación de compra con billetera para conocer si la misma fue autorizada y así obtener los datos por parte del Autorizador
Definición del flujo de la operación SaleWallet:
- Se inicia con el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL.
- VTOL le envía a GoCuotas el requerimiento de Authentication mediante el endpoint /authentication. Nota: el request message solo se envía si no existe un authToken vigente, la vigencia de cada authToken es de 24 hs.
- GoCuotas responde a VTOL con el message HTTP 200 en donde se envía el Token de autenticación aprobado.
- Luego VTOL se comunica con GoCuotas mediante endpoint / send_code, en donde se envían todos los datos necesarios para generar la venta: email, dni, area_code (sin "0"), telephone_number (sin "15"), amount_in_cents, number_of_installments, order_reference_id y Authorization: Bearer.
- GoCuotas responde a VTOL con el Message HTTP 201 y el dato "sale_token" que será el token que representará la nueva venta.
- VTOL le responde al POS el isocode 714 y el responseMessage “Orden creada, ingrese el código de verificación”
- El POS le envía a VTOL el primer QueryWallet con el campo 279: softToken.
- VTOL se comunica con GoCuotas mediante el endpoint /code_verification, en donde envía los campos sale_token, code y Authorization: Bearer. En este endpoint se envía el código de seguridad “code” que recibió el cliente en su celular para validar su identidad.
- GoCuotas le responde a VTOL con el dato de la tarjeta (card) que contiene los últimos 4 dígitos y el status de la compra. GoCuotas responde con toda la información de la venta generada y con los datos del cliente.
- VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
- El POS le envía a VTOL la segunda QueryWallet (se envía el campo 6: cardNumber con los últimos cuatro dígitos de la tarjeta como eco del campo 6 de la respuesta de VTOL al POS del paso anterior).
- VTOL se comunica con Gocuotas mediante al endpoint / payments (este endpoint se utiliza para realizar el pago y completar la venta).
- GoCuotas responde a VTOL con el status aprobado de la transacción y otros datos.
- VTOL le responde al POS con el estado de la transacción aprobada (isoCode "00" y responseMessage "Aprobada")
- Por último, el POS envía el tercer mensaje de “Commit”.
Definición del flujo de la operación SaleWallet con cambio de tarjeta:
A continuación, se define el flujo para procesar un pago con cambio de tarjeta de débito "Aprobado":
- Se inicia con el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL.
- VTOL le envía a GoCuotas el requerimiento de Authentication mediante el endpoint /authentication. Nota: el request message solo se envía si no existe un authToken vigente, la vigencia de cada authToken es de 24 hs.
- GoCuotas responde a VTOL con el Message HTTP 200 en donde se envía el Token con la respuesta Aprobado.
- Luego VTOL se comunica con GoCuotas mediante endpoint / send_code, en donde se envían todos los datos necesarios para generar la venta: el email, dni, area_code (sin "0"), telephone_number (sin "15"), amount_in_cents, number_of_installments, order_reference_id y Authorization: Bearer.
- GoCuotas responde a VTOL con el Message HTTP 201 y el dato"sale_token" que será el token que representará la nueva venta.
- VTOL le responde al POS el isocode 714 y el responseMessage “Orden creada, ingrese el código de verificación”
- El POS le envía a VTOL el primer QueryWallet con el campo 279: softToken.
- VTOL se comunica con GoCuotas mediante el endpoint / code_verification, en donde le envía los campos sale_token, code y Authorization: Bearer. En este endpoint se envía el código de seguridad “code” que recibió el cliente en su celular para validar su identidad.
- GoCuotas le responde a VTOL con el dato de la tarjeta (card) que contiene los últimos 4 dígitos y el status de la compra. GoCuotas responde con toda la información de la venta generada y con los datos del cliente.
- VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
- El POS le envía a VTOL la segunda QueryWallet con los campos, "6: cardNumber" (dieciséis dígitos de la tarjeta), "8: cvc" (tres dígitos), expirationDate (cuatro dígitos en formato AAMM).
- VTOL le envía a GoCuotas el requerimiento del cambio de tarjeta mediante el endpoint / cards (este endpoint se utiliza en el caso de que el cliente no tenga ninguna tarjeta cargada en el sistema de GoCuotas o si es necesario cambiar de tarjeta para realizar el pago).
- GoCuotas le responde a VTOL con los siguientes datos: sale_token, status, last_four_digits, entre otros.
- VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
- El POS le envía a VTOL la tercera QueryWallet con el "campo 6: cardNumber".
- VTOL se comunica con Gocuotas mediante al endpoint / payments (este endpoint se utiliza para realizar el pago y completar la venta).
- GoCuotas responde a VTOL con los campos payment_successfully_confirmed: true, "status": "approved", card, entre otros.
- VTOL le envía al POS el response message "Aprobada".
Definición del flujo de la operación SaleWallet con cambio de tarjeta que excede el tiempo máximo (2min) para realizar el pago:
A continuación, se define el flujo para procesar un pago con cambio de tarjeta superando el tiempo máximo (2min) para realizar el pago:
- Se inicia con el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL.
- VTOL le envía a GoCuotas el requerimiento de Authentication mediante el endpoint /authentication. Nota: el request message solo se envía si no existe un authToken vigente, la vigencia de cada authToken es de 24 hs.
- GoCuotas responde a VTOL con el Message HTTP 200 en donde se envía el Token con la respuesta Aprobado.
- Luego VTOL se comunica con GoCuotas mediante endpoint / send_code, en donde se envían todos los datos necesarios para generar la venta: el email, dni, area_code (sin "0"), telephone_number (sin "15"), amount_in_cents, number_of_installments, order_reference_id y Authorization: Bearer.
- GoCuotas responde a VTOL con el Message HTTP 201 y el dato del "sale_token" que será el token que representará la nueva venta.
- VTOL le responde al POS el isocode 714 y el responseMessage “Orden creada, ingrese el código de verificación”
- El POS le envía a VTOL el primer QueryWallet con el campo 279: softToken.
- VTOL se comunica con GoCuotas mediante el endpoint / code_verification, en donde le envía los campos sale_token, code y Authorization: Bearer. En este endpoint se envía el código de seguridad “code” que recibió el cliente en su celular para validar su identidad.
- GoCuotas le responde a VTOL con el dato de la tarjeta (card) que contiene los últimos 4 dígitos y el status de la compra. GoCuotas responde con toda la información de la venta generada y con los datos del cliente.
- VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
- El POS le envía a VTOL la segunda QueryWallet con los campos, "6 cardNumber" (dieciséis dígitos de la tarjeta), "8 cvc" (tres dígitos), expirationDate (cuatro dígitos en formato AAMM). También se debe informar el campo "269 WalletType" con GoCuotas.
- VTOL le envía a GoCuotas el requerimiento del cambio de tarjeta mediante el endpoint /cards (este endpoint se utiliza en el caso de que el cliente no tenga ninguna tarjeta cargada en en el sistema de GoCuotas o si es necesario cambiar de tarjeta para realizar el pago).
- GoCuotas le responde a VTOL con los siguientes datos: sale_token, status, last_four_digits, entre otros
- VTOL le responde al POS con el isocode 718 y el responseMessage “Confirma la tarjeta recibida”.
- El POS le envía a VTOL la tercera QueryWallet con el "campo 6: cardNumber" en donde se deben ingresar los cuatro últimos dígitos de la tarjeta para confirma el pago.
- VTOL se comunica con Gocuotas mediante el endpoint / payments. Se valida que se excede el tiempo determinado de 2 minutos para realizar el pago.
- GoCuotas responde "Response message: (confirmed: false....)"
- VTOL responde al POS "Response message: Error 604, No se puede realizar el pago, reinicie la operación"
- Se reitera nuevamente el envío de una orden de venta (transacción SaleWallet) por parte del POS a VTOL.
- VTOL se comunica con GoCuotas mediante el endpoint / send_code, en donde se envían los datos del email, dni, area_code (sin "0"), telephone_number (sin "15"), amount_in_cents, number_of_installments, order_reference_id y Authorization: Bearer.
- GoCuotas responde a VTOL con el Message HTTP 200 (verificar cód de respuesta) y el dato del "sale_token".
- VTOL le responde al POS el isocode 714 y el responseMessage “Orden creada, ingrese el código de verificación”
- El POS le envía a VTOL la cuarta QueryWallet con el campo 279: softToken.
- VTOL se comunica con GoCuotas mediante el enpoint “code_verification”, en donde le envía los campos sale_token, code y Authorization: Bearer.
- El POS le envía a VTOL la quinta QueryWallet enviando el campo 6: cardNumber con los últimos cuatro dígitos de la tarjeta para confirmar el pago.
- VTOL se comunica con Gocuotas mediante al endpoint / payments.
- GoCuotas responde a VTOL con el status aprobado de la transacción y otros datos.
- VTOL le responde a POS con el estado de la transacción aprobada (isoCode "00" y responseMessage "Aprobada")
- Por último, el POS envía el tercer mensaje de “Commit”.
Definición del flujo de la operación RefundWallet:
- El POS le envía a VTOL la operación “RefundWallet” con los campos 271 walletPaymentId, 24 trxId (opcional) y el 12 Ammount. Nota: si la devolución es por el monto total de la compra, se deberá enviar en el campo 12 el importe total. Si el importe que se desea devolver es menor al total de la compra, se deberá enviar el importe en dicho campo, y se refiere a una compra parcial.
- VTOL se comunica con GoCuotas mediante el endpoint / orders para consultar la orden, en donde se envía el saleToken y el Authorization: Bearer.
- GoCuotas responde el código HTTP 200 con el status de la transacción de compra y los datos de la operación.
- VTOL le responde al POS.
- VTOL se comunica con GoCuotas mediante el endpoint / refund para solicitar la devolución total o parcial de una venta. Se envían los parámetros sale_token y el amount_in_cents.
- GoCuotas le responde a VTOL con datos de la transacción del refundWallet. Si la devolución se realiza por el monto total de la compra, entonces en el campo status aparece “denied”. Si el monto es menor que el importe total de la compra entonces aparece “Approved”.
Informações | ||
---|---|---|
| ||
Las devoluciones se deben realizar desde la misma caja donde se realizó la venta original. |
Informações | ||
---|---|---|
| ||
|
Definición del flujo de la operación QueryWallet:
- El POS le envía a VTOL la operación “QueryWallet” con el campo 268: WalletPosTrxId.
- VTOL se comunica con GoCuotas mediante el endpoint / orders, en donde se envía el saleToken y el Authorization: Bearer. Nota: VTOL solo se comunica con GoCuotas si el pago no está aprobado. Si el pago se encuentra aprobado, entonces VTOL le responde automáticamente al POS con la información de la orden aprobada, sin realizar la consulta a GoCuotas.
- GoCuotas responde con el código HTTP 200 y con el status de la solicitud del QueryWallet de la transacción de compra.
- VTOL le responde al POS el estado Aprobada de la operación solicitada (saleWallet o refundWallet).
1.4.29.1 Requerimiento POS - VTOL
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QueryWallet | Descripción |
0 | company | Alfanumérico | X | X | X | Identificador de la compañía donde se generó la transacción |
1 | store | Numérico | X | X | X | Identificador del sitio originador de la transacción |
2 | node | Alfanumérico | X | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
3 | server | Alfanumérico | X | X | X | Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL') |
4 | messageType | Alfanumérico | X | X | X | Tipo de Mensaje:
|
11 | trxType | Alfanumérico | X | X | X | Tipo de 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:
|
14 | payments | Numérico | X | X | - | Cantidad de cuotas seleccionadas al momento de realizar el pago. Valida la cantidad de cuotas ingresadas, solo se admiten los valores 2, 3 y 4. |
16 | originalDate | Numérico | - | X | X | Fecha de realización de la compra con billetera electrónica en formato YYYYMMDD |
25 | dateTime | Numérico | X | X | X | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS |
71 | checkPendingString | Alfanumérico | X | X | X | Indica si VTOL debe o no efectuar el chequeo de pendientes:
|
157 | customerDoc | Numérico | X | - | - | Número de documento del cliente que realiza la consulta. Valida la cantidad de dígitos ingresados, máximo 8 dígitos. |
268 | walletPosTrxId | Alfanumérico | X | X | X | 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: |
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 5: Yacaré 6: Plus Pagos 8: Rappi Payless 10: GoCuotas |
270 | walletPosTicket | Alfanumérico | X | O | - | 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. |
416 | customerPhoneAreaCode | Numérico | X | - | - | Código de área de teléfono celular del cliente. Valida la cantidad de dígitos, máximo 5 dígitos. No se envía el 0 en el código de área. |
417 | customerPhone | Numérico | X | - | - | Teléfono celular del cliente. Valida la cantidad de dígitos ingresados, máximo 9 dígitos. |
418 | customerEmail | Alfanumérico | X | - | - | Mail del cliente. Valida el formato del mail: [email protected] |
Informações | ||
---|---|---|
| ||
Si se realiza un cambio de tarjeta se debe enviar en la segunda QueryWallet de POS a VTOL los campos especificados para la operación SaleWallet y lo siguiente:
|
1.4.29.2 Respuesta VTOL - POS
Informações | ||
---|---|---|
| ||
X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QueryWallet | Descripción |
1 | store | Numérico | X | X | X | Identificador del sitio originador de la transacción |
2 | node | Alfanumérico | X | X | X | Identificación del nodo, en el sitio originador, donde se generó la transacción |
12 | amount | Importe | X | - | X | Monto de la transacción. Valor entero. Los últimos 2 dígitos corresponden a los decimales. |
13 | currencyPosCode | Alfanumérico | X | - | X | Tipos de moneda:
|
14 | payments | Numérico | X | - | X | Cantidad de cuotas seleccionadas al momento de realizar el pago. Solo se admiten los valores 2, 3 y 4. |
24 | trxId | Numérico | X | X | X | Identificador de la transacción |
25 | clientDate | 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 emitido por el centro autorizador. 3 dígitos como máximo. Ver sección Códigos de respuesta VTOL Server para GoCuotas |
28 | responseMessage | Alfanumérico | X | X | X | Mensaje de la Respuesta relacionado con el código del campo 27 |
140 | paymentType | Numérico | X | - | X | Tipo de pago. Valore posible 0: Tarjeta |
166 | trxReferenceNumber | Numérico | 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 | Detalle del estado de la transacción de pago informado por el Autorizador |
275 | cardType | Numérico | X | - | X | Tipo de tarjeta seleccionada al momento de efectuar el pago. Valor posible: |
Â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 |
...
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 detallan las respuestas posibles de VTOL Server, cuando se opera con GoCuotas:
Código | Descripción |
---|---|
503 | Compañia GoCuotas no configurada |
601 | No se pudo crear la orden, reintente operación |
623 | Respuesta GoCuotas inválida, reintente operación |
714 | Orden creada, ingrese el código de verificación |
599 | Error de validación |
540 | Pendiente de pago |
553 | Rechazado |
539 | Devuelto |
717 | Ingrese tarjeta de débito |
718 | Confirma la tarjeta recibida |
77 | ERROR [plan]/CUOTAS |
601 | No se pudo confirmar el código, reintente. |
622 | No se pudo agregar/cambiar la tarjeta, reintente. |
603 | No se pudo realizar el pago, reintente. |
549 | No existe comunicación con GoCuotas |
602 | Devolución rechazada |
604 | No se pudo realizar el pago, reinicie la operación |
Âncora | ||||
---|---|---|---|---|
|
...