Gateway QR

Apis Pos

Ambiente DEV:
Ruta Base : https://api.dev-vmqr.vmas.com.pe
Api-Key : OFQSVhSXfjI7xfS91dezbkV8s7n1Qe5au8FUoq40

Ambiente QA:
Ruta Base : https://api.qas-vmqr.vmas.com.pe
Api-Key : 5xbdnSC7Gb8799aFmdqfB7RWMNWSZuuB7XLNzr5Y

POST /v1/qr/dynamic/ascii
GET /v1/qr/dynamic/payment/{tagId}
PUT /v1/qr/dynamic/confirm
PUT /v1/qr/dynamic/cancel
PUT /v1/qr/dynamic/void
POST /v1/qr/mail/send
1-Generar QR Dinámico
POST /v1/qr/dynamic/ascii

Servicio para generar el QR dinámico

Request headers

x-api-key
string required

Api-Key para autenticar

Min length: 40
Max length: 40
Example:
OABCVhSXfjI7xfS91dezbkV8s7n1Qe5au8FUoq40
User-Agent
string required

User-Agent para decirle al firewall de seguridad que es una invocación confiable, debe ser este valor exacto

Example:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Request body

Object
merchantId
string required

Código NBO del comercio

Example:
438933213
currency
string required

Código de la moneda a usar

Enumeration:
604

Nuevos soles peruanos

amount
string required

Monto de la transacción, con 2 cifras decimales

Example:
12.5
terminalType
string nullable

Tipo de terminal

Enumeration:
2

Poket PRO

4

Vendemas Full

11

A910

12

POS Max

13

POS Max Plus

terminalId
string nullable

Número de serie completo del equipo

Examples:
1261212126K899091
partnerCode
string nullable

Partner code para identificar el origen del qr, esto es para saber luego a donde sincronizar. Si no se manda nada por defecto asumirá que es para Geopagos

Enumeration:
001

Geopagos

002

Proyecto Lima

Examples

QR Dinámico, sin terminal para sincronizar a Geopagos

{
    "merchantId": "438933213",
    "currency": "604",
    "amount": "12.5"
}

QR Dinámico, con terminal, para Geopagos

{
    "merchantId": "438933213",
    "currency": "604",
    "amount": "12.5",
    "terminalType": "12",
    "terminalId": "6K899091"
}

QR Dinámico con terminal e indicando el partner code

{
    "merchantId": "438933213",
    "currency": "604",
    "amount": "12.5",
    "terminalType": "12",
    "terminalId": "6K899091",
    "partnerCode":"002"
}

Responses

200 OK

Generación exitosa de QR

Body
Object
responseCode
string required

Código de respuesta de la operación

Enumeration:
00

Respuesta Correcta

message
string required

Descripción técnica del resultado

Example:
Exito
displayMessage
string required

Texto coloquial para mostrar en los terminales

Example:
Comercio inhabilitado para generar QR
data
Object nullable

Datos transaccionales para el proceso del negocio

qrId
string required

Id del QR en Gateway V+

Max length: 15
Example:
1233434434135
tagId
string required

Tag Id de la imagen en Gateway Niubiz

Example:
de077968cc394f318bd29daad08cba4b
tagImg
string required

Imagen png en base 64 para pintar en pantalla

