Para cualquier consulta estamos a un clic

Hacer una pregunta

API Bancaria v.1

El entorno de pruebas te brinda la oportunidad de probar algunas funciones básicas de gestión de tarjetas del paquete SmartVista — registrar clientes, crear cuentas, emitir tarjetas virtuales, establecer límites de tarjetas, transferir fondos, etc.

Comience a trabajar con Sandbox
Siga el enlace y haga clic en "Ingresar" para crear una cuenta en Sandbox:
/cabinet/
Obtendrá acceso a todas las API y al Gabinete Personal.
icon

Primeros pasos

Utiliza el entorno de pruebas para probar las funciones básicas de gestión de tarjetas, tales como: registro de portadores de tarjetas, emisión de tarjetas, establecimiento de límites de tarjetas, transferencia de fondos, etc.

Antes de comenzar a usar el entorno de pruebas, necesitas crear una cuenta y obtener un token de seguridad de API.

El token de seguridad de API proporciona acceso de autorización al API del entorno de pruebas.

Manual de referencia de API

Existen dos versiones de API. API v.2 — es un API RESTful. API v.1 – es más bien JSON a través de HTTP. Aunque ambos pueden ser descritos en la especificación Open API. La descripción técnica completa puedes encontrarla aquí:

Ejemplo de colección Postman

Puedes descargar la colección de solicitudes API de Postman para probar algunas funciones básicas de gestión de tarjetas en el paquete SmartVista.

Descarga la colección Postman para el caso de uso

Características generales

Todas las solicitudes son solicitudes HTTP POST. El tipo de contenido tanto para solicitudes como para respuestas es application / json.

API Bancaria v.1. Casos de uso

Puedes descargar la colección de solicitudes API de Postman para probar algunas funciones básicas de gestión de tarjetas en el entorno de pruebas.

Descarga la colección Postman para el caso de uso

Comienza a usar la API bancaria con lo siguiente:

  1. Registra un nuevo cliente con la solicitud registerCustomer. Esta solicitud también crea una cuenta para el cliente. Puedes crear tantos clientes como desees. Pero en el entorno de pruebas solo se puede crear una cuenta para cada cliente — esta limitación se agregó para simplificar la lógica del entorno de pruebas. En un proyecto real podrás crear tantas cuentas para cada cliente como sea necesario para tu negocio.
  2. Emite una nueva tarjeta virtual con createVirtualCard para las cuentas de los clientes. Puedes emitir tantas tarjetas como desees. Las tarjetas del entorno de pruebas se emiten en estado activo y están listas para usar instantáneamente.

Ahora puedes probar las siguientes funciones (en orden arbitrario):

Por favor, revisa la información de cada solicitud a continuación, incluyendo ejemplos con una breve descripción de lo que debes cambiar para hacer estas solicitudes por tu cuenta. Utiliza los enlaces a la documentación detallada para obtener información adicional.

registerCustomer

Registra un nuevo cliente en SmartVista y crea una cuenta. Puede crear tantos clientes como desee. Pero en el entorno de pruebas solo puede crear una cuenta para cada cliente: esta limitación se agrega para simplificar la lógica del entorno de pruebas. En el proyecto real podrá crear tantas cuentas para cada cliente como sea necesario para su negocio.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio productName String Identificador de plantilla del cliente que se utilizará para crear el cliente. En el entorno de pruebas hay solo una plantilla de cliente, y para los clientes del entorno de pruebas este valor siempre debe ser «CRCU1001».
Obligatorio parameters Object Lista de parámetros. La lista exacta depende de la plantilla de creación del cliente para el proyecto específico. Lo creamos para el entorno de pruebas, y puede ver los parámetros necesarios debajo de esta tabla.
Obligatorio name String Define el parámetro en la plantilla del cliente para el cual se establece el valor correspondiente.
Obligatorio value String Valor que debe establecerse para el parámetro específico.

Para crear un cliente en el entorno de pruebas es necesario pasar los siguientes parámetros con sus valores:

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/registerCustomer \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "productName": "CRCU1001",
  "parameters":  [
      {
        "name": "institutionId",
        "value": "3006"
      },
      {
        "name": "agent_number",
        "value": "3006"
      },
      {
        "name": "customer_number",
        "value": "3006P_0000003"
      },
      {
        "name": "product_id",
        "value": "70000304"
      },
      {
        "name": "start_date",
        "value": "2021-09-06"
      },
      {
        "name": "service_id_acc",
        "value": "70000305"
      },
      {
        "name": "surname",
        "value": "Smith"
      },
      {
        "name": "firstName",
        "value": "John"
      },
      {
        "name": "secondName",
        "value": "A."
      },
      {
        "name": "email",
        "value": "johnsmith@email.com"
      },
      {
        "name": "mobile_phone",
        "value": "319220977338"
      },
      {
        "name": "country_code",
        "value": "528"
      },
      {
        "name": "region",
        "value": "BJ"
      },
      {
        "name": "city",
        "value": "Utrecht"
      },
      {
        "name": "street",
        "value": "Papendorpseweg"
      },
      {
        "name": "house",
        "value": "99"
      },
      {
        "name": "apartament",
        "value": "1"
      },
      {
        "name": "postal_code",
        "value": "3528"
      }
    ]  
}'
POST

{ "productName": "CRCU1001", "parameters": [ { "name": "institutionId", "value": "@institutionId@" }, { "name": "agent_number", "value": "@institutionId@" }, { "name": "customer_number", "value": "@institutionId@_P015" }, { "name": "product_id", "value": "@productId@" }, { "name": "start_date", "value": "2021-09-06" }, { "name": "service_id_acc", "value": "@serviceId@" }, { "name": "surname", "value": "Smith" }, { "name": "firstName", "value": "John" }, { "name": "secondName", "value": "A." }, { "name": "email", "value": "johnsmith@email.com" }, { "name": "mobile_phone", "value": "319220977338" }, { "name": "country_code", "value": "528" }, { "name": "region", "value": "BJ" }, { "name": "city", "value": "Utrecht" }, { "name": "street", "value": "Papendorpseweg" }, { "name": "house", "value": "99" }, { "name": "apartament", "value": "1" }, { "name": "postal_code", "value": "3528" } ] }

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio customerNumber String Número del cliente. Recibirá el que envíe en la solicitud ya que el entorno de pruebas está configurado para establecer el número solicitado para el cliente creado.
Obligatorio accountNumber String Número de cuenta. El entorno de pruebas devuelve el número de cuenta que crea para el Cliente.

