Para cualquier consulta estamos a un clic

Hacer una pregunta

Comenzar

Entorno de pruebas

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

Descargar colección Postman

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

Características generales

Todos los métodos funcionan a través de HTTP POST.

Content-Type: application/json tanto para solicitudes como para respuestas.

Autenticación

La autenticación básica de acceso es un método mediante el cual un usuario HTTP puede proporcionar un nombre de usuario y contraseña al enviar una solicitud. En la autenticación HTTP básica, la solicitud contiene un campo de encabezado en la forma Authorization: Basic <credentials>, donde las credenciales son la representación en Base64 de la combinación del identificador y la contraseña, unidos por dos puntos :.

Clientes

registerCustomer

Registra un nuevo cliente en SmartVista y crea una cuenta. Puedes crear tantos clientes como desees. Pero en el entorno de pruebas solo puedes crear una cuenta para cada cliente — esta limitación se añadió para simplificar la lógica del entorno de pruebas. En el proyecto real podrás crear tantas cuentas para cada cliente como sea necesario para tu negocio.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio productName String Identificador de la 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 de cliente para el proyecto específico. La creamos para el entorno de pruebas, y puedes ver los parámetros necesarios debajo de esta tabla.
Obligatorio parameters.name String Define el parámetro en la plantilla del cliente para el cual se establece el valor correspondiente.
Obligatorio parameters.value String Valor que necesita 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"
      }
    ]  
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio customerNumber String Número del cliente. Recibirás el que envíes 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"
    }

getCustomerInfo

Obtener información sobre el cliente.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Opcional accountNumber String Número de cuenta.
Obligatorio customerNumber String Número de cliente.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCustomerInfo \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "customerNumber" : "3210_P004"
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio customerNumber String Número de cliente.
Obligatorio customerName String Nombre del cliente.
Opcional limits Object Lista de límites.
Obligatorio limits.limitName String Denominación del límite.
Obligatorio limits.limitType String Denominación del límite.
Opcional limits.value Long Valor del límite.
Opcional limits.currentValue Long Valor actual.
Opcional accounts Object Lista de cuentas.
Obligatorio accounts.accountNumber String Número de cuenta.
Obligatorio accounts.accountType String Tipo de cuenta.
Obligatorio accounts.product Object Parámetros del producto.
Obligatorio product.productNumber String Número de producto.
Obligatorio product.productName String Denominación del producto.
Opcional accounts.balances Object Lista de saldos de cuentas.
Obligatorio balances.type String Tipo de saldo.
Obligatorio balances.value Long Valor del saldo.

Ejemplo de respuesta

{
    "customerNumber": "3210_P004",
    "customerName": "Smith John A.",
    "limits": [
        {
            "limitName": "Customer-level credit limit",
            "limitType": "LMTP0901",
            "value": 0,
            "currentValue": 0
        },
        {
            "limitName": "Customer-level cash advance credit limit",
            "limitType": "LMTP0902",
            "value": 0,
            "currentValue": 0
        }
    ],
    "accounts": [
        {
            "accountNumber": "3210978700000000579",
            "accountType": "ACTP0100",
            "balances": []
        }
    ]
}

isCustomerExist

Verificación de si existe el identificador del cliente.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio customerNumber String Número de cliente.
Opcional institutionId Integer Identificador de la institución

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/isCustomerExist \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "customerNumber": 1002,
  "institutionId": 7001
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio result Boolean Identificador de la institución.

Ejemplo de respuesta

{
  "result" : true
}

Cuentas

changeAccountLimit

Cambiar el límite de la cuenta.

Parámetros de la solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio accountNumber String Número de cuenta.
Obligatorio limit Object Parámetros del límite.
Obligatorio limit.name String Nombre del límite en SVBO.
Opcional limit.startDate DateTime Fecha de inicio del límite. formato: fecha-hora
Opcional limit.endDate DateTime Fecha de finalización del límite.
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
Opcional limit.currentValue Long Valor actual del límite
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/changeAccountLimit \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber" : 4000010000000003,
  "limit" : {
    "name" : "LMTTC01",
    "startDate" : "2015-02-15",
    "endDate" : "2015-02-20",
    "value" : 10000000,
    "cycleType" : 4,
    "cycleLength" : 1
  }
}'

Parámetros de la respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de la operación en SmartVista.

Ejemplo de respuesta

{
  "responseCode" : 00
}

getAccountLimits

Obtener lista de límites de cuenta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio accountNumber String Número de cuenta.

Ejemplo de solicitud

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

Ejemplo de respuesta

{
  "limits": [
    {
      "name": "LMTTC01",
      "value": 10000000,
      "cycleType": 4,
      "cycleLength": 1,
      "currency": 978,
      "currentValue": 0,
      "limitExceptions": [
        {
          "limitName": "LMTTA02",
          "startDate": "2014-12-30",
          "endDate": "2014-12-31",
          "value": 10000,
          "cycleType": 0,
          "cycleLength": 0
        }
      ]
    }

changeAccountStatus

Cambiar estado de cuenta.

Parámetros de solicitud

Required Name Type Description
Mandatory accountNumber string Número de cuenta.
Mandatory accountStatus integer Estado de cuenta

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeAccountStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber": 2652,
  "accountStatus": 1
}'

Parámetros de respuesta

Required Name Type Description
Mandatory responseCode string Código de finalización de operación en SmartVista.

Ejemplo de respuesta

{
  "responseCode" : 00
}

changeAccountStatusInFe

Cambie el estado de la cuenta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio accountNumber String Número de cuenta.
Obligatorio accountStatus Integer Estado de cuenta
Opcional cardAcceptorParameters Object Parámetros de terminal.
Obligatorio cardAcceptorParameters.terminalIdentification String Identificador de terminal.
Obligatorio cardAcceptorParameters.merchantIdentification String Identificador de comerciante.
Obligatorio cardAcceptorParameters.merchantType String Código de categoría de 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/changeAccountStatusInFe \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber": 3210978700000000579,
  "accountStatus": 1
  }
}'

Parámetros de respuesta

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

Ejemplo de respuesta

{
    "responseCode": "00",
    "processingCode": "810000",
    "systemTraceAuditNumber": 320257,
    "localTransactionDate": "2024-02-08T15:08:14"
}

getAccountData

Obtener datos de cuenta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio accountNumber String Número de cuenta.
Opcional returnCardNumber Boolean Muestra si es necesario indicar el número completo de tarjeta en la respuesta.

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio accountData Object Parámetros de cuenta.
Obligatorio accountData.number String Número de cuenta.
Obligatorio accountData.currency Integer Moneda de cuenta.
Opcional accountData.currencyAlphaCode String Código alfabético de moneda de cuenta.
Obligatorio accountData.balance Integer Saldo de cuenta.
Opcional accountData.creditLimit Integer Límite de crédito.
Obligatorio accountData.customerId String ID del cliente.
Opcional accountData.defaultAccount Boolean Indicador de cuenta por defecto.
Obligatorio accountData.cards Object Lista de tarjetas para cuenta.
Opcional cards.cardType String Tipo de tarjeta.
Opcional cards.cardNumber String Número de tarjeta.
Opcional cards.expiryDate String Fecha de vencimiento de tarjeta.
Opcional cards.cardStatus String Estado de tarjeta.
Opcional cards.accountNumber String Número de cuenta.
Opcional cards.accountStatus String Estado de cuenta.
Opcional cards.gmfIndicator String Indicador de cuenta GMF.
Opcional cards.productNumber String Número de producto.
Obligatorio cards.productId String Número de identificación de producto.

Ejemplo de solicitud

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

Ejemplo de respuesta

{
    "accountData": {
        "number": "3210978700000000579",
        "currency": 978,
        "currencyAlphaCode": "EUR",
        "balance": 0,
        "customerId": "3210_P004",
        "cards": [
            {
                "cardNumberMask": "414210******8086",
                "expiryDate": "202512",
                "cardId": "100000003347",
                "hotCardStatus": 0,
                "cardTypeName": "VISA - PLUS",
                "embossedName": "GENERAL POOL",
                "customerId": "3210_P004",
                "personId": "3210P_0000001",
                "pinDenialCounter": 0,
                "plasticNumber": 1,
                "hotCardStatusDescription": "VALID CARD",
                "cardIsPrimary": false,
                "cardBindToCustomer": false,
                "customerIsCardholder": false
            }
        ]
    }
}

setAllowedBeneficiaries

Establecer la lista de beneficiarios permitidos para la tarjeta o cuenta.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setAllowedBeneficiaries \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber": "4000010000000003",
  "beneficiaries": [
    "M0001"
  ] 
}'

Parámetros de respuesta

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

Ejemplo de respuesta

{
  "responseCode": "00"
}

getAllowedBeneficiaries

Obtener la lista de beneficiarios permitidos por tarjeta o cuenta.

Ejemplo de solicitud

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

Ejemplo de respuesta

{
  "beneficiaries": [
    M0001
  ]
}

setAllowedMccList

Establecimiento de la lista de MCC permitidos para la tarjeta o cuenta.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setAllowedMccList \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber": "4000010000000003",
  "mccList" : [
    1750
  ]
}'
Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación en SmartVista.

Ejemplo de respuesta

{
  "responseCode": "00"
}

getAllowedMccList

Obtener la lista de MCC permitidos para la tarjeta o cuenta.

Ejemplo de solicitud

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

Ejemplo de respuesta

{
  "mccList": [
    1750
  ]
}

Comerciantes

changeMerchantStatus

Cambiar el estado del comerciante.

