API Pagos

#


Api Pagos Api Pagos

Usa las API Pagos para complementar tu integración a nuestras soluciones.
Para comenzar a disfrutar los beneficios de API Pagos, 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.

Fujo API Pagos Fujo API Pagos

API de Seguridad #


A. Descripción

Esta API permitirá generar un token de acceso, el cual será utilizado en la llamada de otras APIs funcionales. El token de acceso generado por esta API tiene un tiempo de duración. Pasado ese tiempo, el token de acceso no podrá ser utilizado y se tendrá que generar un nuevo token de acceso utilizando la misma API.

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://apisandbox.vnforappstest.com/api.security/v1/security
Producción https://apiprod.vnforapps.com/api.security/v1/security
Ambiente URL de API
Testing https://apisandbox.vnforappstest.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: apisandbox.vnforappstest.com

Authorization: Basic Z2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tOkF2MyR0cnV6

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



D. Response

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 201
accessToken Texto Max 1000 SI Token de acceso generado con la API
TRAMA ERROR: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


D.2 Trama de ejemplo

  • Caso 201
  • Caso 401
  • Caso 500

Status Code 200 OK

Content-Type: text/plain

eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnNwOTlNNmNuM 3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi01NzYxLTRlYTEtY jBmYS1iNWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3VwcyI6WyJjdXN0b2RpbyJdLCJldmV udF9pZCI6ImM2OTZmZjVkLTZjOTctNDE4NC05MGIxLTA5NjM2MWY4M2E2ZSIsInRva2Vu X3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRta W4iLCJhdXRoX3RpbWUiOjE2MDIxMTM4NzksImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLW lkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsIm V4cCI6MTYwMjExNzQ3OSwiaWF0IjoxNjAyMTEzODc5LCJqdGkiOiJiOTVmOGU0ZS1kZGE4LTR kZmUtOTc0NC1kOGQwZGEyMDFlMzMiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljN TFlYnNucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0. GrO2XLoMnChN3Dg6H8G7LC3ZY4O_c1-DwvRYHCx8iiDqprFMK7jU43vo6W4ILNqP_QA1s DoEQaD9HJJ7iLfVBojh1tgiFyzFzkX4T3m63eHRSFfIZAToTGYOQoeZchsYb3UAffvrzR1JlUP jwf3U1YRfBEu8ueIR6_OUMZdXC8TLS3pqEpXnPr6S-_bndpFRs5wZpt0BPSJ4OnhM2AYh 6pqFucjL9nsPmIaujJQVwdR8oNcrfeFuIv5t55H_DRDpQCSYstac1nFSm00P3EMdbOX6Lh8dTU 5dBOXe17Bfh7mDEP-FnF_J47COVFB_sYh7JXyePfK6kKTlSeV0Ev0pew



E. Códigos de Respuesta

Código Descripción
201 Token de acceso creado de forma satisfactoria
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error

API de Autorización #


A. Descripción y consideraciones

Esta API permitirá realizar una operación de venta con una tarjeta o token. Para que esta API pueda resolver una operación necesita de un token de acceso vigente generado por el API de Seguridad.

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://apisandbox.vnforappstest.com/api.authorization/v3/authorization/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.authorization/v3/authorization/ecommerce/{merchantId}
Ambiente URL de API
Testing https://apisandbox.vnforappstest.com/api.authorization/v3/authorization/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.authorization/v3/authorization/ecommerce/{merchantId}


C. Request y Casos

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
PATH
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
HEADER
accessToken Texto Max 1000 SI Token generado con la API de Seguridad
BODY
channel Texto Max 45 SI Canal desde donde se originó la operación. Puede ser uno de los siguientes valores:
pasarela – Si son operaciones de venta de comercio electrónico
callcenter – Si son operaciones de venta de telepago
recurrent – Si son operaciones de venta de recurrentes
captureType Texto Max 45 SI Constante, siempre es el valor “manual”
countable Bandera NO Este campo indica si la venta a realizar tendrá liquidación automática o manual. Acepta los siguientes valores:
true – Para liquidación automática
false – Para liquidación manual
Valor por defecto: Según configuración del comercio en BackOffice Niubiz
order SI Objeto orden
tokenId Texto 32 Condicional Id del token de transacción obtenido en la respuesta a la calificación antifraude
purchaseNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
currency Texto 3 SI Código de moneda (ISO 4217) utilizado en la transacción
externalTransactionId Texto 36 NO Identificador único de transacción enviado por el comercio
installment Entero NO Número de cuotas en que se realizará el pago
card SI Objeto tarjeta
cardNumber Texto Max 16 Condicional Número de tarjeta. Si se está usando el esquema de Tokenización entonces no se usará este campo para la tarjeta sino el tokenId (token de la tarjeta)
expirationMonth Entero Condicional Mes de expiración de la tarjeta. Si se está usando el esquema de Tokenización entonces no se usará este campo para la tarjeta sino el tokenId (token de la tarjeta)
expirationYear Entero Condicional Año de expiración de la tarjeta. Si se está usando el esquema de Tokenización entonces no se usará este campo para la tarjeta sino el tokenId (token de la tarjeta)
cvv2 Texto Max 4 Condicional Número de CVV2 de la tarjeta. Si se está usando el esquema de Tokenización entonces no se usará este campo para la tarjeta sino el tokenId (token de la tarjeta)
tokenId Texto Max 16 Condicional Token de una tarjeta. Solo si se usa el esquema de Tokenización, en caso contrario se deben enviar los datos de la tarjeta en los campos anteriores.
cardHolder SI Objeto titular de la tarjeta
firstName Texto Max 40 SI Nombres del tarjetahabiente
lastName Texto Max 40 SI Apellidos del tarjetahabiente
email Texto Max 35 SI Correo electrónico del tarjetahabiente
phoneNumber Texto Max 10 NO Teléfono del tarjetahabiente
authentication Condicional Objeto autenticación. Este campo es obligatorio si es que el comercio está usando autenticación en el flujo de pago.
eci Texto 2 SI Valor ECI del proceso de validación de la marca. Indica el resultado de la autenticación:
05 – Transacción autenticada
06 – Comercio intentó autenticación, pero TH no está participando
xid Texto 20 SI Valor XID del proceso de validación de la marca. Identificador único de la transacción
cavv Texto 40 SI Valor CAVV del proceso de validación de la marca. Valor de verificación de la autenticación del titular de la tarjeta
sponsored Condicional Objeto comercio hijo Este campo es obligatorio si es que es un PF (Payment Facilitator).
merchantId Texto Max 9 SI Código del comercio hijo
name Texto Max 25 SI Nombre del comercio hijo
address Texto Max 50 SI Dirección del comercio hijo
phoneNumber Texto Max 10 SI Teléfono del comercio hijo
mcci Texto Max 4 SI MCC internacional del comercio hijo
currencyConversion Condicional Objeto conversión DCC. Este campo es obligatorio si es que el comercio está usando DCC en el flujo de Pago.
accepted Bandera SI Indica si en la venta se usará o no DCC
eligibilityCode Texto 1 SI Valor retornado en la respuesta a la consulta de elegibilidad. Puede ser uno de los siguientes valores:
0 – El requerimiento DCC ha sido aceptado
1 – El requerimiento DCC ha sido rechazado basado en un error. Verifique los códigos de error para más detalle
2 – La tarjeta no fue encontrada en la CRT por lo que no puede ser considerada para DCC
3 – DCC no está permitido para la tarjeta
4 – No se requirió el servicio DCC
currencyCode Texto 3 SI Código de moneda DCC. El código de moneda aplicable al PAN. Este valor se encuentra en la búsqueda CRT (ISO 4217)
currencyCodeAlpha Texto 3 SI Código de moneda DCC en texto. El código de moneda expresado en texto, esto ayudará a la presentación de la oferta DCC
amount Numérico 6,2 SI Importe en moneda DCC. El monto en la moneda extranjera en la menor unidad de la moneda extranjera
exponent Entero SI El exponente extranjero utilizado en dar formato al monto
exchangeRate Numérico 6,2 SI Factor por el que el monto local es multiplicado para obtener el monto DCC
wholeSaleRate Numérico 6,2 SI Tasa de conversión antes de que se aplique la comisión
markup Numérico 6,2 SI Margen de beneficio aplicado a toda la tasa de venta
rateSource Texto Max 12 SI Nombre del origen de las tarifas extranjeras
rateDate Texto 6 SI Fecha en la que se obtuvo el tipo de cambio. Expresado como yyMMdd
rateTime Texto 6 SI Hora en la que se obtuvo el tipo de cambio. Expresado como hhMMss
status Texto Max 15 SI Estado obtenido en la consulta de elegibilidad DCC
signature Texto 41 SI Llave generada en la consulta de elegibilidad DCC


  B.2 Trama de ejemplo:

  • Con
    tarjeta
  • Con
    cuotas
  • Con token de tarjeta
  • Con token antifraude
  • Con elegibilidad DCC
  • Como facilitador de pagos

POST /api.authorization/v3/authorization/ecommerce/341198210 HTTP/1.1

Host: apisandbox.vnforappstest.com

Content-Type: application/json

Authorization:eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnNwOTlN NmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi01NzYxLTRlYTEtYjBm YS1iNWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3VwcyI6WyJjdXN0b2RpbyJdLCJldmVudF9pZ CI6IjAxNzcxYWQ5LWQzODktNGVlOC1hMDIwLTI0NmVmZWQ0NThhYSIsInRva2VuX3VzZSI6ImFj Y2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbW UiOjE2MDMwNTM4MjcsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1 hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMzA1NzQyNywiaWF0Ij oxNjAzMDUzODI3LCJqdGkiOiJlZDc3Y2NjOS1kNjdlLTRhMDctOTljNC05YjgwZjBlYmYzNTU iLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnNucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2 lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0.d0gjI5YB-9v4FNSdTZTjFr2cpDAIq2CRRomwb3oH uGHcju3oxvQH7hMWAfa2zHz911Lv4N4EAQ0Q_07A48ZPIEUaaHBGJVzaBFLaGHPL_H_Q2Y81PyS fDQMzHhq6LvJ4IbYmhRc5Xw4WJYCWp9XbLJdm-I2p4dsFN3-2aWgv1CvQ5bJliNUiSeNOpn6CMAeTl0NK-RprVr9ldGkVQDdnKaMTvxrSGQ-G4UYS01rBcBtWouWOSMMzJYly73wETBF9tJt9jW tWTm7DAdWFWnxA_ZPMo2LR6ps1FMgP0PsLbPqax5KkzB5uOeKKrIfkRT_L8nZgh_o3-PwTRYPt_ng

{

  "channel": "web",

  "captureType": "manual",

  "countable": true,

  "order" : {

    "purchaseNumber": "2020101801",

    "amount": 1.00,

    "currency": "PEN",

    "externalTransactionId": "5ca183ca-06a6-4438-80ad-aa82e88c1680"

  },

  "card": {

    "cardNumber": "4000000000001117",

    "expirationMonth": 4,

    "expirationYear": 2021,

    "cvv2": "669"

  },

  "cardHolder": {

    "firstName": "test",

    "lastName": "test",

    "email": "test@test.com"

  }

}