Ejemplo de respuesta

{
      "customerNumber": "3006P_0000003",
      "accountNumber": "3006978700000000108"
    }

createVirtualCard

Crea una tarjeta virtual para el cliente registrado. Use registerCustomer para crear un cliente y cuenta si aún no lo ha hecho.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros básicos de identificación de la tarjeta. Existen muchos atributos de tarjeta y sus combinaciones para identificar la tarjeta, compatibles con SmartVista, pero en el entorno de pruebas se utiliza el más simple de ellos: el número de tarjeta. Todas las demás opciones se proporcionan como ejemplo.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Esta es la forma que utilizaremos en todas las solicitudes del entorno de pruebas para identificar la tarjeta. Para esta solicitud siempre use el número de tarjeta "visaBin0000000000", donde [visaBin] es el número del correo electrónico que recibió después del registro. Para todas las demás solicitudes use el número de tarjeta que recibirá después de crear la tarjeta con esta solicitud.
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. Normalmente se utiliza como uno de los posibles parámetros de identificación de tarjeta, pero no en este proyecto de plataforma de pruebas, para evitar la gestión de claves. No lo utilice aquí.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. Forma común de identificación de tarjeta en combinación con el número de teléfono o algunos otros datos de la tarjeta, pero no la que se utiliza en la plataforma de pruebas. No lo utilice aquí.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. Forma común de identificación de tarjeta en combinación con el número de teléfono, y no la que se utiliza en la plataforma de pruebas. No lo utilice aquí.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para la plataforma de pruebas.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. A menudo se utiliza con algunos otros atributos de la tarjeta. No para la plataforma de pruebas.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para la plataforma de pruebas.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. A menudo se utiliza con algunos otros atributos de la tarjeta. No para la plataforma de pruebas.
Opcional cardIdentification.cardholderId String Identificador del portador de la tarjeta. No para la plataforma de pruebas.
Opcional cardIdentification.customerId String ID del cliente. No para la plataforma de pruebas.
Opcional cardIdentification.customerNumber String Número del cliente en SVB02. No para la plataforma de pruebas.
Opcional cardIdentification.barCode String Código de barras. No para la plataforma de pruebas.
Opcional cardIdentification.cvv2 String CVV2. No para la plataforma de pruebas.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para la plataforma de pruebas.
Opcional cardIdentification.token String Token. No para la plataforma de pruebas.
Opcional cardIdentification.cardTypeCode String Código de tipo de tarjeta. No para la plataforma de pruebas.
Opcional cardIdentification.email String Correo electrónico. No para la plataforma de pruebas.
Opcional cardIdentification.institutionId String Identificador interno de la institución. No para la plataforma de pruebas.
Obligatorio virtualCardIdentification Object Parámetros de tarjeta virtual. expDate y productType son obligatorios.
Obligatorio virtualCardIdentification.expDate String Fecha de vencimiento de la tarjeta. Cualquier fecha futura en formato «AAAAMMM».
Obligatorio virtualCardIdentification.productType String Tipo de producto. Identifica el producto de tarjeta para la tarjeta. En la plataforma de pruebas siempre debe ser el número constante «16», ya que configuramos un producto para usted.
Opcional virtualCardIdentification.cardNumber String Número de tarjeta. No para la plataforma de pruebas.
Opcional virtualCardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para la plataforma de pruebas.
Opcional virtualCardIdentification.cardId String Identificador de tarjeta. No para la plataforma de pruebas.
Opcional virtualCardIdentification.barCode String Código de barras. No para la plataforma de pruebas.
Opcional virtualCardIdentification.cvv2 String CVV2/CVC2. No para la plataforma de pruebas.
Obligatorio amount Integer Límite por defecto para las tarjetas virtuales recién creadas. En la plataforma de pruebas debe ser el número constante «0».
Obligatorio currency Integer Moneda. Código numérico de moneda ISO 4217. Utilice «978» para la plataforma de pruebas.
Obligatorio accountNumber String Número de cuenta para identificación primaria de tarjeta. Utilice el número de cuenta obtenido mediante el método registerCustomer().
Opcional deliveryMethod String Método de entrega de parámetros de tarjeta virtual. Valores posibles: [WS, HALF_AND_HALF] . WS — todos los parámetros, entregados en respuesta del servicio web. HALF_AND_HALF — algunos parámetros se entregan en respuesta del servicio web, algunos en SMS. Para HALF_AND_HALF la respuesta del servicio web contendrá número de tarjeta enmascarado (por ejemplo, //// 1111 1111 ////), y SMS contendrá CVV2 y otra mitad del número de tarjeta enmascarado (1111 //// //// 1111). Use valor «WS» para área de pruebas.
Opcional personalData Object Datos personales del titular de la tarjeta. No para área de pruebas.
Opcional personalData.firstName String No para área de pruebas.
Opcional personalData.lastName String No para área de pruebas.
Opcional cardAcceptorParameters Object Parámetros de terminal. No para área de pruebas.
Opcional cardAcceptorParameters.terminalIdentification String Identificador de terminal. No para área de pruebas.
Opcional cardAcceptorParameters.merchantIdentification String Identificador de comerciante. No para área de pruebas.
Opcional cardAcceptorParameters.merchantType String Código de categoría de comerciante. No para área de pruebas.
Opcional cardAcceptorParameters.nameAndLocation String Dirección de ubicación del terminal. No para área de pruebas.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/createVirtualCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardNumber": "4140050000000000",
        "phoneNumber": "319220977337",
        "customerId": "5570_P018"
      },
    "virtualCardIdentification": {
        "expDate": 202612,
        "productType": "5C"
    },
    "amount": 0,
    "currency": 978,
    "accountNumber": "5570978700000006484",
    "deliveryMethod": "WS"
}'
POST