Parámetros de la solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio merchantNumber String Número del comerciante.
Obligatorio institutionId String Identificador interno de la institución.
Obligatorio agentId String Identificador del agente.
Obligatorio customerNumber String Número del cliente.
Obligatorio contractNumber String Número del contrato.
Obligatorio status String Estado del comerciante.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeMerchantStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "merchantNumber": "M000001",
  "institutionId": "3210",
  "agentId": "32",
  "customerNumber": "3210_P004",
  "contractNumber": "201",
  "status": "Valid Entity"
}'

Parámetros de la respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de la operación en SmartVisa.

Ejemplo de respuesta

{
  "responseCode" : "00"
}

getMerchantTransactions

Obtener lista de transacciones del comerciante

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio merchantId String Identificador del vendedor.
Opcional terminalId String Identificador del terminal.
Obligatorio institutionId String Identificador interno de la institución.
Obligatorio period Object Período de tiempo.
Opcional period.start DateTime Fecha de inicio.
Opcional period.end DateTime Fecha de finalización.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getMerchantTransactions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "merchantIdn" : "M999101",
  "institutionId": 2,
  "period": {
    "start": "2019-05-01",
    "end": "2019-06-01"
  }
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio transactions Object Transacciones.
Obligatorio transactions.utrnno Long Identificador de transacción en SVFE
Opcional transactions.reversal Boolean Bandera de reversal.
Obligatorio transactions.merchantId String Identificador del vendedor.
Obligatorio transactions.terminalId String Identificador del terminal.
Obligatorio transactions.transactionDate DateTime Fecha/hora de transacción.
Opcional transactions.settlementDate DateTime Fecha/hora de liquidación.
Obligatorio transactions.cardNumberMask String Número de tarjeta enmascarado.
Obligatorio transactions.cardNumber String Número de tarjeta.
Opcional transactions.transactionAmount Integer Monto de transacción.
Opcional transactions.transactionCurrency Integer Código de moneda de transacción
Opcional transactions.submittedAmount Integer Monto solicitado.
Opcional transactions.submittedCurrency Integer Moneda solicitada
Opcional transactions.responseCode Integer Código de respuesta interno SVFE.
Opcional transactions.authorizationCode String Código de autorización.
Opcional transactions.cashbackAmount Integer Monto de cashback.
Opcional transactions.transactionType String Tipo de transacción.
Opcional transactions.networkType String Tipo de red.
Opcional transactions.cardType String Tipo de tarjeta.
Opcional transactions.orderNumber String Número de orden de pago.
Opcional transactions.orderId String Identificador de orden de pago.

Ejemplo de respuesta

{
        "transactions": {
          "transaction": [
            {
              "utrnno": 7220355,
              "reversal": false,
              "merchantId": "M999101",
              "terminalId": 999101,
              "transactionDate": "2019-05-15T13:08:07+04:00",
              "cardNumber": 4440010000000001,
              "transactionAmount": 10000,
              "transactionCurrency": 978,
              "responseCode": 802,
              "authorizationCode": 0,
              "cashbackAmount": 0,
              "transactionType": 736,
              "networkType": 28,
              "cardType": 0
            },
            {
              "utrnno": 7220403,
              "reversal": false,
              "merchantId": "M999101",
              "terminalId": 999101,
              "transactionDate": "2019-05-15T13:11:38+04:00",
              "cardNumber": 4440010000000001,
              "transactionAmount": 10000,
              "transactionCurrency": 978,
              "responseCode": 802,
              "authorizationCode": 0,
              "cashbackAmount": 0,
              "transactionType": 736,
              "networkType": 28,
              "cardType": "DEF"
            },
            {
              "utrnno": 7220431,
              "reversal": false,
              "merchantId": "M999101",
              "terminalId": 999101,
              "transactionDate": "2019-05-15T13:12:55+04:00",
              "cardNumber": 4440010000000001,
              "transactionAmount": 10000,
              "transactionCurrency": 978,
              "responseCode": 801,
              "authorizationCode": 0,
              "cashbackAmount": 0,
              "transactionType": 736,
              "networkType": 44,
              "cardType": "DEF"
            }
          ]
        }
      }

changeTerminalStatus

Cambiar el estado del terminal.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio merchantNumber String Número del comerciante.
Obligatorio terminalNumber String Número del terminal.
Obligatorio institutionId String Identificador interno de la institución.
Obligatorio agentId String Identificador del agente.
Obligatorio customerNumber String Número del cliente.
Obligatorio contractNumber String Número del contrato.
Obligatorio status String Estado del terminal.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeTerminalStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "merchantNumber" : "M999201",
  "terminalNumber" : "00999201",
  "institutionId" : "3210",
  "agentId" : "32",
  "customerNumber" : "3210_P004",
  "contractNumber" : "201",
  "status" : "Valid Entity"
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación en SmartVisa.

Ejemplo de respuesta

{
  "responseCode" : "00"
}

generateKey

Generar clave.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Opcional terminalId Long Identificador interno del terminal SVFE (pid)
Opcional terminalNumber String Identificador del terminal.
Opcional merchantNumber String Identificador del comerciante.
Obligatorio hostId Integer Identificador interno de la clave ZMK (PID), que debe utilizarse para exportar la clave generada.
Obligatorio keyType String Tipo de clave.
Obligatorio keyLength String Longitud de la clave generada. Valores posibles: [ENKL_0016, ENKL_0032, ENKL_0048]

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/generateKey \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "hostId" : 54329,
  "keyType": "string",
  "keyLength": "ENKL_0016",
  "keySerialNumber": "string",
  "dukptId": 0
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Opcional keyValue String Clave generada (cifrada ZMK).
Opcional checkValue String Valor de verificación
Opcional lmkHsmKeyValue String Clave generada (cifrada LMK).

Ejemplo de respuesta

{
  "keyValue" : "keyValue",
  "lmkHsmKeyValue" : "lmkHsmKeyValue",
  "checkValue" : "checkValue"
}

setKey

Establecer clave.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Opcional terminalId Long Identificador interno del terminal SVFE (pid)
Opcional terminalNumber String Identificador del terminal.
Opcional merchantNumber String Identificador del comerciante.
Obligatorio hostId Integer PID del host
Obligatorio keyType String Tipo de clave. Valores posibles: [ENKTTMKA, ENKTTMKP, ENKTTAK, ENKTIKEY]
Opcional inputKeyPrefix String Ingrese prefijo de clave. Valores posibles: [U, T, X, Y]
Obligatorio key String Clave.
Opcional keyCheckValue String Valor de verificación
Obligatorio newKeyPrefix String Nuevo prefijo de clave. Valores posibles: [U, T, X, Y]

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setKey \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "terminalId": 0,
  "terminalNumber": "string",
  "merchantNumber": "string",
  "hostId": 0,
  "keyType": "ENKTTMKA",
  "inputKeyPrefix": "U",
  "key": "string",
  "keyCheckValue": "string",
  "newKeyPrefix": "U"
}'

Parámetros de respuesta

Ejemplo de respuesta

{ }

serviceAction

Ejecutar acción con servicio.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio serviceIdentification Object Datos de identificación del servicio.
Obligatorio serviceIdentification.serviceType String Tipo de servicio.
Obligatorio serviceIdentification.serviceId String Identificador del servicio.
Obligatorio serviceIdentification.serviceObjectType String Objeto al cual puede estar vinculado el servicio. Valores posibles: [SERVICE_OBJECT_CARD, SERVICE_OBJECT_ACCOUNT]
Obligatorio actionCode String Código de acción. Valores posibles: [ACTION_CODE_ADD, ACTION_CODE_UPDATE, ACTION_CODE_DELETE, ACTION_CODE_CHECK, ACTION_CODE_CHANGE_ACCESS, ACTION_CODE_CHECK_PARAMETERS, ACTION_CODE_RESTORE_PARAMETERS, ACTION_CODE_INQUIRE, ACTION_CODE_ACTION]
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. expDate y (cardNumber) o (barCode) o (cardNumberMask y phoneNumber) son obligatorios.
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 tarjeta.
Opcional cardIdentification.plasticNumber Integer Número de plástico
Opcional cardIdentification.phoneNumber String Teléfono del cliente.
Opcional cardIdentification.cardholderId String Identificador del titular de tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de cliente en SVB02.
Opcional cardIdentification.barCode String Código de barras.
Opcional cardIdentification.cvv2 String CVV2.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en sistema externo del banco.
Opcional cardIdentification.token String Token.
Opcional cardIdentification.cardTypeCode String Código de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de institución.
Opcional accountNumber String Número de cuenta.
Opcional serviceParameters Object Parámetros del servicio.
Opcional serviceParameters.phoneNumber String Número de teléfono.
Opcional serviceParameters.email String Correo electrónico
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/serviceAction \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "serviceIdentification": {
    "serviceType" : 7,
    "serviceId" : 300,
    "serviceObjectType": "SERVICE_OBJECT_CARD"
  },
  "actionCode": "ACTION_CODE_ADD",
  "cardIdentification": {
    "cardNumber": 4000010000000003
  }
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación en SmartVisa.

Ejemplo de respuesta

{
  "responseCode" : 00
}

Tarjetas y carteras

blockCard

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

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 este entorno de prueba, consulte la descripción de createVirtualCard.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Lo recibirá en la respuesta CreateVirtualCard().
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para entorno de prueba.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para entorno de prueba.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para entorno de prueba.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para entorno de prueba.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para entorno de prueba.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para entorno de prueba.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para entorno 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 de 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 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 de 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.
Obligatorio hotCardStatus Integer Estado de la tarjeta. Para el entorno de prueba debe ser '6'. Esto significa que la tarjeta está bloqueada y debe ser confiscada al intentar usar.
Opcional cardAcceptorParameters Object Parámetros del terminal. No para entorno de prueba.
Opcional cardAcceptorParameters.terminalIdentification String Identificador del terminal. No para entorno de prueba.
Opcional cardAcceptorParameters.merchantIdentification String Identificador del comerciante. No para entorno de prueba.
Opcional cardAcceptorParameters.merchantType String Código de categoría del comerciante. No para entorno de prueba.
Opcional cardAcceptorParameters.nameAndLocation String Dirección de ubicación del terminal. No para entorno de prueba.

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" : 100000000873
  },
  "hotCardStatus" : 6
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación en SmartVisa. «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. Posibles variantes 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 titular de la tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de 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 de 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" : 100000000873
  }
}'