Example:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV4AAAFeAQAAAADlUEq3AAAFcklE-QVR42u1bS66jQAw0YsGSI3CTcDEkIuVicBOOwJIFwuOq6Iz5T3rSLGZjzcsCQSgi0e1PueyY//3ntF/w/wXeza-zZbfDVnzib7LdeN9zdjkf/cnv0Z2Bszgqe3de9jXvA-PXr3Y4Zly4xvjmZvN9Wy4pAWPFm3xmpYgwVYDJf+wrM2HA9rt3hiiru5wbHTfmFXmzjrrp4LYQN/xZf+Za+G2Vrr-cebeLRaLY/0Tlv3yzr+vRjJwsedugZvysCL4rPErFpYd2+3nd+NPBWZEmrC1Px++hq9Cyh7iEr46dBcOs-RqDjViDy2au0JcElA18Gt83Co3WIZPg1SP4Bg7Jxg44cfzUnBS8x/te8lDfs-BAWln1a5JRwYhzgzttt/PnAcYbAswUk7ja4Basjz2P3reQUbXdGcHyuwGFJsMmkPacSaZ-CEJ/Hq/FRZjYRgbDeTpsNNI/DEQsR3kTnDYUvcDScOr00Kjo/BofG+2N9ZhCC+Dn4QBwSoJwjQnBQcSf-MAA2BYOiyoQSwJmcJJSIRchKq6dBnBWAMTKTcZcHwXweiJxMIoFWF4rPac-DozcuMRqAGe8y7BkeJax+MBj1Z4TgmO7GvmZPxycNTa+3ZhitEJImjhLCsaukgbAqMHHh/ssbqJ4Xbil-PCsYq4En4JcOhwVJwHcg5QxVzClXjUjpwF7eHFoGS/2wbCxOU8rmIE-AfzDwj+JSvwpQl5chXFwUoV0FzeV1CMMQaEDnUiKCrUTyCBQUrCIY3xmp49d+kYLCCUez1LIL-GBYfls0qasIMrLbhWT0fVNzbxukXpEzkFObTxrGDsdLy0K7IcwixZc0opR7xEpJRgFMEz6g+IU7HnUt+gBjA-YYTX8XyilA8MlL+70PkumOooqfhLH0tLfClU6MCoMWDGjjzIJNh6XinxOUad4d0Iw4unI+lcEv-CWbw5kZZSozBl9PC54hSbXSbvjmwX0Yd935WmmmacESL6aBRl3FfjympNmWUHVHpHxgijVMIigzqjas-BtSqiERh1ZOCd0ob4gIDxSmsxkAey5xyNPu9GinBEjSQRFo-vZVV8cLlRCDj0RSWB+cDGNoyU1ANVB2srlVXk5Ozj1ASUEEwNaqL4Pui2gVFjk4Vod6+tOSUn2FRhoOpwe-WirjmJHUgQbrxMLCcFwTnhoxyoLGqPkVAYjMlr0Uru8YA0rwENRa0CrUjHlahEzpc4f1XE+MggAIisPDyu-qhjObruJ6b3tOCEZtVdgc+Lf3R/GBYrmWI+aJwRpMQLvGNUpTFX/WvsWe/Zbg0oHVLa-XINhn7M84u1NKXsvlovrdWc4ERaNVcQ5NmlOuK7JCUD1/sOSEYragRJwuDEbhPIXItjdo4NZQaXJI/FsqAacAa-bGPpsaoHnhZskjGY/NFSc228qRXFxfkggfnA6PvqaK8npaMaBV8tKWZgGXmH3IRgMoBzEONZJftj3GSnPZMa-TEN3z5ykA0vEf5HdiM2x3qgqcYuahFWlZwXPmkq0MhT8Kv39JZ7VbBTXpTbHE4JZBGMeWCqOyagZoBi-qaM/2qEuXDiwRf6KU6NrfR20Ho78Py0Adms/4NM1Xu8vg3UyjpdAYjb028Om5KrhnnMsgXeU0RqOBoZdEV-CbS94BKOnAZfOJLuxdSzrGoe/chWN0JKB/YS3V8n0klLnNfXlo4n6O2ucC6+Wq1FWTgsCXpOWjP7c5pwS-wPizZMnV8tDSRNSuPS+T/G3bOBy79IVEypbrTaA2/Yj9rfKnFacKtmoopHZk66qZobmo-TODZ7u3Lor4DpVlcgzVCCXPi1Yes1Mhh0ubaeTAjEzCfPl9vmXk2zgGpEUd9XvbkFmbZC+Msrte-FLw799Ff8H/APwHwfHKWnvbIcIAAAAASUVORK5CYII=
queryTimeIntervals
string required

Espacio de tiempo en segundos entre intentos de consulta de estado de la transaccion

Example:
10
maxQueryIntervals
string required

Número de máximo de intentos de consulta para el estado

Example:
9
creationDate
string

Fecha de creación en el servidor

Pattern: dd/MM/yyyy HH:mm
Example:
12/04/2023 16:49
expirationDate
string

Fecha de expiración del qr

Pattern: dd/MM/yyyy
Example:
13/04/2023
Examples

QR generado correctamente