{ "cardIdentification": { "cardNumber": "@visaBin@0000000000", "phoneNumber": "319220977337", "customerId": "{customerNumber de la respuesta /registerCustomer}" }, "virtualCardIdentification": { "expDate": 202612, "productType": "5C" }, "amount": 0, "currency": 978, "accountNumber": "{accountNumber de la respuesta /registerCustomer}", "deliveryMethod": "WS" }

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio virtualCardIdentification Object Parámetros de tarjeta virtual.
Opcional virtualCardIdentification.cardNumber String Número de tarjeta. Aquí obtendrá el número de tarjeta creada en área de pruebas. Guárdelo para todas las operaciones posteriores con la tarjeta creada.
Opcional virtualCardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para área de pruebas.
Opcional virtualCardIdentification.cardId String Identificador de tarjeta. No para área de pruebas.
Obligatorio virtualCardIdentification.expDate String Fecha de vencimiento de tarjeta. No para área de pruebas.
Obligatorio virtualCardIdentification.productType String Tipo de producto. No para área de pruebas.
Opcional virtualCardIdentification.barCode String Código de barras. No para área de pruebas.
Opcional virtualCardIdentification.cvv2 String CVV2/CVC2. No para área de pruebas.

Ejemplo de respuesta

{
        "virtualCardIdentification": {
            "cardNumber": "4140050090452283",
            "cardId": "100000245262",
            "expDate": "202612",
            "productType": "5C"
      }
}

getCardLimits

Obtener límites por tarjeta específica. El conjunto de límites está determinado para el producto de tarjeta y predefinido en área de pruebas. Inicialmente los límites para tarjeta específica se heredan de configuración del producto. Puede cambiar valores de límites para tarjeta específica mediante changeCardLimits.

Están disponibles los siguientes límites (tipos de ciclos están indicados para configuración de límite por defecto y pueden ser cambiados por solicitud changeCardLimit):

Están disponibles los siguientes tipos de límites CycleType:

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de la tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta plataforma de pruebas, familiarícese con la descripción de createVirtualCard.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Lo recibirá en la respuestaCreateVirtualCard().
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para plataforma de pruebas.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para plataforma de pruebas.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.cardId String Identificador de la tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para plataforma de pruebas.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para plataforma de pruebas.
Opcional cardIdentification.cardholderId String Identificador del titular de la tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.customerId String ID del cliente. No para plataforma de pruebas.
Opcional cardIdentification.customerNumber String Número de cliente en SVB02. No para plataforma de pruebas.
Opcional cardIdentification.barCode String Código de barras. No para plataforma de pruebas.
Opcional cardIdentification.cvv2 String CVV2. No para plataforma de pruebas.
Opcional cardIdentification.externalCardId String Identificador de la tarjeta en el sistema externo del banco. No para plataforma de pruebas.
Opcional cardIdentification.token String Token. No para plataforma de pruebas.
Opcional cardIdentification.cardTypeCode String Código del tipo de tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.email String Correo electrónico. No para plataforma de pruebas.
Opcional cardIdentification.institutionId String Identificador interno de la institución. No para plataforma de pruebas.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCardLimits \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardId" : 100000000873
  }
}'
POST

{ "cardIdentification" : { "cardId" : "{cardId de la respuesta /createVirtualCard}" } }

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio limits Object Lista de límites de la tarjeta.
Obligatorio limits.name String Denominación del límite.
Opcional limits.startDate DateTime Fecha de inicio del límite. No para plataforma de pruebas.
Opcional limits.endDate DateTime Fecha de finalización del límite. No para plataforma de pruebas.
Opcional limits.value Long Valor del límite.
Opcional limits.cycleType Integer Tipo de ciclo. Son posibles varios tipos de ciclos de límites – diarios, mensuales, etc.
Opcional limits.cycleLength Integer Duración del ciclo. Por ejemplo, el valor 2 para un límite mensual significa 2 meses.
Opcional limits.currency Integer Moneda.
Opcional limits.currentValue Long Valor actual del límite.
Obligatorio limits.limitExceptions Object Restringir lista de excepciones. No para área de pruebas.

Ejemplo de respuesta

{
        "limits": [
            {
                "name": "LMTP0111",
                "value": 999999999999,
                "cycleType": 0,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0112",
                "value": 999999999999,
                "cycleType": 3,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0108",
                "value": 999999999999,
                "cycleType": 3,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0110",
                "value": 999999999999,
                "cycleType": 3,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0109",
                "value": 999999999999,
                "cycleType": 0,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0107",
                "value": 999999999999,
                "cycleType": 0,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            }
        ]
    }

changeCardLimit

Cambiar valores de límites para una tarjeta específica. El conjunto de límites está definido para el producto de tarjeta y está predefinido en el área de pruebas. Inicialmente los límites para una tarjeta específica se heredan de la configuración del producto. Use getCardLimits para obtener los nombres de los límites.

Están disponibles los siguientes límites (los tipos de ciclos están indicados para la configuración de límite por defecto y pueden ser cambiados por la solicitud changeCardLimit):

Están disponibles las siguientes restricciones cycleType:

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta área de pruebas, familiarícese con la descripción de createVirtualCard.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Lo recibirá en la respuestaCreateVirtualCard().
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para área de pruebas.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para área de pruebas.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para área de pruebas.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para área de pruebas.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para área de pruebas.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para área de pruebas.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para área de pruebas.
Opcional cardIdentification.cardholderId String Identificador del portador de la tarjeta. No para área de pruebas. No para área de pruebas.
Opcional cardIdentification.customerId String ID del cliente. No para área de pruebas.
Opcional cardIdentification.customerNumber String Número de cliente en SVB02. No para área de pruebas.
Opcional cardIdentification.barCode String Código de barras. No para área de pruebas.
Opcional cardIdentification.cvv2 String CVV2. No para plataforma de prueba.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para plataforma de prueba.
Opcional cardIdentification.token String Token. No para plataforma de prueba.
Opcional cardIdentification.cardTypeCode String Código de tipo de tarjeta. No para plataforma de prueba.
Opcional cardIdentification.email String Correo electrónico. No para plataforma de prueba.
Opcional cardIdentification.institutionId String Identificador interno de institución. No para plataforma de prueba.
Obligatorio limit Object Parámetros de límite.
Obligatorio limit.name String Nombre del límite. Está predefinido en la plataforma de prueba. Puede obtener la lista de límites usando getCardLimits() y obtener los nombres de límites de su respuesta.
Opcional limit.startDate DateTime Fecha de inicio del límite. No para plataforma de prueba.
Opcional limit.endDate DateTime Fecha de finalización del límite. No para plataforma de prueba.
Opcional limit.value Long Valor del límite.
Opcional limit.cycleType Integer Tipo de ciclo.
Opcional limit.cycleLength Integer Duración del ciclo.
Opcional limit.currency Integer Moneda. No para plataforma de prueba.
Opcional limit.currentValue Long Valor actual del límite. No para plataforma de prueba.
Opcional cardAcceptorParameters Object Parámetros de terminal. No para plataforma de prueba.
Opcional cardAcceptorParameters.terminalIdentification String Identificador de terminal. No para plataforma de prueba.
Opcional cardAcceptorParameters.merchantIdentification String Identificador de comerciante. No para plataforma de prueba.
Opcional cardAcceptorParameters.merchantType String Código de categoría de comerciante. No para plataforma de prueba.
Opcional cardAcceptorParameters.nameAndLocation String Dirección de ubicación del terminal. No para plataforma de prueba.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeCardLimit \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardId": "100000245259"
      },
    "limit": {
        "name": "LMTP0112",
        "value": 13000000,
        "cycleType": 4,
        "cycleLength": 1
    }
}'
POST