C. Response:

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
fulfillment SI Objeto fulfillment
channel Texto Max 45 SI Canal desde donde se originó la operación. Puede ser uno de los siguientes valores:
pasarela – Si son operaciones de venta de comercio electrónico
callcenter – Si son operaciones de venta de telepago
recurrent – Si son operaciones de venta de recurrentes
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
terminalId Texto Max 8 SI Número de terminal asociado a la transacción
captureType Texto Max 45 SI Constante, siempre es el valor manual
countable Bandera SI Este campo indica si la venta a realizar tendrá liquidación automática o manual. Acepta los siguientes valores:
true – Para liquidación automática
false – Para liquidación manual
Valor por defecto: Según configuración del comercio en BackOffice Niubiz
fastPayment Bandera SI Este campo indica si la venta se realizó con indicador activo de pago rápido. Acepta los siguientes
true – Venta es tipo pago rápido
false – Venta no es tipo pago rápido
signature Texto 36 SI Código único generado por el sistema Niubiz al momento de la venta
registerFrequent Boolean SI Indicador de Card on File (CoF). (Se activa para indicar que la tarjeta ha sido registrada para uso frecuente (aplica para transacciones con tarjeta o con token)
useFrequent Boolean SI Indicador de Card on File (CoF). Se activa para indicar que se está usando una tarjeta previamente registrada para uso frecuente (aplica para transacciones con tarjeta o con token).
order SI Objeto orden
tokenId Texto 32 Condicional Id del token de transacción obtenido en la respuesta a la calificación antifraude
purchaseNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
installment Entero Condicional Número de cuotas en que se realizó el pago
currency Texto 3 SI Código de moneda (ISO 4217) utilizado en la transacción
authorizedAmount Numérico 6,2 SI Importe del pedido confirmado
authorizationCode Texto Max 6 SI Código de autorización asignado a la aprobación de la transacción por la entidad resolutora
actionCode Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
traceNumber Texto Max 6 SI Número asignado para identificar de forma unívoca a la transacción
transactionDate Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
transactionId Texto 15 SI Identificador de la transacción asociado a la autorización
externalTransactionId Texto 36 NO Identificador único de transacción enviado por el comercio
token Condicional Objeto token, el cual contiene información relacionada a la tokenización de la tarjeta utilizada
tokenId Texto 16 SI Token identificador del objeto tokenizado
ownerId Texto Max 100 SI Valor del campo por el cual se tokenizo la tarjeta
expireOn Texto 12 SI Fecha de caducidad del token expresado en formato nativo yyMMddHHmmSS
dataMap SI Objeto datamap
CURRENCY Texto 4 SI Código numérico de moneda en la que se ejecuta la transacción
TERMINAL Texto 8 SI Número de terminal asociado a la transacción
TRANSACTION_DATE Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
ACTION_CODE Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
TRACE_NUMBER Texto Max 6 SI Número asignado para identificar de forma unívoca a la transacción
CARD_TOKEN Texto 16 Condicional Token identificador del objeto tokenizado
CARD_TYPE Texto 1 Condicional Tipo de tarjeta usada en la transacción. Acepta los siguientes valores:
C – Tarjeta de crédito
D – Tarjeta de débito
ECI_DESCRIPTION Texto Max 100 SI Descripción del código ECI asociado a la autenticación de la transacción
ECI Texto 2 SI Código ECI asociado a la autenticación de la transacción
SIGNATURE Texto 36 SI Código único generado por el sistema Niubiz al momento de la venta
CARD Texto Max 16 SI Número de tarjeta enmascarado usada en la venta
MERCHANT Texto 9 SI Código de comercio creado al momento de la afiliación
BRAND Texto Max 15 SI Marca de la tarjeta usada en la venta. Ejemplo:
visa
mastercard
amex
dinersclub
STATUS Texto Max 20 SI Descripción del estado de la transacción. Ejemplo:
  – Authorized
  – Not Authorized
  – Confirmed
  – Not Confirmed
  – Verified
  – Not Verified
  – Voided
  – Not Voided
  – Reject
  – Review
INSTALLMENTS_INFO Texto 11 Condicional Información relacionada a las cuotas de la transacción
ACTION_DESCRIPTION Texto Max 100 SI Texto descriptivo de la autorización o denegación
ADQUIRENTE Texto Max 6 SI Código de identificación del adquirente
QUOTA_AMOUNT Numérico 6,2 Condicional Importe aproximado del valor de cuota
ID_UNICO Texto 15 SI Identificador de la transacción asociado a la autorización
AMOUNT Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
PROCESS_CODE Texto 6 SI Código de proceso de la transacción
QUOTA_NUMBER Entero Condicional Número de cuotas en que se realizó la venta
VAULT_BLOCK Texto Max 100 Condicional Valor del campo por el cual se tokenizo la tarjeta
TRANSACTION_ID Texto 15 SI Identificador de la transacción asociado a la autorización
AUTHORIZATION_CODE Texto Max 6 SI Código de autorización asignado a la aprobación de la transacción por la entidad resolutora
QUOTA_DEFERRED Entero Condicional Indica si el pago en cuotas debe procesarse con pagos en diferido. Acepta los siguientes valores:
0 – El pago no se procesa en diferido
1 o 2 – El pago se procesa en diferido
QUOTA_NI_PROGRAM Entero Condicional Código de programa para cuota sin intereses
QUOTA_NI_TYPE Entero Condicional Indicador de tipo de cobro para cuotas sin intereses. Acepta los siguientes valores:
0 – Cobro como porcentaje
1 – Cobro como importe
QUOTA_NI_AMOUNT Numérico 6,2 Condicional Valor asociado al tipo de cobro para cuotas sin intereses
QUOTA_NI_DISCOUNT Numérico 6,2 Condicional Porcentaje de descuento que corresponde al emisor por el programa cuota sin intereses
QUOTA_NI_MESSAGE Texto Max 100 Condicional Mensaje asociado al cobro para cuota sin intereses
BRAND_ACTION_CODE Texto 2 NO Código de respuesta de la Marca. Ejemplo: 00
BRAND_HOST_DATE_TIME Texto 12 NO Hora autorización HOST. Formato YYMMDDHHmmSS. Ejemplo: 210107144524
BRAND_NAME Texto 10 NO Nombre de la Marca que realiza la autorización.
BRAND_HOST_ID Texto 10 NO Código del host de la Marca. Ejemplo: “1234567890”
ID_RESOLUTOR Texto 15 SI Identificador del resolutor. Ejemplo: 420210107144926
CVV2_VALIDATION_RESULT Text 1 NO Resultado de verificación del CVV2 de la tarjeta
TRAMA ERROR: 400
errorCode Entero SI Código de error
errorMessage Texto Max 500 SI Descripción del error
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
data SI Objeto con información complementaria relacionada al error
CURRENCY Texto 4 SI Código numérico de moneda en la que se ejecuta la transacción
TERMINAL Texto 8 NO Número de terminal asociado a la transacción
TRANSACTION_DATE Texto 12 NO Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
ACTION_CODE Texto 3 NO Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
TRACE_NUMBER Texto Max 6 NO Número asignado para identificar de forma unívoca a la transacción
ECI_DESCRIPTION Texto Max 100 NO Descripción del código ECI asociado a la autenticación de la transacción
ECI Texto 2 NO Código ECI asociado a la autenticación de la transacción
SIGNATURE Texto 36 NO Código único generado por el sistema Niubiz al momento de la venta
CARD Texto Max 16 NO Número de tarjeta enmascarado usada en la venta
MERCHANT Texto 9 SI Código de comercio creado al momento de la afiliación
BRAND Texto Max 15 NO Marca de la tarjeta usada en la venta. Ejemplo:
visa
mastercard
amex
dinersclub
STATUS Texto Max 20 NO Descripción del estado de la transacción. Ejemplo:
  – Authorized
  – Not Authorized
  – Confirmed
  – Not Confirmed
  – Verified
  – Not Verified
  – Voided
  – Not Voided
  – Reject
  – Review
ACTION_DESCRIPTION Texto Max 100 NO Texto descriptivo de la autorización o denegación
ADQUIRENTE Texto Max 6 NO Código de identificación del adquirente
ID_UNICO Texto 15 NO Identificador de la transacción asociado a la autorización
AMOUNT Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
PROCESS_CODE Texto 6 NO Código de proceso de la transacción
TRANSACTION_ID Texto 15 NO Identificador de la transacción asociado a la autorización
CARD_TYPE Texto 1 NO Tipo de tarjeta usada en la transacción. Acepta los siguientes valores:
C – Tarjeta de crédito
D – Tarjeta de débito
CVV2_VALIDATION_RESULT Text 1 NO Resultado de verificación del CVV2 de la tarjeta
TRAMA ERROR: 401, 406, 500
description Texto Max 1000 SI Descripción relacionada al error


  C.2 Trama de ejemplo

  • Caso 200
  • Caso 400
  • Caso 401
  • Caso 406
  • Caso 500

Status Code 200 OK

Content-Type: application/json

{

  "header": {

    "ecoreTransactionUUID": "8d2dfc73-ec1f-43af-aa0f-b2c123fd25ea",

    "ecoreTransactionDate": 1603054418778,

    "millis": 4752

  },

  "fulfillment": {

    "channel": "web",

    "merchantId": "341198210",

    "terminalId": "1",

    "captureType": "manual",

    "countable": true,

    "fastPayment": false,

    "signature": "2e2cba40-a914-4e79-b4d3-8a2f2737eb73"

  },

  "order": {

    "tokenId": "99E9BF92C69A4799A9BF92C69AF79979",

    "purchaseNumber": "2020100901",

    "amount": 10.5,

    "installment": 2,

    "currency": "PEN",

    "authorizedAmount": 10.5,

    "authorizationCode": "173424",

    "actionCode": "000",

    "traceNumber": "177159",

    "transactionDate": "201010173430",

    "transactionId": "993202840246052"

  },

  "token": {

    "tokenId": "7000010038706267",

    "ownerId": "jperez@latinmail.com",

    "expireOn": "240702123548"

  },

  "dataMap": {

    "TERMINAL": "00000001",

    "TRACE_NUMBER": "177159",

    "ECI_DESCRIPTION": "Transaccion no autenticada pero enviada en canal seguro",

    "SIGNATURE": "2e2cba40-a914-4e79-b4d3-8a2f2737eb73",

    "CARD": "455170******8329",

    "MERCHANT": "341198210",

    "STATUS": "Authorized",

    "INSTALLMENTS_INFO": "02000000000",

    "ACTION_DESCRIPTION": "Aprobado y completado con exito",

    "ID_UNICO": "993202840246052",

    "AMOUNT": "10.50",

    "QUOTA_NUMBER": "02",

    "AUTHORIZATION_CODE": "173424",

    "CURRENCY": "0604",

    "TRANSACTION_DATE": "201010173430",

    "ACTION_CODE": "000",

    "CARD_TOKEN": "7000010038706267",

    "ECI": "07",

    "BRAND": "visa",

    "ADQUIRENTE": "570002",

    "QUOTA_AMOUNT": "0.00",

    "PROCESS_CODE": "000000",

    "VAULT_BLOCK": "jperez@latinmail.com",

    "TRANSACTION_ID": "993202840246052",

    "QUOTA_DEFERRED": "0"

  }

}



D. Códigos de Respuesta

Código Descripción
200 Autorización aprobada de forma satisfactoria
400 Error, la autorización ha sido denegada
401 Error, las credenciales utilizadas no son válidas
406 Error, se está enviando de forma duplicada una misma petición de autorización
500 Cualquier otro tipo de error

E. Data para pruebas

Te dejamos aquí lo que necesitas para realizar tus pruebas

Casos Exitosos

Casos denegados

  • Escenario Número Mes/año CVV Codigo de Acción
    Tarjeta Vencida 5455450920104190 04/2019 111 101
    Monto no permitido 5101641510088020 03/2023 111 102
    Fondos insuficientes 5115422225052730 04/2023 111 113
    Tarjeta no registrada 5109616945811690 04/2023 111 116
    Tarjeta no operativa (error de CVV) 5111053459429160 04/2023 111 118
    Tarjeta inválida 5411111111111110 04/2023 111 129
    Tarjeta perdida 5102851705613400 04/2023 111 180
    Tarjeta robada 5105291169837400 04/2023 111 208
    Problemas de comunicación 5110556146550520 04/2023 111 209
    Problemas de comunicación con antifraude 5103216920074980 04/2203 111 666
    Transacción denegada por posible fraude 5106248239975230 04/2023 111 670
    Error en autenticación 5110109669996270 04/2023 111 678
    Comercio no válido 5111886224425800 04/2023 111 754
    Contactar emisor 5100538637530150 04/2023 111 191
    Afiliación a REC no exitosa 5105724434046720 04/2023 111 0
    Tarjeta Vencida 5455450920104193 04/2019 111 101
    Monto no permitido 5101641510088022 04/2023 111 113
    Fondos insuficientes 5115422225052734 04/2023 111 116
    Tarjeta no registrada 5109616945811695 04/2023 111 118
    Tarjeta no operativa (error de CVV) 5111053459429167 04/2023 111 129
    Tarjeta inválida 5243798112895755 04/2023 111 180
    Tarjeta perdida 5102851705613406 04/2023 111 207
    Tarjeta robada 5105291169837406 04/2023 111 209
    Problemas de comunicación 5110556146550527 04/2023 111 666
    Problemas de comunicación con antifraude 5103216920074983 04/2203 111 668
    Transacción denegada por posible fraude 5106248239975235 04/2023 111 670
    Error en autenticación 5110109669996279 04/2023 111 678
    Comercio no válido 5111886224425808 04/2023 111 754
    Contactar emisor 5100538637530152 04/2023 111 191
    Afiliación a REC no exitosa 5105724434046726 04/2023 111 0

  • Escenario Número Mes/año CVV Codigo de Acción
    Tarjeta Vencida 371160951393498 01/2019 111 101
    Fondos insuficientes 371327381068590 01/2024 111 116
    Tarjeta no registrada 370374318198760 01/2024 111 118
    Tarjeta no operativa (error de CVV) 371045592151431 01/2024 111 129
    Tarjeta inválida 311111111111111 01/2024 111 180
    Transacción inválida 371448663683011 01/2024 111 190
    Tarjeta perdida 371540506350103 01/2024 111 207
    Tarjeta robada 371631798378041 01/2024 111 207
    Tienda inhabilitada 371032217060171 01/2024 111 401
    La operación ya se encuentra en un depósito 371950721798434 01/2024 111 476
    Código de comercio no existe o es inválido 371143974183930 01/2024 111 479
    Problemas de comunicación 349999481735341 01/2024 111 666
    Problemas de comunicación con antifraude 371912610030071 01/2024 111 668
    Transacción denegada por posible fraude 340010734769274 01/2024 111 670
    Error en autenticación 371461600047737 01/2024 111 678

  • Escenario Número Mes/año CVV Codigo de Acción
    Tarjeta Vencida 36953865709495 04/2019 111 101
    Fondos insuficientes 36344311372031 05/2024 111 116
    Tarjeta no registrada 36165277401757 05/2024 111 118
    Tarjeta no operativa (error de CVV) 36161915044570 05/2024 111 129
    Tarjeta inválida 32222222222222 05/2024 111 180
    Transacción inválida 36552045187919 05/2024 111 190
    Tarjeta perdida 36174837286856 05/2024 111 207
    Tarjeta robada 36482193207873 05/2024 111 207
    Tienda inhabilitada 36445590978511 05/2024 111 401
    La operación ya se encuentra en un depósito 36346782517671 05/2024 111 476
    Código de comercio no existe o es inválido 36344465159135 05/2024 111 479
    Problemas de comunicación 36484318063264 05/2024 111 666
    Problemas de comunicación con antifraude 36124375262074 05/2024 111 668
    Transacción denegada por posible fraude 36165181797514 05/2024 111 670
    Error en autenticación 36006973925121 05/2024 111 678
    Tarjeta inválida 30042507084040 05/2024 111 180

API de Anulación #


A. Descripción

Esta API permitirá realizar la cancelación/anulación de una transacción de venta. Para que esta API pueda resolver una operación necesita de un token de acceso vigente generado por el API de Seguridad.

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://apisandbox.vnforappstest.com/api.authorization/v3/void/ecommerce/{merchantId}/{signature}
Producción https://apiprod.vnforapps.com/api.authorization/v3/void/ecommerce/{merchantId}/{signature}
Ambiente URL de API
Testing https://apisandbox.vnforappstest.com/api.authorization/v3/void/ecommerce/{merchantId}/{signature}
Producción https://apiprod.vnforapps.com/api.authorization/v3/void/ecommerce/{merchantId}/{signature}


C. Request y Casos

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
PATH
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
signature Texto 36 SI Código único generado por el sistema Niubiz al momento de la venta
HEADER
accessToken Texto Max 1000 SI Token generado con la API de Seguridad


  C.2 Trama de ejemplo:

Request

PUT /api.authorization/v3/void/ecommerce/341198210/64ebdbe3-0688-45a7-9e1d-c2d1d347c8b9 HTTP/1.

Host: apisandbox.vnforappstest.com

Content-Type: application/json

Authorization:eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC 9zQnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM 2I0Zi01NzYxLTRlYTEtYjBmYS1iNWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3Vw cyI6WyJjdXN0b2RpbyJdLCJldmVudF9pZCI6IjIwMTg5N2IxLTAwYmItNDI0M i04MWI0LTNiZjM5OGY2NjAxMiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3Bl IjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiO jE2MDM4NDE0MzEsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LT EuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMzg0N TAzMSwiaWF0IjoxNjAzODQxNDMxLCJqdGkiOiI5OTE3ZjAxMS1mYWUyLTRiZTYt ODM1NC0zODNlMDZmM2EzMDUiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYn NucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0. Id8sV5i5E7LzdtJ_6b71gkOkIDW3Y_RG-vhUOiu-FHpI32OHKzo8gySNjxBR44pof rwI1lgrKLigtCILQUzKi9B7Bo_bpPIZjmYPIyabg12mrkeIh6jZRoSwsteSFOiA KTcqoMq_RQjUzmHTgBZwqGsOgyssEe4sfrZhMREGrpHJYFZ95-b2vslGUyUD084dB pkA5jTLOESNPsKyX1dmerK7VSxrDw__LiDCDCukdnQOWk90t7hV6aKqk5P3GQcBozt puDs3Osq44UpzHt6dgAnkRwRUQYjV6CDikw965ltF5_uhI1n_-RycoLCCnTJX8AZikqZQI 4wExWxINGWMsA



D. Response:

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
fulfillment SI Objeto fulfillment
channel Texto Max 45 SI Canal desde donde se originó la operación. Puede ser uno de los siguientes valores:
pasarela – Si son operaciones de venta de comercio electrónico
callcenter – Si son operaciones de venta de comercio electrónico
recurrent – Si son operaciones de venta de recurrentes
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
terminalIds Texto Max 8 SI Número de terminal asociado a la transacción
captureType Texto Max 45 SI Constante, siempre es el valor “manual”
countable Bandera SI Este campo indica si la venta a realizar tendrá liquidación automática o manual. Acepta los siguientes valores:
true – Para liquidación automática
flase – Para liquidación manual Valor por defecto: Según configuración del comercio en BackOffice Niubiz
fastPayment Bandera SI Este campo indica si la venta se realizó con indicador activo de pago rápido. Acepta los siguientes valores:
true – Venta es tipo pago rápido
flase – Venta no es tipo pago rápido
signature Texto 36 SI Código único generado por el sistema Niubiz al momento de la venta
order SI Objeto orden
purchaseNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
authorizationCode Texto Max 6 SI Código de autorización asignado a la aprobación de la transacción por la entidad resolutora
actionCode Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
traceNumber Texto Max 6 SI Número asignado para identificar de forma unívoca a la transacción
transactionDate Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
transactionId Texto 15 SI Identificador de la transacción asociado a la autorización
originalTraceNumber Texto Max 6 SI Número original asignado para identificar de forma unívoca a la transacción
originalDateTime Texto 12 SI Fecha original de la transacción expresada en formato nativo yyMMddHHmmSS
dataMap SI Objeto datamap
CURRENCY Texto 4 SI Código numérico de moneda en la que se ejecuta la transacción
TERMINAL Texto 8 SI Número de terminal asociado a la transacción
ORIGINAL_DATETIME Texto 12 SI Fecha original de la transacción expresada en formato nativo yyMMddHHmmSS
TRANSACTION_DATE Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
ACTION_CODE Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
ORIGINAL_TRACE Texto Max 6 SI Número original asignado para identificar de forma unívoca a la transacción
TRACE_NUMBER Texto Max 6 SI Número asignado para identificar de forma unívoca a la transacción
CARD Texto Max 16 SI Número de tarjeta enmascarado usada en la venta
MERCHANT Texto 9 SI Código de comercio creado al momento de la afiliación
STATUS Texto Max 20 SI Descripción del estado de la transacción. Ejemplo:
Authorized
Not Authorized
Confirmed
Not Confirmed
Verified
Not Verified
Voided
Not Voided
Reject
Review
ADQUIRENTE Texto Max 6 SI Código de identificación del adquirente
AMOUNT Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
PROCESS_CODE Texto 6 SI Código de proceso de la transacción
TRANSACTION_ID Texto 15 SI Identificador de la transacción asociado a la autorización
TRAMA ERROR: 400
errorCode Entero SI Código de error
errorMessage Texto Max 500 SI Descripción del error
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
Data SI Objeto con información complementaria relacionada al error
TRACE_NUMBER Texto Max 6 NO Número asignado para identificar de forma unívoca a la transacción
TRAMA ERROR: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


  D.2 Trama de ejemplo

  • Caso 200
  • Caso 400
  • Caso 401
  • Caso 500

Status Code 200 OK

Content-Type: application/json

{

 "header": {

  "ecoreTransactionUUID": "d137fbf0-1c41-4cbb-95f4-6556c8bb5f0b",

  "ecoreTransactionDate": 1603320819763,

  "millis": 2061

 },

 "fulfillment": {

  "channel": "web",

  "terminalId": "1",

  "captureType": "manual",

  "fastPayment": false,

  "signature": "191af122-1447-4d98-8744-ac57064c89fc"

 },

 "order": {

  "purchaseNumber": "13238",

  "authorizationCode": "",

  "actionCode": "400",

  "traceNumber": "290695",

  "transactionDate": "201021175338",

  "transactionId": "993202950260531",

  "originalTraceNumber": "247918",

  "originalDateTime": "201021171033"

 },

 "dataMap": {

  "CURRENCY": "0604",

  "ORIGINAL_DATETIME": "201021171033",

  "TRANSACTION_DATE": "201021175338",

  "TERMINAL": "00000001",

  "ACTION_CODE": "400",

  "TRACE_NUMBER": "290695",

  "ORIGINAL_TRACE": "247918",

  "CARD": "422052******2039",

  "MERCHANT": "341198210",

  "STATUS": "Voided",

  "ADQUIRENTE": "570002",

  "AMOUNT": "28.00",

  "PROCESS_CODE": "000000",

 "TRANSACTION_ID": "993202950260531"

 }

}



E. Códigos de Respuesta

Código Descripción
200 La transacción de venta ha sido anulada de forma satisfactoria
400 Error, la operación ha sido rechazada
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error


F. Data de Prueba

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

Casos Exitosos

Casos denegados

  • Escenario Número Mes/año CVV Codigo de Acción
    Contactar emisor 5316837952327271 04/2023 191 101
    Número de orden inválido 5114958534279576 04/2023 111 480
    Problemas de comunicación 5109622747010312 04/2023 111 666
    Comercio no válido 5113116463286648 04/2023 111 754
    Transacción anulada previamente 5114823696023438 04/2023 111 941
    Datos originales distintos 5100971004571337 04/2023 111 943
    Operación de anulación en proceso 5111529049874491 04/2023 111 946

  • Escenario Número Mes/año CVV Codigo de Acción
    Contactar emisor 349944823576169 03/2022 111 191
    Tienda inhabilitada 370455218733523 03/2022 111 401
    Código de autorización inválido 371890728324349 03/2022 111 427
    No se realizó la operación 349036614499097 03/2022 111 435
    Número de operación ya se encuentra anulada 371029546944315 03/2022 111 436
    Problemas de comunicación 371382364998230 03/2022 111 666

  • Escenario Número Mes/año CVV Codigo de Acción
    Contactar emisor 3644553512094293195 04/2025 111 191
    Tienda inhabilitada 3616015366040789610 04/2025 111 401
    Código de autorización inválido 3607694423196056422 04/2025 111 427
    No se realizó la operación 36414363221715 04/2025 111 435
    Número de operación ya se encuentra anulada 36123613384773 04/2025 111 436
    Problemas de comunicación 36340376606040 04/2025 111 666

API de Consulta de BIN #


A. Descripción

Esta API permitirá realizar la consulta de las características que tiene un número de BIN configurado en el sistema. Para que esta API pueda resolver una operación necesita de un token de acceso vigente generado por el API de Seguridad.

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://apisandbox.vnforappstest.com/api.ecommerce/v2/queryBin/{bin}
Producción https://apiprod.vnforapps.com/api.ecommerce/v2/queryBin/{bin}
Ambiente URL de API
Testing https://apisandbox.vnforappstest.com/api.ecommerce/v2/queryBin/{bin}
Producción https://apiprod.vnforapps.com/api.ecommerce/v2/queryBin/{bin}


C. Request y Casos:

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
PATH
bin Texto 6 SI Número de BIN
HEADER
accessToken Texto Max 1000 SI Token generado con la API de Seguridad


  C.2 Trama de ejemplo:

  • Request

GET /api.ecommerce/v2/queryBin/400917 HTTP/1.1

Host: apisandbox.vnforappstest.com

Content-Type: application/json

Authorization: eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnNwOT lNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi01NzYxLTRlYTEtY jBmYS1iNWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3VwcyI6WyJjdXN0b2RpbyJdLCJldmVud F9pZCI6ImIyZDNhNDYwLWFmOGUtNDgxMy1iZGNjLTBiZGFhNWIxOTI3ZiIsInRva2VuX3VzZ SI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhd XRoX3RpbWUiOjE2MDMxMzA3OTUsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lY XN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMzEzN DM5NSwiaWF0IjoxNjAzMTMwNzk1LCJqdGkiOiI5YzkzZTllOC04YjkzLTQyNzgtOTllNi0xN jZlNDFlOTFiOTUiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnNucWVpaWpiNyIsI nVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0.Uf28IkIlLvkdvppAXMjIp JK4J9Levp6QC8a39nD6BW5CYSaZSrtjgESydvhU-oKQ7xClflsE9MCuXqambFHc9-sDAn3La yRsFe7OXEvDmEBFQWedRISLUn59ylGIT4gUVUOt__cUlCmdRbLkM0KInUnwCVtB-FeHO4ioA FXaLH34V3uDv1qhpp5pFAceEPbjGPCTKTtnbxHn0UQqAi4RdPUgh8b0Wpc2blBYzJVe76ldz 6HJw8Ynwnzoll2Og_Uvf01RgS7KwN6mWnzdCVYPeu4URUBN1hLrpnX_zXflgjoIvHktRRJyl LWkfSY9QA_dFcFjiqycjc2gD7TZd9f0ag



D. Response:

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
binNumber Texto 6 SI Número de BIN
binType Texto 1 SI Tipo de BIN. Puede ser:
C – Crédito
D – Débito
hasInstallments Bandera SI Indica si el BIN presenta o no presenta cuotas
installments Arreglo SI Cuotas que presenta el BIN
TRAMA EXITOSA: 400
errorCode Entero SI Código de error
errorMessage Texto Max 500 SI Descripción del error
TRAMA EXITOSA: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


  D.2 Trama de ejemplo

  • Caso 200
  • Caso 400
  • Caso 401
  • Caso 500

Status Code 200 OK

Content-Type: application/json

{

    "binNumber": "400917",

    "binType": "C",

    "hasInstallments": true,

    "installments": [

        2,

        3,

        4,

        5,

        6,

        7,

        8,

        9,

        10,

        11,

        12,

        13,

        14,

        15,

        16,

        17,

        18,

        19,

        20,

        21,

        22,

        23,

        24,

        25,

        26,

        27,

        28,

        29,

        30,

        31,

        32,

        33,

        34,

        35,

        36

    ]

}



E. Códigos de Respuesta

Código Descripción
200 Número de BIN encontrado en el sistema
400 Error, la operación ha sido rechazada
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error

API de Elegibilidad DCC #


A. Descripción

Esta API permitirá consultar si la tarjeta a utilizar en un pago presenta elegibilidad DCC. Para que esta API pueda resolver una operación necesita de un token de acceso vigente generado por el API de Seguridad.

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://apisandbox.vnforappstest.com/api.ecommerce/v2/currency/conversion/{merchantId}
Producción https://apiprod.vnforapps.com/api.ecommerce/v2/currency/conversion/{merchantId}
Ambiente URL de API
Testing https://apisandbox.vnforappstest.com/api.ecommerce/v2/currency/conversion/{merchantId}
Producción https://apiprod.vnforapps.com/api.ecommerce/v2/currency/conversion/{merchantId}


C. Request y Casos

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
PATH
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
HEADER
accessToken Texto Max 1000 SI Token generado con la API de Seguridad
BODY
card SI Objeto tarjeta
binNumber Texto 6 SI Número de BIN de la tarjeta foránea
last4Digits Texto 4 SI Últimos 4 dígitos de la tarjeta foránea
order SI Objeto orden
currency Texto 3 SI Código de moneda (ISO 4217) utilizado en la transacción
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00


  C.2 Trama de ejemplo:

Request

POST /api.ecommerce/v2/currency/conversion/341198210 HTTP/1.1

Host: apisandbox.vnforappstest.com

Content-Type: application/json

Authorization: eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPX C9zQnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi 01NzYxLTRlYTEtYjBmYS1iNWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3VwcyI6WyJ jdXN0b2RpbyJdLCJldmVudF9pZCI6IjA5MDIxZTYzLWY0ZjktNGRjZC1iMDgzLTFhYz M2MTNkYmJmNyIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pd G8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE2MDMxNDA0NTYsImlzcyI6I mh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZW FzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMzE0NDA1NiwiaWF0IjoxNjAzMTQwNDU2LCJq dGkiOiI0YjlhZmI3ZC0xOWQyLTQ1ZjUtODU1ZS02N2FjZGU1ZWFjYTYiLCJjbGllbnRfaWQiOiI xMGx2MDYxN281ZGljNTFlYnNucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9A Z21haWwuY29tIn0.CdPaIzxyPdMz9Lys3ARZwzrEki4QPm8omnDVLSgKM3G2YHQFeQXzyfjrQy4- PLiwbjVFLxr6tdV0RB2jIv5mFIbO5g5qdrDe8vAiqqOiI8klZzUMa7WzpnN0KwRX0n4GERWVQBO Ma5Rn4J–MXvU8uWqakLqI-JRiXh6YEYGteP6PIMi89OZZisgzJe9Oi3FNBc4kV0k_lcxtwmC Y9SRG8JUhpmnPGEJ6LAQL9KYE8Pv3CVJNjqojpiDIQc1bEqPZ2gnacgsR39jvajEB1XojmguA8yem- W2JMg-8q_MMiSiuMdzEaE88jNNWxafRk8GjZbdaMof4mWAMVcY5gPFg

{

"card": {

"binNumber": "440847",

"last4Digits": "1121"

},

"order": {

"currency": "PEN",

"amount": 1.07

}

}



D. Response:

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
header SI Objeto header
ecoreTransactionUUID Texto SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
card SI Objeto tarjeta
binNumber Texto 6 SI Número de BIN de la tarjeta foránea
last4Digits Texto 4 SI Últimos 4 dígitos de la tarjeta foránea
order SI Objeto orden
currency Texto 3 SI Código de moneda (ISO 4217) utilizado en la transacción
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
currencyConversion SI Objeto conversión DCC
accepted Bandera SI Indica si en la venta se usará o no DCC
eligibilityCode Texto 1 SI Valor retornado en la respuesta a la consulta de elegibilidad. Puede ser uno de los siguientes valores:
0 – El requerimiento DCC ha sido aceptado
1 – El requerimiento DCC ha sido rechazado basado en un error. Verifique los códigos de error para más detalle
2 – La tarjeta no fue encontrada en la CRT por lo que no puede ser considerada para DCC
3 – DCC no está permitido para la tarjeta
4 – No se requirió el servicio DCC
currencyCode Texto 3 SI Código de moneda DCC. El código de moneda aplicable al PAN. Este valor se encuentra en la búsqueda CRT (ISO 4217)
currencyCodeAlpha Texto 3 SI Código de moneda DCC en texto. El código de moneda expresado en texto, esto ayudará a la presentación de la oferta DCC
amount Numérico 6,2 SI Importe en moneda DCC. El monto en la moneda extranjera en la menor unidad de la moneda extranjera
exponent Entero SI El exponente extranjero utilizado en dar formato al monto
exchangeRate Numérico 6,2 SI Factor por el que el monto local es multiplicado para obtener el monto DCC
wholeSaleRate Numérico 6,2 SI Tasa de conversión antes de que se aplique la comisión
markup Numérico 6,2 SI Margen de beneficio aplicado a toda la tasa de venta
rateSource Texto Max 12 SI Nombre del origen de las tarifas extranjeras
rateDate Texto 6 SI Fecha en la que se obtuvo el tipo de cambio. Expresado como yyMMdd
rateTime Texto 6 SI Hora en la que se obtuvo el tipo de cambio. Expresado como hhMMss
status Texto Max 15 SI Estado obtenido en la consulta de elegibilidad DCC
signature Texto 41 SI Llave generada en la consulta de elegibilidad DCC
terms SI Objeto términos y condiciones
preDisclaimer Texto Max 1000 SI Es la exención de responsabilidad que se mostrará antes de aceptar DCC
postDisclaimer Texto Max 1000 SI Es la exención de responsabilidad que se mostrará después de que se acepte DCC
choiceText Texto Max 1000 SI Este texto se mostrará en el formulario, indicando la opción de los clientes de pagar con la moneda de su tarjeta o la moneda local
TRAMA ERROR: 400
errorCode Entero SI Código de error
errorMessage Texto Max 500 SI Descripción del error
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
data SI Objeto con información complementaria relacionada al error
indicator Texto 1 SI Indicador relacionado al error
code Texto 1 SI Código relacionado al error
signature Texto 41 SI Llave generada en la consulta de elegibilidad DCC
message Texto Max 500 SI Mensaje relacionado al error
TRAMA ERROR: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


  D.2 Trama de ejemplo

  • Caso 200
  • Caso 400
  • Caso 401
  • Caso 500

Status Code 200 OK

Content-Type: application/json

{

 "header": {

  "ecoreTransactionUUID": "206e8c98-1cc3-4b2a-b983-1784a6c7bf0c",

  "ecoreTransactionDate": 1603140471801,

  "millis": 1745

 },

 "card": {

  "binNumber": "440847",

  "last4Digits": "1121"

 },

 "order": {

  "currency": "PEN",

  "amount": 1.07

 },

 "currencyConversion": {

  "accepted": true,

  "eligibilityCode": "0",

  "currencyCode": "124",

  "currencyCodeAlpha": "CAD",

  "amount": 0.41,

  "exponent": 2,

  "exchangeRate": 0.3839,

  "wholeSaleRate": 0.37091787439613527,

  "markup": 3.5,

  "rateSource": "Planet",

  "rateDate": "201019",

  "rateTime": "142648",

  "status": "Authorized",

  "signature": "B25325046BFF2CCA70CB6A7CE513E00F400598E3"

 },

 "terms": {

"preDisclaimer": "ATTENTION! THIS IS NOT A RECEIPT. PLEASE READ BELOW. You have the choice of paying your bill in either: PEN 1.07 or CAD .41",

"postDisclaimer": "I authorize this merchant to debit the above card with the above amount. I recognize I had the right to pay in PEN. My choice of currency is final. The exchange rate is based on latest available ECB rates for EEA issued cards or Planet’s reference rate for other cards. The DCC Service is offered by the merchant.",

"choiceText": "You have the choice of paying your bill in either: PEN 1.07 or CAD .41"

 }

}



E. Códigos de Respuesta

Código Descripción
200 Número de BIN presenta elegibilidad DCC
400 Error, la operación ha sido rechazada
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error

API de Antifraude #


A. Descripción

Esta API permitirá realizar la calificación de una operación de venta antes de realizar su autorización. Para que esta API pueda resolver una operación necesita de un token de acceso vigente generado por el API de Seguridad.

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://apisandbox.vnforappstest.com/api.antifraud/v1/antifraud/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.antifraud/v1/antifraud/ecommerce/{merchantId}
Ambiente URL de API
Testing https://apisandbox.vnforappstest.com/api.antifraud/v1/antifraud/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.antifraud/v1/antifraud/ecommerce/{merchantId}


C. Request y Casos

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
PATH
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
HEADER
accessToken Texto Max 1000 SI Token generado con la API de Seguridad
BODY
channel Texto Max 45 SI Canal desde donde se originó la operación. Puede ser uno de los siguientes valores:
pasarela – Si son operaciones de venta de comercio electrónico
callcenter – Si son operaciones de venta de telepago
clientIp Texto Max 45 NO Dirección IP del cliente
deviceFingerprintId Texto 36 NO Identificador del dispositivo. Este campo debe ser generado inicialmente en el punto de captura de pago del comercio (“Generación del DFP”) y posteriormente enviar el mismo valor en este campo.
merchantDefineData Texto SI Objeto MDD. La lista de MDD se define entre el comercio y Niubiz.
MDD{NºX} Texto Max 100 SI MDD número “X” a registrar en antifraude
MDD{NºY} Texto Max 100 SI MDD número “Y” a registrar en antifraude
En este objeto es posible insertar varios MDD
billingAddress Condicional Objeto dirección de facturación
country Texto 2 SI Código ISO-3166 del país
city Texto Max 20 SI Nombre de la ciudad
postalCode Entero SI Código postal
state Texto Max 20 SI Nombre del departamento o estado
street1 Texto Max 30 SI Dirección número uno
street2 Texto Max 30 NO Dirección número dos
shippingAddress Condicional Objeto dirección de envío
country Texto 2 SI Código ISO-3166 del país
city Texto Max 20 SI Nombre de la ciudad
postalCode Entero SI Código postal
state Texto Max 20 SI Nombre del departamento o estado
street1 Texto Max 30 SI Dirección número uno
street2 Texto Max 30 NO Dirección número dos
order SI Objeto orden
purchaseNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
currency Texto 3 SI Código de moneda (ISO 4217) utilizado en la transacción
card SI Objeto tarjeta
cardNumber Texto Max 16 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
purchaseNumber Texto Max 12 SI Número de tarjeta
expirationMonth Entero SI Mes de expiración de la tarjeta
expirationYear Entero SI Año de expiración de la tarjeta
cvv2 Texto Max 4 NO Número de CVV2 de la tarjeta
cardHolder SI Objeto titular de la tarjeta
firstName Texto Max 40 SI Nombres del tarjetahabiente
lastName Texto Max 40 SI Apellidos del tarjetahabiente
email Texto Max 35 SI Correo electrónico del tarjetahabiente
phoneNumber Texto Max 10 NO Teléfono del tarjetahabiente
trip Condicional Objeto viaje
route Texto Max 100 SI Concatenación de tramos individuales de viaje. Formato ==> ORIG1-DEST1[:ORIG2-DEST2…:ORIGn-DESTn]
type Texto Max 20 SI Descriptor del tipo de viaje. Puede ser:
One Way
Round Trip
Multiple City
depart Texto Max 30 SI Fecha y hora de salida de viaje. Formato ==> YYYY-MM-DD HH:MM GTM HH:MM
passengers Condicional Arreglo de pasajeros en un viaje
sku Texto Max 9 SI Código de comercio
product Texto Max 100 SI Nombre completo del pasajero
(Nombre+Apellido)
email Texto Max 35 SI Correo electrónico del pasajero
firstName Texto Max 25 SI Nombres del pasajero
lastName Texto Max 50 SI Apellidos del pasajero
code Texto Max 20 SI Número de documento
phone Texto Max 10 SI Teléfono del pasajero
status Texto Max 8 SI Descriptor de la clase asociada al pasajero. Puede ser:
Standard
Gold
Platinum
type Texto 3 SI Tipo de pasajero. Puede ser:
ADT– Adulto
CNN– Niño
INF– Infante
YTH– Joven
STU– Estudiante
SCR– Jubilado
MIL– Militar
price Numérico 6,2 SI Cantidad total de la transacción para el pasajero
currencyConversion Condicional Objeto conversión DCC
accepted Bandera SI Indica si en la venta se usará o no DCC
eligibilityCode Texto 1 SI Valor retornado en la respuesta a la consulta de elegibilidad. Puede ser uno de los siguientes valores:
0 – El requerimiento DCC ha sido aceptado
1 – El requerimiento DCC ha sido rechazado basado en un error. Verifique los códigos de error para más detalle
2 – La tarjeta no fue encontrada en la CRT por lo que no puede ser considerada para DCC
3 – DCC no está permitido para la tarjeta
4 – No se requirió el servicio DC
currencyCode Texto 3 SI Código de moneda DCC. El código de moneda aplicable al PAN. Este valor se encuentra en la búsqueda CRT (ISO 4217)
currencyCodeAlpha Texto 3 SI Código de moneda DCC en texto. El código de moneda expresado en texto, esto ayudará a la presentación de la oferta DCC
amount Numérico 6,2 SI Importe en moneda DCC. El monto en la moneda extranjera en la menor unidad de la moneda extranjera
exponent Entero SI El exponente extranjero utilizado en dar formato al monto
exchangeRate Numérico 6,2 SI Factor por el que el monto local es multiplicado para obtener el monto DCC
wholeSaleRate Numérico 6,2 SI Tasa de conversión antes de que se aplique la comisión
markup Numérico 6,2 SI Margen de beneficio aplicado a toda la tasa de venta
rateSource Texto Max 12 SI Nombre del origen de las tarifas extranjeras
rateDate Texto 6 SI Fecha en la que se obtuvo el tipo de cambio. Expresado como yyMMdd
rateTime Texto 6 SI Hora en la que se obtuvo el tipo de cambio. Expresado como hhMMss
status Texto Max 15 SI Estado obtenido en la consulta de elegibilidad DCC
signature Texto 41 SI Llave generada en la consulta de elegibilidad DCC


  C.2 Trama de ejemplo:

Request

POST /api.antifraud/v1/antifraud/ecommerce/341198210 HTTP/1.1

Host: apisandbox.vnforappstest.com

Content-Type: application/json

Authorization: eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnN wOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi01NzYx LTRlYTEtYjBmYS1iNWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3VwcyI6WyJjdXN0b2Rpb yJdLCJldmVudF9pZCI6ImVlM2ExOWUxLWRjZjUtNGMyNC1hNjBlLWUwMTMyMWRiMDM4N SIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIu YWRtaW4iLCJhdXRoX3RpbWUiOjE2MDMyMzYyNzAsImlzcyI6Imh0dHBzOlwvXC9jb2duaXR vLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsIm V4cCI6MTYwMzIzOTg3MCwiaWF0IjoxNjAzMjM2MjcwLCJqdGkiOiI4ZjYzZjgzOS00OTgwLTQ5MzY tYjQzZS05MDRmMDFjYjAwZjIiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnNucWVp aWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0.Lh8DSNYs6BHuICnt2B d6fSqXy-1jmKcJcwPuBSxK8boLKxv6Qf9-YiCRSTfAoeEGcOuUCVKmVU27Bms7y8oD5p22nTbSV KmU4e981vD8LByCZjyjM6mDoWRFnfpRVqPwgGmnG4n0ZN7CYeZtdb87imqQDV2x5_IgeUaWJ-AHP J9aaAlYk5RWjVQiADUWlEfZEryqemEwuAPGi3cySLCGiXwJhUXyFHMmd9gkHAjSTLuvGwOJRxwX AZ1WKHLi6wNwQHDMcNX393e7R3UxEn2xIXjqpRA-hCSI0Rl-YI0SxjJUKhvVY-bOjxSo_RvFD8Ns 6L8knwv9bAIlPfMHEZEwvQ

{

 "channel": "web",

 "clientIp": "24.252.107.29",

 "deviceFingerprintId": "b8c7806d-6317-4b7c-bfab-18ef5d6fc5c5",

 "merchantDefineData": {

  "MDD5": "AFKI345",

  "MDD93": "20187654324"

 },

 "billingAddress": {

  "street1": "Calle Astorga 831",

  "street2": "Calle Toledo 821",

  "postalCode": 12330,

  "city": "Lima",

  "state": "Lima",

  "country": "PE"

 },

  "shippingAddress": {

  "street1": "Calle Astorga 831",

  "street2": "Calle Toledo 821",

  "postalCode": 12330,

  "city": "Lima",

  "state": "Lima",

  "country": "PE"

 },

 "order": {

  "purchaseNumber": "1234567890",

  "amount": 12.35,

  "currency": "PEN"

 },

 "card": {

  "cardNumber": "4242424242424242",

  "expirationMonth": 12,

  "expirationYear": 2021,

  "cvv2": "329"

 },

 "cardHolder": {

  "firstName": "Juan",

  "lastName": "Crespo",

  "email": "juan.c@latinmail.com",

  "phoneNumber": "5112223333",

  "documentType": "0",

  "documentNumber": "40315149"

 },

 "currencyConversion": {

  "accepted": true,

  "eligibilityCode": "0",

  "currencyCode": "840",

  "currencyCodeAlpha": "USD",

  "amount": 3.14,

  "exponent": 2,

  "exchangeRate": 0.3136,

  "wholeSaleRate": 0.302995169082125,

  "markup": 3.5,

  "rateSource": "Fintrax",

  "rateDate": "190514",

  "rateTime": "142616",

  "status": "Authorized",

  "signature": "662E6F89723CCFF2AF4928FB05A2D2F6B6813974"

 },

 "trip": {

  "route": "SFO-JFK:JFK-LHR:LHR-CDG",

  "type": "Round Trip",

  "depart": "2018-07-07 15:25 EST-0500"

 },

 "passengers": [

 {

  "sku": "341198210",

  "product": "Juan Perez",

  "email": "juan.p@latinmail.com",

  "firstname": "Juan",

  "lastname": "Perez",

  "code": "42058214",

  "phone": "5112224444",

  "status": "Standard",

  "type": "ADT",

  "price": 12.35

  }

 ]

}



D. Response:

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
order SI Objeto orden
purchaseNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
currency Texto 3 SI Código de moneda (ISO 4217) utilizado en la transacción
billingAddress Condicional Objeto dirección de facturación
country Texto 2 SI Código ISO-3166 del país
city Texto Max 20 SI Nombre de la ciudad
postalCode Entero SI Código postal
state Texto Max 20 SI Nombre del departamento o estado
street1 Texto Max 30 SI Dirección número uno
street2 Texto Max 30 NO Dirección número dos
shippingAddress Condicional Objeto dirección de envío
country Texto 2 SI Código ISO-3166 del país
city Texto Max 20 SI Nombre de la ciudad
postalCode Entero SI Código postal
state Texto Max 20 SI Nombre del departamento o estado
street1 Texto Max 30 SI Dirección número uno
street2 Texto Max 30 NO Dirección número dos
token SI Objeto token
tokenId Texto 32 SI Token identificador de la calificación antifraude
expiration Fecha SI Fecha de expiración del token expresado en formato UNIX TimeStamp
redirectToVbV Bandera SI Indicador para redireccionamiento al proceso de autenticación si el valor es true
dataMap SI Objeto datamap
TRANSACTION_DATE Texto 2 SI Código ISO-3166 del país
country Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
MESSAGE Texto Max 50 SI Texto descriptivo de la calificación de la venta en el sistema antifraude
REQUEST_TOKEN Texto Max 60 SI Firma generada por la calificación de la venta en el sistema antifraude
DECISION Texto Max 6 SI Estado de la transacción después de la calificación de la venta en el sistema antifraude. Puede ser:
Accept
Reject
Review
ACTION_CODE Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
REASON_CODE Texto 3 SI Código de razón obtenido en la respuesta a la calificación de la venta en el sistema antifraude
REQUEST_ID Texto Max 25 SI Id único generado por la calificación de la venta en el sistema antifraude
TRAMA ERROR: 400
errorCode Entero SI Código de error
errorMessage Texto Max 500 SI Descripción del error
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
data SI Objeto con información complementaria relacionada al error
TRANSACTION_DATE Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
MESSAGE Texto Max 50 SI Texto descriptivo de la calificación de la venta en el sistema antifraude
REQUEST_TOKEN Texto Max 60 SI Firma generada por la calificación de la venta en el sistema antifraude
DECISION Texto Max 6 SI Estado de la transacción después de la calificación de la venta en el sistema antifraude. Puede ser:
Accept
Reject
Review
ACTION_CODE Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
REASON_CODE Texto 3 SI Código de razón obtenido en la respuesta a la calificación de la venta en el sistema antifraude
REQUEST_ID Texto Max 25 SI Id único generado por la calificación de la venta en el sistema antifraude
TRAMA ERROR: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


  D.2 Trama de ejemplo

  • Caso 200
  • Caso 400
  • Caso 401
  • Caso 500

Status Code 200 OK

Content-Type: application/json

{

 "header": {

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

  "ecoreTransactionDate": 1550355747781,

  "millis": 294

 },

 "order": {

  "purchaseNumber": "1234567890",

  "amount": 12.35,

  "currency": "PEN",

  "billingAddress": {

   "street1": "Calle Astorga 831",

   "street2": "Calle Toledo 821",

   "postalCode": 12330,

   "city": "Lima",

   "state": "Lima",

   "country": "PE"

  },

 "shippingAddress": {

  "street1": "Calle Astorga 831",

  "street2": "Calle Toledo 821",

  "postalCode": 12330,

  "city": "Lima",

  "state": "Lima",

  "country": "PE"

 }

},

 "token": {

  "tokenId": "DE2E3AF7C8494278AE3AF7C849027853",

  "expiration": 1551043055832,

  "redirectToVbV": false

 },

 "dataMap": {

  "TRANSACTION_DATE": "190216172227",

  "MESSAGE": "Cybersource Accept",

  "REQUEST_TOKEN": "AhjzbwSTKrk3lZpnsTJIIAFReUaCTVMuDbhka/DJpJli6+BgoIF4akWA",

  "DECISION": "Accept",

  "ACTION_CODE": "000",

  "REASON_CODE": "100",

  "REQUEST_ID": "5510476034476579304008"

 }

}



E. Códigos de Respuesta

Código Descripción
200 La calificación antifraude de la transacción ha sido aprobada
400 Error, la calificación antifraude de la transacción ha sido rechazada
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error


F. Generación del Device FingerPrint

Para que el motor de antifraude pueda realizar las validaciones de las reglas, se debe poder realizar la captura del DFP en el punto de captura adicional al envío en el API de Antifraude. Realiza los siguientes pasos:

  • Descargar el script: https://s3-gestor-librerias.s3.amazonaws.com/Plugins/dfp_niubiz_prod_pasarela.js

  • El script pide como parámetros un campo UUID (Identificador único) que debe generar el comercio para cada transacción. Este valor es el mismo que se envía en el parámetro “deviceFingerprintId” del API de Antifraude. Ejemplo: b8c7806d-6317-4b7c-bfab-18ef5d6fc5c5

  • Invocar la función “initDFP(sessionId)” en donde sessionId es el valor generado en el paso anterior.

  • Integrar el javascript en el punto de captura, este se debe ejecutar apenas cargue el formulario.

  • Realizar el flujo normal, obtener la información del tarjetahabiente (formulario donde se ingresa los datos de la tarjeta, etc.).

  • Luego que el cliente oprima pagar se debe invocar al API de Antifraude enviando el valor generado UUID en el campo “deviceFingerprintId” y posteriormente dependiendo de la respuesta, al API de Autorización.

G. Data para pruebas

Te dejamos aquí lo que necesitas para realizar tus pruebas

Casos Exitosos

Casos denegados

  • Escenario Número Mes/año CVV Codigo de Acción
    Rechazada (Reject) 5114918847431322 08/2023 191 670
    Contactar emisor 5110228453235049 08/2023 111 191
    Problemas de comunicación 5114723479432907 08/2023 111 666
    Problemas de comunicación con antifraude 5112851960146470 08/2023 111 668

  • Escenario Número Mes/año CVV Codigo de Acción
    Rechazada (Reject) 371449777627761 09/2023 111 670
    Contactar emisor 370729135703649 09/2023 111 191
    Problemas de comunicación 371144179417438 09/2023 111 666
    Problemas de comunicación con antifraude 371845854119095 09/2023 111 668

  • Escenario Número Mes/año CVV Codigo de Acción
    Rechazada (Reject) 36213837150520 05/2024 111 670
    Contactar emisor 36004332674803 05/2024 111 191
    Problemas de comunicación 36957049153256 05/2024 111 666
    Problemas de comunicación con antifraude 36349996779459 05/2024 111 668

API de Confirmación #


A. Descripción

Esta API permitirá realizar la confirmación de una transacción de venta no contable. Para que esta API pueda resolver una operación necesita de un token de acceso vigente generado por el API de Seguridad.

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://apisandbox.vnforappstest.com/api.confirmation/v1/confirmation/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.confirmation/v1/confirmation/ecommerce/{merchantId}
Ambiente URL de API
Testing https://apisandbox.vnforappstest.com/api.confirmation/v1/confirmation/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.confirmation/v1/confirmation/ecommerce/{merchantId}


C. Request y Casos

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
PATH
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
HEADER
accessToken Texto Max 1000 Si Token generado con la API de Seguridad
BODY
channel Texto Max 45 Si Canal desde donde se originó la operación. Puede ser uno de los siguientes valores:
pasarela – Si son operaciones de venta de comercio electrónico
callcenter – Si son operaciones de venta de telepago
captureType Texto Max 45 Si Constante, siempre es el valor “manual”
order Si Objeto orden
purchaseNumber Texto Max 12 Si Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
amount Numérico 6,2 Si Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
authorizedAmount Numérico 6,2 NO Importe del pedido confirmado. Si no se envía este atributo, el importe confirmado es igual al valor del atributo “amount”. El máximo porcentaje de +/- importe de confirmación respecto al importe autorizado está configurado a nivel del comercio en los sistemas backoffice
currency Texto 3 Si Código de moneda (ISO 4217) utilizado en la transacción
transactionId Texto 15 Si Identificador de la transacción asociado a la autorización
sponsored Condicional Objeto comercio hijo
merchantId Texto Max 9 Si Código del comercio hijo
name Texto Max 25 Si Nombre del comercio hijo
address Texto Max 50 Si Dirección del comercio hijo
phoneNumber Texto Max 10 Si Teléfono del comercio hijo
mcci Texto Max 4 Si MCC internacional del comercio hijo


  C.2 Trama de ejemplo:

  • Confirmación
    simple
  • Confirmación facilitadores

POST /api.confirmation/v1/confirmation/ecommerce/341198210 HTTP/1.1

Host: apisandbox.vnforappstest.com

Content-Type:application/json

Authorization:eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnNwOT lNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhYjgzMDJkZC1lZDg3LTQ5YTQtO TIxOS1kMjFmZDBlZjUwYTMiLCJldmVudF9pZCI6IjQwNjhkMjhiLTExNjUtNDk2ZS05MGU3LT c1MDI0MDVlMDllYyIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc 2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE1NjQ2MDM4NjksImlzcyI6Imh0dHBzOlwv XC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZ TFmSSIsImV4cCI6MTU2NDYwNzQ2OSwiaWF0IjoxNTY0NjAzODY5LCJqdGkiOiI5NzMzYjkyNy03MWU3 LTRmNjktOTE4YS0xZjc3ZTU2NDVmNGUiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnNucW VpaWpiNyIsInVzZXJuYW1lIjoicHJ1ZWJhY2V2aUBnbWFpbC5jb20ifQ.QA3M7gJCQyUw1cOeYpdsw7 EC6Z4EL0tHpbzyMzZa6xNTVH-Vx7JAjQE8pf_u06ttEVAA8IFdtEqI2c5aEiZkCa0o5-EoV-kYRh d35GhlFgs5b2HCz9iSR20c6s6qEBYjOH-uauD6Q-p8kYcIZaabaQUJjP1Bwq_DrjKpmBm9eC2ME1R–Z 1n21ylY1uMnZj8nJaQ4BxDrAHqe1Yp8fKk_SwdwotRW6E9T6CTXfRBBnsjlzUl-W6LWOBQrJLmzGqoJ9b 3Cv20ffU7tSYtVH7wzYMklqodqmnjk7i-9e3UISjQWWmatIwNyAVEl-5zt5zpH31nT0fif1fgx_uE3GdE1g

{

 "channel": "web",

 "captureType": "manual",

 "order": {

  "purchaseNumber": "1234567890",

  "amount": 12.35,

  "currency": "PEN",

  "transactionId": "990172014359425"

 }

}



D. Response:

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
order SI Objeto orden
purchaseNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
currency Texto 3 SI Código de moneda (ISO 4217) utilizado en la transacción
authorizedAmount Numérico 6,2 SI Importe del pedido confirmado
authorizationCode Texto Max 6 SI Código de autorización asignado a la aprobación de la transacción por la entidad resolutora
actionCode Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
traceNumber Texto Max 6 SI Número asignado para identificar de forma unívoca a la transacción
transactionDate Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
transactionId Texto 15 SI Identificador de la transacción asociado a la autorización
dataMap SI Objeto datamap
CURRENCY Texto 4 SI Código numérico de moneda en la que se ejecuta la transacción
TERMINAL Texto 8 SI Número de terminal asociado a la transacción
TRANSACTION_DATE Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
ACTION_CODE Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
TRACE_NUMBER Texto Max 6 SI Número asignado para identificar de forma unívoca a la transacción
ECI_DESCRIPTION Texto Max 100 SI Descripción del código ECI asociado a la autenticación de la transacción
ECI Texto 2 SI Código ECI asociado a la autenticación de la transacción
MERCHANT Texto 9 SI Código de comercio creado al momento de la afiliación
STATUS Texto Max 20 SI Descripción del estado de la transacción. Ejemplo:
Authorized
Not Authorized
Confirmed
Not Confirmed
Not Verified
Voided
Not Voided
Reject
Review
ACTION_DESCRIPTION Texto Max 100 SI Texto descriptivo de la autorización o denegación
ADQUIRENTE Texto Max 6 SI Código de identificación del adquirente
ID_UNICO Texto 15 SI Identificador de la transacción asociado a la autorización
AMOUNT Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
PROCESS_CODE Texto 6 SI Código de proceso de la transacción
TRANSACTION_ID Texto 15 SI Identificador de la transacción asociado a la autorización
AUTHORIZATION_CODE Texto Max 6 SI Código de autorización asignado a la aprobación de la transacción por la entidad resolutora
TRAMA ERROR: 400
errorCode Entero SI Código de error
errorMessage Texto Max 500 SI Descripción del error
data SI Objeto con información complementaria relacionada al error
CURRENCY Texto 4 SI Código numérico de moneda en la que se ejecuta la transacción
MERCHANT Texto 9 SI Código de comercio creado al momento de la afiliación
STATUS Texto Max 20 SI Descripción del estado de la transacción. Ejemplo:
Authorized
Not Authorized
Confirmed
Not Confirmed
Verified
Not Verified
Voided
Not Voided
Reject
Review
Error
AMOUNT Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
TRAMA ERROR: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


  D.2 Trama de ejemplo

  • Caso 200
  • Caso 400
  • Caso 401
  • Caso 500

Status Code 200 OK

Content-Type: application/json

{

 "header": {

  "ecoreTransactionUUID": "7b9696c6-a603-4dfc-bf76-61f226dbc011",

  "ecoreTransactionDate": 1603318363366,

  "millis": 1304

 },

 "order": {

  "purchaseNumber": "13238",

  "amount": 28.0,

  "currency": "PEN",

  "authorizedAmount": 28.0,

  "authorizationCode": "171033",

  "actionCode": "000",

  "traceNumber": "247922",

  "transactionDate": "201021171242",

  "transactionId": "993202950260531"

 },

 "dataMap": {

  "CURRENCY": "0604",

  "TRANSACTION_DATE": "201021171242",

  "TERMINAL": "00000001",

  "ACTION_CODE": "000",

  "TRACE_NUMBER": "247922",

  "ECI_DESCRIPTION": "Transaccion no autenticada pero enviada en canal seguro",

  "ECI": "07",

  "MERCHANT": "602545705",

  "STATUS": "Confirmed",

  "ADQUIRENTE": "570002",

  "ACTION_DESCRIPTION": "Aprobado y completado con exito",

  "ID_UNICO": "993202950260531",

  "AMOUNT": "28.00",

  "PROCESS_CODE": "980000",

  "TRANSACTION_ID": "993202950260531",

  "AUTHORIZATION_CODE": "171033"

 }

}



E. Códigos de Respuesta

Código Descripción
200 Confirmación de venta realizada de forma satisfactoria
400 Error, la operación ha sido rechazada
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error


F. Data de Prueba

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

Casos Exitosos

Casos denegados

  • Escenario Número Mes/año CVV Codigo de Acción
    Contactar emisor 5241517422003070 04/2023 111 191
    Número de orden inválido 5114958534279576 04/2023 111 480
    Problemas de comunicación 5109622747010312 04/2023 111 666
    Comercio no válido 5113116463286648 04/2023 111 754
    Datos originales distintos 5100971004571337 04/2023 111 943

  • Escenario Número Mes/año CVV Codigo de Acción
    Código de autorización inválido 371890728324349 03/2022 111 485
    La operación ya ha sido confirmada 371369734072119 03/2022 111 489
    Monto no permitido 343500166910807 03/2022 111 490
    Operación denegada 371642971603527 03/2022 111 491
    La operación puede volverse a confirmar 370774350001576 03/2022 111 492
    Comercio no válido 371362340583132 03/2022 111 493
    Para reconfirmar debe usar el cód de autorización válido 370704380309277 03/2022 111 498

  • Escenario Número Mes/año CVV Codigo de Acción
    Código de autorización inválido 3607694423196056422 04/2025 111 485
    La operación ya ha sido confirmada 36348435052635 04/2025 111 489
    Monto no permitido 36349459800230 04/2025 111 490
    Operación denegada 36148453212461 04/2025 111 491
    La operación puede volverse a confirmar 36349522835023 04/2025 111 492
    Comercio no válido 3607307195935594082 04/2025 111 493
    Para reconfirmar debe usar el cód de autorización válido 36409461754492 04/2025 111 498

API de Pago con PagoEfectivo #


A. Descripción

Esta API permitirá realizar la creación de un número de CIP en PagoEfectivo. Para que esta API pueda resolver una operación necesita de un token de acceso vigente generado por el API de Seguridad.

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 API de pago con pagoefectivo
Desarrollo https://apisandbox.vnforappstest.com/api.pagoefectivo/v1/create/{merchantId}
Producción https://apiprod.vnforapps.com/api.pagoefectivo/v1/create/{merchantId}
Ambiente URL API de pago con pagoefectivo
Desarrollo https://apisandbox.vnforappstest.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
PATH
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
HEADER
accessToken Texto Max 1000 SI Token generado con la API de Seguridad
BODY
channel Texto Max 45 SI Canal desde donde se originó la operación. Puede ser uno de los siguientes valores:
pasarela – Si son operaciones de venta de comercio electrónico
callcenter – Si son operaciones de venta de telepago
recurrent – Si son operaciones de venta de recurrentes
email Texto Max 100 Correo electrónico del tarjetahabiente a quien se le enviará la copia del email del CIP generado
firstName Texto Max 60 Nombres y apellidos del tarjetahabiente
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
externalTransactionId Texto 36 SI Identificador único de transacción enviado por el comercio


  C.2 Trama de ejemplo:

Request

POST /api.pagoefectivo/v1/create/341198210 HTTP/1.1

Host: apisandbox.vnforappstest.com

Content-Type: application/json

Authorization:eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnNwOTlNNm NuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi01NzYxLTRlYTEt YjBmYS1iNWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3VwcyI6WyJjdXN0b2RpbyJdLCJldm VudF9pZCI6IjBhODVjZWVhLWFlOWMtNGUyYi04YzEyLTc1ODkzZjMxYzAzOCIsInRva2VuX 3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLC JhdXRoX3RpbWUiOjE2MDM0Njg1MTcsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lY XN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMzQ3 MjExNywiaWF0IjoxNjAzNDY4NTE3LCJqdGkiOiJlNjUzMDZmNy1jNTJmLTQ0ZWYtYWU3Yi1kYjE 1ZDM4MmEyZjYiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnNucWVpaWpiNyIsInV zZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0.VGVbBbl9hQFuXnhOU_TdVSkbB8 QkgUN96bGE6aPOAUk95YOQWsP4lY5JY3inKvRly_UN0_Q18mK9Ggvx_OymQuLCPPsZSiv7LEfY oMjpUiFZdrpUzcAHZkcE5-yazqHCA443iIjwLSL1oRLmKfFKMkSbvC3WDGKzt03iB1NJNF-N0psg mtin76-pWV61QVkjW48KlyUff4J-h_7ajHKXnvPQjvGJaD-15vlA1jta0mW–nrF6m0L3nuz7iPH_ jYQ5U90HETCxRXI_CryCVuSBYFaLeI74XKiG9GGijMlUPO8zTThXegOy9FN3Rkti4qqoFQL3RSNj _UDskpQYaZjGg

{

"channel": "web",

"email": "test@test.com",

"firstName": "test test",

"amount": 1.00,

"externalTransactionId": "218f9cff-9131-1154-2919-d0b319912352"

}



D. Response

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
cip Entero SI Número de CIP de PagoEfectivo
cipUrl Texto Max 500 SI URL de html de constancia de PagoEfectivo
expiryDate Texto 18 SI Fecha de expiración del CIP. Formato YYYY-mm-dd HH:mm:ss
TRAMA ERROR: 400
errorCode Entero SI Código de error
errorMessage Texto Max 500 SI Descripción del error
TRAMA ERROR: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


  D.2 Trama de ejemplo

  • Caso 200
  • Caso 400
  • Caso 401
  • Caso 500

Status Code 200 OK

Content-Type: application/json

{

 "cip": 2556869,

 "cipUrl": "https://pre1a.payment.pagoefectivo.pe/50493E3B-0872-4A98-A7CF-552CA3605C88.html",

 "expiryDate": "2020-07-24 23:59:59"

}



  E. Códigos de Respuesta

Código Descripción
200 Número de CIP creado de forma satisfactoria
400 Error, la operación ha sido rechazada
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error

API de Callback PagoEfectivo #


A. Descripción

Esta API permitirá confirmar si se realizó el pago de un CIP o si expiró su tiempo de reserva. Para ello es necesario como comercio se exponga un API Callback PE, a continuación, se muestra un ejemplo de cómo deberá ser el API que expongan. Recordar que la URL deberá ser enviada durante la etapa de Certificación al equipo de integraciones para su registro.

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.

Nota: Esta API debe estar con el protocolo HTTPS (puerto 443)



B. Endpoint

Ambiente URL de API
Testing https://ambiente.comercio.com/api.pagoefectivocallback/v1/callback
Producción https://ambiente.comercio.com/api.pagoefectivocallback/v1/callback
Ambiente URL de API
Testing https://ambiente.comercio.com/api.pagoefectivocallback/v1/callback
Producción https://ambiente.comercio.com/api.pagoefectivocallback/v1/callback


C. Request y Casos

   C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
BODY
operationNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
cip Entero SI Número de CIP de PagoEfectivo
status Texto Max 7 SI Estado de la venta. Puede ser:
Paid – Pagado
Expired – Expirado
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00


   C.2 Trama de ejemplo

Request

POST /api.pagoefectivocallback/v1/callback HTTP/1.1

Host: ambiente.comercio.com

Content-Type: application/json

{

 "operationNumber": "2020111101",

 "cip": 301,

 "status": "Paid",

 "amount": 15.25

}



D. Response:

  D.1 Trama de ejemplo

  • Caso 200
  • Caso 400
  • Caso 401
  • Caso 500

Status Code 200 OK

Content-Type: application/json



E. Códigos de Respuesta

Código Descripción
200 Confirmación de venta realizada de forma satisfactoria
400 Error, la operación ha sido rechazada
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error

API de Validación de Tarjeta #


A. Descripción

Esta API permitirá realizar la validación de una tarjeta con el fin conocer si esta se encuentra apta para ser usada en una transacción de venta. Para que esta API pueda resolver una operación necesita de un token de acceso vigente generado por el API de Seguridad.

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://apisandbox.vnforappstest.com/api.validate/v1/validate/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.validate/v1/validate/ecommerce/{merchantId}
Ambiente URL de API
Testing https://apisandbox.vnforappstest.com/api.validate/v1/validate/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.validate/v1/validate/ecommerce/{merchantId}


C. Request y Casos

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
PATH
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
HEADER
accessToken Texto Max 1000 SI Token generado con la API de Seguridad
BODY
channel Texto Max 45 SI Canal desde donde se originó la operación. Puede ser uno de los siguientes valores:
pasarela – Si son operaciones de venta de comercio electrónico
captureType Texto Max 45 SI Constante, siempre es el valor “manual”
tokenize Bandera SI Indica si la tarjeta a validar será o no tokenizada. Puede ser:
true – La tarjeta será tokenizada
false – la tarjeta no será tokenizada
order SI Objeto orden
purchaseNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
amount Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
currency Texto 3 SI Código de moneda (ISO 4217) utilizado en la transacción
card SI Objeto tarjeta
cardNumber Texto Max 16 SI Número de tarjeta
expirationMonth Entero SI Mes de expiración de la tarjeta
expirationYear Entero SI Año de expiración de la tarjeta
cvv2 Texto Max 4 SI Número de CVV2 de la tarjeta
cardHolder SI Objeto que hace referencia al pago habiente
email Texto 100 SI Correo del pago habiente
firstName Texto 100 SI Nombre del pago habiente
lastName Texto 100 SI Apellidos del pago habiente


  C.2 Request y Casos

  • Con
    tarjeta
  • Con facilitador de
    pagos

POST /api.validate/v1/validate/ecommerce/341198210 HTTP/1.1

Host: apisandbox.vnforappstest.com

Content-Type: application/json

Authorization:eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQ nNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Z i01NzYxLTRlYTEtYjBmYS1iNWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3VwcyI6WyJ jdXN0b2RpbyJdLCJldmVudF9pZCI6IjAxNzcxYWQ5LWQzODktNGVlOC1hMDIwLTI0NmV mZWQ0NThhYSIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8 uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE2MDMwNTM4MjcsImlzcyI6Imh 0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWF zdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMzA1NzQyNywiaWF0IjoxNjAzMDUzODI3LCJ qdGkiOiJlZDc3Y2NjOS1kNjdlLTRhMDctOTljNC05YjgwZjBlYmYzNTUiLCJjbGllbnR faWQiOiIxMGx2MDYxN281ZGljNTFlYnNucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2lhbmN hZ2FsbGFyZG9AZ21haWwuY29tIn0.d0gjI5YB-9v4FNSdTZTjFr2cpDAIq2CRRomwb3oH uGHcju3oxvQH7hMWAfa2zHz911Lv4N4EAQ0Q_07A48ZPIEUaaHBGJVzaBFLaGHPL_H_Q2 Y81PySfDQMzHhq6LvJ4IbYmhRc5Xw4WJYCWp9XbLJdm-I2p4dsFN3-2aWgv1CvQ5bJliN UiSeNOpn6CMARNzeTl0NK-RprVr9ldGkVQDdnKaMTvxrSGQ-G4UYS01rBcBtWouWOSM MzJYly73wETBF9tJt9jWtWTm7DAdWFWnxA_ZPMo2LR6ps1FMgP0PsLbPqax5KkzB5uOeKKrIfkRT_L8nZgh_o3-PwTRYPt_ng

{

 "channel": "web",

 "captureType": "manual",

 "tokenize": false,

 "order" : {

  "purchaseNumber": "2019052401",

  "amount": 0,

  "currency": "PEN"

 },

 "card": {

  "cardNumber": "4242424242424242",

  "expirationMonth": 12,

  "expirationYear": 2022,

  "cvv2": "123"

 },

 "cardHolder": {

  "email": "email@gmail.com",

  "firstName":"María",

  "lastName": "Mendoza"

 }

}



D. Response

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
order SI Objeto orden
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
data SI Objeto con información complementaria relacionada al error
CURRENCY Texto 4 SI Código numérico de moneda en la que se ejecuta la transacción
TERMINAL Texto 8 SI Número de terminal asociado a la transacción
TRANSACTION_DATE Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
ACTION_CODE Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
TRACE_NUMBER Texto Max 6 SI Número asignado para identificar de forma unívoca a la transacción
MERCHANT Texto 9 SI Código de comercio creado al momento de la afiliación
ACTION_DESCRIPTION Texto Max 100 SI Texto descriptivo de la autorización o denegación
IS_NETWORK_VALID Bandera SI Indicador de validación de la tarjeta
NETWORK_DATA Texto Max 1000 SI Información relacionada a la validación de la tarjeta
TRAMA ERROR: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


  D.2 Trama de ejemplo

  • Caso 200
  • Caso 400
  • Caso 401
  • Caso 500

Status Code 200 OK

Content-Type: application/json

{

 "header": {

  "ecoreTransactionUUID": "3d05fa95-07ab-434c-a2b2-c631e3d72522",

  "ecoreTransactionDate": 1603404457269,

  "millis": 1046

 },

 "order": {

  "purchaseNumber": "2019052401",

  "amount": 0.0,

  "currency": "PEN",

  "authorizedAmount": 0.0,

  "authorizationCode": "170735",

  "traceNumber": "291270",

  "transactionDate": "201022170736",

  "transactionId": "993202960262615"

 },

 "binDetail": {

  "bin": "402160",

  "region": "5",

  "country": "PE",

  "fastFunds": " ",

  "product": {

   "code": "F ",

   "description": "Visa Classic"

  },

  "source": {

   "code": "C",

   "description": "Credit"

  }

 },

  "visaAttributesInfo": {

   "visaNetworkInfo": [

    {

     "cardTypeCode": "D",

     "billingCurrencyCode": 604,

     "billingCurrencyMinorDigits": 2,

     "issuerName": "INTERBANK - BANCO INTERNACIONAL DEL PERU",

     "cardIssuerCountryCode": 604,

     "fastFundsIndicator": "B",

     "pushFundsBlockIndicator": "C",

     "onlineGambingBlockIndicator": "N"

   }

  ]

 }

}



E. Códigos de Respuesta

Código Descripción
200 Validación de tarjeta realizada de forma satisfactoria
400 Error, la operación ha sido rechazada
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error

F. Data de Prueba

Te dejamos aquí lo que necesitas para realizar tus pruebas:

Casos Exitosos

Casos denegados

  • Escenario Número Mes/año CVV Codigo de Acción
    Tarjeta Vencida 5100461147421541 05/2021 111 101
    Tarjeta no registrada 5102091486532182 05/2023 111 118
    Problemas de comunicación 5104632347219887 05/2023 111 666
    Problemas de comunicación con antifraude 5112137940947504 05/2023 111 668
    Transacción denegada por posible fraude 5105232258782731 05/2023 111 670
    Contactar emisor 5108103301473460 05/2023 111 191
    Comercio no válido 5115412294316367 05/2023 111 754

  • Escenario Número Mes/año CVV Codigo de Acción
    Tarjeta Vencida 371716116159676 05/2019 111 101
    Fondos insuficientes 371371419476003 05/2024 111 116
    Tarjeta no registrada 371921324071107 05/2024 111 118
    Tarjeta no operativa 370742837934511 05/2024 111 129
    Tarjeta inválida 371424959469696 05/2024 111 180
    Transacción inválida 371887877273574 05/2024 111 190
    Tarjeta perdida 371602873603843 05/2024 111 207
    Tarjeta robada 371202366119033 05/2024 111 207
    Tienda inhabilitada 371691637396968 05/2024 111 401
    La operación ya se encuentra en un depósito 370741199700320 05/2024 111 476
    Código de comercio no existe o es inválido 371307319983888 05/2024 111 479
    Problemas de comunicación 371523530984980 05/2024 111 666
    Problemas de comunicación con antifraude 371224623684997 05/2024 111 668
    Transacción denegada por posible fraude 371074851758207 05/2024 111 670

  • Escenario Número Mes/año CVV Codigo de Acción
    Tarjeta Vencida 36032482044121 05/2019 111 101
    Fondos insuficientes 3616028515725899921 05/2024 111 116
    Tarjeta no registrada 3634926973537167829 05/2024 111 118
    Tarjeta no operativa 36953866192022 05/2024 111 129
    Tarjeta inválida 34444444444444 05/2024 111 180
    Transacción inválida 36340094456132 05/2024 111 190
    Tarjeta perdida 3634968422144821476 05/2024 111 207
    Tarjeta robada 3648298345684818431 05/2024 111 207
    Tienda inhabilitada 36160578655169 05/2024 111 401
    La operación ya se encuentra en un depósito 3640932036533467913 05/2024 111 476
    Código de comercio no existe o es inválido 36440935403713 05/2024 111 479
    Problemas de comunicación 36015110981632 05/2024 111 666
    Problemas de comunicación con antifraude 36075680411907 05/2024 111 668
    Transacción denegada por posible fraude 36467335261979 05/2024 111 670

API de Certificado para Apps #


A. Descripción

Esta API se usa para poder obtener los campos de Pin Hash del certificado usado en la integración de las soluciones Apps.

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.certificate/v1/query/{merchantId}
Producción https://jobs.vnforapps.com/api.certificate/v1/query/{merchantId}
Ambiente URL de API
Testing https://apitestenv.vnforapps.com/api.certificate/v1/query/{merchantId}
Producción https://jobs.vnforapps.com/api.certificate/v1/query/{merchantId}


C. Request y Casos

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
PATH
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
HEADER
accessToken Texto Max 1000 SI Token generado con la API de Seguridad


  C.2 Trama de ejemplo

Request

POST /api.certificate/v1/query/341198210 HTTP/1.1

Host: apitestenv.vnforapps.com

Content-Type: application/json

Authorization:eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhM nNPXC9zQnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOi JkMTlhM2I0Zi01NzYxLTRlYTEtYjBmYS1iNWNiNjU5OWQ5NWQiLCJjb2du aXRvOmdyb3VwcyI6WyJjdXN0b2RpbyJdLCJldmVudF9pZCI6IjAxNzcxYW Q5LWQzODktNGVlOC1hMDIwLTI0NmVmZWQ0NThhYSIsInRva2VuX3VzZSI6 ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYW RtaW4iLCJhdXRoX3RpbWUiOjE2MDMwNTM4MjcsImlzcyI6Imh0dHBzOlwv XC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZW FzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMzA1NzQyNywiaWF0IjoxNjAz MDUzODI3LCJqdGkiOiJlZDc3Y2NjOS1kNjdlLTRhMDctOTljNC05YjgwZj BlYmYzNTUiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnNucWVp aWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn 0.d0gjI5YB-9v4FNSdTZTjFr2cpDAIq2CRRomwb3oHuGHcju3oxvQH7hMW Afa2zHz911Lv4N4EAQ0Q_07A48ZPIEUaaHBGJVzaBFLaGHPL_H_Q2Y81Py SfDQMzHhq6LvJ4IbYmhRc5Xw4WJYCWp9XbLJdm-I2p4dsFN3-2aWgv1CvQ 5bJliNUiSeNOpn6CMARNzeTl0NK-RprVr9ldGkVQDdnKaMTvxrSGQ-G4UY S01rBcBtWouWOSMMzJYly73wETBF9tJt9jWtWTm7DAdWFWnxA_ZPMo2LR6 ps1FMgP0PsLbPqax5KkzB5uOeKKrIfkRT_L8nZgh_o3-PwTRYPt_ng



D. Response

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
pinHash Texto 50 SI Pin hash del certificado
expireDate Texto 19 SI Fecha de expiración del certificado. Formato YYYY-mm-dd HH-mm-ss
TRAMA ERROR: 400
errorCode Entero SI Código de error
errorMessage Texto Max 500 SI Descripción del error
TRAMA ERROR: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


  D.2 Trama de ejemplo

  • Caso 200
  • Caso 401
  • Caso 403
  • Caso 500

Status Code 200

Content-Type: application/json

{

 "pinHash": "sha256/O6JTPhIs3mVjTwCxdBSTRb7ngZBJJJQuWqudRRInkPA",

 "expireDate": "2020-11-01 07:00:00"

}



E. Códigos de Respuesta

Código Descripción
200 Notificación enviada de forma satisfactoria
400 Error, la operación ha sido rechazada
403 Acceso no permitido
500 Cualquier otro tipo de error

API de Reversa o Extorno #


A. Descripción

Esta API permitirá realizar la reversa de una transacción de venta con los datos que enviaste para el pago. Para que esta API pueda resolver una operación necesita de un token de acceso vigente generado por el API de Seguridad.

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://apisandbox.vnforappstest.com/api.authorization/v3/reverse/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.authorization/v3/reverse/ecommerce/{merchantId}
Ambiente URL de API
Testing https://apisandbox.vnforappstest.com/api.authorization/v3/reverse/ecommerce/{merchantId}
Producción https://apiprod.vnforapps.com/api.authorization/v3/reverse/ecommerce/{merchantId}


C. Request y Casos

  C.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
PATH
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
HEADER
accessToken Texto Max 1000 SI Token generado con la API de Seguridad
BODY
channel Texto Max 45 SI Canal desde donde se originó la operación. Puede ser uno de los siguientes valores. Se envía el mismo dato que se envió al API de Autorización.
pasarela – Si son operaciones de venta de comercio electrónico
callcenter – Si son operaciones de venta de telepago
recurrent – Si son operaciones de venta de recurrentes
order SI Objeto orden
purchaseNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
transactionDate Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS

  C.2 Tabla de campos

Request

POST /api.authorization/v3/reverse/ecommerce/341198210 HTTP/1.1

Host: apisandbox.vnforappstest.com

Content-Type: application/json

Authorization:eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC 9zQnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM 2I0Zi01NzYxLTRlYTEtYjBmYS1iNWNiNjU5OWQ5NWQiLCJjb2duaXRvOmdyb3Vw cyI6WyJjdXN0b2RpbyJdLCJldmVudF9pZCI6IjIwMTg5N2IxLTAwYmItNDI0M i04MWI0LTNiZjM5OGY2NjAxMiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3Bl IjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiO jE2MDM4NDE0MzEsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LT EuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTYwMzg0N TAzMSwiaWF0IjoxNjAzODQxNDMxLCJqdGkiOiI5OTE3ZjAxMS1mYWUyLTRiZTYt ODM1NC0zODNlMDZmM2EzMDUiLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYn NucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0. Id8sV5i5E7LzdtJ_6b71gkOkIDW3Y_RG-vhUOiu-FHpI32OHKzo8gySNjxBR44pof rwI1lgrKLigtCILQUzKi9B7Bo_bpPIZjmYPIyabg12mrkeIh6jZRoSwsteSFOiA KTcqoMq_RQjUzmHTgBZwqGsOgyssEe4sfrZhMREGrpHJYFZ95-b2vslGUyUD084dB pkA5jTLOESNPsKyX1dmerK7VSxrDw__LiDCDCukdnQOWk90t7hV6aKqk5P3GQcBozt puDs3Osq44UpzHt6dgAnkRwRUQYjV6CDikw965ltF5_uhI1n_-RycoLCCnTJX8AZikqZQI 4wExWxINGWMsA

{

 "channel": "pasarela",

 "order" : {

  "purchaseNumber": "19520464",

  "transactionDate": "191001183502"

 {

{



D. Response:

  D.1 Tabla de campos

Campo Tipo Longitud Obligatorio Descripción
TRAMA EXITOSA: 200
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
fulfillment SI Objeto fulfillment
channel Texto Max 45 SI Canal desde donde se originó la operación. Puede ser uno de los siguientes valores:
pasarela – Si son operaciones de venta de comercio electrónico
callcenter – Si son operaciones de venta de comercio electrónico
recurrent – Si son operaciones de venta de recurrentes
merchantId Texto 9 SI Código de comercio creado al momento de la afiliación
terminalIds Texto Max 8 SI Número de terminal asociado a la transacción
captureType Texto Max 45 SI Constante, siempre es el valor “manual”
countable Bandera SI Este campo indica si la venta a realizar tendrá liquidación automática o manual. Acepta los siguientes valores:
true – Para liquidación automática
flase – Para liquidación manual Valor por defecto: Según configuración del comercio en BackOffice Niubiz
fastPayment Bandera SI Este campo indica si la venta se realizó con indicador activo de pago rápido. Acepta los siguientes valores:
true – Venta es tipo pago rápido
flase – Venta no es tipo pago rápido
signature Texto 36 SI Código único generado por el sistema Niubiz al momento de la venta
order SI Objeto orden
purchaseNumber Texto Max 12 SI Número de Pedido, este valor debe ser creado por el comercio y es único por intento de autorización
authorizationCode Texto Max 6 SI Código de autorización asignado a la aprobación de la transacción por la entidad resolutora
actionCode Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
traceNumber Texto Max 6 SI Número asignado para identificar de forma unívoca a la transacción
transactionDate Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
transactionId Texto 15 SI Identificador de la transacción asociado a la autorización
originalTraceNumber Texto Max 6 SI Número original asignado para identificar de forma unívoca a la transacción
originalDateTime Texto 12 SI Fecha original de la transacción expresada en formato nativo yyMMddHHmmSS
dataMap SI Objeto datamap
CURRENCY Texto 4 SI Código numérico de moneda en la que se ejecuta la transacción
TERMINAL Texto 8 SI Número de terminal asociado a la transacción
ORIGINAL_DATETIME Texto 12 SI Fecha original de la transacción expresada en formato nativo yyMMddHHmmSS
TRANSACTION_DATE Texto 12 SI Fecha de la transacción expresada en formato nativo yyMMddHHmmSS
ACTION_CODE Texto 3 SI Código que identifica la acción a tomar o tomada, así como la razón de la misma. Define la respuesta a la petición de autorización realizada
ORIGINAL_TRACE Texto Max 6 SI Número original asignado para identificar de forma unívoca a la transacción
TRACE_NUMBER Texto Max 6 SI Número asignado para identificar de forma unívoca a la transacción
CARD Texto Max 16 SI Número de tarjeta enmascarado usada en la venta
MERCHANT Texto 9 SI Código de comercio creado al momento de la afiliación
STATUS Texto Max 20 SI Descripción del estado de la transacción. Ejemplo:
Authorized
Not Authorized
Confirmed
Not Confirmed
Verified
Not Verified
Voided
Not Voided
Reject
Review
ADQUIRENTE Texto Max 6 SI Código de identificación del adquirente
AMOUNT Numérico 6,2 SI Importe de la transacción. Formato ####.## (Dos decimales separados por punto) Ejemplo: 1000.00
PROCESS_CODE Texto 6 SI Código de proceso de la transacción
TRANSACTION_ID Texto 15 SI Identificador de la transacción asociado a la autorización
TRAMA ERROR: 400
errorCode Entero SI Código de error
errorMessage Texto Max 500 SI Descripción del error
header SI Objeto header
ecoreTransactionUUID Texto 36 SI Identificador único de transacción para la plataforma
ecoreTransactionDate Fecha SI Fecha de la transacción expresada en formato UNIX TimeStamp
millis Entero SI Tiempo de ejecución de la transacción
Data SI Objeto con información complementaria relacionada al error
TRACE_NUMBER Texto Max 6 NO Número asignado para identificar de forma unívoca a la transacción
TRAMA ERROR: 401, 500
description Texto Max 1000 SI Descripción relacionada al error


E. Códigos de Respuesta

Código Descripción
200 La transacción de venta ha sido anulada de forma satisfactoria
400 Error, la operación ha sido rechazada
401 Error, las credenciales utilizadas no son válidas
500 Cualquier otro tipo de error


F. Data de Prueba

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

Casos Exitosos

Casos denegados

  • Escenario Número Mes/año CVV Codigo de Acción
    Contactar emisor 5316837952327271 04/2023 191 101
    Número de orden inválido 5114958534279576 04/2023 111 480
    Problemas de comunicación 5109622747010312 04/2023 111 666
    Comercio no válido 5113116463286648 04/2023 111 754
    Transacción anulada previamente 5114823696023438 04/2023 111 941
    Datos originales distintos 5100971004571337 04/2023 111 943
    Operación de anulación en proceso 5111529049874491 04/2023 111 946

  • Escenario Número Mes/año CVV Codigo de Acción
    Contactar emisor 349944823576169 03/2022 111 191
    Tienda inhabilitada 370455218733523 03/2022 111 401
    Código de autorización inválido 371890728324349 03/2022 111 427
    No se realizó la operación 349036614499097 03/2022 111 435
    Número de operación ya se encuentra anulada 371029546944315 03/2022 111 436
    Problemas de comunicación 371382364998230 03/2022 111 666

  • Escenario Número Mes/año CVV Codigo de Acción
    Contactar emisor 3644553512094293195 04/2025 111 191
    Tienda inhabilitada 3616015366040789610 04/2025 111 401
    Código de autorización inválido 3607694423196056422 04/2025 111 427
    No se realizó la operación 36414363221715 04/2025 111 435
    Número de operación ya se encuentra anulada 36123613384773 04/2025 111 436
    Problemas de comunicación 36340376606040 04/2025 111 666

Data para pruebas #

Te dejamos aquí lo que necesitas para realizar tus pruebas.

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

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