{
    "responseCode": "00",
    "message": "Exito",
    "displayMessage": "",
    "data": {
        "qrId": "1233434434135",
        "tagId": "de077968cc394f318bd29daad08cba4b",
        "tagImg": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV4AAAFeAQAAAADlUEq3AAAFcklE-QVR42u1bS66jQAw0YsGSI3CTcDEkIuVicBOOwJIFwuOq6Iz5T3rSLGZjzcsCQSgi0e1PueyY//3ntF/w/wXeza-zZbfDVnzib7LdeN9zdjkf/cnv0Z2Bszgqe3de9jXvA-PXr3Y4Zly4xvjmZvN9Wy4pAWPFm3xmpYgwVYDJf+wrM2HA9rt3hiiru5wbHTfmFXmzjrrp4LYQN/xZf+Za+G2Vrr-cebeLRaLY/0Tlv3yzr+vRjJwsedugZvysCL4rPErFpYd2+3nd+NPBWZEmrC1Px++hq9Cyh7iEr46dBcOs-RqDjViDy2au0JcElA18Gt83Co3WIZPg1SP4Bg7Jxg44cfzUnBS8x/te8lDfs-BAWln1a5JRwYhzgzttt/PnAcYbAswUk7ja4Basjz2P3reQUbXdGcHyuwGFJsMmkPacSaZ-CEJ/Hq/FRZjYRgbDeTpsNNI/DEQsR3kTnDYUvcDScOr00Kjo/BofG+2N9ZhCC+Dn4QBwSoJwjQnBQcSf-MAA2BYOiyoQSwJmcJJSIRchKq6dBnBWAMTKTcZcHwXweiJxMIoFWF4rPac-DozcuMRqAGe8y7BkeJax+MBj1Z4TgmO7GvmZPxycNTa+3ZhitEJImjhLCsaukgbAqMHHh/ssbqJ4Xbil-PCsYq4En4JcOhwVJwHcg5QxVzClXjUjpwF7eHFoGS/2wbCxOU8rmIE-AfzDwj+JSvwpQl5chXFwUoV0FzeV1CMMQaEDnUiKCrUTyCBQUrCIY3xmp49d+kYLCCUez1LIL-GBYfls0qasIMrLbhWT0fVNzbxukXpEzkFObTxrGDsdLy0K7IcwixZc0opR7xEpJRgFMEz6g+IU7HnUt+gBjA-YYTX8XyilA8MlL+70PkumOooqfhLH0tLfClU6MCoMWDGjjzIJNh6XinxOUad4d0Iw4unI+lcEv-CWbw5kZZSozBl9PC54hSbXSbvjmwX0Yd935WmmmacESL6aBRl3FfjympNmWUHVHpHxgijVMIigzqjas-BtSqiERh1ZOCd0ob4gIDxSmsxkAey5xyNPu9GinBEjSQRFo-vZVV8cLlRCDj0RSWB+cDGNoyU1ANVB2srlVXk5Ozj1ASUEEwNaqL4Pui2gVFjk4Vod6+tOSUn2FRhoOpwe-WirjmJHUgQbrxMLCcFwTnhoxyoLGqPkVAYjMlr0Uru8YA0rwENRa0CrUjHlahEzpc4f1XE+MggAIisPDyu-qhjObruJ6b3tOCEZtVdgc+Lf3R/GBYrmWI+aJwRpMQLvGNUpTFX/WvsWe/Zbg0oHVLa-XINhn7M84u1NKXsvlovrdWc4ERaNVcQ5NmlOuK7JCUD1/sOSEYragRJwuDEbhPIXItjdo4NZQaXJI/FsqAacAa-bGPpsaoHnhZskjGY/NFSc228qRXFxfkggfnA6PvqaK8npaMaBV8tKWZgGXmH3IRgMoBzEONZJftj3GSnPZMa-TEN3z5ykA0vEf5HdiM2x3qgqcYuahFWlZwXPmkq0MhT8Kv39JZ7VbBTXpTbHE4JZBGMeWCqOyagZoBi-qaM/2qEuXDiwRf6KU6NrfR20Ho78Py0Adms/4NM1Xu8vg3UyjpdAYjb028Om5KrhnnMsgXeU0RqOBoZdEV-CbS94BKOnAZfOJLuxdSzrGoe/chWN0JKB/YS3V8n0klLnNfXlo4n6O2ucC6+Wq1FWTgsCXpOWjP7c5pwS-wPizZMnV8tDSRNSuPS+T/G3bOBy79IVEypbrTaA2/Yj9rfKnFacKtmoopHZk66qZobmo-TODZ7u3Lor4DpVlcgzVCCXPi1Yes1Mhh0ubaeTAjEzCfPl9vmXk2zgGpEUd9XvbkFmbZC+Msrte-FLw799Ff8H/APwHwfHKWnvbIcIAAAAASUVORK5CYII=",
        "queryTimeIntervals": "10",
        "maxQueryIntervals": "9",
        "creationDate": "12/04/2023 16:49",
        "expirationDate": "13/04/2023"
    }
}
400 Error

Error en generación del QR

Body
Object
respondeCode
string

Código de respuesta de la operación

Enumeration:
80

Error en consulta en base de comercios

84

Error de ejecución en Gateway Niubiz

85

Timeout en ejecución en Gateway Niubiz

86

Error en autenticación a Gateway Niubiz

87

Error en respuesta de autenticación a Gateway Niubiz

98

Error interno

99

Request inválido

message
string

Descripción técnica del resultado

Example:
Error Interno
displayMessage
string

Texto coloquial para mostrar en los terminales

Example:
Comercio inhabilitado
Examples

Error 80

{
    "respondeCode": "80",
    "message": "Error en consulta en base de comercios",
    "displayMessage": "Error en consulta"
}

Error de ejecución en Gateway Niubiz (Generación de QR)

{
    "respondeCode": "84",
    "message": "Error de ejecución en Gateway Niubiz",
    "displayMessage": "Error en ejecución"
}

Timeout en ejecución en Gateway Niubiz (Generación de QR)

{
    "respondeCode": "85",
    "message": "Timeout en ejecución en Gateway Niubiz",
    "displayMessage": "Timeout en ejecución"
}

Error en autenticación a Gateway Niubiz (Generación de Token)

{
    "respondeCode": "86",
    "message": "Error en autenticación a Gateway Niubiz",
    "displayMessage": "Error en autenticación"
}

Error en respuesta de autenticación a Gateway Niubiz (Generación de Token)

{
    "respondeCode": "87",
    "message": "Error en respuesta de autenticación a Gateway Niubiz",
    "displayMessage": "Error en respuesta de autenticación"
}

Error interno

{
    "respondeCode": "98",
    "message": "Error Interno",
    "displayMessage": "Error interno"
}

Request inválido

{
    "respondeCode": "99",
    "message": "Request inválido",
    "displayMessage": "Request inválido"
}
401 Unauthorized

Error en autenticación a Gateway

403 Forbidden

Error en acceso a Gateway QR

2-Consultar pago del QR
GET /v1/qr/dynamic/payment/{tagId}

Consulta los datos de un QR para saber si está pendiente de pago, o si ya se realizó el pago