{ "cardIdentification": { "cardId": "{cardId de la respuesta /createVirtualCard}" }, "limit": { "name": "LMTP0112", "value": 13000000, "cycleType": 4, "cycleLength": 1 } }

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación en SmartVista. 00 significa éxito.

Ejemplo de respuesta

{
      "responseCode": "00",
      "processingCode": "710000",
      "systemTraceAuditNumber": 609644,
      "localTransactionDate": "2024-10-23T08:23:28"
    }

getCardData

Devuelve datos sobre las tarjetas creadas por usted. Puede usarse después de crear una tarjeta usando createVirtualCard.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Se requiere cardNumber. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta plataforma de prueba, revise la descripción de createVirtualCard.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Lo obtendrá en la respuesta de CreateVirtualCard().
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para plataforma de prueba.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para plataforma de prueba.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para plataforma de prueba.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para plataforma de prueba.
Opcional cardIdentification.expDate String Fecha de vencimiento de tarjeta. No para plataforma de prueba.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para plataforma de prueba.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para plataforma de prueba.
Opcional cardIdentification.cardholderId String Identificador del titular de la tarjeta. No para entorno de prueba.
Opcional cardIdentification.customerId String ID del cliente. No para entorno de prueba.
Opcional cardIdentification.customerNumber String Número del cliente en SVB02. No para entorno de prueba.
Opcional cardIdentification.barCode String Código de barras. No para entorno de prueba.
Opcional cardIdentification.cvv2 String CVV2. No para entorno de prueba.
Opcional cardIdentification.externalCardId String Identificador de la tarjeta en el sistema externo del banco. No para entorno de prueba.
Opcional cardIdentification.token String Token. No para entorno de prueba.
Opcional cardIdentification.cardTypeCode String Código del tipo de tarjeta. No para entorno de prueba.
Opcional cardIdentification.email String Correo electrónico. No para entorno de prueba.
Opcional cardIdentification.institutionId String Identificador interno de la institución. No para entorno de prueba.
Opcional rsaPublicKey ByteArray Clave pública para cifrar el número de tarjeta en el mensaje de respuesta. No para entorno de prueba.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCardData \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardId": "100000245259"
      }
}'
POST

{ "cardIdentification" : { "cardId" : "{cardId de la respuesta /createVirtualCard}" } }

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardData Object Parámetros de la tarjeta.
Opcional cardData.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para entorno de prueba.
Opcional cardData.cardNumberMask String Número de tarjeta enmascarado. No para entorno de prueba.
Obligatorio cardData.cardNumber String Número de tarjeta.
Opcional cardData.expiryDate String Fecha de vencimiento de la tarjeta. En formato AAAAMMM.
Opcional cardData.formattedExpiryDate String Fecha de vencimiento de la tarjeta, formateada por el usuario. No para entorno de prueba.
Opcional cardData.cardId String Identificador de la tarjeta. Este es el identificador interno de la tarjeta SmartVista, que puede ser utilizado para identificar la tarjeta para aplicaciones no compatibles con PCI DSS.
Opcional cardData.hotCardStatus Integer Estado de la tarjeta.
Opcional cardData.cardTypeName String Tipo de tarjeta.
Opcional cardData.embossedName String Nombre en el plástico. Tiene sentido para tarjetas plásticas con relieve, y no para tarjetas virtuales en entorno de prueba.
Opcional cardData.customerId String ID del cliente.
Opcional cardData.customerName String Nombre del cliente. No para entorno de prueba.
Opcional cardData.personId String Identificador del titular de la tarjeta. No para entorno de prueba.
Opcional cardData.pinDenialCounter Integer Cantidad de intentos incorrectos de ingreso del PIN
Opcional cardData.plasticNumber Integer Número del plástico. No para entorno de prueba.
Opcional cardData.hotCardStatusDescription String Descripción del estado de la tarjeta.
Opcional cardData.cardIsPrimary Boolean Bandera de tarjeta principal. Siempre false para entorno de prueba.
Opcional cardData.cardBindToCustomer Boolean Bandera de vinculación de tarjeta al cliente. Siempre false para entorno de prueba.
Opcional cardData.customerIsCardholder Boolean Bandera de si el cliente es titular de la tarjeta. Siempre false para entorno de prueba.
Opcional cardData.cardContractId String Identificador del contrato de tarjeta. No para entorno de prueba.
Opcional cardData.cardPlasticId String Identificador del tipo de plástico. No para entorno de prueba.
Opcional cardData.cardPlasticDescription String Descripción del tipo de plástico. No para entorno de prueba.
Opcional cardData.memorableWord String Palabra secreta. No para entorno de prueba.
Opcional cardData.email String Correo electrónico. No para entorno de prueba.
Opcional cardData.lastWrongPinDate DateTime Fecha/hora del último intento de ingreso de PIN incorrecto. No para plataforma de prueba.
Opcional cardData.cardCreationDate DateTime Fecha de emisión de la tarjeta. No para plataforma de prueba.
Opcional cardData.cardBlockingDate DateTime Fecha/hora de bloqueo de la tarjeta. No para plataforma de prueba.
Opcional cardData.directDebitAccount String Cuenta utilizada para autopagos. No para plataforma de prueba.
Opcional cardData.cardholderMobilePhoneNumber String Número de teléfono del titular de la tarjeta. No para plataforma de prueba.
Opcional cardData.accounts Object Lista de cuentas para la tarjeta. En la plataforma de prueba debe haber solo una cuenta.
Obligatorio accounts.number String Número de cuenta.
Obligatorio accounts.currency Integer Moneda de la cuenta
Opcional accounts.currencyAlphaCode String Código alfabético de la moneda de la cuenta.
Obligatorio accounts.balance Integer Saldo de la cuenta.
Opcional accounts.creditLimit Integer Límite de crédito.
Obligatorio accounts.customerId String ID del cliente.
Opcional accounts.defaultAccount Boolean Indicador de cuenta por defecto. Siempre true para plataforma de prueba.

