Devoluciones

#


Api Devoluciones Api Devoluciones

Usa las API Devoluciones para complementar tu integración a nuestras soluciones.
Para comenzar a disfrutar los beneficios de API Devoluciones, sigue los siguientes pasos:


Pasos que debes seguir Detalle de cada paso
Paso 1. ¿Ya utilizas alguna solución de Niubiz? Asegúrate de ya contar con alguna de nuestras soluciones como Pago Web, Pago App, Pago Programado o Telepago.
Paso 2. Revisa la información técnica En esta web podrás encontrar todos los recursos necesarios para iniciar la integración.
Paso 3. Certifica tu integración y empieza a vender! Luego de culminar la certificación y puesta en producción, estás listo para empezar a vender!

Flujo de uso de las API #

Aquí podrás visualizar el flujo de uso de cada de las API que se encuentran en esta sección.

Flujo de Anulación Individual Flujo Pago Web  

  • Por temas de seguridad, es necesario crear un token de acceso con las credenciales (usuario y password) entregadas por Niubiz (1a) el cual permitirá la comunicación con las diferentes APIs. Para ello, será necesario consumir la API de seguridad para poder encriptar las credenciales.

  • Para poder realizar el registro individual de devoluciones (2a) es necesario el token de acceso y otros parámetros.

API de Seguridad #


A. Descripción y consideraciones

Se utiliza el API de seguridad para la generación del token de acceso que le permitirá la comunicación con las diferentes APIs. Cabe indicar que este token de acceso tiene un tiempo de vigencia para poder ser utilizado. Si el token de acceso llega a caducar se debe generar uno nuevo.

El comercio afiliado debe asegurar que su integración (desarrollo) sea lo más segura posible aplicando las medidas preventivas que considere necesario.

Todas las invocaciones a las APIs (servicios backend) de Niubiz tienen que ser realizadas host to host.



B. Endpoint

Ambiente URL de API
Testing https://apitestenv.vnforapps.com/api.security/v1/security
Producción https://apiprod.vnforapps.com/api.security/v1/security


C. Request y Casos:

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
HEADER
userName Texto Max 100 SI Usuario compartido con el comercio para la integración
password Texto Max 100 SI Contraseña compartida con el comercio para la integración


  C.2 Trama de ejemplo:

  • Request

GET /api.security/v1/security HTTP/1.1

Host: apitestenv.vnforapps.com

Authorization: Basic Z2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tOkF2MyR0cnV6

(*) Authorization: Basic EncodeBase64(“userName” + “:” + “password”)



D. Lenguajes

  • Node
  • JavaScript
  • Python

const request = require('request');

var userName = "{{userName}}"

var password = "{{password}}"

var authorization = new Buffer(userName + ":" + password).toString("base64")

const options = {

method: 'GET',

url: 'https://apitestenv.vnforapps.com/api.security/v1/security',

headers: {

'Authorization': "Basic " + authorization,

accept: 'application/json',

'content-type': 'application/json'

},

};

request(options, function (error, response, body) {

if (error) throw new Error(error);

console.log(body);

});



E. Response

  E.1 Tabla de campos

Campo Tipo Longitud Descripción
TRAMA EXITOSA: 201
accessToken text Max 1000 Token de acceso generado con la API
TRAMA ERRÓNEA: 401
description text Max 100 Descripción relacionada al error. Este error se presenta cuando las credenciales no son válidas


  E.2 Trama de ejemplo:

  • Caso 201
  • Caso 401

Status Code 201 Created

Content-Type: text/plain

eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnNwOTlNNmNuM3F5M D0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi01NzYxLTRlYTEtYjBmYS1i NWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3VwcyI6WyJjdXN0b2RpbyJdLCJldmVudF9p ZCI6ImM2OTZmZjVkLTZjOTctNDE4NC05MGIxLTA5NjM2MWY4M2E2ZSIsInRva2VuX3Vz ZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4i LCJhdXRoX3RpbWUiOjE2MDIxMTM4NzksImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlk cC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4 cCI6MTYwMjExNzQ3OSwiaWF0IjoxNjAyMTEzODc5LCJqdGkiOiJiOTVmOGU0ZS1kZGE4 LTRkZmUtOTc0NC1kOGQwZGEyMDFlMzMiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGlj NTFlYnNucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29t In0.GrO2XLoMnChN3Dg6H8G7LC3ZY4O_c1-DwvRYHCx8iiDqprFMK7jU43vo6W4ILNqP _QA1sDoEQaD9HJJ7iLfVBojh1tgiFyzFzkX4T3m63eHRSFfIZAToTGYOQoeZchsYb3UA ffvrzR1JlUPjwf3U1YRfBEu8ueIR6_OUMZdXC8TLS3pqEpXnPr6S-_bndpFRs5wZpt0B PSJ4OnhM2AYh6pqFucjL9nsPmIaujJQVwdR8oNcrfeFuIv5t55H_DRDpQCSYstac1nFS m00P3EMdbOX6Lh8dTU5dBOXe17Bfh7mDEP-FnF_J47COVFB_sYh7JXyePfK6kKTlSeV0 Ev0pew