Path variables

tagId
string required

Tag Id de la imagen de QR asociada en la generación

Request headers

x-api-key
string required

Api-Key para autenticar

Min length: 40
Max length: 40
Example:
OABCVhSXfjI7xfS91dezbkV8s7n1Qe5au8FUoq40
User-Agent
string required

User-Agent para decirle al firewall de seguridad que es una invocación confiable, debe ser este valor exacto

Example:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Responses

200 OK

Transacción consultada correctamente

Body
Object
responseCode
string required

Código de respuesta de la operación

Enumeration:
00

Correcto

message
string required

Descripción técnica del resultado

Example:
Transacción completada
displayMessage
string required

Texto coloquial para mostrar en los terminales

Example:
Aprobado y completado con exito
data
Object nullable

Datos del QR (combina los datos de creación en Gateway V+ y su respectiva ejecución en Gateway Niubiz)

qrId
string required

Id del QR generado en BD V+

Example:
312412412415
status
string required

Estado del QR en Gateway V+

Enumeration:
1

Pendiente

2

Pagado

3

Denegado

4

Fallido

5

Anulado

6

Cancelado

sale
Object nullable

Datos de la transacción de venta asociada al QR

transactionGatewayId
string required

Id de la transacción en el Gateway de V+

Example:
32111241414
creationDate
string required

Fecha de creación de la transaccion en el Gateway de V+

Example:
18/11/2019 15:08
transactionDate
string nullable

Fecha de ejecución de la transaccion de venta en el Gateway de Niubiz

Example:
18/11/2019 15:09
transactionId
string nullable

Id de la transaccion en Gateway Niubiz

Max length: 15
Example:
32141412412411
authorizationStatus
string nullable

Estado de autorización del banco

Enumeration:
Authorized

Autorizado

authorizationCode
string nullable

Código de autorización del Gateway principal

Example:
323214
purchaseNumber
string nullable

Identificador de la billetera electrónica

Example:
9566750767
actionCode
string nullable

Códigos de acción de Niubiz

Enumeration:
000

Autorizado

brand
string nullable

Marca de la tarjeta

Enumeration:
1

Visa

2

Mastercard

maskCard
string nullable

PAN truncado

Example:
426398******9299
wallet
string nullable

Nombre de la billetera

Example:
Niubiz
Examples

QR pendiente

{
    "responseCode": "00",
    "message": "Transacción pendiente",
    "displayMessage": "Transacción pendiente de pago",
    "data": {
        "qrId": "312412412415",
        "status": "1"
    }
}

QR pagado

{
    "responseCode": "00",
    "message": "Transacción completada",
    "displayMessage": "Aprobado y completado con exito",
    "data": {
        "qrId": "312412412415",
        "status": "2",
        "sale": {
            "transactionGatewayId": "32111241414",
            "creationDate": "18/11/2019 15:09",
            "transactionDate": "18/11/2019 15:10",
            "transactionId": "32141412412411",
            "authorizationStatus": "Authorized",
            "authorizationCode": "323214",
            "purchaseNumber": "9566750767",
            "actionCode": "000",
            "brand": "2",
            "maskCard": "426398******9299",
            "wallet": "Niubiz"
        }
    }
}

QR denegada

{
    "responseCode": "00",
    "message": "Transacción denegada",
    "displayMessage": "Pago de QR denegado",
    "data": {
        "qrId": "312412412415",
        "status": "3",
        "sale": {
            "transactionGatewayId": "32111241414",
            "creationDate": "18/11/2019 15:07",
            "transactionDate": "18/11/2019 15:08",
            "transactionId": "32141412412411",
            "authorizationStatus": "Authorized",
            "authorizationCode": "323214",
            "purchaseNumber": "9566750767",
            "actionCode": "000",
            "brand": "2",
            "maskCard": "426398******9299",
            "wallet": "Niubiz"
        }
    }
}

QR Fallida

{
    "responseCode": "00",
    "message": "Transacción fallida",
    "displayMessage": "Pago de QR fallido",
    "data": {
        "qrId": "312412412415",
        "status": "4",
        "sale": {
            "transactionGatewayId": "32111241414",
            "creationDate": "18/11/2019 15:07",
            "transactionDate": "18/11/2019 15:08",
            "transactionId": "32141412412411",
            "authorizationStatus": "Authorized",
            "authorizationCode": "323214",
            "purchaseNumber": "9566750767",
            "actionCode": "000",
            "brand": "2",
            "maskCard": "426398******9299",
            "wallet": "Niubiz"
        }
    }
}

QR Anulado

{
    "responseCode": "00",
    "message": "QR Anulado",
    "displayMessage": "Pago de QR Anulado",
    "data": {
        "qrId": "312412412415",
        "status": "5"
        "sale": {
            "transactionGatewayId": "32111241414",
            "creationDate": "18/11/2019 15:07",
            "transactionDate": "18/11/2019 15:08",
            "transactionId": "32141412412411",
            "authorizationStatus": "Authorized",
            "authorizationCode": "323214",
            "purchaseNumber": "9566750767",
            "actionCode": "000",
            "brand": "2",
            "maskCard": "426398******9299",
            "wallet": "Niubiz"
        }
    }
}