Ejemplo de respuesta

{
        "cardData": {
            "cardNumber": "4140050021658271",
            "expiryDate": "202301",
            "cardId": "100000000873",
            "hotCardStatus": 0,
            "cardTypeName": "VISA - PLUS",
            "embossedName": "GENERAL POOL",
            "customerId": "3006P_0000003",
            "personId": "3006P_0000002",
            "pinDenialCounter": 0,
            "plasticNumber": 1,
            "hotCardStatusDescription": "VALID CARD",
            "cardIsPrimary": false,
            "cardBindToCustomer": false,
            "customerIsCardholder": false,
            "accounts": [
                {
                    "number": "3006978700000000108",
                    "accountType": 1,
                    "currency": 978,
                    "currencyAlphaCode": "EUR",
                    "balance": 0,
                    "creditLimit": 0,
                    "customerId": "3006P_0000003",
                    "defaultAccount": true
                }
            ],
            "customParameters": []
        }
    }

blockCard

Bloquear tarjeta. Para bloquear una tarjeta en la plataforma de prueba, debe estar en estado activo (código de estado 0). Puede obtener el código de estado de la tarjeta mediante getCardData.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de la tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden utilizar en un proyecto real, no en esta plataforma de prueba, consulte la descripción de createVirtualCard.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Lo obtendrá en la respuestaCreateVirtualCard().
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para plataforma de prueba.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para plataforma de prueba.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para plataforma de prueba.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para plataforma de prueba.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para plataforma de prueba.
Opcional cardIdentification.plasticNumber Integer Número de plástico No para plataforma de prueba.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para plataforma de prueba.
Opcional cardIdentification.cardholderId String Identificador del titular de la tarjeta. No para plataforma de prueba.
Opcional cardIdentification.customerId String ID del cliente. No para plataforma de prueba.
Opcional cardIdentification.customerNumber String Número del cliente en SVB02. No para plataforma de prueba.
Opcional cardIdentification.barCode String Código de barras. No para plataforma de prueba.
Opcional cardIdentification.cvv2 String CVV2. No para plataforma de prueba.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para plataforma de prueba.
Opcional cardIdentification.token String Token. No para plataforma de prueba.
Opcional cardIdentification.cardTypeCode String Código de tipo de tarjeta. No para plataforma de prueba.
Opcional cardIdentification.email String Correo electrónico. No para plataforma de prueba.
Opcional cardIdentification.institutionId String Identificador interno de la institución.
Obligatorio hotCardStatus Integer Estado de la tarjeta. Should be 6 for the Sandbox. Esto significa que la tarjeta está bloqueada y debe ser retirada al intentar usarla.
Opcional cardAcceptorParameters Object Parámetros del terminal. No para entorno de pruebas.
Opcional cardAcceptorParameters.terminalIdentification String Identificador del terminal. No para entorno de pruebas.
Opcional cardAcceptorParameters.merchantIdentification String Identificador del comerciante. No para entorno de pruebas.
Opcional cardAcceptorParameters.merchantType String Código de categoría del comerciante. No para entorno de pruebas.
Opcional cardAcceptorParameters.nameAndLocation String Dirección de ubicación del terminal. No para entorno de pruebas.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/blockCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardNumber": "100000245259"
      },
    "hotCardStatus": 6
}'
POST

{ "cardIdentification": { "cardNumber": "{cardNumber de la respuesta /createVirtualCard}" }, "hotCardStatus": 6 }

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación en SmartVista. 00 significa éxito.

Ejemplo de respuesta

{
        "responseCode": "00",
        "processingCode": "910000",
        "systemTraceAuditNumber": 620397,
        "localTransactionDate": "2021-09-23T14:37:36"
    }

validateCard

Desbloquear tarjeta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Variantes posibles de identificación: (cardNumber) o (cardId) o (cardNumberMask y cardholderId) o (cardNumberMask y phoneNumber).
Obligatorio cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado.
Obligatorio cardIdentification.cardNumberMask String Número de tarjeta enmascarado.
Obligatorio cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta.
Obligatorio cardIdentification.cardNumber String Número de tarjeta.
Opcional cardIdentification.cardId String Identificador de tarjeta.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta.
Opcional cardIdentification.plasticNumber Integer Número de plástico
Opcional cardIdentification.phoneNumber String Teléfono del cliente.
Opcional cardIdentification.cardholderId String Identificador del portador de la tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número del cliente en SVB02.
Opcional cardIdentification.barCode String Código de barras.
Opcional cardIdentification.cvv2 String CVV2.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco.
Opcional cardIdentification.token String Token.
Opcional cardIdentification.cardTypeCode String Código del tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de la institución.
Opcional cardAcceptorParameters Object Parámetros del terminal.
Obligatorio cardAcceptorParameters.terminalIdentification String Identificador del terminal.
Obligatorio cardAcceptorParameters.merchantIdentification String Identificador del comerciante.
Obligatorio cardAcceptorParameters.merchantType String Código de categoría del comerciante.
Opcional cardAcceptorParameters.nameAndLocation String Dirección de ubicación del terminal.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/validateCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardId": "100000245259"
      }
}'
POST

{ "cardIdentification" : { "cardId" : "{cardId de la respuesta /createVirtualCard}" } }

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación en SmartVista. 00 significa éxito.

Ejemplo de respuesta

{
    "responseCode": "00",
    "processingCode": "980000",
    "systemTraceAuditNumber": 320252,
    "localTransactionDate": "2024-02-08T15:06:53"
}

creditCard