API de Registro Individual #

El comercio afiliado debe asegurar que su integración (desarrollo) sea lo más segura posible aplicando las medidas preventivas que considere necesario.

Todas las invocaciones a las APIs (servicios backend) de Niubiz tienen que ser realizadas host to host.


A. Endpoint

Ambiente URL API
Desarrollo https://apitestenv.vnforapps.com/api.refund/v1/refund/{merchantId}/{transactionId}
Producción https://apiprod.vnforapps.com/api.refund/v1/refund/{merchantId}/{transactionId}


B. Request y casos

  B.1 Tabla de parámetros

Campo Tipo Longitud Obligatorio Descripción
HEADER
accessToken text Max 1000 SI Token generado con el API de Seguridad
PATH
merchantId string 256 bits SI Código de comercio Niubiz
transactionId string 256 bits SI Identificador de la transacción asociado a la autorización
BODY
ruc string minLength: 11 maxLength: 11 SI Número de RUC (Registro Único de Contribuyentes) del comercio que realizará la devolución de la venta
comment string minLength: 1 maxLength: 100 SI Comentarios relacionados a la devolución de la venta
externalReferenceId string minLength: 1 maxLength: 20 SI Identificador único de transacción enviado por el comercio
amount Number (double) multipleOf: 0.01 SI Importe de devolución. Precisión hasta 8 valores enteros con 2 decimales


  B.2 Trama de ejemplo:

  • Request

POST https://apitestenv.vnforapps.com/api.refund/v1/refund/341198210/990172014359425 HTTP/1.1

Host: apitestenv.vnforapps.com

Authorization: eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9z QnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjNTAxNjYyOS04Z jc2LTQ1M2QtYjhlNC01MGJjZDI5YjI2NTAiLCJldmVudF9pZCI6IjA0Mjc1ODJhLWE 0MzEtNGVlNy05NzVhLWRmYTI4OGI1YjVkNyIsInRva2VuX3VzZSI6ImFjY2VzcyIsI nNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWU iOjE2MDI3MDUwNjUsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0L TEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMjc wODY2NSwiaWF0IjoxNjAyNzA1MDY1LCJqdGkiOiI4NzM1YjM3ZS02OWU4LTQ0ZDUtO DRkMS01YTcyYWRiNmU3N2MiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnN ucWVpaWpiNyIsInVzZXJuYW1lIjoiaW50ZWdyYWNpb25lcy52aXNhbmV0QG5lY29tc Gx1cy5jb20ifQ.JUAGPxDroOt-I1PcWBviXPUIn_RlDUDNquYnnBFVTOkq44UEMjJe 6V0fQCzdpIJwUHQ9ouwyfVATJxDrpoz2CzjoZZ4JSIXD8-Jcp3UEXFB6XDRDi-9j8W V78S1MCKvJITY_NzVsBbJ0USbpix7vRdyhM3XbYH-2benfN-vm9LatmMOUzTPJE6AU WPvy5vyVZNmkkSbTPu-1vVvAlQQl0IylaAhNr3ux6VaXKRkFNX51fKzwXexmw52T7n aMVyQngcXWVxqJd61bVlla-FCUBtDwfELJ-nWBd57TxfhaKw41SWUzClHWpZl9gjyL s6Bek8Io7Hy2b6TIJnT5XJF3LA

 {

  "ruc":"23545454545",

  "comment": "Devolución",

  "externalReferenceId": "878974984793",

  "amount": 20.00

 }



  B.3 Lenguajes:

  • Node
  • JavaScript
  • Python

const request = require('request');