Parámetros de respuesta

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

Ejemplo de respuesta

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

bindCardToAccount

Vincular tarjeta a cuenta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. cardNumber y expDate son obligatorios.
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 de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de institución.
Obligatorio accountNumber String Número de cuenta para vinculación.
Obligatorio accountType String Tipo de cuenta. Valores posibles: [ACCOUNT_TYPE_DEFAULT, ACCOUNT_TYPE_SAVING, ACCOUNT_TYPE_CHECKING, ACCOUNT_TYPE_CREDIT, ACCOUNT_TYPE_FIRST_OTHERS, ACCOUNT_TYPE_LOANS, ACCOUNT_TYPE_ENVELOPE, ACCOUNT_TYPE_ESCROW, ACCOUNT_TYPE_MONEY_MARKET, ACCO UNT_TYPE_LOYALTY]
Opcional accountCurrency Integer Moneda de la cuenta (requerida solo para cuentas nuevas).
Opcional personalData Object Datos personales del portador de la tarjeta.
Opcional personalData.firstName String
Opcional personalData.lastName String
Opcional customerId String ID del cliente.
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/bindCardToAccount \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000001,
    "expDate" : 202512
  },
  "accountNumber" : 4000010000000001,
  "accountType" : "ACCOUNT_TYPE_DEFAULT",
  "accountCurrency" : 978,
  "personalData" : {
    "firstName" : "IVAN",
    "lastName" : "IVANOV"
  },
  "customerId" : "3210_P004"
}'

Parámetros de respuesta

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

Ejemplo de respuesta

{
  "responseCode" : 00
}

getCardLimits

Obtener límites para una tarjeta específica. El conjunto de límites está definido para el producto de tarjeta y está predefinido en el entorno de pruebas. Inicialmente, los límites para una tarjeta específica se heredan de la configuración del producto. Puede cambiar los valores de los límites para una tarjeta específica usando changeCardLimits.

Están disponibles los siguientes límites (los tipos de ciclos se especifican para la configuración de límite por defecto y pueden ser cambiados con la 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 este entorno 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 cifrado. No para entorno de pruebas.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para entorno de pruebas.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para entorno de pruebas.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para entorno de pruebas.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para entorno de pruebas.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para entorno de pruebas.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para entorno de pruebas.
Opcional cardIdentification.cardholderId String Identificador del titular de la tarjeta. No para entorno de pruebas.
Opcional cardIdentification.customerId String ID del cliente. No para entorno de pruebas.
Opcional cardIdentification.customerNumber String Número de cliente en SVB02. No para entorno de pruebas.
Opcional cardIdentification.barCode String Código de barras. No para entorno de pruebas.
Opcional cardIdentification.cvv2 String CVV2. No para entorno de pruebas.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para entorno 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.

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
  }
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio limits Object Lista de límites de 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 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 plataforma 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": []
            }
        ]
    }

addCardLimitException