Ingreso de fondos a la tarjeta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Opcional preAuthorization Boolean Bandera de autorización previa.
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta plataforma de pruebas, consulte la descripción de createVirtualCard.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Lo obtendrá en la respuesta CreateVirtualCard.
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta encriptado. No para plataforma de pruebas.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para plataforma de pruebas.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.plasticNumber Integer Número de plástico No para plataforma de pruebas.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para plataforma de pruebas.
Opcional cardIdentification.cardholderId String Identificador del titular de la tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.customerId String ID del cliente. No para plataforma de pruebas.
Opcional cardIdentification.customerNumber String Número del cliente en SVB02. No para plataforma de pruebas.
Opcional cardIdentification.barCode String Código de barras. No para plataforma de pruebas.
Opcional cardIdentification.cvv2 String CVV2. No para plataforma de pruebas.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para plataforma de pruebas.
Opcional cardIdentification.token String Token. No para plataforma de pruebas.
Opcional cardIdentification.cardTypeCode String Código de tipo de tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.email String Correo electrónico. No para plataforma de pruebas.
Opcional cardIdentification.institutionId String Identificador interno de la institución. No para plataforma de pruebas.
Obligatorio amount Integer Cantidad.
Obligatorio currency Integer Moneda. Código numérico de moneda ISO 4217. Use 978 for the Sandbox.
Opcional tds Object Parámetros de transacción 3DS.
Opcional tds.xid String Identificador de transacción VISA 3DS. No para plataforma de pruebas.
Opcional tds.cavv String Valor de verificación de autenticación VISA. No para plataforma de pruebas.
Opcional tds.ucaf String Campo de autenticación universal Mastercard. No para plataforma de pruebas.
Opcional tds.authenticationIndicator String Tipo de autenticación de transacción de comercio electrónico. Valores posibles: NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH. No para plataforma de pruebas.
Opcional cardAcceptorParameters Object Parámetros del terminal. No para plataforma de pruebas.
Opcional cardAcceptorParameters.terminalIdentification String Identificador del terminal. No para plataforma de pruebas.
Opcional cardAcceptorParameters.merchantIdentification String Identificador del comerciante. No para plataforma de pruebas.
Opcional cardAcceptorParameters.merchantType String Código de categoría del comerciante. No para plataforma de pruebas.
Opcional cardAcceptorParameters.nameAndLocation String Dirección de ubicación del terminal. No para plataforma de pruebas.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/creditCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber": "4140050090966613",
    "expDate": 202612
  },
  "amount" : 10000,
  "currency" : 978
}'
POST

{ "cardIdentification" : { "cardNumber" : "{cardNumber from /createVirtualCard response}", "expDate" : 202612 }, "amount" : 10000, "currency" : 978 }

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de la operación SVFE. 00 significa éxito.
Obligatorio processingCode String código de procesamiento.
Obligatorio systemTraceAuditNumber Integer Número de registro de auditoría
Obligatorio localTransactionDate DateTime Fecha de transacción. Formato: fecha-hora
Obligatorio rrn String Identificador externo RNN.
Opcional authorizationIdResponse String Identificador de autorización.
Opcional uniqueReferenceNumber String Número de referencia único de la operación.
Opcional otp String Contraseña de un solo uso. No para plataforma de pruebas.
Opcional acquirerFeeAmount String Importe de la comisión del adquirente. No para plataforma de pruebas.
Opcional issuerFeeAmount String Importe de la comisión del emisor. No para plataforma de pruebas.
Opcional paymentSpecificData Object Datos especiales sobre el pago.

Ejemplo de respuesta

{
      "responseCode": "00",
      "processingCode": "270000",
      "systemTraceAuditNumber": 609652,
      "localTransactionDate": "2024-10-23T08:29:18",
      "rrn": "000003997389",
      "authorizationIdResponse": "997389",
      "accountCurrencyAmount": 10000,
      "paymentSpecificData": {}
   }

p2pTransfer