const options = {

 method: 'POST',

 url: 'htps://apitestenv.vnforapps.com/api.refund/v1/merchandId/transactionId',

 headers: {

  'Authorization': '{{API-Key}}',

  accept: 'application/json',

  'content-type': 'application/json'

 },

 body: {

  'ruc':'2034119821',

  comment: 'Devolución de venta',

  'externalReferenceId': '12345687901234567890',

  'amount': '12.35'

 },

};

request(options, function (error, response, body) {

 if (error) throw new Error(error);

 console.log(body);

});



C. Response:

  C.1 Tabla de parámetros:

Campo Tipo Longitud Descripción
TRAMA EXITOSA: 200
errorCode integer Si hay algún error el valor de este campo es diferente a cero
errorMessage string minLength: 1 maxLength: 10 Si todo es correcto se mostrará el mensaje OK
transactionUUID string Identificador único de transacción enviado por el comercio
transactionDate string Fecha de la operación expresada en formato UNIX TimeStamp
data Entidad que representa información complementaria de la devolución
data.CODIGOCOMERCIO string minLength: 9 maxLength: 9 Código de comercio Niubiz
data.CODIGODEVOLUCION string minLength: 1 maxLength: 100 Código de devolución asignado a la operación
data.CODERROR string minLength: 3 maxLength: 3 Código de error. Puede ser uno de los siguientes valores:
– 100 (Registro correcto)
– 110 (Registro con error)
data.DSCERROR string minLength: 1 maxLength: 100 Descripción asociada a la operación de devolución
data.IDTRANSACCION string minLength: 15 maxLength: 15 Identificador de la transacción asociado a la autorización
data.DATETIMERESPONSE string Fecha de la operación
TRAMA ERRONEA: 400
errorCode integer Si hay algún error el valor de este campo es diferente a cero
errorMessage string minLength: 1 maxLength: 10 Si todo es correcto se mostrará el mensaje OK
transactionUUID json string Identificador único de transacción enviado por el comercio
transactionDate string Fecha de la operación expresada en formato UNIX TimeStamp
header.ecoreTransactionDate string Fecha de la operación expresada en formato UNIX TimeStamp
data Entidad que representa información complementaria de la devolución
data.CODIGOCOMERCIO string minLength: 9 maxLength: 9 Código de comercio Niubiz
data.CODIGODEVOLUCION string minLength: 1 maxLength: 100 Código de devolución asignado a la operación
data.CODERROR string minLength: 3 maxLength: 3 Código de error. Puede ser uno de los siguientes valores:
– 100 (Registro correcto)
– 110 (Registro con error)
data.DSCERROR string minLength: 1 maxLength: 100 Descripción asociada a la operación de devolución
data.IDTRANSACCION string minLength: 15 maxLength: 15 Identificador de la transacción asociado a la autorización
data.DATETIMERESPONSE string Fecha de la operación
TRAMA ERRONEA: 401
Un authorized access string Sin autorización


  C.2 Trama de ejemplo:

  • Caso 200
  • Caso 400
  • Caso 401

Status Code 200 OK

Content-Type: application/json

{

 "errorCode": 0,

 "errorMessage": "OK",

 "millis": 2001,

 "transactionUUID": "76dda510-0088-4b82-bed2-4b4225187690",

 "transactionDate": 1550355747781,

 "data": {

  "CODIGOCOMERCIO": "341198210",

  "CODIGODEVOLUCION": "517822",

  "CODERROR": "100",

  "DSCERROR": "Devolución individual procesada con éxito",

  "IDTRANSACCION": "990172014359425",

  "DATETIMERESPONSE": "11/05/2017 18:25:02:3847"

 }

}



D. Códigos de Respuesta

Respuesta Descripción
200 devolucion de venta realizada con éxito
400 Error en la devolucion de la venta
401 Error relacionado al acceso no autorizado

API de Registro Masivo #

El comercio afiliado debe asegurar que su integración (desarrollo) sea lo más segura posible aplicando las medidas preventivas que considere necesario.

Todas las invocaciones a las APIs (servicios backend) de Niubiz tienen que ser realizadas host to host.


A. Endpoint

Ambiente URL API
Desarrollo https://apitestenv.vnforapps.com/api.refund/v1/refund/{merchantId}
Producción https://apiprod.vnforapps.com/api.refund/v1/refund/{merchantId}


B. Request y casos

  B.1 Tabla de parámetros