Agregar excepción de límite de tarjeta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Posibles variantes de identificación: (cardNumber) o (cardId) o (barCode) o (cardNumberMasked y cardholderId) o (cardNumberMasked y `phoneNumber).
Obligatorio cardIdentification.encryptedCardNumber ByteArray Número de tarjeta encriptado.
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 titular de la tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de 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 de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de la institución.
Obligatorio limitException Object Parámetros de excepción de límite.
Obligatorio limitException.limitName String Nombre del límite en SVBO.
Obligatorio limitException.startDate DateTime Fecha de inicio de la excepción.
Obligatorio limitException.endDate DateTime Fecha de finalización de la excepción.
Opcional limitException.value Long Valor del límite
Opcional limitException.cycleType Integer Tipo de ciclo
Opcional limitException.cycleLength Integer Duración del ciclo
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/addCardLimitException \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003
  },
  "limitException" : {
    "limitName" : "LMTTC01",
    "startDate" : "2015-04-20",
    "endDate" : "2015-04-30",
    "value" : 10000000,
    "cycleType" : 4,
    "cycleLength" : 1
  }
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de la operación en SmartVista.

Ejemplo de respuesta

{
  "responseCode" : 00
}

changeCardLimit

Cambiar los valores de límites para una tarjeta específica. El conjunto de límites está definido para el producto de tarjeta y predefinido en el entorno 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 este entorno de pruebas, revise 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 entorno de pruebas.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para entorno de pruebas.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para entorno de pruebas.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para entorno de pruebas.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para entorno de pruebas.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para entorno de pruebas.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para entorno de pruebas.
Opcional cardIdentification.cardholderId String Identificador del propietario de la tarjeta. No para entorno de pruebas. No para entorno de pruebas.
Opcional cardIdentification.customerId String ID del cliente. No para entorno de pruebas.
Opcional cardIdentification.customerNumber String Número del cliente en SVB02. No para entorno de pruebas.
Opcional cardIdentification.barCode String Código de barras. No para entorno de pruebas.
Opcional cardIdentification.cvv2 String CVV2. No para entorno de pruebas.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para entorno 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 limit Object Parámetros del límite.
Obligatorio limit.name String Denominación del límite. Está predefinido en la plataforma de pruebas. Puede obtener la lista de límites mediante getCardLimits() y obtener los nombres de los límites de su respuesta.
Opcional limit.startDate DateTime Fecha de inicio del límite. No para plataforma de pruebas.
Opcional limit.endDate DateTime Fecha de finalización del límite. No para plataforma de pruebas.
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 pruebas.
Opcional limit.currentValue Long Valor actual del límite. 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/changeCardLimit \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardId" : 100000000873
  },
  "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": 620394,
        "localTransactionDate": "2021-09-23T14:35:24"
    }

changeCardLimitException

Cambiar excepción de límite de tarjeta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. cardNumber o cardId son obligatorios.
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 tarjeta.
Opcional cardIdentification.plasticNumber Integer Número de plástico
Opcional cardIdentification.phoneNumber String Teléfono del cliente.
Opcional cardIdentification.cardholderId String Identificador del titular de tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de cliente en SVB02.
Opcional cardIdentification.barCode String Código de barras.
Opcional cardIdentification.cvv2 String CVV2.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en sistema externo del banco.
Opcional cardIdentification.token String Token.
Opcional cardIdentification.cardTypeCode String Código de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de institución.
Obligatorio limitException Object Parámetros de excepción de límite.
Obligatorio limitException.limitName String Nombre del límite en SVBO.
Obligatorio limitException.startDate DateTime Fecha de inicio de excepción.
Obligatorio limitException.endDate DateTime Fecha de finalización de excepción.
Opcional limitException.value Long Valor del límite
Opcional limitException.cycleType Integer Tipo de ciclo
Opcional limitException.cycleLength Integer Duración del ciclo
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 respuesta

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeCardLimitException \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003,
    "expDate" : 202512
  },
  "limitException" : {
    "limitName" : "LMTTC01",
    "startDate" : "2015-04-20",
    "endDate" : "2015-04-30",
    "value" : 10000000
  }
}'

Parámetros de respuesta

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

Ejemplo de respuesta

{
  "responseCode" : 00
}

deleteCardLimitException

Eliminar excepción del límite de tarjeta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Posibles variantes de identificación: (cardNumber) o (cardId) o (barCode) 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 tarjeta.
Opcional cardIdentification.plasticNumber Integer Número de plástico
Opcional cardIdentification.phoneNumber String Teléfono del cliente.
Opcional cardIdentification.cardholderId String Identificador del titular 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 de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de la institución.
Obligatorio limitException Object Parámetros de excepción de límite.
Obligatorio limitException.limitName String Nombre del límite en SVBO.
Obligatorio limitException.startDate DateTime Fecha de inicio de la excepción.
Obligatorio limitException.endDate DateTime Fecha de finalización de la excepción.
Opcional limitException.value Long Valor del límite
Opcional limitException.cycleType Integer Tipo de ciclo
Opcional limitException.cycleLength Integer Duración del ciclo
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/deleteCardLimitException \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003,
    "expDate" : 202512
  },
  "limitException" : {
    "limitName" : "LMTTC01",
    "startDate" : "2015-02-15",
    "endDate" : "2015-02-20"
  }
}'

Parámetros de respuesta

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

Ejemplo de respuesta

{
  "responseCode" : 00
}

generatePin

Generar código PIN.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. (encryptedCardNumber) o (cardNumberMask y phoneNumber) o identificador de tarjeta externa.
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 tarjeta.
Opcional cardIdentification.plasticNumber Integer Número de plástico
Opcional cardIdentification.phoneNumber String Teléfono del cliente.
Opcional cardIdentification.cardholderId String Identificador del titular de 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 de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de institución.
Opcional pinDeliveryMethod String Método de entrega del código PIN. Valores posibles: [SMS — en SMS, WS — en respuesta del servicio web, HALF_AND_HALF — primeros dos dígitos en respuesta WS, segundos dos dígitos en SMS, WS_ENCRYPTED — en respuesta del servicio web usando cifrado público RSA en modo ECB, NONE — no entregar PIN]
Opcional encryptedPinValue ByteArray Código PIN cifrado.
Opcional pinValue String PIN.
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.
Opcional parameters Object Lista de parámetros arbitrarios.
Opcional parameters.name String
Opcional parameters.value String
Opcional checkCardOnly Boolean Bandera que muestra si solo se necesita verificar la existencia y estado de la tarjeta, y no generar y cambiar PIN.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/generatePin \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumberMask" : "400001%0003",
    "phoneNumber" : 79021111111
  },
  "pinDeliveryMethod" : "WS"
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación en SmartVista (00 – éxito).
Opcional pinValue String PIN.
Opcional encryptedPinValue ByteArray Código PIN cifrado.

Ejemplo de respuesta

{
  "encryptedPinValue" : [ "encryptedPinValue", "encryptedPinValue" ],
  "pinValue" : 1111,
  "responseCode" : 00
}

changePin

Cambiar código PIN.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. cardNumber o cardId son obligatorios.
Obligatorio cardIdentification.encryptedCardNumber ByteArray Número de tarjeta encriptado.
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 tarjeta.
Opcional cardIdentification.plasticNumber Integer Número de plástico
Opcional cardIdentification.phoneNumber String Teléfono del cliente.
Opcional cardIdentification.cardholderId String Identificador del titular de la tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de 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 de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de institución.
Obligatorio newPinData String Nuevo código PIN.
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/changePin \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003
  },
  "newPinData" : "059B2AA97DF72557"
}'

Parámetros de respuesta

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

Ejemplo de respuesta

{
  "responseCode" : 00
}

resetPinCounter

Reinicio del contador de intentos incorrectos de introducción del código PIN.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. cardNumber o cardId son obligatorios.
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 titular de la tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de 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 de 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/resetPinCounter \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
    "cardNumber": 4142100007657181
  },
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación en SmartVisa.

Ejemplo de respuesta

{
    "responseCode": "00",
    "processingCode": "890000",
    "systemTraceAuditNumber": 452018,
    "localTransactionDate": "2021-11-11T12:28:19",
    "rrn": "000000224348",
    "authorizationIdResponse": "224348"
}

generateCVC2

Generar CVC2.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Posibles variantes de identificación: (cardNumber) o (cardId) o (barCode) 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. Debe ser transmitido, si deliveryMethod — es SMS, y phoneNumber NO se utiliza como parámetro de identificación.
Opcional cardIdentification.cardholderId String Identificador del propietario 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 deliveryMethod String Método de entrega del código. Valores posibles: [SMS, WS, HALF_AND_HALF, WS_ENCRYPTED, NONE]
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/generateCVC2 \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4149070067595816
  }
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación SVFE.
Opcional cardNumberMask String Número de tarjeta enmascarado.
Opcional cardNumber String Número de tarjeta.
Opcional cvc2 String Valor CVV2 generado.

Ejemplo de respuesta

{
    "responseCode": "00",
    "cardNumberMask": "****07006759****",
    "cvc2": "692"
}

setGeoRestrictions

Establecer restricciones geográficas para la tarjeta. Se devuelven solo aquellas reglas que se pueden modificar.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de la tarjeta. Posibles variantes de identificación: (cardNumber) o (cardId).
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 la 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 propietario 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 la 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.
Obligatorio restrictions Object Lista de restricciones.
Obligatorio restrictions.countryId Integer Identificador del país.
Obligatorio restrictions.regionId Integer Identificador de la región.
Obligatorio restrictions.transactionGroupId Integer Identificador del grupo de transacciones.
Obligatorio restrictions.status String Estado de la restricción. Valores posibles: [ENABLED, DISABLED]
Opcional restrictions.startDate DateTime Fecha de entrada en vigor de las restricciones.
Opcional restrictions.endDate DateTime Fecha de levantamiento de las restricciones.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setGeoRestrictions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
    "cardNumber" : 4000010000000001
  },
  "restrictions": {
    "restriction": [
      {
        "regionId": 5,
        "transactionGroupId": 999,
        "status": "DISABLED",
        "startDate": "2021-05-01T00:00:00",
        "endDate": "2021-05-09T23:59:59"
      },
      {
        "regionId" : 11,
        "transactionGroupId" : 3,
        "status" : "DISABLED"
      }
    ]
  } 
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de la operación en SmartVista.

Ejemplo de respuesta

{
  "responseCode" : 00
}

getGeoRestrictions

Obtener lista de restricciones geográficas para la tarjeta. Se devuelven solo reglas que imponen restricciones para la tarjeta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Posibles variantes de identificación: cardNumber o cardId.
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 tarjeta.
Opcional cardIdentification.plasticNumber Integer Número de plástico
Opcional cardIdentification.phoneNumber String Teléfono del cliente.
Opcional cardIdentification.cardholderId String Identificador del titular de tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de 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 de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de institución.

Ejemplo de solicitud

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

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio regions Object Lista de regiones.
Obligatorio regions.id Integer Identificador de región.
Obligatorio regions.description String Descripción.
Opcional countries Object Lista de países.
Obligatorio countries.id Integer Identificador de país.
Obligatorio countries.description String Descripción.
Obligatorio transactionGroups Object Lista de grupos de transacciones.
Obligatorio transactionGroups.id Integer Identificador de grupo
Obligatorio transactionGroups.description String Descripción.
Obligatorio restrictions Object Lista de restricciones.
Obligatorio restrictions.countryId Integer Identificador de país.
Obligatorio restrictions.regionId Integer Identificador de región.
Obligatorio restrictions.transactionGroupId Integer Identificador de grupo de transacciones.
Obligatorio restrictions.status String Estado de restricción. Valores posibles: [ENABLED, DISABLED]
Opcional restrictions.startDate DateTime Fecha de entrada en vigor de restricciones.
Opcional restrictions.endDate DateTime Fecha de levantamiento de restricciones.

Ejemplo de respuesta

{
        "regions": {
          "region": [
            {
              "id": 1,
              "description": "NETHERLANDS"
            },
            {
              "id": 2,
              "description": "EUROPEAN UNION"
            }
          ]
        },
        "countries": {
          "country": [
            {
              "id": 978,
              "description": "NETHERLANDS"
            },
            {
              "id": 840,
              "description": "UNITED STATES"
            }
          ]
        },
        "transactionGroups": {
          "transactionGroup": [
            {
              "id": 1,
              "description": "Purchase Or Payments"
            },
            {
              "id": 2,
              "description": "Cash Withdrawal"
            }
          ]
        },
        "restrictions": {
          "restriction": [
            {
              "regionId": 1,
              "transactionGroupId": 1,
              "status": "DISABLED"
            },
            {
              "countryId": 640,
              "transactionGroupId": 1,
              "status": "DISABLED",
              "startDate": "2021-05-01T00:00:00+03:00",
              "endDate": "2021-05-09T23:59:59+03:00"
            }
          ]
        }
    }

cardStatusInquiry

Realizar una consulta sobre el estado de la tarjeta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de la tarjeta. Posibles variantes de identificación: (cardNumber) o (cardId) o (barCode) o (cardNumberMask y cardholderId) o (cardNumberMask y phoneNumber). Parámetros de identificación de la tarjeta. Posibles variantes de identificación: (cardNumber) o (cardId) o (barCode) 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 la 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 la 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/cardStatusInquiry \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003
  } 
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio hotCardStatus Integer Estado de la tarjeta

Ejemplo de respuesta

{
  "hotCardStatus" : 0
}

changeCardStatus

Cambiar el estado de la tarjeta. En el entorno de prueba puedes cambiar el estado de la tarjeta solo para tarjetas bloqueadas (código de estado de tarjeta — '6'). Puedes obtener el código de estado de tarjeta mediante la consulta getCardData. Para cambiar el estado de tarjeta de «0» a «6» (bloqueada), utiliza la consulta blockCard.

Parámetros de la consulta

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Para obtener información más detallada sobre otras variantes de identificación de tarjetas que se pueden utilizar en el proyecto real, y no en este entorno de prueba, familiarízate con la descripción de createVirtualCard.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Lo obtendrás en la respuesta CreateVirtualCard().
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para entorno de prueba.
Opcional cardIdentification.cardNumberMask String Número de tarjeta enmascarado.
Opcional cardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para entorno de prueba.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para entorno de prueba.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para entorno de prueba.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para entorno de prueba.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. No para entorno 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 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 de 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.
Obligatorio hotCardStatus Integer Estado de la tarjeta. Para el entorno de prueba debe ser «0», para activar la tarjeta bloqueada.
Opcional cardAcceptorParameters Object Parámetros del terminal. No para entorno de prueba.
Opcional cardAcceptorParameters.terminalIdentification String Identificador del terminal. No para entorno de prueba.
Opcional cardAcceptorParameters.merchantIdentification String Identificador del comerciante. No para entorno de prueba.
Opcional cardAcceptorParameters.merchantType String Código de categoría del comerciante. No para entorno de prueba.
Opcional cardAcceptorParameters.nameAndLocation String Dirección de ubicación del terminal. No para entorno de prueba.

Ejemplo de consulta

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

Parámetros de respuesta

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

Ejemplo de respuesta

{
        "responseCode": "00",
        "processingCode": "950000",
        "systemTraceAuditNumber": 620398,
        "localTransactionDate": "2021-09-23T14:38:26"
    }

createVirtualCard

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

Parámetros de la solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación básicos de la tarjeta. Existe una gran cantidad de atributos de tarjeta y sus combinaciones para la identificación de 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 variantes se presentan como ejemplo.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Precisamente este método utilizaremos en todas las solicitudes del entorno de pruebas para la identificación de la tarjeta. Para esta solicitud siempre utilice 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 utilice el número de tarjeta que obtendrá después de crear la tarjeta con esta solicitud.
Opcional cardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. Generalmente se utiliza como uno de los posibles parámetros de identificación de la tarjeta, pero no en este proyecto de entorno 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 es el que se utiliza en el entorno 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 el que se utiliza en el entorno de pruebas. No lo utilice aquí.
Opcional cardIdentification.cardId String Identificador de tarjeta. No para el entorno 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 el entorno de pruebas.
Opcional cardIdentification.plasticNumber Integer Número de plástico. No para el entorno de pruebas.
Opcional cardIdentification.phoneNumber String Teléfono del cliente. A menudo se utiliza con algunos otros atributos de la tarjeta. No para el entorno de pruebas.
Opcional cardIdentification.cardholderId String Identificador del titular de la tarjeta. No para el entorno de pruebas.
Opcional cardIdentification.customerId String ID del cliente. No para el entorno de pruebas.
Opcional cardIdentification.customerNumber String Número del cliente en SVB02. No para el entorno de pruebas.
Opcional cardIdentification.barCode String Código de barras. No para el entorno de pruebas.
Opcional cardIdentification.cvv2 String CVV2. No para el entorno de pruebas.
Opcional cardIdentification.externalCardId String Identificador de tarjeta en el sistema externo del banco. No para el entorno de pruebas.
Opcional cardIdentification.token String Token. No para el entorno de pruebas.
Opcional cardIdentification.cardTypeCode String Código de tipo de tarjeta. No para el entorno de pruebas.
Opcional cardIdentification.email String Correo electrónico. No para el entorno de pruebas.
Opcional cardIdentification.institutionId String Identificador interno de la institución. No para el entorno de pruebas.
Obligatorio virtualCardIdentification Object Parámetros de la tarjeta virtual. expDate y productType son obligatorios.
Obligatorio virtualCardIdentification.expDate String Fecha de vencimiento de la tarjeta. Cualquier fecha futura en formato «AAAANN».
Obligatorio virtualCardIdentification.productType String Tipo de producto. Identifica el producto de tarjeta para la tarjeta. En el entorno de pruebas siempre debe ser el número constante «5C», ya que configuramos un producto para usted.
Opcional virtualCardIdentification.cardNumber String Número de tarjeta. No para entorno de pruebas.
Opcional virtualCardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para entorno de pruebas.
Opcional virtualCardIdentification.cardId String Identificador de tarjeta. No para entorno de pruebas.
Opcional virtualCardIdentification.barCode String Código de barras. No para entorno de pruebas.
Opcional virtualCardIdentification.cvv2 String CVV2/CVC2. No para entorno de pruebas.
Obligatorio amount Integer Límite por defecto para tarjetas virtuales recién creadas. En el entorno de pruebas debe ser el número constante «0».
Obligatorio currency Integer Moneda. Código numérico de moneda ISO 4217. Use «978» para el entorno de pruebas.
Obligatorio accountNumber String Número de cuenta para identificación primaria de la tarjeta. Use 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 se transmiten en la respuesta del servicio web. HALF_AND_HALF — algunos parámetros se entregan en la respuesta del servicio web, algunos en SMS. Para HALF_AND_HALF la respuesta del servicio web contendrá el número de tarjeta enmascarado (por ejemplo, //// 1111 1111 ////), y el SMS contendrá CVV2 y la otra mitad del número de tarjeta enmascarado (1111 //// //// 1111). Use el valor «WS» para el entorno de pruebas.
Opcional personalData Object Datos personales del titular de la tarjeta. No para entorno de pruebas.
Opcional personalData.firstName String No para entorno de pruebas.
Opcional personalData.lastName String No para entorno de pruebas.
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/createVirtualCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4140050000000000,
    "phoneNumber" : "319220977337",
    "customerId" : "3006P_0000002"
  },
  "virtualCardIdentification" : {
    "expDate" : 202512,
    "productType" : "5C"
  },
  "amount" : 0,
  "currency" : 978,
  "accountNumber" : "3006978700000000108",
  "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í recibirá el número de la tarjeta creada en el entorno de pruebas. Guárdelo para todas las operaciones posteriores con la tarjeta creada.
Opcional virtualCardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para entorno de pruebas.
Opcional virtualCardIdentification.cardId String Identificador de tarjeta. No para entorno de pruebas.
Obligatorio virtualCardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para entorno de pruebas.
Obligatorio virtualCardIdentification.productType String Tipo de producto. No para entorno de pruebas.
Opcional virtualCardIdentification.barCode String Código de barras. No para entorno de pruebas.
Opcional virtualCardIdentification.cvv2 String CVV2/CVC2. No para entorno de pruebas.

Ejemplo de respuesta

{
        "virtualCardIdentification": {
            "cardNumber": "4140050021658271",
            "cardId": "100000000873",
            "expDate": "202512",
            "productType": "5C"
        }
    }

getCardData

Devuelve datos sobre las tarjetas que has creado. Puede utilizarse después de crear una tarjeta con 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 variantes de identificación de tarjetas que se pueden utilizar en un proyecto real, no en esta plataforma de pruebas, familiarízate con la descripción de createVirtualCard.
Obligatorio cardIdentification.cardNumber String Número de tarjeta. Lo recibirás en la respuesta CreateVirtualCard().
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 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 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.
Opcional rsaPublicKey ByteArray Clave pública para cifrar el número de tarjeta en el mensaje de respuesta. No para plataforma de pruebas.

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" : 100000000873
  }
}'

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 plataforma de pruebas.
Opcional cardData.cardNumberMask String Número de tarjeta enmascarado. No para plataforma de pruebas.
Obligatorio cardData.cardNumber String Número de tarjeta.
Opcional cardData.expiryDate String Fecha de vencimiento de la tarjeta. En formato AAAANM.
Opcional cardData.formattedExpiryDate String Fecha de vencimiento de la tarjeta formateada por el usuario. No para plataforma de pruebas.
Opcional cardData.cardId String Identificador de tarjeta. Es el identificador interno de tarjeta SmartVista que se puede utilizar 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 embozadas, no para tarjetas virtuales en la plataforma de pruebas.
Opcional cardData.customerId String ID del cliente.
Opcional cardData.customerName String Nombre del cliente. No para el entorno de pruebas.
Opcional cardData.personId String Identificador del propietario de la tarjeta. No para el entorno de pruebas.
Opcional cardData.pinDenialCounter Integer Cantidad de intentos de introducción incorrecta del código PIN
Opcional cardData.plasticNumber Integer Número del plástico. No para el entorno de pruebas.
Opcional cardData.hotCardStatusDescription String Descripción del estado de la tarjeta.
Opcional cardData.cardIsPrimary Boolean Indicador de tarjeta principal. Siempre false para el entorno de pruebas.
Opcional cardData.cardBindToCustomer Boolean Indicador de vinculación de tarjeta al cliente. Siempre false para el entorno de pruebas.
Opcional cardData.customerIsCardholder Boolean Indicador si el cliente es portador de tarjeta. Siempre false para el entorno de pruebas.
Opcional cardData.cardContractId String Identificador del contrato de tarjeta. No para el entorno de pruebas.
Opcional cardData.cardPlasticId String Identificador del tipo de plástico. No para el entorno de pruebas.
Opcional cardData.cardPlasticDescription String Descripción del tipo de plástico. No para el entorno de pruebas.
Opcional cardData.memorableWord String Palabra secreta. No para el entorno de pruebas.
Opcional cardData.email String Correo electrónico. No para el entorno de pruebas.
Opcional cardData.lastWrongPinDate DateTime Fecha/hora del último intento de introducción de código PIN incorrecto. No para el entorno de pruebas.
Opcional cardData.cardCreationDate DateTime Fecha de emisión de la tarjeta. No para el entorno de pruebas.
Opcional cardData.cardBlockingDate DateTime Fecha/hora de bloqueo de la tarjeta. No para el entorno de pruebas.
Opcional cardData.directDebitAccount String Cuenta utilizada para pagos automáticos. No para el entorno de pruebas.
Opcional cardData.cardholderMobilePhoneNumber String Número de teléfono del propietario de la tarjeta. No para el entorno de pruebas.
Opcional cardData.accounts Object Lista de cuentas para la tarjeta. En el entorno de pruebas 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 el entorno de pruebas.

Ejemplo de respuesta

{
        "cardData": {
            "cardNumber": "4140050021658271",
            "expiryDate": "202512",
            "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": []
        }
    }

getCardFees

Obtener comisiones de la tarjeta.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardNumber String Número de tarjeta.

Ejemplo de solicitud

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

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio fees Object Lista de comisiones.
Obligatorio fees.feeType String Tipo de comisión.
Obligatorio fees.feeValue number Valor de comisión.

Ejemplo de respuesta

{
  "fees" : [ {
    "feeValue" : 1.46581298050294517310021547018550336360931396484375,
    "feeType" : "feeType"
  }, {
    "feeValue" : 1.46581298050294517310021547018550336360931396484375,
    "feeType" : "feeType"
  } ]
}

getCardListByOwner

Obtener lista de tarjetas, utilizando el identificador del cliente y/o el identificador del propietario de la tarjeta.

Parámetros de la solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de la tarjeta. (customerId), (phoneNumber) o (email) son obligatorios.
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 la tarjeta.
Opcional cardIdentification.expDate String Fecha de vencimiento de la tarjeta.
Opcional cardIdentification.plasticNumber Integer Número del plástico
Opcional cardIdentification.phoneNumber String Teléfono del cliente.
Opcional cardIdentification.cardholderId String Identificador del propietario 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 la 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.

Ejemplo de solicitud

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

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Opcional cards Object
Opcional cards.encryptedCardNumber ByteArray Número de tarjeta cifrado.
Obligatorio cards.cardNumberMask String Número de tarjeta enmascarado.
Obligatorio cards.cardNumber String Número de tarjeta.
Opcional cards.expiryDate String Fecha de vencimiento de la tarjeta.
Opcional cards.formattedExpiryDate String Fecha de vencimiento de la tarjeta, formateada por el usuario.
Opcional cards.cardId String Identificador de la tarjeta.
Opcional cards.hotCardStatus Integer Estado de la tarjeta
Opcional cards.cardTypeName String Tipo de tarjeta.
Opcional cards.embossedName String Nombre en el plástico.
Opcional cards.customerId String ID del cliente.
Opcional cards.customerName String Nombre del cliente.
Opcional cards.personId String Identificador del propietario de la tarjeta.
Opcional cards.pinDenialCounter Integer Número de intentos de introducción incorrecta del código PIN
Opcional cards.plasticNumber Integer Número del plástico
Opcional cards.hotCardStatusDescription String Descripción del estado de la tarjeta.
Opcional cards.cardIsPrimary Boolean Indicador de tarjeta principal.
Opcional cards.cardBindToCustomer Boolean Indicador de vinculación de tarjeta al cliente.
Opcional cards.customerIsCardholder Boolean Indicador si el cliente es portador de la tarjeta.
Opcional cards.cardContractId String Identificador del contrato de tarjeta.
Opcional cards.cardPlasticId String Identificador del tipo de plástico.
Opcional cards.cardPlasticDescription String Descripción del tipo de plástico.
Opcional cards.memorableWord String Palabra secreta.
Opcional cards.email String Correo electrónico.
Opcional cards.lastWrongPinDate DateTime Fecha/hora del último intento de introducir PIN incorrecto.
Opcional cards.cardCreationDate DateTime Fecha de emisión de la tarjeta.
Opcional cards.cardBlockingDate DateTime Fecha/hora de bloqueo de la tarjeta.
Opcional cards.directDebitAccount String Cuenta utilizada para autopagos.
Opcional cards.cardholderMobilePhoneNumber String Número de teléfono del titular de la tarjeta.
Opcional cards.accounts Object Lista de cuentas para la tarjeta.
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.

Ejemplo de respuesta

{
        "cards": {
          "card": [
            {
              "cardNumberMask": "400001******0004",
              "expiryDate": 202512,
              "cardId": 99,
              "hotCardStatus": 0,
              "cardTypeName": "EC/MC Virtual",
              "embossedName": "TEST FOR_BO_TRANS1",
              "customerId": 10022830,
              "personId": 40000004,
              "pinDenialCounter": 0,
              "plasticNumber": 0,
              "hotCardStatusDescription": "VALID CARD",
              "cardIsPrimary": true,
              "cardBindToCustomer": true,
              "customerIsCardholder": false
            },
            {
              "cardNumberMask": "400001******0008",
              "expiryDate": 202512,
              "hotCardStatus": 8,
              "cardTypeName": "EC/MC Virtual",
              "embossedName": "TEST FOR_BO_TRANS1",
              "customerId": 10022830,
              "personId": 40000008,
              "pinDenialCounter": 0,
              "plasticNumber": 0,
              "hotCardStatusDescription": "CALL SECURITY, CAPTURE",
              "cardIsPrimary": true,
              "cardBindToCustomer": true,
              "customerIsCardholder": false
            },
            {
              "cardNumberMask": "400001******0017",
              "expiryDate": 202512,
              "hotCardStatus": 0,
              "cardTypeName": "EC/MC Virtual",
              "embossedName": "TEST FOR_BO_TRANS1",
              "customerId": 10022830,
              "personId": 40000017,
              "pinDenialCounter": 0,
              "plasticNumber": 0,
              "hotCardStatusDescription": "VALID CARD",
              "cardIsPrimary": true,
              "cardBindToCustomer": true,
              "customerIsCardholder": false
            }
          ]
        }
    }

getTransactionSchemeAdditions

Obtenga reglas adicionales del esquema de transacciones.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Posibles variantes de identificación: cardId.
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 tarjeta.
Opcional cardIdentification.plasticNumber Integer Número de plástico
Opcional cardIdentification.phoneNumber String Teléfono del cliente.
Opcional cardIdentification.cardholderId String Identificador del titular de la tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de 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 de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de la institución.
Opcional templateSchemeId Long Identificador del esquema utilizado como plantilla

Request example

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

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Opcional transactionSchemeAdditions Object Lista de reglas adicionales del esquema de transacciones.
Obligatorio transactionSchemeAdditions.id Long Identificador de la regla
Obligatorio transactionSchemeAdditions.domain String Identificador de la institución emisora.
Obligatorio transactionSchemeAdditions.countryGroup Integer Identificador del grupo de países
Obligatorio transactionSchemeAdditions.mccGroup Integer Identificador del grupo MCC
Obligatorio transactionSchemeAdditions.transactionType Integer Tipo de transacción: formato
Obligatorio transactionSchemeAdditions.posDataCode String Valor del código de datos POS.

Ejemplo de respuesta

{
        "transactionSchemeAdditions": {
          "addition": [
            {
              "id": 141,
              "domain": 9999,
              "countryGroup": 9987,
              "mccGroup": -1,
              "transactionType": 781,
              "posDataCode": "************"
            },
            {
              "id": 142,
              "domain": 9999,
              "countryGroup": 9987,
              "mccGroup": -1,
              "transactionType": 781,
              "posDataCode": "************"
            },
            {
              "id": 143,
              "domain": 9999,
              "countryGroup": 9987,
              "mccGroup": -1,
              "transactionType": 781,
              "posDataCode": "************"
            }
          ]
        }
    }

setTransactionSchemeAdditions

Establezca la lista de reglas para el esquema de transacciones adicional.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio cardIdentification Object Parámetros de identificación de tarjeta. Posibles variantes de identificación: cardId.
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 titular de la tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de 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 de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de la institución.
Obligatorio transactionSchemeAdditions Object Lista de reglas adicionales del esquema de transacciones.
Obligatorio transactionSchemeAdditions.id Long Identificador de la regla
Obligatorio transactionSchemeAdditions.domain String Identificador de la institución emisora.
Obligatorio transactionSchemeAdditions.countryGroup Integer Identificador del grupo de países
Obligatorio transactionSchemeAdditions.mccGroup Integer Identificador del grupo MCC
Obligatorio transactionSchemeAdditions.transactionType Integer Tipo de transacción: formato
Obligatorio transactionSchemeAdditions.posDataCode String Valor del código de datos POS.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/setTransactionSchemeAdditions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
    "cardId": 1000
  },
  "transactionSchemeAdditions": {
    "addition": [
      {
        "id": 141,
        "domain": 9999,
        "countryGroup": 9987,
        "mccGroup": -1,
        "transactionType": 793,
        "posDataCode": "************"
      },
      {
        "id": 142,
        "domain": 9999,
        "countryGroup": 9987,
        "mccGroup": -1,
        "transactionType": 781,
        "posDataCode": "************"
      },
      {
        "id": 143,
        "domain": 9999,
        "countryGroup": 9987,
        "mccGroup": -1,
        "transactionType": 781,
        "posDataCode": "************"
      }
    ]
  }
}'

Parámetros de respuesta

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

Ejemplo de respuesta

{
  "responseCode" : 00
}

topUp

Recargar tarjeta o cuenta.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/topUp \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "pan": "string",
  "expiryMonth": "string",
  "expiryYear": "string",
  "cvc": "string",
  "cardholderName": "string"
}'

Ejemplo de respuesta

{
  "preAuthorization": false,
  "cardIdentification": {
    "encryptedCardNumber": [
      "string"
    ],
    "cardNumberMask": "string",
    "cardLastDigitMask": "string",
    "cardNumber": "string",
    "cardId": "string",
    "expDate": "string",
    "plasticNumber": 0,
    "phoneNumber": "string",
    "cardholderId": "string",
    "customerId": "string",
    "customerNumber": "string",
    "barCode": "string",
    "cvv2": "string",
    "externalCardId": "string",
    "token": "string",
    "cardTypeCode": "string",
    "email": "string",
    "institutionId": "string"
  },
  "amount": 0,
  "currency": 0,
  "accountType": "ACCOUNT_TYPE_DEFAULT",
  "accountIndex": 0,
  "accountNumber": "string",
  "account2Type": "ACCOUNT_TYPE_DEFAULT",
  "account2Index": 0,
  "account2Number": "string",
  "tds": {
    "xid": "string",
    "cavv": "string",
    "ucaf": "string",
    "authenticationIndicator": "NOT_PERFORMED"
  },
  "senderReceiverInfo": {
    "senderName": "string",
    "senderAddress": "string",
    "senderCity": "string",
    "senderCountry": "string",
    "senderPostalCode": "string",
    "receiverName": "string"
  },
  "pointOfServiceDataCode": "string",
  "pointOfServiceConditionCode": "string",
  "fee": {
    "feeAmount": 0,
    "feeCurrency": 0
  },
  "cardAcceptorParameters": {
    "terminalIdentification": "string",
    "merchantIdentification": "string",
    "merchantType": "string",
    "nameAndLocation": "string"
  },
  "securityLevelIndicator": "string",
  "fundingSource": 0,
  "externalTransactionId": "string",
  "originalTransactionParameters": {
    "systemTraceAuditNumber": 0,
    "localTransactionDate": "2021-10-29T11:57:14.481Z",
    "rrn": "string"
  },
  "posCardholderPresence": 0,
  "uniqueReferenceNumber": "string",
  "otp": "string",
  "serviceId": "string",
  "paymentSpecificData": {
    "f57": "string",
    "f58": "string",
    "f59": "string",
    "f60": "string",
    "f61": "string",
    "f62": "string",
    "f63": "string",
    "f64": "string",
    "f65": "string",
    "f66": "string",
    "f67": "string",
    "f68": "string",
    "f69": "string",
    "f70": "string",
    "f71": "string",
    "f72": "string",
    "f73": "string"
  },
  "transactionComment": "string",
  "additionalAmounts": [
    {
      "accountType": "ACCOUNT_TYPE_DEFAULT",
      "amountType": "string",
      "currency": 0,
      "amount": 0
    }
  ]
}

Transacciones

creditCard

Depósito de fondos en 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 la tarjeta. Para obtener información más detallada sobre otras variantes de identificación de tarjetas que se pueden usar en un proyecto real, y no en esta plataforma de pruebas, revise 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 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 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 portador 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 Importe.
Obligatorio currency Integer Moneda. Código numérico de moneda ISO 4217. Use «978» para la plataforma de pruebas.
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" : 4140050021658271,
    "expDate" : 202512
  },
  "amount" : 10000,
  "currency" : 978,
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de 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 operación.
Opcional otp String Contraseña de un solo uso. No para plataforma de pruebas.
Opcional acquirerFeeAmount String Importe de comisión del adquirente. No para plataforma de pruebas.
Opcional issuerFeeAmount String Importe de 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": 620399,
        "localTransactionDate": "2021-09-23T14:39:15",
        "rrn": "000000154798",
        "authorizationIdResponse": "154798",
        "paymentSpecificData": {}
    }

debitCard

Retirar fondos de 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. Posibles variantes de identificación: (cardNumber) o (cardId) o (barCode) 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 titular de la tarjeta.
Opcional cardIdentification.customerId String ID del cliente.
Opcional cardIdentification.customerNumber String Número de 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 de tipo de tarjeta.
Opcional cardIdentification.email String Correo electrónico.
Opcional cardIdentification.institutionId String Identificador interno de la institución.
Obligatorio amount Integer Importe.
Obligatorio currency Integer Moneda
Opcional fee Object Parámetros de comisión del adquirente.
Obligatorio fee.feeType String Tipo de comisión.
Obligatorio fee.feeValue number Valor de la comisió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.
Opcional tds Object Parámetros de transacción 3DS.
Opcional tds.xid String Identificador de transacción VISA 3DS.
Opcional tds.cavv String Valor de verificación de autenticación VISA.
Opcional tds.ucaf String Campo de autenticación universal Mastercard.
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]

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/debitCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003
  },
  "amount" : 100000,
  "currency" : 978,
  "fee" : {
    "feeAmount" : 1000
  }
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio responseCode String Código de finalización de operación SVFE.
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.
Opcional acquirerFeeAmount String Importe de la comisión del adquiriente.
Opcional issuerFeeAmount String Importe de la comisión del emisor.
Opcional paymentSpecificData Object Datos específicos del pago.
Opcional paymentSpecificData.f57 String Campo específico 57.
Opcional paymentSpecificData.f58 String Campo específico 58.
Opcional paymentSpecificData.f59 String Campo específico 59.
Opcional paymentSpecificData.f60 String Campo específico 60.
Opcional paymentSpecificData.f61 String Campo específico 61.
Opcional paymentSpecificData.f62 String Campo específico 62.
Opcional paymentSpecificData.f63 String Campo específico 63.
Opcional paymentSpecificData.f64 String Campo específico 64.
Opcional paymentSpecificData.f65 String Campo específico 65.
Opcional paymentSpecificData.f66 String Campo específico 66.
Opcional paymentSpecificData.f67 String Campo específico 67.
Opcional paymentSpecificData.f68 String Campo específico 68.
Opcional paymentSpecificData.f69 String Campo específico 69.
Opcional paymentSpecificData.f70 String Campo específico 70.
Opcional paymentSpecificData.f71 String Campo específico 71.
Opcional paymentSpecificData.f72 String Campo específico 72.
Opcional paymentSpecificData.f73 String Campo específico 73.

Ejemplo de respuesta

{
  "systemTraceAuditNumber" : 51106,
  "paymentSpecificData" : {
    "f61" : "f61",
    "f72" : "f72",
    "f60" : "f60",
    "f71" : "f71",
    "f63" : "f63",
    "f62" : "f62",
    "f73" : "f73",
    "f65" : "f65",
    "f64" : "f64",
    "f67" : "f67",
    "f66" : "f66",
    "f58" : "f58",
    "f69" : "f69",
    "f57" : "f57",
    "f68" : "f68",
    "f59" : "f59",
    "f70" : "f70"
  },
  "acquirerFeeAmount" : "acquirerFeeAmount",
  "processingCode" : 170000,
  "issuerFeeAmount" : "issuerFeeAmount",
  "localTransactionDate" : "2000-01-23T04:56:07.000+00:00",
  "otp" : "otp",
  "authorizationIdResponse" : "123ABC",
  "responseCode" : 00,
  "rrn" : 987654321987,
  "uniqueReferenceNumber" : "uniqueReferenceNumber"
}

p2pTransfer

Transferencia p2p de tarjeta a tarjeta.

Parámetros de la 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 de origen. 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, consulte la descripción de createVirtualCard.
Obligatorio sourceCardIdentification.cardNumber String Número de la tarjeta. Lo obtendrá en la respuesta CreateVirtualCard().
Obligatorio sourceCardIdentification.expDate String Fecha de vencimiento de la tarjeta. Formato AAAAMM.
Opcional sourceCardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para la plataforma de prueba.
Opcional sourceCardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para la plataforma de prueba.
Opcional sourceCardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para la plataforma de prueba.
Opcional sourceCardIdentification.cardId String Identificador de la tarjeta. No para la plataforma de prueba.
Opcional sourceCardIdentification.plasticNumber Integer Número del plástico. No para la plataforma de prueba.
Opcional sourceCardIdentification.phoneNumber String Teléfono del cliente. No para la plataforma de prueba.
Opcional sourceCardIdentification.cardholderId String Identificador del propietario de la tarjeta. No para la plataforma de prueba.
Opcional sourceCardIdentification.customerId String ID del cliente. No para la plataforma de prueba.
Opcional sourceCardIdentification.customerNumber String Número del cliente en SVB02. No para la plataforma de prueba.
Opcional sourceCardIdentification.barCode String Código de barras. No para la plataforma de prueba.
Opcional sourceCardIdentification.cvv2 String CVV2. No para la plataforma de prueba.
Opcional sourceCardIdentification.externalCardId String Identificador de la tarjeta en el sistema externo del banco. No para la plataforma de prueba.
Opcional sourceCardIdentification.token String Token. No para la plataforma de prueba.
Opcional sourceCardIdentification.cardTypeCode String Código del tipo de tarjeta. No para la plataforma de prueba.
Opcional sourceCardIdentification.email String Correo electrónico. No para la plataforma de prueba.
Opcional sourceCardIdentification.institutionId String Identificador interno de la institución. No para la plataforma de prueba.
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 usar en un proyecto real, no en esta plataforma de prueba, consulte la descripción de createVirtualCard.
Obligatorio destinationCardIdentification.cardNumber String Número de la tarjeta. Lo obtendrá en la respuesta CreateVirtualCard().
Opcional destinationCardIdentification.encryptedCardNumber ByteArray Número de tarjeta cifrado. No para la plataforma de prueba.
Opcional destinationCardIdentification.cardNumberMask String Número de tarjeta enmascarado. No para la plataforma de prueba.
Opcional destinationCardIdentification.cardLastDigitMask String Últimos dígitos del número de tarjeta. No para la plataforma de prueba.
Opcional destinationCardIdentification.cardId String Identificador de la tarjeta. No para la plataforma de prueba.
Opcional destinationCardIdentification.expDate String Fecha de vencimiento de la tarjeta. No para la plataforma de prueba.
Opcional destinationCardIdentification.plasticNumber Integer Número del plástico No para la plataforma de prueba.
Opcional destinationCardIdentification.phoneNumber String Teléfono del cliente. No para el entorno de pruebas.
Opcional destinationCardIdentification.cardholderId String Identificador del titular de la tarjeta. No para el entorno de pruebas.
Opcional destinationCardIdentification.customerId String ID del cliente. No para el entorno de pruebas.
Opcional destinationCardIdentification.customerNumber String Número de cliente en SVB02. No para el entorno de pruebas.
Opcional destinationCardIdentification.barCode String Código de barras. No para el entorno de pruebas.
Opcional destinationCardIdentification.cvv2 String CVV2. No para el entorno de pruebas.
Opcional destinationCardIdentification.externalCardId String Identificador de la tarjeta en el sistema externo del banco. No para el entorno de pruebas.
Opcional destinationCardIdentification.token String Token. No para el entorno de pruebas.
Opcional destinationCardIdentification.cardTypeCode String Código del tipo de tarjeta. No para el entorno de pruebas.
Opcional destinationCardIdentification.email String Correo electrónico. No para el entorno de pruebas.
Opcional destinationCardIdentification.institutionId String Identificador interno de la institución. No para el entorno de pruebas.
Obligatorio amount Integer Importe.
Obligatorio currency Integer Moneda. Código numérico de moneda ISO 4217. Use «978» para el entorno de pruebas.
Opcional sourceAccountNumber String Número de tarjeta de la cual se realiza el débito de fondos. No para el entorno de pruebas.
Opcional destinationAccountNumber String Número de tarjeta a la cual se realiza el abono. No para el entorno de pruebas.
Opcional tds Object Parámetros de transacción 3DS. No para el entorno de pruebas.
Opcional tds.xid String Identificador de transacción VISA 3DS. No para el entorno de pruebas.
Opcional tds.cavv String Valor de verificación de autenticación VISA. No para el entorno de pruebas.
Opcional tds.ucaf String Campo de autenticación universal Mastercard. No para el 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 el entorno de pruebas.
Obligatorio senderReceiverInfo Object Información sobre el remitente y destinatario del pago. No para el 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 el entorno de pruebas.
Opcional senderReceiverInfo.senderCountry String Código de país del remitente. No para el entorno de pruebas.
Opcional senderReceiverInfo.senderPostalCode String Código postal del remitente. No para el entorno de pruebas.
Opcional senderReceiverInfo.receiverName String Nombre del destinatario en formato «Apellido, Nombre». No para el entorno de pruebas.
Opcional pointOfServiceDataCode String Conjunto de códigos que definen las capacidades del terminal, parámetros de su entorno y uso de medios de seguridad durante la transacción. No para el entorno de pruebas.
Obligatorio pointOfServiceConditionCode String Código que define 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 el entorno de pruebas.
Opcional cardAcceptorParameters.terminalIdentification String Identificador del terminal. No para el entorno de pruebas.
Opcional cardAcceptorParameters.merchantIdentification String Identificador del comerciante. No para el entorno de pruebas.
Opcional cardAcceptorParameters.merchantType String Código de categoría del vendedor. No para plataforma de prueba.
Opcional cardAcceptorParameters.nameAndLocation String Dirección de ubicación del terminal. No para plataforma de prueba.
Opcional securityLevelIndicator String Indicador de nivel de seguridad. No para plataforma de prueba.
Opcional originalTransactionParameters Object Parámetros de la transacción original. Debe incluirse en la solicitud para verificar el estado de la transacción. No para plataforma de prueba.
Opcional originalTransactionParameters.systemTraceAuditNumber Integer Número de registro de auditoría. No para plataforma de prueba.
Opcional originalTransactionParameters.localTransactionDate DateTime Fecha de la transacción. No para plataforma de prueba.
Opcional originalTransactionParameters.rrn String Identificador externo RNN. No para plataforma de prueba.
Opcional posCardholderPresence Integer Tipo de presencia del portador de la tarjeta en el punto de servicio. No para plataforma de prueba.
Opcional businessApplicationIdentifier String Identificador de tipo de transacción MC. No para plataforma de prueba.

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 '{
  "cardIdentification": {
    "cardNumber": 4140050021658271,
    "expDate": 202512
  },
  "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": 620400,
        "localTransactionDate": "2021-09-23T14:40:05",
        "rrn": "000000154799",
        "authorizationIdResponse": "154801",
        "paymentSpecificData": {}
    }

getOrderDetails

Obtener información detallada sobre la orden de pago.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio orderId Long Identificador de la orden de pago

Ejemplo de solicitud

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

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio transactionList Object Lista de transacciones.
Obligatorio transactionList.merchantId String Identificador del comerciante.
Obligatorio transactionList.terminalId String Identificador del terminal.
Obligatorio transactionList.transactionDate DateTime Fecha/hora de la transacción.
Opcional transactionList.cardNumber String Número de tarjeta.
Opcional transactionList.transactionAmount Integer Importe de la transacción.
Opcional transactionList.transactionCurrency Integer Código de moneda de la transacción
Opcional transactionList.submittedAmount Integer Importe solicitado.
Opcional transactionList.submittedCurrency Integer Moneda solicitada
Opcional transactionList.authorizationCode String Código de autorización.
Opcional transactionList.cashbackAmount Integer Importe del cashback.
Opcional transactionList.transactionType String Tipo de transacción.
Opcional transactionList.networkType String Tipo de red.
Opcional transactionList.cardType String Tipo de tarjeta.
Opcional transactionList.orderNumber String Número de la orden de pago.

Ejemplo de respuesta

{
  "transactionList" : [ {
    "terminalId" : "00999201",
    "transactionDate" : "2000-01-23T04:56:07.000+00:00",
    "merchantId" : "M000001",
  } ]
}

getPaymentOrders

Obtener lista de órdenes de pago.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio merchantNumber String Número del comerciante.
Obligatorio institutionId String Identificador interno de la institución.
Obligatorio period Object Período de tiempo.
Opcional period.start DateTime Fecha de inicio.
Opcional period.end DateTime Fecha de finalización.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getPaymentOrders \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "merchantNumber" : "M000001",
  "institutionId": "3012",
  "period": {
    "start": "2020-04-20",
    "end": "2020-04-30"
  }
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio orderList Object Lista de órdenes de pago.
Obligatorio orderList.id Long Identificador de la orden de pago
Opcional orderList.eventDate DateTime Fecha del evento.
Opcional orderList.purpose String Propósito.
Opcional orderList.currency Integer Código de moneda
Opcional orderList.amount Integer Importe.
Opcional orderList.status String Fecha de la última actualización de estado.
Opcional orderList.orderNumber String Número de la orden de pago.

Ejemplo de respuesta

{
  "orderList" : [ {
    "amount" : 1,
    "orderNumber" : "2344552",
    "id" : 3,
    "eventDate" : "2020-04-30",
  } ]
}

getTransactionDetails

Obtenga los detalles de la transacción.

Parámetros de solicitud

Obligatoriedad Nombre Tipo Descripción
Obligatorio utrnno Long Identificador de transacción en SVFE
Opcional reversal Boolean Bandera de reversal.

Ejemplo de solicitud

curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getTransactionDetails \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "utrnno": 2203248,
  "reversal": true
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio transaction Object Parámetros de transacción.
Opcional transaction.boWriteOffDate DateTime Hora y fecha de débito SVBO.
Obligatorio transaction.authorizationDate DateTime Fecha/hora de autorización.
Obligatorio transaction.transactionType String Tipo de transacción.
Obligatorio transaction.operationDirection String Dirección de operación. Valores posibles: [CREDIT, DEBIT, NOOP]
Obligatorio transaction.amount Integer Monto de transacción.
Obligatorio transaction.currency Integer Moneda de operación
Obligatorio transaction.amountInAccountCurrency Integer Monto de transacción en moneda de cuenta.
Obligatorio transaction.utrnno Long Identificador de transacción en SVFE
Opcional transaction.boUtrnno Long Identificador de transacción en SVBO.
Opcional transaction.transactionDescription String Descripción de transacción.
Opcional transaction.feeDirection String Dirección de comisión. Valores posibles: [CREDIT, DEBIT, NOOP]
Opcional transaction.acquireFeeAmount Integer Monto de comisión del adquirente, calculado por operación SVFE.
Opcional transaction.feIssuerFeeAmount Integer Monto de comisión del emisor, calculado por trabajo SVFE.
Opcional transaction.boIssuerFeeAmount Integer Monto de comisión del emisor, calculado por operación SVBO.
Opcional transaction.mcc Long MCC.
Opcional transaction.merchantCountry String País del comerciante.
Opcional transaction.merchantCity String Ciudad del comerciante.
Opcional transaction.merchantName String Nombre del comerciante.
Opcional transaction.merchantId String Identificador del vendedor.
Opcional transaction.terminalAddress String Dirección del terminal.
Opcional transaction.posDataCode String Código de datos POS.
Opcional transaction.authorizationIdResponse String Identificador de autorización.
Opcional transaction.reversalDate DateTime Fecha/hora de reversal.
Opcional transaction.reversal Boolean Bandera de reversal.
Opcional transaction.requestAmount Integer Monto solicitado para transacción.
Opcional transaction.terminalId String Identificador de terminal.
Opcional transaction.payId String Identificador asignado por proveedor de servicios.

Ejemplo de respuesta

{
        "transaction": {
          "authorizationDate": "2015-04-09T11:15:35+04:00",
          "transactionType": 774,
          "operationDirection": "debit",
          "amount": 10000,
          "currency": 978,
          "amountInAccountCurrency": 0,
          "utrnno": 2203248,
          "transactionDescription": "POS purchase",
          "feeDirection": "debit",
          "acquireFeeAmount": 0,
          "feIssuerFeeAmount": 0,
          "mcc": 5999,
          "merchantCountry": "NLD",
          "merchantCity": "NETHERLANDS1234512345123451234512345",
          "merchantName": "PREDPRINIMATEL",
          "merchantId": "M999101",
          "terminalAddress": "MERCHANT2 NLD NETHERLANDS ELANDSGRACHT 50/A",
          "authorizationIdResponse": 0,
          "requestAmount": 10,
          "terminalId": 1
        }
      }

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 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 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 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 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 institución. No para plataforma de pruebas.
Obligatorio period Object Período de tiempo.
Opcional period.start DateTime Fecha de inicio. Formato AAAA-MM-DD.
Opcional period.end DateTime Fecha de finalización. 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": 100000000873
  },
  "period": {
    "start": "2020-04-01",
    "end": "2020-05-01"
  }
}'

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio transactions Object Transacciones.
Opcional transactions.boWriteOffDate DateTime Hora y fecha de débito 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 la operación. Valores posibles: [CREDIT, DEBIT, NOOP]
Obligatorio transactions.amount Integer Monto de la transacción.
Obligatorio transactions.currency Integer Moneda.
Obligatorio transactions.amountInAccountCurrency Integer Monto de la transacción en la moneda de la cuenta.
Obligatorio transactions.utrnno Long Identificador de transacción en SVFE (identificador interno de SmartVista).
Opcional transactions.boUtrnno Long Identificador de transacción en SVBO. (identificador interno de SmartVista).
Opcional transactions.transactionDescription String Descripción de la transacción.
Opcional transactions.feeDirection String Dirección de la comisión. Valores posibles: [CREDIT, DEBIT, NOOP]
Opcional transactions.acquireFeeAmount Integer Importe de la comisión del adquiriente.
Opcional transactions.feIssuerFeeAmount Integer Importe de la comisión online del emisor.
Opcional transactions.boIssuerFeeAmount Integer Importe de la comisión offline 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 del reverso.
Opcional transactions.reversal Boolean Indicador de reverso.
Opcional transactions.requestAmount Integer Importe solicitado 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
            }
        ]
    }

getTransactionCurrencies

Obtener la moneda de las transacciones.

Ejemplo de solicitud

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

Parámetros de respuesta

Obligatoriedad Nombre Tipo Descripción
Obligatorio transaction.currency Integer Código de moneda

Ejemplo de respuesta

{
  "currencies": [
    978
  ]
}
Categorías:
Banca API V1
Categorías
Resultados de búsqueda