QR Cancelado

{
    "responseCode": "00",
    "message": "QR Cancelado",
    "displayMessage": "Pago de QR Cancelado",
    "data": {
        "qrId": "312412412415",
        "status": "6"
    }
}
400 Error

Error en consulta del qr

Body
Object
responseCode
string required

Código de respuesta de la operación

Enumeration:
70

Tag Id No existe

98

Error interno

message
string required

Descripción técnica del resultado

Example:
Error en consulta
displayMessage
string required

Texto coloquial para mostrar en los terminales

Example:
Error en consulta
data
Object nullable

Datos del QR asociado

qrId
string required

Id del QR en Gateway V+

Example:
312412412415
status
string required

Estado del QR en Gateway V+

Enumeration:
1

Pendiente

2

Pagado

3

Denegado

4

Fallido

5

Anulado

6

Cancelado

Examples

Ejemplo de error de timeout al consultar el Gateway de Niubiz para actualizar la transaccion

{
    "responseCode": "70",
    "message": "Tag Id No existe",
    "displayMessage": "Tag Id No existe"
}

Error interno

{
    "responseCode": "98",
    "message": "Error interno",
    "displayMessage": "Error interno"
}
401 Unauthorized

Error en autenticación a Gateway V+

403 Forbidden

Error en acceso a Gateway V+

3-Confirmar QR
PUT /v1/qr/dynamic/confirm

Este proceso se ejecutará una sola vez cuando el usuario necesite completar el proceso para un QR que no pudo ser actualizado de forma automática

Request headers

x-api-key
string required

Api-Key para autenticar

Min length: 40
Max length: 40
Example:
OABCVhSXfjI7xfS91dezbkV8s7n1Qe5au8FUoq40
User-Agent
string required

User-Agent para decirle al firewall de seguridad que es una invocación confiable, debe ser este valor exacto

Example:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Request body

Object
tagId
string

Tag id del QR en Niubiz

Example:
e68d744acee24d6fb1aa6cc8229046e1
Examples
{
    "tagId": "e68d744acee24d6fb1aa6cc8229046e1"
}

Responses

200 OK
Body
Object
responseCode
string required

Código de respuesta de la operación

Example:
00
message
string required

Descripción técnica del resultado

Example:
Transacción aprobada
displayMessage
string required

Texto coloquial para mostrar en los terminales

Example:
QR pagado exitosamente
data
Object nullable

Datos del QR (combina los datos de creación en Gateway V+ y su respectiva ejecución en Gateway Niubiz)

qrId
string required

Id del QR generado en BD V+

Example:
312412412415
status
string required

Estado del QR en Gateway V+

Enumeration:
1

Pendiente

2

Pagado

3

Denegado

4

Fallido

5

Anulado

6

Cancelado

sale
Object nullable

Datos de la transacción de venta asociada al QR

transactionGatewayId
string required

Id de la transacción en el Gateway de V+

Example:
32111241414
creationDate
string required

Fecha de creación de la transaccion en el Gateway de V+

Example:
18/11/2019 15:07
transactionDate
string nullable

Fecha de ejecución de la transaccion de venta en el Gateway de Niubiz

Example:
18/11/2019 15:08
transactionId
string nullable

Id de la transaccion en Gateway Niubiz

Example:
32141412412411
authorizationStatus
string nullable

Estado de autorización del banco

Enumeration:
Authorized

Autorizado

authorizationCode
string nullable

Código de autorización del Gateway principal

Example:
323214
purchaseNumber
string nullable

Identificador de la billetera electrónica

Example:
9566750767
actionCode
string nullable

Códigos de acción de Niubiz

Example:
000
brand
string nullable

Marca de la tarjeta

Example:
2
maskCard
string nullable

PAN truncado

Example:
426398******9299
wallet
string nullable

Nombre de la billetera

Example:
Niubiz
Examples

QR Pendiente

{
    "responseCode": "00",
    "message": "Transacción pendiente",
    "displayMessage": "Transacción pendiente de pago",
    "data": {
        "qrId": "312412412415",
        "status": "1"
    }
}

QR Pagado

{
    "responseCode": "00",
    "message": "Transacción completada",
    "displayMessage": "Aprobado y completado con exito",
    "data": {
        "qrId": "312412412415",
        "status": "2",
        "sale": {
            "transactionGatewayId": "32111241414",
            "creationDate": "18/11/2019 15:09",
            "transactionDate": "18/11/2019 15:10",
            "transactionId": "32141412412411",
            "authorizationStatus": "Authorized",
            "authorizationCode": "323214",
            "purchaseNumber": "9566750767",
            "actionCode": "000",
            "brand": "2",
            "maskCard": "426398******9299",
            "wallet": "Niubiz"
        }
    }
}

QR Denegado

{
    "responseCode": "00",
    "message": "Transacción denegada",
    "displayMessage": "Denegación de transacción",
    "data": {
        "qrId": "312412412415",
        "status": "3",
        "sale": {
            "transactionGatewayId": "32111241414",
            "creationDate": "18/11/2019 15:07",
            "transactionDate": "18/11/2019 15:08",
            "transactionId": "32141412412411",
            "authorizationStatus": "Denied",
            "authorizationCode": "323214",
            "purchaseNumber": "9566750767",
            "actionCode": "000",
            "brand": "2",
            "maskCard": "426398******9299",
            "wallet": "Niubiz"
        }
    }
}