Campo Tipo Longitud Obligatorio Descripción
HEADER
accessToken text Max 1000 SI Token generado con el API de Seguridad
PATH
merchantId string 256 bits SI Código de comercio Niubiz
BODY
ruc string minLength: 11
maxLength: 11
SI Número de RUC (Registro Único de Contribuyentes) del comercio que realizará la
devolución de la venta
refunds Arrray SI
refunds.transactionId string minLength: 15
maxLength: 15
SI Identificador de la transacción asociado a la autorización
refunds.comment string minLength: 1
maxLength: 100
SI Comentarios relacionados a la devolución de la venta
refunds.externalReferenceId string minLength: 1
maxLength: 20
SI Identificador único de transacción enviado por el comercio
refunds.amount Number (double) multipleOf: 0.01 SI Importe de devolución. Precisión hasta 8 valores enteros con 2 decimales


  B.2 Trama de ejemplo:

  • Request

POST https://apitestenv.vnforapps.com/api.refund/v1/refund/341198210 HTTP/1.1

Host: apitestenv.vnforapps.com

Authorization: eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9z QnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjNTAxNjYyOS04Z jc2LTQ1M2QtYjhlNC01MGJjZDI5YjI2NTAiLCJldmVudF9pZCI6IjA0Mjc1ODJhLWE 0MzEtNGVlNy05NzVhLWRmYTI4OGI1YjVkNyIsInRva2VuX3VzZSI6ImFjY2VzcyIsI nNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWU iOjE2MDI3MDUwNjUsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0L TEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMjc wODY2NSwiaWF0IjoxNjAyNzA1MDY1LCJqdGkiOiI4NzM1YjM3ZS02OWU4LTQ0ZDUtO DRkMS01YTcyYWRiNmU3N2MiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnN ucWVpaWpiNyIsInVzZXJuYW1lIjoiaW50ZWdyYWNpb25lcy52aXNhbmV0QG5lY29tc Gx1cy5jb20ifQ.JUAGPxDroOt-I1PcWBviXPUIn_RlDUDNquYnnBFVTOkq44UEMjJe 6V0fQCzdpIJwUHQ9ouwyfVATJxDrpoz2CzjoZZ4JSIXD8-Jcp3UEXFB6XDRDi-9j8W V78S1MCKvJITY_NzVsBbJ0USbpix7vRdyhM3XbYH-2benfN-vm9LatmMOUzTPJE6AU WPvy5vyVZNmkkSbTPu-1vVvAlQQl0IylaAhNr3ux6VaXKRkFNX51fKzwXexmw52T7n aMVyQngcXWVxqJd61bVlla-FCUBtDwfELJ-nWBd57TxfhaKw41SWUzClHWpZl9gjyL s6Bek8Io7Hy2b6TIJnT5XJF3LA

 {

  "ruc":"23545454545",

  "refunds": [

   {

    "comment": "Devolución",

    "externalReferenceId": "878974984793",

    "amount": 20.00

   }

  ]

 }



  B.3 Lenguajes:

  • Node
  • JavaScript
  • Python

const request = require('request');

const options = {

 method: 'POST',

 url: 'htps://apitestenv.vnforapps.com/api.refund/v1/refund/merchandId',

 headers: {

  'Authorization': '{{API-Key}}',

  accept: 'application/json',

  'content-type': 'application/json'

 },

 body: {

  'ruc':'20341198217',

  "refunds": [

   {

    'transactionId":"990172014359425'

    comment: 'Devolución de venta',

    'externalReferenceId': '12345687901234567890',

    'amount': '12.35'

   }

  ]

 }

};

request(options, function (error, response, body) {

 if (error) throw new Error(error);

 console.log(body);

});



C. Response:

  C.1 Tabla de parámetros:

Campo Tipo Longitud Descripción
TRAMA EXITOSA: 200
errorCode integer Si hay algún error el valor de este campo es diferente a cero
errorMessage string minLength: 1 maxLength: 10 Si todo es correcto se mostrará el mensaje OK
millis integer Tiempo de ejecución de la operación
transactionUUID string Identificador único de transacción enviado por el comercio
transactionDate string Fecha de la operación expresada en formato UNIX TimeStamp
data Entidad que representa información complementaria de la devolución
data.CODIGOCOMERCIO string minLength: 9
maxLength: 9
Código de comercio VisaNet
data.CODIGODEVOLUCIONES string minLength: 1
maxLength: 100
Código de devolución asignado a la operación
data.CODERROR string minLength: 3
maxLength: 3
Código de error. Puede ser uno de los siguientes valores:
– 100 (Registro correcto)
– 110 (Registro con error)
data.DSCERROR string minLength: 1
maxLength: 100
Descripción asociada a la operación de devolución
data.IDTRANSACCION string minLength: 15
maxLength: 15
Identificador de la transacción asociado a la autorización
data.DATETIMERESPONSE string Fecha de la operación
TRAMA ERRONEA: 400
errorCode integer Si hay algún error el valor de este campo es diferente a cero
errorMessage string minLength: 1
maxLength: 10
Si todo es correcto se mostrará el mensaje OK
millis integer Tiempo de ejecución de la operación
transactionUUID string Identificador único de transacción enviado por el comercio
transactionDate string Fecha de la operación expresada en formato UNIX TimeStamp
data Entidad que representa información complementaria de la devolución
data.CODIGOCOMERCIO string minLength: 9
maxLength: 9
Código de comercio VisaNet
data.CODIGODEVOLUCIONES string minLength: 1
maxLength: 100
Código de devolución asignado a la operación
data.CODERROR string minLength: 3
maxLength: 3
Código de error. Puede ser uno de los siguientes valores:
– 100 (Registro correcto)
– 110 (Registro con error)
data.DSCERROR string minLength: 1
maxLength: 100
Descripción asociada a la operación de devolución
data.IDTRANSACCION string minLength: 15
maxLength: 15
Identificador de la transacción asociado a la autorización
data.DATETIMERESPONSE string Fecha de la operación
TRAMA ERRONEA: 401
Unauthorizedaccess Sin autorización string


  C.2 Trama de ejemplo:

  • Caso 200
  • Caso 400
  • Caso 401

Status Code 200 OK

Content-Type: application/json

{

 "errorCode": 0,

 "errorMessage": "OK",

 "millis": 2001,

 "transactionUUID": "76dda510-0088-4b82-bed2-4b4225187690",

 "transactionDate": 1550355747781,

 "data": {

  "CODIGOCOMERCIO": "341198210",

  "CODIGODEVOLUCIONES": "517822",

  "CODERROR": "100",

  "DSCERROR": "Devolución individual procesada con éxito",

 "IDTRANSACCION": "990172014359425",

 "DATETIMERESPONSE": "11/05/2017 18:25:02:3847"

 }

}



D. Códigos de Respuesta

Respuesta Descripción
200 devolucion-masivo de venta realizada con éxito
400 Error en la devolucion-masivo de la venta
401 Error relacionado al acceso no autorizado

API de Consulta #

El comercio afiliado debe asegurar que su integración (desarrollo) sea lo más segura posible aplicando las medidas preventivas que considere necesario.

Todas las invocaciones a las APIs (servicios backend) de Niubiz tienen que ser realizadas host to host.


A. Endpoint

Ambiente URL API
Desarrollo https://apitestenv.vnforapps.com/api.refund/v1/queryRefund/{merchantId}
Producción https://apiprod.vnforapps.com/api.refund/v1/queryRefund/{merchantId}


B. Request y casos

  B.1 Tabla de parámetros

Campo Tipo Longitud Obligatorio Descripción
HEADER
accessToken Max 1000 SI Token generado con el API de Seguridad
PATH
queryRefund string 256 bits SI Código de comercio Niubiz
BODY
tipoBusqueda string minLength: 2 maxLength: 2 SI Busca devolución asociada al código ingresado. Siempre es 01
codigoBusqueda string minLength: 1 maxLength: 100 SI Código de devolución asignado a la operación


  B.2 Trama de ejemplo:

  • Request

POST https://apitestenv.vnforapps.com/api.refund/v1/refund/341198210/990172014359425 HTTP/1.1

Host: apitestenv.vnforapps.com