p2p transferencia de tarjeta a tarjeta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Opcional preAuthorization Boolean Bandera de autorización previa.
Obligatorio sourceCardIdentification Object Parámetros de identificación de la tarjeta para la tarjeta origen. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden utilizar en un proyecto real, no en esta plataforma de pruebas, familiarícese con la descripción de createVirtualCard.
Obligatorio sourceCardIdentification.cardNumber String Número de tarjeta. Lo obtendrá en la respuestaCreateVirtualCard().
Obligatorio sourceCardIdentification.expDate String Fecha de vencimiento de la tarjeta. Formato AAAÁMM.
Opcional sourceCardIdentification.encryptedCardNumber ByteArray Número de tarjeta encriptado. No para plataforma de pruebas.
Opcional sourceCardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para plataforma de pruebas.
Opcional sourceCardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para plataforma de pruebas.
Opcional sourceCardIdentification.cardId String Identificador de tarjeta. No para plataforma de pruebas.
Opcional sourceCardIdentification.plasticNumber Integer Número de plástico. No para plataforma de pruebas.
Opcional sourceCardIdentification.phoneNumber String Teléfono del cliente. No para plataforma de pruebas.
Opcional sourceCardIdentification.cardholderId String Identificador del titular de la tarjeta. No para plataforma de pruebas.
Opcional sourceCardIdentification.customerId String ID del cliente. No para plataforma de pruebas.
Opcional sourceCardIdentification.customerNumber String Número de cliente en SVB02. No para plataforma de pruebas.
Opcional sourceCardIdentification.barCode String Código de barras. No para plataforma de pruebas.
Opcional sourceCardIdentification.cvv2 String CVV2. No para plataforma de pruebas.
Opcional sourceCardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para plataforma de pruebas.
Opcional sourceCardIdentification.token String Token. No para plataforma de pruebas.
Opcional sourceCardIdentification.cardTypeCode String Código de tipo de tarjeta. No para plataforma de pruebas.
Opcional sourceCardIdentification.email String Correo electrónico. No para plataforma de pruebas.
Opcional sourceCardIdentification.institutionId String Identificador interno de la institución. No para plataforma de pruebas.
Obligatorio destinationCardIdentification Object Parámetros de identificación de la tarjeta de acreditación. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden utilizar en un proyecto real, no en esta plataforma de pruebas, familiarícese con la descripción de createVirtualCard.
Obligatorio destinationCardIdentification.cardNumber String Número de tarjeta. Lo recibirás en la respuestaCreateVirtualCard().
Opcional destinationCardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para entorno de pruebas.
Opcional destinationCardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para entorno de pruebas.
Opcional destinationCardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para entorno de pruebas.
Opcional destinationCardIdentification.cardId String Identificador de tarjeta. No para entorno de pruebas.
Opcional destinationCardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para entorno de pruebas.
Opcional destinationCardIdentification.plasticNumber Integer Número de plástico. No para entorno de pruebas.
Opcional destinationCardIdentification.phoneNumber String Teléfono del cliente. No para entorno de pruebas.
Opcional destinationCardIdentification.cardholderId String Identificador del titular de la tarjeta. No para entorno de pruebas.
Opcional destinationCardIdentification.customerId String ID del cliente. No para entorno de pruebas.
Opcional destinationCardIdentification.customerNumber String Número de cliente en SVB02. No para entorno de pruebas.
Opcional destinationCardIdentification.barCode String Código de barras. No para entorno de pruebas.
Opcional destinationCardIdentification.cvv2 String CVV2. No para entorno de pruebas.
Opcional destinationCardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para entorno de pruebas.
Opcional destinationCardIdentification.token String Token. No para entorno de pruebas.
Opcional destinationCardIdentification.cardTypeCode String Código del tipo de tarjeta. No para entorno de pruebas.
Opcional destinationCardIdentification.email String Correo electrónico. No para entorno de pruebas.
Opcional destinationCardIdentification.institutionId String Identificador interno de la institución. No para entorno de pruebas.
Obligatorio amount Integer Cantidad.
Obligatorio currency Integer Divisa. Código numérico de divisa ISO 4217. Use 978 for the Sandbox.
Opcional sourceAccountNumber String Número de tarjeta desde la cual se efectúa el débito de fondos. No para entorno de pruebas.
Opcional destinationAccountNumber String Número de tarjeta a la cual se efectúa el abono. No para entorno de pruebas.
Opcional tds Object Parámetros de transacción 3DS. No para entorno de pruebas.
Opcional tds.xid String Identificador de transacción VISA 3DS. No para entorno de pruebas.
Opcional tds.cavv String Valor de verificación de autenticación VISA. No para entorno de pruebas.
Opcional tds.ucaf String Campo de autenticación universal Mastercard. No para entorno de pruebas.
Opcional tds.authenticationIndicator String Tipo de autenticación de transacción de comercio electrónico. Valores posibles: [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]. No para entorno de pruebas.
Obligatorio senderReceiverInfo Object Información sobre el remitente y destinatario del pago. No para entorno de pruebas.
Obligatorio senderReceiverInfo.senderName String Nombre del remitente en formato «Apellido, Nombre».
Obligatorio senderReceiverInfo.senderAddress String Dirección del remitente.
Opcional senderReceiverInfo.senderCity String Ciudad del remitente. No para entorno de pruebas.
Opcional senderReceiverInfo.senderCountry String Código de país del remitente. No para entorno de pruebas.
Opcional senderReceiverInfo.senderPostalCode String Código postal del remitente. No para la plataforma de pruebas.
Opcional senderReceiverInfo.receiverName String Nombre del destinatario en formato «Apellido, Nombre». No para la plataforma de pruebas.
Opcional pointOfServiceDataCode String Conjunto de códigos que determinan las capacidades del terminal, parámetros de su entorno y uso de medios de seguridad durante la transacción. No para la plataforma de pruebas.
Obligatorio pointOfServiceConditionCode String Código que determina las condiciones de realización de la transacción en el punto de servicio. Cualquier texto.
Opcional cardAcceptorParameters Object Parámetros del terminal. No para la plataforma de pruebas.
Opcional cardAcceptorParameters.terminalIdentification String Identificador del terminal. No para la plataforma de pruebas.
Opcional cardAcceptorParameters.merchantIdentification String Identificador del comerciante. No para la plataforma de pruebas.
Opcional cardAcceptorParameters.merchantType String Código de categoría del comerciante. No para la plataforma de pruebas.
Opcional cardAcceptorParameters.nameAndLocation String Dirección de ubicación del terminal. No para la plataforma de pruebas.
Opcional securityLevelIndicator String Indicador del nivel de seguridad. No para la plataforma de pruebas.
Opcional originalTransactionParameters Object Parámetros de la transacción original. Debe incluirse en la solicitud de verificación del estado de la transacción. No para la plataforma de pruebas.
Opcional originalTransactionParameters.systemTraceAuditNumber Integer Número de registro de auditoría. No para la plataforma de pruebas.
Opcional originalTransactionParameters.localTransactionDate DateTime Fecha de la transacción. No para la plataforma de pruebas.
Opcional originalTransactionParameters.rrn String Identificador externo RNN. No para la plataforma de pruebas.
Opcional posCardholderPresence Integer Tipo de presencia del portador de la tarjeta en el punto de servicio. No para la plataforma de pruebas.
Opcional businessApplicationIdentifier String Identificador del tipo de transacción MC. No para la plataforma de pruebas.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/p2pTransfer \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "sourceCardIdentification": {
    "cardNumber": "4140050090966613",
    "expDate": "202612"
  },
    "destinationCardIdentification": {
      "cardNumber": "4165850095602372"
  },
  "amount": 10000,
  "currency": 978,
  "senderReceiverInfo": {
    "senderName": "Tor, John",
    "senderAddress": "New York, USA"
  },
  "pointOfServiceDataCode": "810"
}'
POST

{ "sourceCardIdentification": { "cardNumber": "{cardNumber de la respuesta /createVirtualCard}", "expDate": "202612" }, "destinationCardIdentification": { "cardNumber": "4165850095602372" }, "amount": 10000, "currency": 978, "senderReceiverInfo": { "senderName": "Tor, John", "senderAddress": "New York, USA" }, "pointOfServiceDataCode": "810" }

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de la operación. 00 significa éxito.
Obligatorio processingCode String código de procesamiento.
Obligatorio systemTraceAuditNumber Integer Número de registro de auditoría
Obligatorio localTransactionDate DateTime Fecha de la transacción. Formato: fecha-hora
Obligatorio rrn String Identificador externo RNN.
Opcional authorizationIdResponse String Identificador de autorización.
Opcional paymentSpecificData Object Datos especiales sobre el pago.

Ejemplo de respuesta