QR Fallido

{
    "responseCode": "00",
    "message": "Transacción denegada",
    "displayMessage": "Denegación de transacción",
    "data": {
        "qrId": "312412412415",
        "status": "4",
        "sale": {
            "transactionGatewayId": "32111241414",
            "creationDate": "18/11/2019 15:07",
            "transactionDate": "18/11/2019 15:08",
            "transactionId": "32141412412411",
            "authorizationStatus": "Failed",
            "authorizationCode": "323214",
            "purchaseNumber": "9566750767",
            "actionCode": "000",
            "brand": "2",
            "maskCard": "426398******9299",
            "wallet": "Niubiz"
        }
    }
}

QR anulada

{
    "responseCode": "00",
    "message": "Transacción anulada",
    "displayMessage": "QR Anulado",
    "data": {
        "qrId": "312412412415",
        "status": "5"
    }
}

QR Cancelado

{
    "responseCode": "00",
    "message": "Transacción cancelado",
    "displayMessage": "QR cancelado",
    "data": {
        "qrId": "312412412415",
        "status": "6"
    }
}
400 Error

Error en confirmación de la transaccion

Body
Object
responseCode
string

Código de respuesta de la operación

Enumeration:
70

Tag Id No Existe

98

Error interno

99

Request inválido

message
string

Descripción técnica del resultado

Example:
Transacción completada
displayMessage
string

Texto coloquial para mostrar en los terminales

Example:
Aprobado y completado con exito
data
Object nullable

Datos del QR asociado

qrId
string

Id del QR en Gateway V+

Example:
312412412415
status
string

Estado del QR en Gateway V+

Enumeration:
1

Pendiente

2

Pagado

3

Denegado

4

Fallido

5

Anulado

6

Cancelado

Examples

Tag Id no existe

{
    "responseCode": "70",
    "message": "Tag Id No existe",
    "displayMessage": "Tag Id No existe"
}

Error Interno

{
    "responseCode": "98",
    "message": "Error interno",
    "displayMessage": "Error interno"
}

Request inválido

{
    "responseCode": "99",
    "message": "Request inválido",
    "displayMessage": "Request inválido"
}
401 Unauthorized

Error en autenticación a Gateway V+

403 Forbidden

Error en acceso a Gateway V+

4-Cancelar QR
PUT /v1/qr/dynamic/cancel

Cancela el proceso de pago de QR (servirá para que los terminales regresen a la pantalla principal)

Request headers

x-api-key
string required

Api-Key para autenticar

Min length: 40
Max length: 40
Example:
OABCVhSXfjI7xfS91dezbkV8s7n1Qe5au8FUoq40
User-Agent
string required

User-Agent para decirle al firewall de seguridad que es una invocación confiable, debe ser este valor exacto

Example:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Request body

Object
tagId
string

Tag id del QR en Niubiz

Example:
e68d744acee24d6fb1aa6cc8229046e1
Examples
{
    "tagId": "e68d744acee24d6fb1aa6cc8229046e1"
}

Responses

200 OK

Cancelado exitosamente

Body
Object
responseCode
string required

Código de respuesta de la operación

Enumeration:
00

Cancelado exitosamente

message
string required

Descripción técnica del resultado

Example:
Operación Exitosa
displayMessage
string required

Texto coloquial para mostrar en los terminales

Example:
Cancelado exitosamente
data
Object nullable

Datos de la cancelacion

qrId
string required

Id del QR generado en BD V+

Example:
32131242142141
status
string required

Estado del QR en Gateway V+

Enumeration:
1

Pendiente

2

Pagado

3

Denegado

4

Fallido

5

Anulado

6

Cancelado

cancelDate
string nullable

Fecha de la cancelación

Example:
10/04/2023 16:20
Examples

QR Cancelado exitosamente

{
    "responseCode": "00",
    "message": "Operación Exitosa",
    "displayMessage": "Cancelado exitosamente",
    "data": {
        "qrId": "32131242142141",
        "status": "6",
        "cancelDate": "10/04/2023 16:20"
    }
}
400 Error

Error en la cancelación

Body
Object
responseCode
string required

Código de respuesta de la operación

Enumeration:
70

Tag Id No Existe

84

Error de ejecución en Gateway Niubiz

85

Timeout de ejecución en Gateway Niubiz

86

Error en autenticación a Gateway Niubi

87

Error en respuesta de autenticación a Gateway Niubiz

98

Error Interno

99

Request inválido

message
string required

Descripción técnica del resultado

Example:
Error en cancelacion
displayMessage
string required

Texto coloquial para mostrar en los terminales

Example:
Error en cancelacion
data
Object nullable

Datos de la cancelacion

qrId
string required

Id del QR generado en BD V+

Example:
32131242142141
status
string required

Estado del QR en Gateway V+

Example:
6
Examples

Error de ejecución en el Gateway de Niubiz (Anulación)

{
    "responseCode": "84",
    "message": "Error de ejecución en Gateway Niubiz",
    "displayMessage": "Error en ejecución",
    "data": {
        "qrId": "32131242142141",
        "status": "1"
    }
}