Authorization: eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9z QnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjNTAxNjYyOS04Z jc2LTQ1M2QtYjhlNC01MGJjZDI5YjI2NTAiLCJldmVudF9pZCI6IjA0Mjc1ODJhLWE 0MzEtNGVlNy05NzVhLWRmYTI4OGI1YjVkNyIsInRva2VuX3VzZSI6ImFjY2VzcyIsI nNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWU iOjE2MDI3MDUwNjUsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0L TEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMjc wODY2NSwiaWF0IjoxNjAyNzA1MDY1LCJqdGkiOiI4NzM1YjM3ZS02OWU4LTQ0ZDUtO DRkMS01YTcyYWRiNmU3N2MiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnN ucWVpaWpiNyIsInVzZXJuYW1lIjoiaW50ZWdyYWNpb25lcy52aXNhbmV0QG5lY29tc Gx1cy5jb20ifQ.JUAGPxDroOt-I1PcWBviXPUIn_RlDUDNquYnnBFVTOkq44UEMjJe 6V0fQCzdpIJwUHQ9ouwyfVATJxDrpoz2CzjoZZ4JSIXD8-Jcp3UEXFB6XDRDi-9j8W V78S1MCKvJITY_NzVsBbJ0USbpix7vRdyhM3XbYH-2benfN-vm9LatmMOUzTPJE6AU WPvy5vyVZNmkkSbTPu-1vVvAlQQl0IylaAhNr3ux6VaXKRkFNX51fKzwXexmw52T7n aMVyQngcXWVxqJd61bVlla-FCUBtDwfELJ-nWBd57TxfhaKw41SWUzClHWpZl9gjyL s6Bek8Io7Hy2b6TIJnT5XJF3LA

 {

  "tipoBusqueda":"01",

  "codigoBusqueda":"5178"

 }



  B.3 Lenguajes:

  • Node
  • JavaScript
  • Python

const request = require('request');

const options = {

method: 'POST',

url: 'htps://apitestenv.vnforapps.com/api.refund/v1/queryRefund/merchandId',

headers: {

 'Authorization': '{{API-Key}}',

 accept: 'application/json',

 'content-type': 'application/json'

 },

body: {

  'tipoBusqueda":"01',

  'codigoBusqueda': '517822'

 },

};

request(options, function (error, response, body) {

if (error) throw new Error(error);

console.log(body);

});



C. Response:

  C.1 Tabla de parámetros:

Campo Tipo Longitud Descripción
TRAMA EXITOSA: 200
errorCode integer Si hay algún error el valor de este campo es diferente a cero
errorMessage string minLength: 1 maxLength: 10 Si todo es correcto se mostrará el mensaje OK
millis integer Tiempo de ejecución de la operación
transactionUUID string Identificador único de transacción enviado por el comercio
transactionDate string Fecha de la operación expresada en formato UNIX TimeStamp
data Entidad que representa información complementaria de la devolución
data.DEVOLUCIONES string minLength: 1 maxLength: 1000 Información detallada de la devolución. El campo ESTADO en la trama de respuesta puede tomar uno de los siguientes valores:
-P (Pendiente)
-E (Enviado)
-S (Exitoso)
-T (Rechazado)
-X (Eliminado)
-B (Pendiente Supervisión)
-C (Aprobado Supervisión)
-F (Rechazado Supervisión)
-V (Vencido)
data.CODERROR string minLength: 3 maxLength: 3 Código de error. Puede ser uno de los siguientes valores:
– 100 (Registro correcto)
– 110 (Registro con error)
data.DSCERROR string minLength: 1 maxLength: 100 Descripción asociada a la operación de devolución
data.DATETIMERESPONSE string Fecha de la operación
TRAMA ERRONEA: 400
errorCode integer Si hay algún error el valor de este campo es diferente a cero
errorMessage string minLength: 1 maxLength: 10 Si todo es correcto se mostrará el mensaje OK
millis integer Tiempo de ejecución de la operación
transactionUUID json string Identificador único de transacción enviado por el comercio
transactionDate Fecha de la operación expresada en formato UNIX TimeStamp
data Entidad que representa información complementaria de la devolución
data.DEVOLUCIONES string minLength: 1 maxLength: 1000 Información detallada de la devolución. El campo ESTADO en la trama de respuesta puede tomar uno de los siguientes valores:
-P (Pendiente)
-E (Enviado)
-S (Exitoso)
-T (Rechazado)
-X (Eliminado)
-B (Pendiente Supervisión)
-C (Aprobado Supervisión)
-F (Rechazado Supervisión)
-V (Vencido)
data.CODERROR string minLength: 3 maxLength: 3 Código de error. Puede ser uno de los siguientes valores:
-100 (Registro correcto)
-110 (Registro con error)
data.DSCERROR string minLength: 1 maxLength: 100 Descripción asociada a la operación de devolución
data.DATETIMERESPONSE string Fecha de la operación
TRAMA ERRONEA: 401
Un authorized access string Sin autorización


  C.2 Trama de ejemplo:

  • Caso 200
  • Caso 400
  • Caso 401