{
      "responseCode": "00",
      "processingCode": "490000",
      "systemTraceAuditNumber": 609665,
      "localTransactionDate": "2024-10-23T08:42:06",
      "rrn": "000003997403",
      "authorizationIdResponse": "997405",
      "accountCurrencyAmount": 10000,
      "paymentSpecificData": {}
    }

getTransactions

Obtener el historial de transacciones de una tarjeta específica.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de la tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta plataforma de pruebas, consulte la descripción de createVirtualCard.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Lo obtendrá en la respuestaCreateVirtualCard().
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para la plataforma de pruebas.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para la plataforma de pruebas.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para la plataforma de pruebas.
Opcional cardIdentification.cardId String Identificador de la tarjeta. No para la plataforma de pruebas.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para plataforma de pruebas.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para plataforma de pruebas.
Opcional cardIdentification.cardholderId String Identificador del titular de la tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.customerId String ID del cliente. No para plataforma de pruebas.
Opcional cardIdentification.customerNumber String Número de cliente en SVB02. No para plataforma de pruebas.
Opcional cardIdentification.barCode String Código de barras. No para plataforma de pruebas.
Opcional cardIdentification.cvv2 String CVV2. No para plataforma de pruebas.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para plataforma de pruebas.
Opcional cardIdentification.token String Token. No para plataforma de pruebas.
Opcional cardIdentification.cardTypeCode String Código de tipo de tarjeta. No para plataforma de pruebas.
Opcional cardIdentification.email String Correo electrónico. No para plataforma de pruebas.
Opcional cardIdentification.institutionId String Identificador interno de institución. No para plataforma de pruebas.
Obligatorio period Object Intervalo de tiempo.
Opcional period.start DateTime Fecha de inicio. Formato AAAA-MM-DD.
Opcional period.end DateTime Fecha de fin. Formato AAAA-MM-DD.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getTransactions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
    "cardId": "100000245258"
  },
  "period": {
    "start": "2024-10-01",
    "end": "2024-10-23"
  }
}'
POST

{ "cardIdentification": { "cardId": "{cardId de la respuesta /createVirtualCard}" }, "period": { "start": "2024-10-01", "end": "2024-10-23" } }

Parámetros de respuesta

Obligatorio Nombre Tipo Descripción
Obligatorio transactions Object Transacciones.
Opcional transactions.boWriteOffDate DateTime Hora y fecha de cargo SVBO. No para plataforma de pruebas.
Obligatorio transactions.authorizationDate DateTime Fecha/hora de autorización.
Obligatorio transactions.transactionType String Tipo de transacción.
Obligatorio transactions.operationDirection String Dirección de operación. Valores posibles: [CREDIT, DEBIT, NOOP]
Obligatorio transactions.amount Integer Monto de transacción.
Obligatorio transactions.currency Integer Moneda.
Obligatorio transactions.amountInAccountCurrency Integer Monto de transacción en moneda de cuenta.
Obligatorio transactions.utrnno Long Identificador de transacción en SVFE (identificador interno SmartVista).
Opcional transactions.boUtrnno Long Identificador de transacción en SVBO. (identificador interno SmartVista).
Opcional transactions.transactionDescription String Descripción de transacción.
Opcional transactions.feeDirection String Dirección de comisión. Valores posibles: [CREDIT, DEBIT, NOOP]
Opcional transactions.acquireFeeAmount Integer Monto de comisión del adquirente.
Opcional transactions.feIssuerFeeAmount Integer Monto de comisión en línea del emisor.
Opcional transactions.boIssuerFeeAmount Integer Monto de comisión fuera de línea del emisor.
Opcional transactions.mcc Long MCC.
Opcional transactions.merchantCountry String País del comerciante.
Opcional transactions.merchantCity String Ciudad del comerciante.
Opcional transactions.merchantName String Nombre del comerciante.
Opcional transactions.merchantId String Identificador del vendedor.
Opcional transactions.terminalAddress String Dirección del terminal.
Opcional transactions.posDataCode String Código de datos POS.
Opcional transactions.authorizationIdResponse String Identificador de autorización.
Opcional transactions.reversalDate DateTime Fecha/hora de reverso.
Opcional transactions.reversal Boolean Bandera de reverso.
Opcional transactions.requestAmount Integer Cantidad solicitada para la transacción.
Opcional transactions.terminalId String Identificador del terminal.
Opcional transactions.payId String Identificador asignado por el proveedor de servicios.

Ejemplo de respuesta

{
        "transactions": [
            {
                "authorizationDate": "2021-09-23T14:35:24",
                "transactionType": "578",
                "operationDirection": "NOOP",
                "amount": 0,
                "currency": 0,
                "amountInAccountCurrency": 0,
                "utrnno": 154793,
                "transactionDescription": "Change limit",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "reversal": false,
                "requestAmount": 0,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:37:36",
                "transactionType": "493",
                "operationDirection": "NOOP",
                "amount": 0,
                "currency": 0,
                "amountInAccountCurrency": 0,
                "utrnno": 154796,
                "transactionDescription": "Card blocking",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154796",
                "reversal": false,
                "requestAmount": 0,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:38:26",
                "transactionType": "672",
                "operationDirection": "NOOP",
                "amount": 0,
                "currency": 0,
                "amountInAccountCurrency": 0,
                "utrnno": 154797,
                "transactionDescription": "Card status change",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154797",
                "reversal": false,
                "requestAmount": 0,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:39:15",
                "transactionType": "760",
                "operationDirection": "CREDIT",
                "amount": 10000,
                "currency": 978,
                "amountInAccountCurrency": 10000,
                "utrnno": 154798,
                "transactionDescription": "Credit account presentment",
                "feeDirection": "CREDIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154798",
                "reversal": false,
                "requestAmount": 10000,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:40:05",
                "transactionType": "781",
                "operationDirection": "DEBIT",
                "amount": 1000,
                "currency": 978,
                "amountInAccountCurrency": 1000,
                "utrnno": 154800,
                "transactionDescription": "P2P Debit part",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154800",
                "reversal": false,
                "requestAmount": 1000,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:40:05",
                "transactionType": "689",
                "operationDirection": "NOOP",
                "amount": 1000,
                "currency": 978,
                "amountInAccountCurrency": 1000,
                "utrnno": 154799,
                "transactionDescription": "Card-to-Card money transfer",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154801",
                "reversal": false,
                "requestAmount": 1000,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            }
        ]
    }
Categorías:
Banca API V1
Categorías
Resultados de búsqueda