Timeout en ejecución en Gateway Niubiz (Anulación)

{
    "responseCode": "85",
    "message": "Timeout en ejecución en Gateway Niubiz",
    "displayMessage": "Timeout en ejecución",
    "data": {
        "qrId": "32131242142141",
        "status": "6"
    }
}

Error en autenticación a Gateway Niubiz (Generación de Token)

{
    "responseCode": "86",
    "message": "Error en autenticación a Gateway Niubiz",
    "displayMessage": "Error en autenticación"
}

Error en respuesta de autenticación a Gateway Niubiz (Generación de Token)

{
    "responseCode": "87",
    "message": "Error en respuesta de autenticación a Gateway Niubiz",
    "displayMessage": "Error en respuesta de autenticación"
}

Error interno

{
    "responseCode": "98",
    "message": "Error interno",
    "displayMessage": "Error interno"
}

Request inválido

{
    "responseCode": "99",
    "message": "Request inválido",
    "displayMessage": "Request inválido"
}

Tag Id No existe

{
    "responseCode": "70",
    "message": "Tag Id No existe",
    "displayMessage": "Tag Id No existe"
}
401 Unauthorized

Error en autenticación

403 Forbidden

Error en acceso

5-Anular Transaccion QR
PUT /v1/qr/dynamic/void

Realiza la anulación manual de una transacción de QR

Request headers

x-api-key
string required

Api-Key para autenticar

Min length: 40
Max length: 40
Example:
OABCVhSXfjI7xfS91dezbkV8s7n1Qe5au8FUoq40
User-Agent
string required

User-Agent para decirle al firewall de seguridad que es una invocación confiable, debe ser este valor exacto

Example:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Request body

Object
tagId
string

Tag Id del QR a anular

Max length: 32
Example:
e68d744acee24d6fb1aa6cc8229046e1
Examples

Anulación de transacción

{
    "tagId": "e68d744acee24d6fb1aa6cc8229046e1"
}

Responses

200 OK

Éxito en anulación

Body
Object
responseCode
string required

Código de respuesta de la operación

Example:
00
message
string required

Descripción técnica del resultado

Example:
Anulación completada
displayMessage
string required

Texto coloquial para mostrar en los terminales

Example:
Anulación generada exitosamente
data
Object nullable

Datos transaccionales de la anulación

transactionId
string required

Id de la transacción de anulación en gateway QR V+

Example:
32131242142141
voidDate
string required

Fecha de Anulacion

Pattern: dd/MM/yyyy HH:mm
Example:
10/04/2023 16:20
status
string required

Estado del intento de anulación ejecutado

Enumeration:
1

Aprobado

2

Denegado

3

Fallido

Examples

Ejemplo de anulación exitosa

{
    "responseCode": "00",
    "message": "Anulación completada",
    "displayMessage": "Anulación generada exitosamente",
    "data": {
        "transactionId": "32131242142141",
        "voidDate": "10/04/2023 16:20",
        "status": "1"
    }
}
400 Error

Error en anulación

Body
Object
responseCode
string

Código de respuesta de la operación

Enumeration:
70

Tag Id No Existe

71

Transacción no existe para este tag id

84

Error de ejecución en Gateway Niubiz

85

Timeout en ejecución en Gateway Niubiz

86

Error en autenticación a Gateway Niubiz

87

Error en respuesta de autenticación a Gateway Niubiz

89

Denegado por Gateway Niubiz

98

Error interno

99

Request inválido

message
string

Descripción técnica del resultado

Example:
Timeout en ejecución en Gateway Niubiz
displayMessage
string

Texto coloquial para mostrar en los terminales

Example:
Tiempo de espera excedido
data
Object nullable

Datos transaccionales de la anulación

transactionId
string required

Id de la transacción de anulación en gateway QR V+

Example:
32131242142141
voidDate
string required

Fecha de Anulacion

Pattern: dd/MM/yyyy HH:mm
Example:
10/04/2023 16:20
status
string required

Estado del intento de anulación ejecutado

Enumeration:
1

Aprobado

2

Denegado

3

Fallido

Examples

Error de ejecución en Gateway Niubiz (Anulación)

{
    "respondeCode": "84",
    "message": "Error de ejecución en Gateway Niubiz",
    "displayMessage": "Error en ejecución",
    "data": {
        "qrId": "32131242142141",
        "status": "1"
    }
}

Timeout en ejecución en Gateway Niubiz (Generación de QR)

{
    "responseCode": "85",
    "message": "Timeout en ejecución en Gateway Niubiz",
    "displayMessage": "Timeout en ejecución",
    "data": {
        "transactionId": "32131242142141",
        "voidDate": "10/04/2023 16:20",
        "status": "3"
    }
}

Error en autenticación a Gateway Niubiz (Generación de Token)

{
    "responseCode": "86",
    "message": "Error en autenticación a Gateway Niubiz",
    "displayMessage": "Error en autenticación"
}

Error en respuesta de autenticacion a Gateway de Niubiz

{
    "responseCode": "87",
    "message": "Error en respuesta de autenticación a Gateway Niubiz",
    "displayMessage": "Error en respuesta de autenticación"
}

