...
Fecha | Revisión | Cambios – Motivo |
---|---|---|
06/01/2014 | 1.0 | Creación del documento |
17/08/2015 | 1.1 | Definición de librería como servicio. Explicación de integración |
23/10/2015 | 1.2 | Agregado de Operación Procesar Mensaje Crédito Débito. Incorporación de identificador único de transacción en VTOL Server, campo: 166-trxReferenceNumber |
09/11/2015 | 1.3 | Agregado de campo 1102–Proveedor seleccionado en mensaje Procesar Operación con Tarjeta |
13/05/2016 | 1.4 | Agregado de campo 137–ConfVersion en GetConfiguration, 10–inputMode en Sale/VoidSale/Etc y 1010–currentSessionId en el mensaje Crear sesión |
16/05/2016 | 1.5 | Revisión del documento |
06/06/2016 | 1.6 | Agregado del valor FORCED_CLOSE en el campo 1008–closeSessionAction del mensaje Cerrar Sesión |
14/07/2016 | 1.7 | Agregados los tipos de transacciones ServicePayment y VoidServicePayment |
18/08/2016 | 1.8 | Agregado del anexo "Mecanismo de Autorización Telefónica" |
15/09/2016 | 1.9 | Agregado de campo 57 - Tipo de Cuenta en la respuesta al POS para el procesamiento de operación con tarjeta. |
19/09/2016 | 1.10 | Se modifica la condición del campo 1113 – cardIsDebit. |
21/09/2016 | 1.11 | Posibilidad de recibir desde el POS, el valor que indica la capacidad de captura de la terminal. |
23/09/2016 | 1.12 | Agregado del tipo de operación "Cancelar Lectura de Tarjeta" |
06/10/2016 | 1.13 | Se incorpora definición de timeout de EMVKIT. |
05/04/2017 | 1.14 | Agregado de propiedad approveInSecondInstance en sección de Configuración de PINPAD |
16/05/2017 | 1.15 | Modificación del apartado Mecanismo de Autorización Telefónica |
17/05/2017 | 1.16 | Agregado del valor MSR Chip en campo inputMode |
30/05/2017 | 1.17 | Agregado del apartado "Circuito Operativo de la EMVKIT" |
06/06/2017 | 1.18 | 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 | 1.19 | Agregado del campo promocional en Configuración de POS para indicar que se aplica una promoción sobre un plan de pago |
20/07/2017 | 1.20 | Incorporación del campo opcional 1025 – transactionalControl en la operación "Crear Sesión" |
27/07/2017 | 1.21 | Modificación del apartado "Pre requisitos" |
02/08/2017 | 1.22 | Agregación de campo 22 – authorizationCode en el requerimiento de la operación "Leer Datos de la Tarjeta" |
06/10/2017 | 1.23 | Actualización de la estructura y numeración del documento |
14/11/2017 | 1.24 | Incorporación del apartado "Instalación" |
01/02/2018 | 1.25 | Aclaración sobre requerimiento de software |
23/04/2018 | 1.26 | Revisión general del documento. Agregado de apartado Pagos Parciales. |
13/06/2018 | 1.27 | Agregado de procesamiento de tarjetas de empleados |
12/07/2018 | 1.28 | Agregado de campos 6 - cardNumber, 9 - track2, 66 - track1 y 145 - exceptionBinName en la respuesta de la operación "Procesar Operación con Tarjeta" |
06/08/2018 | 1.29 | Incorporación de la funcionalidad PEI en la mensajería |
17/08/2018 | 1.30 | Agregado de campo 1104 - prefixesList en la respuesta de la operación "Leer Datos de la Tarjeta" |
14/01/2019 | 1.31 | Incorporación de las funcionalidades de impresión de vouchers en la mensajería |
25/01/2019 | 1.32 | Incorporación de la mensajería PEI en las operatorias de "Leer datos de Tarjeta" y "Procesar Operación con Tarjeta" Incorporación de la mensajería QueryPEI con PinPad |
15/02/2019 | 1.33 | Incorporación de la funcionalidad Billeteras Electrónicas QR (Mercado Pago y Todo Pago) |
03/04/2019 | 1.34 | Agregado del campo 0 (compañía) en todos los tipos de transacciones. |
17/05/2019 | 1.35 | Incorporación de la funcionalidad Cuenta DNI y Promociones PEI. |
20/05/2019 | 1.36 | Incorporación de apartado de compatibilidad con VTOL Server. |
02/08/2019 | 1.37 | Incorporación de funcionalidad de Billeteras electrónicas con manejo de cuotas. |
08/08/2019 | 1.38 | Incorporación de funcionalidad Contactless con pinpad de First Data. |
09/08/2019 | 1.39 | Incorporación de apartado para integrar operaciones con tarjetas Contactless. |
24/10/2019 | 1.40 | Agregado del campo 1138 (emvData) en la operatoria "Procesar Operación con Tarjeta". Los datos de este campo retornan al POS para ser impresos en el ticket. |
25/11/2019 | 1.41 | Agregado de anexo 6.10 Vouchers con la especificación de los campos de los comprobantes según los Autorizadores |
27/12/2019 | 1.42 | Actualización del apartado Procedimiento de Instalación |
06/01/2020 | 1.43 | Incorporación de funcionalidad Contactless con pinpad de Prisma. |
10/03/2020 | 1.44 | Incorporación de mensaje de Sincronización de transacciones entre EMVKit y el POS. |
29/04/2020 | 1.45 | Incorporación de la carpeta doc a la instalación |
30/07/2020 | 1.46 | Incorporación de funcionalidad de Billeteras Mercado Pago con retiro de efectivo. |
22/09/2020 | 1.47 | Se actualiza el campo 54 (additionalAmount) como tipo de dato Importe, en la mensajería de Billeteras electrónicas. |
26/11/2020 | 1.48 | Agregado del campo Descripción en Configuración de POS para indicar la descripción sobre un plan de pago. |
11/12/2020 | 1.49 | Incorporación de funcionalidad QR Adquiriente. |
16/12/2020 | 1.50 | Incorporación del campo afApplicationCondition para validar la aplicación de reglas antifraudes por el módulo AF de VTOL. |
05/03/2021 | 1.51 | Se actualiza el nombre y la descripción del campo 406 en la respuesta de la mensajería de QR Adquiriente. |
13/04/2021 | 1.52 | Incorporación de mensaje para Consultar Bines de Excepción |
05/05/2021 | 1.53 | Incorporación de mensaje para Consultar tarjetas de Fidelidad |
11/05/2021 | 1.54 | Se quitan las referencias de la billetera Todo Pago, ya que dicha Billetera está incluida dentro de QR Adquiriente Prisma. |
19/05/2021 | 1.55 | Incorporación de mensajería para Billetera Yacaré. Se incluye dentro del apartado "J. PROCESAR MENSAJE BILLETERAS ELECTRÓNICAS" |
24/06/2021 | 1.56 | Incorporación de Operaciones Contactless con doble interacción. |
Âncora | ||||
---|---|---|---|---|
|
...
VTOL se integra con las siguientes billeteras electrónicas para permitir efectuar pagos en los puntos de venta:
- Mercado Pago: La plataforma de pagos online más importante de América Latina
- Yacaré
Las operaciones soportadas en VTOL Server para Billeteras electrónicas son:
- SaleWallet = Permite realizar una compra presencial con billetera.
- SaleWallet con cashback = Permite realizar una compra presencial y realizar retiro de efectivo. Sólo para billetera Mercado Pago.
- RefundWallet = Permite realizar una devolución (parcial o total) de una compra presencial con billetera realizada con anterioridad.
- QuerySaleWallet 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 de la misma por parte del Autorizador
...
Procedimiento para Mercado Pago y Yacaré
El proceso de pagos 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.
- Recién en ese momento el comprador podrá efectuar la lectura del código QR impreso en la caja mediante su smartphone.
- Mercado PagoLa billetera, con la información de la orden de venta recibida por VTOL, le comunicará a la app de la billetera virtual el importe total y el detalle de los artículos adquiridos.
- El comprador visualizará en su app mobile el detalle de la compra, y efectuará el pago seleccionado el medio de pago (tarjeta, o saldo de Mercado Pago), la tarjeta enrolada (o incorporando una nueva), 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 resultó aprobada por Mercado Pagoel Autorizador.
- Puede darse el caso que VTOL responda "Consulte el pago por tiempo expiradoTiempo expirado. Elija Consultar o Cancelar pago". 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 le da una respuesta automática por timeout. Para conocer el resultado de la operación, el POS deberá realizar una consulta (transacción QuerySaleWalletQueryWallet). Las respuestas del QuerySaleWallet QueryWallet pueden ser las siguientes:
- VTOL responde "Aprobado". Indica que el pago fue autorizado por Mercado Pago. El paso siguiente del POS es confirmar o cancelar la transacción, con un tercer mensajeTercer Mensaje.
- VTOL responde "Pago Rechazado, desea seguir esperando?". Indica que el cliente intentó pagar pero Mercado Pago rechazó y el pago se rechazó, pero a su vez el cliente puede volver a intentar realizar el pago con otra tarjeta u otro medio de pago, por lo cual el POS puede "seguir esperando" para permitirle al cliente intentar pagar nuevamente, y luego el POS deberá enviar un nuevo QuerySaleWalletQueryWallet, o directamente cancelar la operación.
- Puede darse el caso que VTOL responda "Consulte el pago por tiempo expiradoTiempo expirado. Elija Consultar o Cancelar pago". 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 le da una respuesta automática por timeout. Para conocer el resultado de la operación, el POS deberá realizar una consulta (transacción QuerySaleWalletQueryWallet). Las respuestas del QuerySaleWallet QueryWallet pueden ser las siguientes:
- Por último, el POS deberá confirmar la operación, mediante el cierre de sesión (en estado Close).
Para obtener de forma completa todo el detalle de la transacción, posterior venta, el POS deberá enviar de forma automática la transacción QuerySaleWallet QueryWallet.
La anulación, no precisa de interacción por parte del comprador en la caja. Simplemente el POS envía el identificador del número de pago del Autorizador en el mensaje RefundWallet.
...
Informações |
---|
Referencias: X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QuerySaleWalletQueryWallet | Descripción |
---|---|---|---|---|---|---|
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: El importe debe ser el número correspondiente a 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 |
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 |
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. |
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 QuerySaleWalletQueryWallet: 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 3: Yacaré |
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 QuerySaleWalletQueryWallet: 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 Mercado Pago 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.". |
...
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:90000} 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 (QuerySaleWalletQueryWallet): Request: {271:2289999999999999228;269:1;16:20190214;268:11020190514050534;25:20190214050534;11:QuerySaleWalletQueryWallet} |
Estructura del campo posTicket
...
Informações |
---|
Referencias X = Obligatorio |
Número | Nombre del campo | Tipo de dato | SaleWallet | RefundWallet | QuerySaleWalletQueryWallet | 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 |
126 | amountcardNumber | ImporteAlfanumérico | XO | - | 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 |
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 | 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 | XO | - | XO | 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. |
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 |
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 |
272 | amountRefunded | Importe | - | - | X | Monto devuelto en la transacción |
273 | paymentStatus | Alfanumérico | -O | - | X | Estado de la transacción de pago informado por el Autorizador. Estados posibles: 0: Aprobado |
274 | paymentStatusDetail | Alfanumérico | -O | - | X | 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. El campo es opcional en caso de que se haya abonado con saldo de la cuenta de Mercado Pago. Valores posibles: 0: Débito |
1010 | currentSessionId | Numérico | X | X | X | Identificador de la sesión |
1027 | libResponseCode | Numérico | X | X | X | Código de respuesta de la librería. |
1028 | libResponseMessage | Alfanumérico | X | X | X | Mensaje descriptivo del código de respuesta de la librería |
...
Response from VTOL (SaleWallet): Response message: {1:1;2:1;1027:000;1028:Ok;166:14021905052200000204;271:2289999999999999228;1010:1550131493463;22:1234567;24:121;25:20190214050518;26:ISO8583;27:00;28:APROBADA} Response from VTOL (RefundWallet): Response message: {1:1;2:1;1010:1550131493463;1027:000;1028:Ok;25:20190214050543;26:ISO8583;27:509;28:Estado trx original no acepta devolucion} Response from VTOL (QuerySaleWalletQueryWallet): Response message: {1:1;2:1;1027:000;1028:Ok;6:450995xxxxxx3704;140:0;12:53.0;13:$;14:1;142:visa;271:2289999999999999228;272:0.0;273:0;274:accredited;1010:1550131493463;275:1;22:1234567;24:121;25:20190214050534;26:ISO8583;27:00;28:APROBADA} |
...
Nota | ||
---|---|---|
| ||
Si la respuesta de un mensaje QuerySaleWallet QueryWallet retorna con código 514 ("Tiempo expirado. Elija Consultar o Cancelar pago") el POS al aplicar la acción "Cancelar pago" sobre dicho mensaje, deberá enviar un mensaje de sincronización a EMVKit, sin incluir el id de transacción de la operación saleWallet. De esa manera EMVKit podrá sincronizar contra VTOL Server y este enviará una cancelación de la orden de compra contra la billetera virtual que se esté operando. Ver mensaje de sincronización de transacciones |
...
Response from Full library: |
Âncora | ||||
---|---|---|---|---|
|
Mensajería que permite realizar operaciones con tarjetas Contactless, leídas por el pinpad de First Data o de Prisma. Admás Además será posible operar con cualquier modo de ingreso: Manual, Banda, Chip y Contactless.
...
Nota | ||
---|---|---|
| ||
Si la respuesta de un mensaje QuerySaleWallet QueryWallet retorna con código 514 ("Tiempo expirado. Elija Consultar o Cancelar pago") el POS al aplicar la acción "Cancelar pago" sobre dicho mensaje, deberá enviar un mensaje de sincronización a EMVKit, sin incluir el id de transacción de la operación saleWallet. De esa manera EMVKit podrá sincronizar contra VTOL Server y este enviará una cancelación de la orden de compra contra la billetera virtual que se esté operando. Ver mensaje de sincronización de transacciones |
...
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 |
3 | server | Alfanumérico | X | Identificador del Server que procesará la transacción. (en el caso de VTOL será 'VTOL') |
4 | messageType | Alfanumérico | X | Tipo de Mensaje:
|
11 | trxType | Alfanumérico | X | Tipo de Transacción:
|
25 | dateTime | Numérico | X | Fecha y hora de realización de la transacción en formato: YYYYMMDDHHMMSS |
269 | walletType | Numérico | X | Tipo de billetera por la cual se realizará la consulta. Opciones: 2: Adquiriente Prisma |
408 | loyaltyCard | Numérico | X | Tipo de tarjeta de fidelidad que se quiere consultar. Opciones: 1: Clarín 365 |
157 | customerDoc | Numérico | X | Número de documento del cliente que realiza la consulta. |
Ejemplo
...
de requerimiento
Request: {157:11111111;408:1;269:2;11:CardQuery;4:DATA;3:VTOL;2:1;25:20210503192959;71:True;1:1;0:1} |
...
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: {25:20210503193023;2:1;1:1;0:1;6:44123456789010;292:Juan;293:Perez;409:CLASSIC;26:ISO8583;27:00;28:APROBADA} |
...
...
R.
...
Permite cerrar la sesión entre la aplicación de punto de venta y EMVKIT.
Internamente EMVKIT se sincroniza con VTOL Server, confirmando o cancelando las transacciones procesadas dentro de la sesión.
...
Procesar Tarjeta Contactless doble interacción
Mensajería que permite realizar operaciones con tarjetas Contactless, leídas por el pinpad de First Data o de Prisma. Admás será posible operar con cualquier modo de ingreso: Manual, Banda, Chip y Contactless.
Esta operatoria será con doble interacción que realizará el POS con EMVKit. En la respuesta de la primer interacción, el POS obtendrá la información de la tarjeta que leyó el pinpad, y en la respuesta de la segunda interacción, se obtendrá el resultado final de la operación, si el Adquiriente la aprobó o la rechazó.
En esta operatoria, el cliente realiza un único "tapeo" sobre el pinpad.
Las operaciones con lectura Contactless, únicamente se podrán operar con los siguientes Pinpad:
- First Data: firmware A809R02 o superior.
- Prisma: firmware 319B19 o superior.
Informações | ||
---|---|---|
| ||
Ver el detalle de la configuración de Driver en el apartado Integración Contactless |
Leer Datos de la Tarjeta
Requerimiento
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashback | Descripción |
---|---|---|---|---|---|---|---|---|
10 | inputMode | Alfanumérico | X | X | X | X | X | Forma en que se ingresará la tarjeta. Valores posibles:
|
11 | trxType | Alfanumérico | X | X | X | X | X | Tipo de Transacción:
|
12 | amount | Numérico | X | X | X | X | X | Monto original de la transacción (sin aplicar intereses, ni descuentos). 12 dígitos como máximo. Número entero. Los dos últimos dígitos representan los decimales. Ej: 1000 equivale a 10.00 |
17 | originalTrxTicketNr | Numérico | - | O | X | - | - | Este campo debe viajar si el tipo de transacción es Refund y es opcional cuando el tipo de transacción es VoidSale. Se trata del número de ticket de la transacción original. 4 dígitos como máximo |
24 | lastTrxId | Numérico | O | O | O | O | O | Utilizado cuando está activo el control transaccional. En este campo el POS debe enviar la última transacción procesada correctamente.(Si el POS tuvo algún problema con la transacción previa no debería enviar su trxId en este campo) |
25 | dateTime | Numérico | X | X | X | X | X | Fecha y hora de realización de la transacción, en formato: YYYYMMDDHHMMSS |
54 | additionalAmount | Alfanumérico | O | - | - | - | X | Contiene el Importe del "Cash Back". En caso de realizar retiro de efectivo, se debe informar este campo en el primer Sale. Número entero. 12 dígitos como máximo. Los últimos dos representan los decimales. |
Nota |
---|
Los valores de Compañía, Tienda y Caja serán obtenidos de la Sesión. |
Manejo de errores:
- Si la lectura de la tarjeta se realiza por un modo de ingreso diferente de CONTACTLESS, EMVKit retornará el siguiente error: código 729 - "Reintente otro modo de ingreso". En caso de que la tarjeta deba ser leída por un modo diferente de Contactless, se deberá enviar un nuevo "Sale" pero sin enviar el campo 10 (inputMode). De esa manera se podrá operar con el resto de los modos de ingreso.
- Si Emvkit retorna que el ruteo es para un Host distinto al del proveedor del pinpad, retornará el siguiente error: código 729 - "Reintente otro modo de ingreso"
Ejemplos de requerimiento:
Sale: Request: {12:1500;11:Sale;10:Contactless;2:1;25:20210623112355;1:1;0:1}} VoidSale: Request: {12:1500;11:VoidSale;10:Contactless;2:1;25:20210623112607;1:1;0:1} Refund: Request: {17:35;16:20210623;12:1500;11:Refund;10:Contactless;2:1;25:20210623112452;1:1;0:1} VoidRefund: Request: {12:1500;11:VoidRefund;10:Contactless;2:1;25:20210623112531;1:1;0:1} |
Respuesta
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashback | Descripción |
---|---|---|---|---|---|---|---|---|
10 | inputMode | Alfanumérico | X | X | X | X | X | Forma en que se ingresó/leyó la tarjeta. Valores posibles:
Si la tarjeta se lee por un modo de ingreso distinto de Contactless, se responderá el siguiente error: código 729 - "Reintente otro modo de ingreso". En caso de que la tarjeta deba ser leída por un modo diferente de Contactless, se deberá enviar un nuevo "Sale" pero sin enviar el campo 10 (inputMode). De esa manera se podrá operar con el resto de los modos de ingreso. |
1010 | currentSessionId | Numérico | X | X | X | X | X | Identificador de la sesión actual |
1027 | libResponseCode | Numérico | X | X | X | X | X | Código de respuesta de la librería. Indica cómo fue procesada la operación en EMVKIT: Éxito = 000 Ver sección Códigos de Respuesta de Librería |
1028 | libResponseMessage | Alfanumérico | X | X | X | X | X | Mensaje descriptivo del código de respuesta de la librería |
1102 | providers | Lista | X | X | X | X | X | Lista de proveedores/tarjetas que coinciden con la tarjeta ingresada en el PINPAD. Esta lista deberá ser utilizada para seleccionar la tarjeta manualmente en el POS. |
1103 | cardContextId | Numérico | X | X | X | X | X | Identifica el contexto de la tarjeta. Es un valor de referencia a la tarjeta leída a través del PINPAD. Debe ser enviado en la siguiente llamada “Procesar Operación con Tarjeta” |
1104 | prefixesList | Lista | X | X | X | X | X | Lista que informa el/los prefijo/s, proveedor/es, si se admite cashback, el límite del monto cashback, si se permite operar offline y el límite del monto para operar offline de la tarjeta ingresada en el pinpad. Tener en cuenta que los últimos dos dígitos de los campos límite del monto cashback y límite del monto para operar offline corresponden a decimales |
1105 | panFirstDigit | Numérico | X | X | X | X | X | Primero 6 dígitos de la tarjeta. Si la tarjeta está dentro de los bines de excepción se devuelve el número entero. |
1106 | panLastDigit | Numérico | X | X | X | X | X | Últimos 4 dígitos de la tarjeta. Si la tarjeta está dentro de los bines de excepción se devuelve el número entero. |
1107 | pan | Alfanumérico | X | X | X | X | X | Valor de la tarjeta enmascarado según normas PCI. |
1108 | isExceptionBin | Numérico | X | X | X | X | X | Flag que indica si se trata de un BIN de excepción (1) o si no lo es (0). |
1109 | ExceptionBinName | Alfanumérico | O | O | O | O | O | Si isExceptionBin = 1 entonces indica el nombre del bin de excepción. |
1112 | CardHolderName | Alfanumérico | O | O | O | O | O | Valor devuelto por el PINPAD. Nombre del titular de la tarjeta. |
1113 | cardIsDebit | Numérico | O | O | O | O | O | Si existe un único provider. Flag que indica si es una tarjeta de débito (1) o de crédito (0 o no viaja). |
1114 | bankCode | Numérico | O | O | O | O | O | Código de banco si es una tarjeta Master. |
1115 | serviceCode | Numérico | O | O | O | O | O | Código de servicio devuelto por el PINPAD, siempre que no sea ingreso manual. |
1116 | recordNumber | Numérico | O | O | O | O | O | Número de registro donde se almacena la transacción en el PINPAD. |
Ejemplos de respuesta:
Sale: Response message: {1027:000;1028:Ok;10:Contactless;1102:{MC};1103:20210623112412607;1104:[{"start"\:"51"\,"end"\:"56"\,"provider"\:"MC"\,"cashBackAllowed"\:1\,"cashBackAmountLimit"\:"null"\,"offLineAllowed"\:1\,"offlineAmountLimit"\:"999999900"}];1105:550568;1106:5290;1010:1624458231837;1107:550568******5290;1108:0;1113:0;1114:027;1115: ;1116:000001} VoidSale: Response message: {1027:000;1028:Ok;10:Contactless;1102:{MC};1103:20210623112622755;1104:[{"start"\:"51"\,"end"\:"56"\,"provider"\:"MC"\,"cashBackAllowed"\:1\,"cashBackAmountLimit"\:"null"\,"offLineAllowed"\:1\,"offlineAmountLimit"\:"999999900"}];1105:550568;1106:5290;1010:1624458362500;1107:550568******5290;1108:0;1113:0;1114:027;1115: ;1116:000001} Refund: Response message: {1027:000;1028:Ok;10:Contactless;1102:{MC};1103:20210623112513585;1104:[{"start"\:"51"\,"end"\:"56"\,"provider"\:"MC"\,"cashBackAllowed"\:1\,"cashBackAmountLimit"\:"null"\,"offLineAllowed"\:1\,"offlineAmountLimit"\:"999999900"}];1105:550568;1106:5290;1010:1624458290353;1107:550568******5290;1108:0;1113:0;1114:027;1115: ;1116:000001} VoidRefund: Response message: {1027:000;1028:Ok;10:Contactless;1102:{MC};1103:20210623112550840;1104:[{"start"\:"51"\,"end"\:"56"\,"provider"\:"MC"\,"cashBackAllowed"\:1\,"cashBackAmountLimit"\:"null"\,"offLineAllowed"\:1\,"offlineAmountLimit"\:"999999900"}];1105:550568;1106:5290;1010:1624458329282;1107:550568******5290;1108:0;1113:0;1114:027;1115: ;1116:000001} |
Procesar Operación con Tarjeta
Requerimiento
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashback | Descripción |
---|---|---|---|---|---|---|---|---|
11 | trxType | Alfanumérico | X | X | X | X | X | Tipo de Transacción:
|
12 | amount | Importe | X | X | X | X | X | Monto de la transacción, con intereses o descuentos aplicado. 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 |
13 | currencyPosCode | Alfanumérico | X | X | X | X | X | Tipos de Moneda:
|
14 | payments | Numérico | X | X | X | X | X | Cantidad de cuotas. 2 dígitos como máximo. Si no tiene cuotas, el valor por defecto es 1. |
15 | plan | Alfanumérico | X | X | X | X | X | Plan. 1 caracter de longitud |
16 | originalDate | Fecha | - | - | X | - | - | Este campo debe viajar si el tipo de transacción es Refund. Se trata de la fecha de la transacción original en el formato YYYYMMDD |
17 | originalTrxTicketNr | Numérico | - | O | X | - | - | Este campo debe viajar si el tipo de transacción es Refund y es opcional cuando el tipo de transacción es VoidSale. Se trata del número de ticket de la transacción original. 4 dígitos como máximo. |
25 | dateTime | Numérico | X | X | X | X | X | Fecha y hora de realización de la transacción en formato YYYYMMDDHHMMSS |
54 | additionalAmount | Alfanumérico | O | - | - | - | X | Contiene el Importe del "Cash Back". En caso de realizar retiro de efectivo, se debe informar el mismo valor que se informó en el primer Sale . Debe contener 12 dígitos como máximo. |
73 | interestAmount | Alfanumérico | O | O | O | O | O | Este campo es por si se necesita enviar el monto de los intereses en el mensaje a Autorizar. Normalmente el monto que llega del POS ya contiene los intereses en el caso de pagar en cuotas. Existe algún caso de alguna tarjeta especial donde el monto hay que enviarlo libre de intereses y justamente el monto de los intereses viaja en este campo. |
1102 | provider | Alfanumérico | X | X | X | X | X | Proveedor/tarjeta seleccionada manualmente de la lista devuelta por la librería en la operación Leer Datos de la Tarjeta. Por Ejemplo: Si la operación Leer Datos de Tarjeta retorna la lista {VI, EL}, en la operación Procesar Operación con Tarjeta se debe enviar el valor seleccionado entre las dos opciones VI o EL. |
1103 | cardContextId | Numérico | X | X | X | X | X | Identifica el contexto de la tarjeta. Es un valor de referencia a la tarjeta leída a través del PINPAD. Es el valor devuelto por la última operación "Leer Datos Tarjeta" |
Nota |
---|
Los valores de Compañía, Tienda y Caja serán obtenidos de la Sesión. |
Ejemplos de requerimiento:
Sale: Request: {1103:20210623112412607;1102:MC;201:[trxNumber\|valor\,zetaNumber\|valor\,accountingDate\|valor];15:0;14:1;13:$;12:10000;11:Sale;2:1;25:20210623112419;1:1;0:1} VoidSale: Request: {1103:20210623112622755;1102:MC;201:[trxNumber\|valor\,zetaNumber\|valor\,accountingDate\|valor];15:0;14:1;13:$;12:10000;11:VoidSale;2:1;25:20210623112625;1:1;0:1} Refund: Request: {1103:20210623112513585;1102:MC;201:[trxNumber\|valor\,zetaNumber\|valor\,accountingDate\|valor];17:35;16:20210623;15:0;14:1;13:$;12:10000;11:Refund;2:1;25:20210623112516;1:1;0:1} VoidRefund: Request: {1103:20210623112550840;1102:MC;201:[trxNumber\|valor\,zetaNumber\|valor\,accountingDate\|valor];15:0;14:1;13:$;12:10000;11:VoidRefund;2:1;25:20210623112553;1:1;0:1} |
Respuesta
Número | Nombre del campo | Tipo de dato | Sale | VoidSale | Refund | VoidRefund | SaleCashback | Descripción |
---|---|---|---|---|---|---|---|---|
10 | inputMode | Alfanumérico | X | X | X | X | X | Forma en que se ingresó/leyó la tarjeta. Valores posibles:
|
22 | authorizationCode | Alfanumérico | O | O | O | O | O | Código de autorización generado por el centro autorizador para la transacción cuando la transacción fue aprobada. |
23 | authorizationMode | Alfanumérico | X | X | X | X | X | Modo de Autorización:
|
24 | lastTrxId | Numérico | X | X | X | X | X | Id de transacción en VTOL Server. La misma queda en estado pendiente y debe ser confirmada o cancelada cuando se cierra la sesión con EMVKIT |
25 | dateTime | Numérico | X | X | 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 | X | X | Puede contener uno de los siguientes valores:
|
27 | isoCode | Numérico | X | X | X | X | X | Código de Respuesta ISO-8583 emitido por el centro autorizador. 2 dígitos como máximo. Ver sección Códigos de Respuesta de VTOL Server |
28 | responseMessage | Alfanumérico | X | X | X | X | X | Mensaje de la Respuesta ISO-8583 relacionado con el código del campo 27 |
29 | serialNumber | Numérico | X | X | X | X | X | Número que identifica la terminal lógica en la que se procesó la transacción. |
30 | businessNumber | Numérico | X | X | X | X | X | Número de comercio en el que se procesó la transacción |
31 | lotNumber | Numérico | X | X | X | X | X | Número de lote en el que se registró la transacción |
32 | ticket | Numérico | O | O | O | O | O | Número de Ticket correspondiente a la transacción. 4 dígitos como máximo |
33 | creditCardIssuerName | Alfanumérico | O | O | O | O | O | Nombre del Centro emisor de la tarjeta |
34 | hostName | Alfanumérico | O | O | O | O | O | Nombre del canal por el cual se autorizó la tarjeta |
35 | errorDescription | Alfanumérico | O | O | O | O | O | Descripción de error. Sólo se encuentra presente si el valor del campo 26 es “Error” |
42 | lotDefinitionId | Numérico | X | X | X | X | X | Identificador de la definición de lote |
57 | accountType | Alfanumérico | O | O | O | O | O | Campo que se emplea para identificar el tipo de cuenta. Se usa para tarjetas de débito. Los valores posibles son:
|
58 | workingKey | Alfanumérico | O | O | O | O | O | VTOL devuelve este campo tal como lo entrega el Centro Autorizador. Representa la llave que el PINPAD deberá usar para generar el PINBLOCK en la próxima transacción |
68 | rrn | Numérico | O | O | O | O | O | Número de referencia de recuperación |
75 | accountNumber | Numérico | O | O | O | O | O | Número de cuenta. Este campo es devuelto si el campo 74- requestAccountNumber fue activado en el requerimiento |
81 | responseAuth | Alfanumérico | O | O | O | O | O | Mensaje de repuesta para ser mostrado en el display del POS donde se indican promociones. También es utilizado en la operación de Cash Back, cuando el autorizador responde con código de respuesta 98. En este campo se informará el importe máximo que puede solicitarse |
82 | softwareVersion | Alfanumérico | O | O | O | O | O | Versión de la aplicación |
166 | trxReferenceNumber | Numérico | X | X | 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. |
1010 | currentSessionId | Numérico | X | X | X | X | X | Identificador de la sesión actual |
1027 | libResponseCode | Numérico | X | X | X | X | X | Código de respuesta de la librería. Indica cómo fue procesada la operación en EMVKIT: Éxito = 000 Error <> 000 Ver sección Códigos de Respuesta de Librería |
1028 | libResponseMessage | Alfanumérico | X | X | X | X | X | Mensaje descriptivo del código de respuesta de la librería |
1110 | pinpadApplicationId | Alfanumérico | X | X | X | X | X | Identificador de la Aplicación del PINPAD. |
1111 | pinpadApplicationName | Alfanumérico | X | X | X | X | X | Nombre de la Aplicación del PINPAD. |
1112 | cardHolderName | Alfanumérico | O | O | O | O | O | Nombre del titular de la tarjeta si el track I está presente y la lectura fue por banda. |
280 | clientCopyVoucher | Alfanumérico | X | X | X | X | X | Campo para imprimir copia al cliente. Valores posibles: False: imprimir copia al cliente sin consultarlo. |
281 | requiresSignature | Alfanumérico | X | X | X | X | X | Campo para solicitar firma al cliente. Valores posibles: False: no requerido |
Ejemplos de respuesta:
Sale: Response message: {0:1;1:1;2:1;1027:000;1028:Ok;68:000073;6:550568******5290;10:Contactless;1103:20210623112412607;82:STS;1107:550568******5290;22:549772;1110:A0000000041010;23:onLine;1111:MasterCard;280:true;24:232;281:false;25:20210623112419;26:ISO8583;27:00;28:APROBADA;29:06000307;30:00000013;31:1;32:35;33:Master Card;34:Posnet;166:23062111242100000287;42:3;110:false;1010:1624458231837;59:0} VoidSale: Response message: {0:1;1:1;2:1;1027:000;1028:Ok;68:000076;10:Contactless;1103:20210623112622755;82:STS;1107:550568******5290;22:580976;1110:A0000000041010;23:onLine;1111:MasterCard;280:true;24:235;281:false;25:20210623112625;26:ISO8583;27:00;28:APROBADA;29:06000307;30:00000013;31:1;32:38;33:Master Card;34:Posnet;166:23062111262600000290;42:3;110:false;1010:1624458362500;59:0} Refund: Response message: {0:1;1:1;2:1;1027:000;1028:Ok;68:000074;10:Contactless;1103:20210623112513585;82:STS;1107:550568******5290;22:586011;1110:A0000000041010;23:onLine;1111:MasterCard;280:true;24:233;281:false;25:20210623112516;26:ISO8583;27:00;28:APROBADA;29:06000307;30:00000013;31:1;32:36;33:Master Card;34:Posnet;166:23062111252100000288;42:3;110:false;1010:1624458290353;59:0} VoidRefund: Response message: {0:1;1:1;2:1;1027:000;1028:Ok;68:000075;10:Contactless;1103:20210623112550840;82:STS;1107:550568******5290;22:514191;1110:A0000000041010;23:onLine;1111:MasterCard;280:true;24:234;281:false;25:20210623112553;26:ISO8583;27:00;28:APROBADA;29:06000307;30:00000013;31:1;32:37;33:Master Card;34:Posnet;166:23062111255400000289;42:3;110:false;1010:1624458329282;59:0} |
Diagrama de secuencia - Pinpad de FirstData
Âncora | ||||
---|---|---|---|---|
|
Permite cerrar la sesión entre la aplicación de punto de venta y EMVKIT.
Internamente EMVKIT se sincroniza con VTOL Server, confirmando o cancelando las transacciones procesadas dentro de la sesión.
Aviso |
---|
Es importante que, una vez finalizada la transacción de pago en la aplicación de punto de venta, se realice el cierre de la sesión con EMVKIT indicando las transacciones a confirmar. |
...
Aviso | ||
---|---|---|
| ||
Únicamente se podrá operar con los siguientes Pinpad:
|
...
|
El sistema POS podrá integrar operaciones con tarjetas Contactless, será imprescindible que el sistema POS implemente lo siguientede dos formas posibles:
5.4.1 Interacción única
Sólo existirá una única interacción entre el POS e EMVKit. Será la única manera de operar con tarjetas Contactless. Ver mensajería
...
En este tipo de implementación, EMVKit activará el pinpad con todos los modos de ingreso posibles, pudiendo operar MSR, CHIP, Manual o Contactless.
Luego de realizar la lectura de la tarjeta por el pinpad (puede ser en cualquier modo, incluyendo Contactless), se realizarán las evaluaciones correspondientes con el prefijo, ruteo de la transacción y no volverá interactuar nuevamente con el pinpad ni con el POS. En la respuesta de EMVKit al POS se obtendrá el resultado final de la operación.
Limitantes:
- En caso de querer operar con Cashback, dicho monto debe enviarse sin conocer si la tarjeta lo tiene habilitado y sin conocer los límites permitidos.
- Si el POS no envía todos los campos de la operación en la primer interacción, EMVKit manejará doble interacción con el POS (flujo tradicional: lectura y procesamiento), pero no se podrá utilizar lectura Contactless.
5.4.2 INTERACCIÓN DOBLE CON EL POS
En los casos de doble interacción, el POS deberá enviar en la primer interacción el importe de la operación y pudiendo o no enviar el importe de cashback. Luego en la segunda interacción, el importe de la operación podrá ser modificado, debido a la aplicación de descuentos o intereses sobre cuotas.
En este tipo de implementación, si se envían los montos en la primer interacción, EmvKit activará el pinpad con todos los modos de ingreso posibles, pudiendo operar MSR, CHIP, Manual o Contactless.Luego de realizar la lectura de la tarjeta por el pinpad (puede ser en cualquier modo, incluyendo Contactless), se realizarán las evaluaciones correspondientes con el prefijo, ruteo de la transacción y no volverá interactuar nuevamente con el pinpad ni con el POS. En la respuesta de EMVKit al POS se obtendrá el resultado final de la operación.
Si el POS envía el monto cashback en la primer interacción, deberá enviar el mismo monto cashback en la segunda interacción, caso contrario EMVKit rechazará la transacción. Si el POS no envía el monto cashback en la primer interacción, y el modo de ingreso es distinto de Contactless, EMVKit permitirá ingresar un monto cashback en la segunda interacción, validando los límites del mismo.
Si el POS no envía los montos de la operación en la primer interacción, no se podrá utilizar lectura Contactless, pero a su vez se podrá utilizar el resto de los modos de ingreso, donde EMVKit manejará doble interacción (flujo tradicional: lectura y procesamiento).
Limitantes:
- En caso de querer operar con
...
- cashback, dicho monto debe enviarse sin conocer si la tarjeta lo tiene habilitado y sin conocer los límites permitidos.
- En caso de querer operar con cashback, dicho monto debe enviarse igual en las dos interacciones. Si
...
- EMVKIT responde que el monto cashback excede el límite, se rechazará la operación y se deberá iniciar nuevamente con el monto correcto.
Nota | ||
---|---|---|
| ||
En las transacciones con lectura Contactless con pinpad de First Data, EMVKit responderá al POS campos con información sobre la impresión de copia del cliente y la firma del cliente. Dichos campos son: clientCopyVoucher y requiresSignature clientCopyVoucher (Consulta por copia para cliente) Si el valor es "false", imprimir copia al cliente sin consultarlo. Si el valor es "true", consultar al cliente si quiere copia del voucher. requiresSignature (Solicita firma del cliente en el ticket) Si el valor es "false", no se deberá solicitar firma del cliente. Si el valor es "true", se deberá solicitar firma al cliente. El manejo de los resultado de estos campos, para la utilización de impresión de voucher por parte del pinpad de First Data, queda bajo responsabilidad del sistema del de POS. |
Âncora | ||||
---|---|---|---|---|
|
...
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 |
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 | Devuelto |
540 | Pendiente |
541 | Autorizado |
542 | En Progreso |
543 | En mediacion |
544 | Rechazado |
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 por parte de Prisma |
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 | No existe la compra que se desea anular |
585El | originante no es válido 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 |
598 | Las cuotas del pago ya fueron informadas |
650 | Importe de devolución de cashout invalido |
651 | Importe de cashout invalido |
652 | Medio de pago inválido |
733 | La transacción no corresponde a una operación de Billeteras Electrónicas |
734 | No es posible cancelar la transacción informada |
...
- La transacción se cae por tiempo expirado, el POS ejecuta un QuerySaleWallet QueryWallet para consultar el estado.
- Apertura de sesión.
- SaleWallet
- Rta: Consulte pago por tiempo expirado - 24:trxid 7
- QuerySaleWallet QueryWallet - 24:trxid 7 (transacción de la venta original)
- Rta: 27:516 28:Pago aún no realizado, desea seguir esperando? - 24:trxid 7
- QuerySaleWallet QueryWallet - 24:trxid 7 (transacción de la venta original)
- Rta: Pago Aprobado - 24:trxid 7
- SaleWallet
- Cierre de sesión: Se cierra sesión en estado Close. En el campo 1009 (closeTrxIdList) se envían las operaciones aprobadas (iii). 1009:7
- Apertura de sesión.
El cliente confirma el pago desde la app de su celular, pero después le indica al cajero que quiere cancelar la operación.
create session
SaleWallet
Rta: Pago Aprobado - 24:trxid 8
QuerySaleWallet QueryWallet - 24:trxid 8 (transacción de la venta original)
Rta: 27:00 28:Aprobada - 24:trxid 8
SI EL CLIENTE DECIDE CANCELAR LA COMPRA, EL POS DEBERÁ GENERAR UN refundWallet
CloseSession en estado CLOSE (1009:8). En el campo 1009 (closeTrxIdList) se envían las operaciones aprobadas (i).
...