Status Code 200 OK

Content-Type: application/json

{

 "errorCode": 0,

 "errorMessage": "OK",

 "millis": 2001,

 "transactionUUID": "76dda510-0088-4b82-bed2-4b4225187690",

 "transactionDate": 1550355747781,

 "data": {

  "DEVOLUCIONES": "[ 

 {

  "CODIGODEVOLUCION": "517822",

  "IMPORTEDEVUELTO":"3",

  "CODIGOAUTORIZACION" : "134959",

  "COMERCIO" : "341198207",

  "FECHAREGISTRO":"11/05/2017",

  "IDTRANSACCION": "990172014359425",

  "USUARIOREGISTRO" :"usuariodemo@niubiz.com.pe - José Vila","

  "ESTADO" : "P",

  "FECHAVENTA" : "18/01/2017",

  "NUMEROTARJETA" : "447410******8588 ",

  "MONEDA" : "Soles",

  "FECHAPROCESO" : "01/01/0001",

  "DESCRIPCIONESTADO" : "Pendiente",

  "IMPORTEORIGINAL" : "27" 

 }

]",

 "CODERROR": "100",

 "DSCERROR": "La consulta se realizó con éxito",

 "DATETIMERESPONSE": "11/05/2017 18:25:02:3847"

 }

}



D. Códigos de Respuesta

Respuesta Descripción
200 devolucion de venta realizada con éxito
400 Error en la devolucion de la venta
401 Error relacionado al acceso no autorizado

Data para pruebas #

Te dejamos aquí lo que necesitas para realizar tus pruebas, recuerda que debes generar una transacción de autorización primero para poder realizar la devolución. Puedes usar los siguientes datos en el pago para tener diferentes respuestas en tu devolución:

Códigos de comercio

Código de comercio Moneda Tipo Liquidación
456879852 Soles Liquidación automática
456879856 Soles Liquidación manual
456879853 Dólares Liquidación automática
456879854 Dólares Liquidación manual
 

Las credenciales que debes utilizar serán las siguientes:

 
Usuario Password
integraciones@niubiz.com.pe _7z3@8fF


Casos Exitosos

Casos denegados

Certificación y pase a producción #


A continuación te mostraremos los pasos resumen que debes tener en cuenta para tu Certificación y Pase a Producción.


Revisa y valida el CheckList de Certificación.
Debes contar con un Código de Comercio en producción.
Coordina la fecha de tu Certificación.
  • Código de comercio
  • Datos de la persona que realizará las pruebas de certificación (Nombre, teléfono y correo)
  • 3 fechas tentativas y horarios (L a V de 9am a 6pm)
Coordina tu Pase a Producción.
  • Durante la certificación podrás realizar el pase a producción o programarlo con un tiempo máximo de 5 días útiles.
  • Durante el pase a producción, revisaremos cada uno de lo puntos que se detallan en Pasos para tu Pase a Producción.


¡Luego de culminar la certificación y puesta en producción, estás listo para empezar a vender!


Checklist de certificación


Requisitos obligatorios que debes considerar:


Validar caso exitoso.
  • Debes revisar la trama de respuesta, el código de acción 200 y que el resultado sea el esperado.
Validar caso Fallido.
  • Debes revisar la trama de respuesta, el código de acción 400 y que el resultado sea el esperado (por ejemplo pruebas con tarjetas vencidas o cvv incorrecto).
Términos y Condiciones.
  • Divulgar los términos y condiciones.
  • En la secuencia de las páginas finales antes del checkout, y debe incluir un “clic para aceptar”, una casilla u otro botón de aceptación, o lugar para una firma electrónica, o
  • En la pantalla final de pago cerca del botón “Enviar”.
  • En un pop up o enlace, cuya lectura y aceptación a través de un check box sea obligatoria en la misma página del checkout antes que el tarjetahabiente acepte la compra.
  • Considerar la casilla de aceptación de términos y condiciones no debe de estar premarcardo.


Pasos para el pase a producción:


Considera los siguientes pasos para tu pase a producción:


Validar caso exitoso.
  • Debes revisar la trama de respuesta, el código de acción 200 y que el resultado sea el esperado.
Validar caso Fallido.
  • Debes revisar la trama de respuesta, el código de acción 400 y que el resultado sea el esperado (por ejemplo pruebas con tarjetas vencidas o cvv incorrecto).
Suggest Edit