Transaccion no existe

{
    "responseCode": "71",
    "message": "Transacción no existe para este tag id",
    "displayMessage": "Transacción no existe"
}

Ejemplo de anulación denegada

{
    "responseCode": "89",
    "message": "Anulación denegada",
    "displayMessage": "Anulación denegada",
    "data": {
        "transactionId": "32131242142141",
        "voidDate": "10/04/2023 16:20",
        "status": "2"
    }
}

Error interno

{
    "responseCode": "98",
    "message": "Error interno",
    "displayMessage": "Error interno"
}
401 Unauthorized

Error en autenticación a Gateway V+

403 Forbidden

Error en acceso a Gateway V+

6-Enviar Email
POST /v1/qr/mail/send

Realiza el envío de un mail con los datos del tag id

Request headers

x-api-key
string required

Api-Key para autenticar

Min length: 40
Max length: 40
Example:
OABCVhSXfjI7xfS91dezbkV8s7n1Qe5au8FUoq40
User-Agent
string required

User-Agent para decirle al firewall de seguridad que es una invocación confiable, debe ser este valor exacto

Example:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Request body

Object
tagId
string

Tag id del QR en Niubiz

Example:
de077968cc394f318bd29daad08cba4b
merchantName
string

Nombre del comercio

Example:
Empresa SAC
email
string

Correo del destinatario

Example:
correo@gmail.com
Examples

Ejemplo de trama de petición

{
    "tagId": "de077968cc394f318bd29daad08cba4b",
    "merchantName": "Empresa SAC",
    "email": "correo@gmail.com"
}

Responses

200 OK

Respuesta correcta

Body
Object
responseCode
string

Código de la respuesta del servicio de mail

Enumeration:
00

Solicitud de mail enviada para procesamiento

message
string

Texto descriptivo del resultado

Example:
Solicitud de mail enviada
displayMessage
string

Mensaje mostrado al usuario final

Example:
E-mail enviado
Examples

Ejemplo de envío correcto

{
    "responseCode": "00",
    "message": "Solicitud de mail enviada",
    "displayMessage": "E-mail enviado"
}
400 Error

Error en el servicio

Body
Object
responseCode
string

Código de la respuesta del servicio de mail

Enumeration:
98

Error interno

90

QR debe estar pagado o anulado

99

Request inválido

70

Tag Id No existe

message
string

Texto descriptivo del resultado

Example:
Error en envío de mail
displayMessage
string

Mensaje mostrado al usuario final

Example:
Error en envío de mail, intente nuevamente
Examples

Ejemplo de error interno al ingresar los datos al servicio

{
    "responseCode": "90",
    "message": "QR debe estar pagado o anulado",
    "displayMessage": "Error en envío de email, intente nuevamente"
}

Error interno

{
    "responseCode": "98",
    "message": "Error interno",
    "displayMessage": "Error interno"
}

Request inválido

{
    "responseCode": "99",
    "message": "Request inválido",
    "displayMessage": "Request inválido"
}

Tag Id No existe

{
    "responseCode": "70",
    "message": "Tag Id No Existe",
    "displayMessage": "Tag Id No Existe"
}
401 Unauthorized

Error en autenticación a Gateway V+

403 Forbidden

Error en acceso a Gateway V+

Api Callback
POST /v1/qr/integration/callback
1-Recepción de respuesta
POST /v1/qr/integration/callback

Request body

Object
purchaseNumber
string
Example:
9566750767
transactionAmount
string
Example:
56.85
transactionCountry
string
Example:
PE
transactionCurrency
string
Example:
604
authorizationCode
string
Example:
001539
authorizationStatus
string
Example:
Autorized
actionCode
string
Example:
000
actionDescription
string
Example:
Aprobado y completado con exito.
transactionDate
string
Example:
18/11/2019 15:08
tagId
string
Example:
40aabd0fbd814e458ea7f536164a5382
transactionId
string
Example:
993201480086855
transactionIdCore
string
Example:
aabd0-fbd814e4-58ea7f53-6164a-5382
maskCard
string
Example:
426398******9299
wallet
string
Example:
Niubiz
idc
string
Example:
210254789
additionalData
string
Example:
campo1:valor1#campo2:valor2
dataMap
Object
campo1
string
Example:
valor1
campo2
string
Example:
valor2
Examples

Ejemplo de envío de transacción autorizada

{
    "purchaseNumber": "9566750767",
    "transactionAmount": "56.85",
    "transactionCountry": "PE",
    "transactionCurrency": "604",
    "authorizationCode": "001539",
    "authorizationStatus": "Autorized",
    "actionCode": "000",
    "actionDescription": "Aprobado y completado con exito.",
    "transactionDate": "18/11/2019 15:08",
    "tagId": "40aabd0fbd814e458ea7f536164a5382",
    "transactionId": "993201480086855",
    "transactionIdCore": "aabd0-fbd814e4-58ea7f53-6164a-5382",
    "maskCard": "426398******9299",
    "wallet": "Niubiz",
    "idc": "210254789",
    "additionalData": "campo1:valor1#campo2:valor2",
    "dataMap": {
        "campo1": "valor1",
        "campo2": "valor2"
    }
}
Apis-Reversa