API Bancaria v.1
El entorno de pruebas te brinda la oportunidad de probar algunas funciones básicas de gestión de tarjetas del paquete SmartVista — registrar clientes, crear cuentas, emitir tarjetas virtuales, establecer límites de tarjetas, transferir fondos, etc.
/cabinet/
Obtendrá acceso a todas las API y al Gabinete Personal.
Primeros pasos
Utiliza el entorno de pruebas para probar las funciones básicas de gestión de tarjetas, tales como: registro de portadores de tarjetas, emisión de tarjetas, establecimiento de límites de tarjetas, transferencia de fondos, etc.
Antes de comenzar a usar el entorno de pruebas, necesitas crear una cuenta y obtener un token de seguridad de API.
El token de seguridad de API proporciona acceso de autorización al API del entorno de pruebas.

Manual de referencia de API
Existen dos versiones de API. API v.2 — es un API RESTful. API v.1 – es más bien JSON a través de HTTP. Aunque ambos pueden ser descritos en la especificación Open API. La descripción técnica completa puedes encontrarla aquí:
Ejemplo de colección Postman
Puedes descargar la colección de solicitudes API de Postman para probar algunas funciones básicas de gestión de tarjetas en el paquete SmartVista.
Descarga la colección Postman para el caso de uso
Características generales
Todas las solicitudes son solicitudes HTTP POST. El tipo de contenido tanto para solicitudes como para respuestas es application / json.
API Bancaria v.1. Casos de uso
Puedes descargar la colección de solicitudes API de Postman para probar algunas funciones básicas de gestión de tarjetas en el entorno de pruebas.
Descarga la colección Postman para el caso de uso
Comienza a usar la API bancaria con lo siguiente:
- Registra un nuevo cliente con la solicitud
registerCustomer. Esta solicitud también crea una cuenta para el cliente. Puedes crear tantos clientes como desees. Pero en el entorno de pruebas solo se puede crear una cuenta para cada cliente — esta limitación se agregó para simplificar la lógica del entorno de pruebas. En un proyecto real podrás crear tantas cuentas para cada cliente como sea necesario para tu negocio. - Emite una nueva tarjeta virtual con
createVirtualCardpara las cuentas de los clientes. Puedes emitir tantas tarjetas como desees. Las tarjetas del entorno de pruebas se emiten en estado activo y están listas para usar instantáneamente.
Ahora puedes probar las siguientes funciones (en orden arbitrario):
- bloquear y desbloquear tarjetas emitidas con solicitudes
blockCardyvalidateCard; - depositar fondos en las tarjetas emitidas con la solicitud
creditCard; - realizar transferencias P2P a tarjetas con la solicitud
p2pTransfer(crea al menos dos tarjetas para transferir fondos entre ellas); - gestionar límites de tarjetas con las solicitudes
getCardLimitsychangeCardLimit; - obtener datos de tarjeta con la solicitud
getCardData; - obtener el historial de transacciones de la tarjeta con la solicitud
getTransactions(primero genera varias transacciones).
Por favor, revisa la información de cada solicitud a continuación, incluyendo ejemplos con una breve descripción de lo que debes cambiar para hacer estas solicitudes por tu cuenta. Utiliza los enlaces a la documentación detallada para obtener información adicional.
- registerCustomer
- createVirtualCard
- getCardLimits
- changeCardLimits
- getCardData
- blockCard
- validateCard
- creditCard
- p2pTransfer
- getTransactions
registerCustomer
Registra un nuevo cliente en SmartVista y crea una cuenta. Puede crear tantos clientes como desee. Pero en el entorno de pruebas solo puede crear una cuenta para cada cliente: esta limitación se agrega para simplificar la lógica del entorno de pruebas. En el proyecto real podrá crear tantas cuentas para cada cliente como sea necesario para su negocio.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | productName |
String | Identificador de plantilla del cliente que se utilizará para crear el cliente. En el entorno de pruebas hay solo una plantilla de cliente, y para los clientes del entorno de pruebas este valor siempre debe ser «CRCU1001». |
| Obligatorio | parameters |
Object | Lista de parámetros. La lista exacta depende de la plantilla de creación del cliente para el proyecto específico. Lo creamos para el entorno de pruebas, y puede ver los parámetros necesarios debajo de esta tabla. |
| Obligatorio | name |
String | Define el parámetro en la plantilla del cliente para el cual se establece el valor correspondiente. |
| Obligatorio | value |
String | Valor que debe establecerse para el parámetro específico. |
Para crear un cliente en el entorno de pruebas es necesario pasar los siguientes parámetros con sus valores:
-
institutionIdEl valor se muestra en su cuenta del entorno de pruebas. -
agent_numberLo mismo queinstitutionId. -
customer_numberAny text. Debe ser único en su proyecto del entorno de pruebas. -
product_idEl valor se muestra en su cuenta del entorno de pruebas. -
start_dateAny date in the past. Formato AAAA-MM-DD. -
service_id_accEl valor se muestra en su cuenta del entorno de pruebas. -
surnamefirstNamesecondNameemailmobile_phoneregioncitystreethouseapartmentpostal_codeParámetros del cliente. Cualquier texto. -
country_codeCódigo numérico del país ISO 3166-1.
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á el que envíe en la solicitud ya que el entorno de pruebas está configurado para establecer el número solicitado para el cliente creado. |
| Obligatorio | accountNumber |
String | Número de cuenta. El entorno de pruebas devuelve el número de cuenta que crea para el Cliente. |
Ejemplo de respuesta
{
"customerNumber": "3006P_0000003",
"accountNumber": "3006978700000000108"
}createVirtualCard
Crea una tarjeta virtual para el cliente registrado. Use registerCustomer para crear un cliente y cuenta si aún no lo ha hecho.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | cardIdentification |
Object | Parámetros básicos de identificación de la tarjeta. Existen muchos atributos de tarjeta y sus combinaciones para identificar la tarjeta, compatibles con SmartVista, pero en el entorno de pruebas se utiliza el más simple de ellos: el número de tarjeta. Todas las demás opciones se proporcionan como ejemplo. |
| Obligatorio | cardIdentification.cardNumber
|
String | Número de tarjeta. Esta es la forma que utilizaremos en todas las solicitudes del entorno de pruebas para identificar la tarjeta. Para esta solicitud siempre use el número de tarjeta "visaBin0000000000", donde [visaBin] es el número del correo electrónico que recibió después del registro. Para todas las demás solicitudes use el número de tarjeta que recibirá después de crear la tarjeta con esta solicitud. |
| Opcional | cardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta cifrado. Normalmente se utiliza como uno de los posibles parámetros de identificación de tarjeta, pero no en este proyecto de plataforma de pruebas, para evitar la gestión de claves. No lo utilice aquí. |
| Opcional | cardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. Forma común de identificación de tarjeta en combinación con el número de teléfono o algunos otros datos de la tarjeta, pero no la que se utiliza en la plataforma de pruebas. No lo utilice aquí. |
| Opcional | cardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. Forma común de identificación de tarjeta en combinación con el número de teléfono, y no la que se utiliza en la plataforma de pruebas. No lo utilice aquí. |
| Opcional | cardIdentification.cardId
|
String | Identificador de tarjeta. No para la plataforma de pruebas. |
| Opcional | cardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. A menudo se utiliza con algunos otros atributos de la tarjeta. No para la plataforma de pruebas. |
| Opcional | cardIdentification.plasticNumber
|
Integer | Número de plástico. No para la plataforma de pruebas. |
| Opcional | cardIdentification.phoneNumber
|
String | Teléfono del cliente. A menudo se utiliza con algunos otros atributos de la tarjeta. No para la plataforma de pruebas. |
| Opcional | cardIdentification.cardholderId
|
String | Identificador del portador de la tarjeta. No para la plataforma de pruebas. |
| Opcional | cardIdentification.customerId
|
String | ID del cliente. No para la plataforma de pruebas. |
| Opcional | cardIdentification.customerNumber
|
String | Número del cliente en SVB02. No para la plataforma de pruebas. |
| Opcional | cardIdentification.barCode
|
String | Código de barras. No para la plataforma de pruebas. |
| Opcional | cardIdentification.cvv2
|
String | CVV2. No para la plataforma de pruebas. |
| Opcional | cardIdentification.externalCardId
|
String | Identificador de tarjeta en el sistema externo del banco. No para la plataforma de pruebas. |
| Opcional | cardIdentification.token
|
String | Token. No para la plataforma de pruebas. |
| Opcional | cardIdentification.cardTypeCode
|
String | Código de tipo de tarjeta. No para la plataforma de pruebas. |
| Opcional | cardIdentification.email
|
String | Correo electrónico. No para la plataforma de pruebas. |
| Opcional | cardIdentification.institutionId
|
String | Identificador interno de la institución. No para la plataforma de pruebas. |
| Obligatorio | virtualCardIdentification |
Object | Parámetros de tarjeta virtual. expDate y productType son obligatorios. |
| Obligatorio | virtualCardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. Cualquier fecha futura en formato «AAAAMMM». |
| Obligatorio | virtualCardIdentification.productType
|
String | Tipo de producto. Identifica el producto de tarjeta para la tarjeta. En la plataforma de pruebas siempre debe ser el número constante «16», ya que configuramos un producto para usted. |
| Opcional | virtualCardIdentification.cardNumber
|
String | Número de tarjeta. No para la plataforma de pruebas. |
| Opcional | virtualCardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para la plataforma de pruebas. |
| Opcional | virtualCardIdentification.cardId
|
String | Identificador de tarjeta. No para la plataforma de pruebas. |
| Opcional | virtualCardIdentification.barCode
|
String | Código de barras. No para la plataforma de pruebas. |
| Opcional | virtualCardIdentification.cvv2
|
String | CVV2/CVC2. No para la plataforma de pruebas. |
| Obligatorio | amount |
Integer | Límite por defecto para las tarjetas virtuales recién creadas. En la plataforma de pruebas debe ser el número constante «0». |
| Obligatorio | currency |
Integer | Moneda. Código numérico de moneda ISO 4217. Utilice «978» para la plataforma de pruebas. |
| Obligatorio | accountNumber |
String | Número de cuenta para identificación primaria de tarjeta. Utilice el número de cuenta obtenido mediante el método registerCustomer(). |
| Opcional | deliveryMethod |
String | Método de entrega de parámetros de tarjeta virtual. Valores posibles: [WS, HALF_AND_HALF] . WS — todos los parámetros, entregados en respuesta del servicio web. HALF_AND_HALF — algunos parámetros se entregan en respuesta del servicio web, algunos en SMS. Para HALF_AND_HALF la respuesta del servicio web contendrá número de tarjeta enmascarado (por ejemplo, //// 1111 1111 ////), y SMS contendrá CVV2 y otra mitad del número de tarjeta enmascarado (1111 //// //// 1111). Use valor «WS» para área de pruebas. |
| Opcional | personalData |
Object | Datos personales del titular de la tarjeta. No para área de pruebas. |
| Opcional | personalData.firstName
|
String | No para área de pruebas. |
| Opcional | personalData.lastName
|
String | No para área de pruebas. |
| Opcional | cardAcceptorParameters |
Object | Parámetros de terminal. No para área de pruebas. |
| Opcional | cardAcceptorParameters.terminalIdentification
|
String | Identificador de terminal. No para área de pruebas. |
| Opcional | cardAcceptorParameters.merchantIdentification
|
String | Identificador de comerciante. No para área de pruebas. |
| Opcional | cardAcceptorParameters.merchantType
|
String | Código de categoría de comerciante. No para área de pruebas. |
| Opcional | cardAcceptorParameters.nameAndLocation
|
String | Dirección de ubicación del terminal. No para área de pruebas. |
Ejemplo de solicitud
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/createVirtualCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardNumber": "4140050000000000",
"phoneNumber": "319220977337",
"customerId": "5570_P018"
},
"virtualCardIdentification": {
"expDate": 202612,
"productType": "5C"
},
"amount": 0,
"currency": 978,
"accountNumber": "5570978700000006484",
"deliveryMethod": "WS"
}'Parámetros de respuesta
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | virtualCardIdentification |
Object | Parámetros de tarjeta virtual. |
| Opcional | virtualCardIdentification.cardNumber
|
String | Número de tarjeta. Aquí obtendrá el número de tarjeta creada en área de pruebas. Guárdelo para todas las operaciones posteriores con la tarjeta creada. |
| Opcional | virtualCardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para área de pruebas. |
| Opcional | virtualCardIdentification.cardId
|
String | Identificador de tarjeta. No para área de pruebas. |
| Obligatorio | virtualCardIdentification.expDate
|
String | Fecha de vencimiento de tarjeta. No para área de pruebas. |
| Obligatorio | virtualCardIdentification.productType
|
String | Tipo de producto. No para área de pruebas. |
| Opcional | virtualCardIdentification.barCode
|
String | Código de barras. No para área de pruebas. |
| Opcional | virtualCardIdentification.cvv2
|
String | CVV2/CVC2. No para área de pruebas. |
Ejemplo de respuesta
{
"virtualCardIdentification": {
"cardNumber": "4140050090452283",
"cardId": "100000245262",
"expDate": "202612",
"productType": "5C"
}
}getCardLimits
Obtener límites por tarjeta específica. El conjunto de límites está determinado para el producto de tarjeta y predefinido en área de pruebas. Inicialmente los límites para tarjeta específica se heredan de configuración del producto. Puede cambiar valores de límites para tarjeta específica mediante changeCardLimits.
Están disponibles los siguientes límites (tipos de ciclos están indicados para configuración de límite por defecto y pueden ser cambiados por solicitud changeCardLimit):
- LMTP0111 - Límite MOTO/ECOM (suma) por mes.
- LMTP0112 - Límite MOTO/ECOM (suma) por día.
- LMTP0108 - límite de compra (suma) por mes.
- LMTP0110 - límite de compra (suma) por día.
- LMTP0109 - límite (suma) de dispensación de efectivo por mes.
- LMTP0107 - límite (suma) de dispensación de efectivo por día. Puede verificar este límite en área de pruebas mediante solicitud p2pTransfer.
Están disponibles los siguientes tipos de límites CycleType:
- 0 – día. Ciclo de un día comienza cada día a las 00:00:00.
- 1 – semana. Ciclo semanal comienza cada 7 días a las 00:00:00.
- 2 – semana calendario. Ciclo de una semana calendario comienza cada lunes a las 00:00:00.
- 3 – mes. Ciclo mensual comienza en el mismo día de cada mes a la misma hora.
- 4 – mes calendario. Ciclo de duración de 1 mes calendario comienza a las 00:00:00 del primer día de cada mes.
- 5 – trimestre (3 meses). El ciclo de 1 trimestre comienza el mismo día cada 3 meses a la misma hora.
- 6 – trimestre calendario. El ciclo de 1 trimestre calendario comienza el 1 de enero, 1 de abril, 1 de julio, 1 de octubre a las 00:00:00.
- 7 – año. El ciclo de 1 año comienza el mismo día y a la misma hora exactamente después de un año.
- 8 – año calendario. El ciclo de duración de 1 año calendario comienza el 1 de enero a las 00:00:00.
- 11 – hora. El ciclo de una hora comienza en el mismo minuto y segundo de cada hora (es decir, cada 3600 segundos).
- 12 – hora calendario. La hora calendario comienza a los 0 minutos y 0 segundos de cada hora y termina a los 59 minutos 59 segundos de la misma hora.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | cardIdentification |
Object | Parámetros de identificación de la tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta plataforma de pruebas, familiarícese con la descripción de createVirtualCard. |
| Obligatorio | cardIdentification.cardNumber
|
String | Número de tarjeta. Lo recibirá en la respuestaCreateVirtualCard(). |
| Opcional | cardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta cifrado. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardId
|
String | Identificador de la tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.plasticNumber
|
Integer | Número de plástico. No para plataforma de pruebas. |
| Opcional | cardIdentification.phoneNumber
|
String | Teléfono del cliente. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardholderId
|
String | Identificador del titular de la tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.customerId
|
String | ID del cliente. No para plataforma de pruebas. |
| Opcional | cardIdentification.customerNumber
|
String | Número de cliente en SVB02. No para plataforma de pruebas. |
| Opcional | cardIdentification.barCode
|
String | Código de barras. No para plataforma de pruebas. |
| Opcional | cardIdentification.cvv2
|
String | CVV2. No para plataforma de pruebas. |
| Opcional | cardIdentification.externalCardId
|
String | Identificador de la tarjeta en el sistema externo del banco. No para plataforma de pruebas. |
| Opcional | cardIdentification.token
|
String | Token. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardTypeCode
|
String | Código del tipo de tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.email
|
String | Correo electrónico. No para plataforma de pruebas. |
| Opcional | cardIdentification.institutionId
|
String | Identificador interno de la institución. No para plataforma de pruebas. |
Ejemplo de solicitud
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCardLimits \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardId" : 100000000873
}
}'Parámetros de respuesta
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | limits |
Object | Lista de límites de la tarjeta. |
| Obligatorio | limits.name
|
String | Denominación del límite. |
| Opcional | limits.startDate
|
DateTime | Fecha de inicio del límite. No para plataforma de pruebas. |
| Opcional | limits.endDate
|
DateTime | Fecha de finalización del límite. No para plataforma de pruebas. |
| Opcional | limits.value
|
Long | Valor del límite. |
| Opcional | limits.cycleType
|
Integer | Tipo de ciclo. Son posibles varios tipos de ciclos de límites – diarios, mensuales, etc. |
| Opcional | limits.cycleLength
|
Integer | Duración del ciclo. Por ejemplo, el valor 2 para un límite mensual significa 2 meses. |
| Opcional | limits.currency
|
Integer | Moneda. |
| Opcional | limits.currentValue
|
Long | Valor actual del límite. |
| Obligatorio | limits.limitExceptions
|
Object | Restringir lista de excepciones. No para área de pruebas. |
Ejemplo de respuesta
{
"limits": [
{
"name": "LMTP0111",
"value": 999999999999,
"cycleType": 0,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0112",
"value": 999999999999,
"cycleType": 3,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0108",
"value": 999999999999,
"cycleType": 3,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0110",
"value": 999999999999,
"cycleType": 3,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0109",
"value": 999999999999,
"cycleType": 0,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
},
{
"name": "LMTP0107",
"value": 999999999999,
"cycleType": 0,
"cycleLength": 1,
"currency": 978,
"currentValue": 0,
"limitExceptions": []
}
]
}changeCardLimit
Cambiar valores de límites para una tarjeta específica. El conjunto de límites está definido para el producto de tarjeta y está predefinido en el área de pruebas. Inicialmente los límites para una tarjeta específica se heredan de la configuración del producto. Use getCardLimits para obtener los nombres de los límites.
Están disponibles los siguientes límites (los tipos de ciclos están indicados para la configuración de límite por defecto y pueden ser cambiados por la solicitud changeCardLimit):
- LMTP0111 - Límite MOTO/ECOM (suma) por mes.
- LMTP0112 - Límite MOTO/ECOM (suma) por día.
- LMTP0108 - límite de compra (suma) por mes.
- LMTP0110 - límite de compra (suma) por día.
- LMTP0109 - límite (suma) de entrega de efectivo por mes.
- LMTP0107 - límite (suma) de entrega de efectivo por día. Puede verificar este límite en el área de pruebas con la solicitud p2pTransfer.
Están disponibles las siguientes restricciones cycleType:
- 0 – día. El ciclo de un día comienza cada día a las 00:00:00.
- 1 – semana. El ciclo semanal comienza cada 7 días a las 00:00:00.
- 2 – semana calendario. El ciclo de una semana calendario comienza cada lunes a las 00:00:00.
- 3 – mes. El ciclo mensual comienza el mismo día de cada mes a la misma hora.
- 4 – mes calendario. El ciclo de duración de 1 mes calendario comienza a las 00:00:00 del primer día de cada mes.
- 5 – trimestre (3 meses). El ciclo de 1 trimestre comienza el mismo día cada 3 meses a la misma hora.
- 6 – trimestre calendario. El ciclo de 1 trimestre calendario comienza el 1 de enero, 1 de abril, 1 de julio, 1 de octubre a las 00:00:00.
- 7 – año. El ciclo de 1 año comienza el mismo día y a la misma hora exactamente en un año.
- 8 – año calendario. El ciclo de duración de 1 año calendario comienza el 1 de enero a las 00:00:00.
- 11 – hora. El ciclo de una hora comienza en el mismo minuto y segundo de cada hora (es decir, cada 3600 segundos).
- 12 – hora calendario. La hora calendario comienza a los 0 minutos y 0 segundos de cada hora y termina a los 59 minutos 59 segundos de la misma hora.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | cardIdentification |
Object | Parámetros de identificación de tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta área de pruebas, familiarícese con la descripción de createVirtualCard. |
| Obligatorio | cardIdentification.cardNumber
|
String | Número de tarjeta. Lo recibirá en la respuestaCreateVirtualCard(). |
| Opcional | cardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta cifrado. No para área de pruebas. |
| Opcional | cardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para área de pruebas. |
| Opcional | cardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. No para área de pruebas. |
| Opcional | cardIdentification.cardId
|
String | Identificador de tarjeta. No para área de pruebas. |
| Opcional | cardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. No para área de pruebas. |
| Opcional | cardIdentification.plasticNumber
|
Integer | Número de plástico. No para área de pruebas. |
| Opcional | cardIdentification.phoneNumber
|
String | Teléfono del cliente. No para área de pruebas. |
| Opcional | cardIdentification.cardholderId
|
String | Identificador del portador de la tarjeta. No para área de pruebas. No para área de pruebas. |
| Opcional | cardIdentification.customerId
|
String | ID del cliente. No para área de pruebas. |
| Opcional | cardIdentification.customerNumber
|
String | Número de cliente en SVB02. No para área de pruebas. |
| Opcional | cardIdentification.barCode
|
String | Código de barras. No para área de pruebas. |
| Opcional | cardIdentification.cvv2
|
String | CVV2. No para plataforma de prueba. |
| Opcional | cardIdentification.externalCardId
|
String | Identificador de tarjeta en el sistema externo del banco. No para plataforma de prueba. |
| Opcional | cardIdentification.token
|
String | Token. No para plataforma de prueba. |
| Opcional | cardIdentification.cardTypeCode
|
String | Código de tipo de tarjeta. No para plataforma de prueba. |
| Opcional | cardIdentification.email
|
String | Correo electrónico. No para plataforma de prueba. |
| Opcional | cardIdentification.institutionId
|
String | Identificador interno de institución. No para plataforma de prueba. |
| Obligatorio | limit |
Object | Parámetros de límite. |
| Obligatorio | limit.name
|
String | Nombre del límite. Está predefinido en la plataforma de prueba. Puede obtener la lista de límites usando getCardLimits() y obtener los nombres de límites de su respuesta. |
| Opcional | limit.startDate
|
DateTime | Fecha de inicio del límite. No para plataforma de prueba. |
| Opcional | limit.endDate
|
DateTime | Fecha de finalización del límite. No para plataforma de prueba. |
| Opcional | limit.value
|
Long | Valor del límite. |
| Opcional | limit.cycleType
|
Integer | Tipo de ciclo. |
| Opcional | limit.cycleLength
|
Integer | Duración del ciclo. |
| Opcional | limit.currency
|
Integer | Moneda. No para plataforma de prueba. |
| Opcional | limit.currentValue
|
Long | Valor actual del límite. No para plataforma de prueba. |
| Opcional | cardAcceptorParameters |
Object | Parámetros de terminal. No para plataforma de prueba. |
| Opcional | cardAcceptorParameters.terminalIdentification
|
String | Identificador de terminal. No para plataforma de prueba. |
| Opcional | cardAcceptorParameters.merchantIdentification
|
String | Identificador de comerciante. No para plataforma de prueba. |
| Opcional | cardAcceptorParameters.merchantType
|
String | Código de categoría de comerciante. No para plataforma de prueba. |
| Opcional | cardAcceptorParameters.nameAndLocation
|
String | Dirección de ubicación del terminal. No para plataforma de prueba. |
Ejemplo de solicitud
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/changeCardLimit \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": "100000245259"
},
"limit": {
"name": "LMTP0112",
"value": 13000000,
"cycleType": 4,
"cycleLength": 1
}
}'Parámetros de respuesta
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | responseCode |
String | Código de finalización de operación en SmartVista. 00 significa éxito. |
Ejemplo de respuesta
{
"responseCode": "00",
"processingCode": "710000",
"systemTraceAuditNumber": 609644,
"localTransactionDate": "2024-10-23T08:23:28"
}getCardData
Devuelve datos sobre las tarjetas creadas por usted. Puede usarse después de crear una tarjeta usando createVirtualCard.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | cardIdentification |
Object | Parámetros de identificación de tarjeta. Se requiere cardNumber. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta plataforma de prueba, revise la descripción de createVirtualCard. |
| Obligatorio | cardIdentification.cardNumber
|
String | Número de tarjeta. Lo obtendrá en la respuesta de CreateVirtualCard(). |
| Opcional | cardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta cifrado. No para plataforma de prueba. |
| Opcional | cardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para plataforma de prueba. |
| Opcional | cardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. No para plataforma de prueba. |
| Opcional | cardIdentification.cardId
|
String | Identificador de tarjeta. No para plataforma de prueba. |
| Opcional | cardIdentification.expDate
|
String | Fecha de vencimiento de tarjeta. No para plataforma de prueba. |
| Opcional | cardIdentification.plasticNumber
|
Integer | Número de plástico. No para plataforma de prueba. |
| Opcional | cardIdentification.phoneNumber
|
String | Teléfono del cliente. No para plataforma de prueba. |
| Opcional | cardIdentification.cardholderId
|
String | Identificador del titular de la tarjeta. No para entorno de prueba. |
| Opcional | cardIdentification.customerId
|
String | ID del cliente. No para entorno de prueba. |
| Opcional | cardIdentification.customerNumber
|
String | Número del cliente en SVB02. No para entorno de prueba. |
| Opcional | cardIdentification.barCode
|
String | Código de barras. No para entorno de prueba. |
| Opcional | cardIdentification.cvv2
|
String | CVV2. No para entorno de prueba. |
| Opcional | cardIdentification.externalCardId
|
String | Identificador de la tarjeta en el sistema externo del banco. No para entorno de prueba. |
| Opcional | cardIdentification.token
|
String | Token. No para entorno de prueba. |
| Opcional | cardIdentification.cardTypeCode
|
String | Código del tipo de tarjeta. No para entorno de prueba. |
| Opcional | cardIdentification.email
|
String | Correo electrónico. No para entorno de prueba. |
| Opcional | cardIdentification.institutionId
|
String | Identificador interno de la institución. No para entorno de prueba. |
| Opcional | rsaPublicKey |
ByteArray | Clave pública para cifrar el número de tarjeta en el mensaje de respuesta. No para entorno de prueba. |
Ejemplo de solicitud
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getCardData \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": "100000245259"
}
}'Parámetros de respuesta
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | cardData |
Object | Parámetros de la tarjeta. |
| Opcional | cardData.encryptedCardNumber
|
ByteArray | Número de tarjeta cifrado. No para entorno de prueba. |
| Opcional | cardData.cardNumberMask
|
String | Número de tarjeta enmascarado. No para entorno de prueba. |
| Obligatorio | cardData.cardNumber
|
String | Número de tarjeta. |
| Opcional | cardData.expiryDate
|
String | Fecha de vencimiento de la tarjeta. En formato AAAAMMM. |
| Opcional | cardData.formattedExpiryDate
|
String | Fecha de vencimiento de la tarjeta, formateada por el usuario. No para entorno de prueba. |
| Opcional | cardData.cardId
|
String | Identificador de la tarjeta. Este es el identificador interno de la tarjeta SmartVista, que puede ser utilizado para identificar la tarjeta para aplicaciones no compatibles con PCI DSS. |
| Opcional | cardData.hotCardStatus
|
Integer | Estado de la tarjeta. |
| Opcional | cardData.cardTypeName
|
String | Tipo de tarjeta. |
| Opcional | cardData.embossedName
|
String | Nombre en el plástico. Tiene sentido para tarjetas plásticas con relieve, y no para tarjetas virtuales en entorno de prueba. |
| Opcional | cardData.customerId
|
String | ID del cliente. |
| Opcional | cardData.customerName
|
String | Nombre del cliente. No para entorno de prueba. |
| Opcional | cardData.personId
|
String | Identificador del titular de la tarjeta. No para entorno de prueba. |
| Opcional | cardData.pinDenialCounter
|
Integer | Cantidad de intentos incorrectos de ingreso del PIN |
| Opcional | cardData.plasticNumber
|
Integer | Número del plástico. No para entorno de prueba. |
| Opcional | cardData.hotCardStatusDescription
|
String | Descripción del estado de la tarjeta. |
| Opcional | cardData.cardIsPrimary
|
Boolean | Bandera de tarjeta principal. Siempre false para entorno de prueba. |
| Opcional | cardData.cardBindToCustomer
|
Boolean | Bandera de vinculación de tarjeta al cliente. Siempre false para entorno de prueba. |
| Opcional | cardData.customerIsCardholder
|
Boolean | Bandera de si el cliente es titular de la tarjeta. Siempre false para entorno de prueba. |
| Opcional | cardData.cardContractId
|
String | Identificador del contrato de tarjeta. No para entorno de prueba. |
| Opcional | cardData.cardPlasticId
|
String | Identificador del tipo de plástico. No para entorno de prueba. |
| Opcional | cardData.cardPlasticDescription
|
String | Descripción del tipo de plástico. No para entorno de prueba. |
| Opcional | cardData.memorableWord
|
String | Palabra secreta. No para entorno de prueba. |
| Opcional | cardData.email
|
String | Correo electrónico. No para entorno de prueba. |
| Opcional | cardData.lastWrongPinDate
|
DateTime | Fecha/hora del último intento de ingreso de PIN incorrecto. No para plataforma de prueba. |
| Opcional | cardData.cardCreationDate
|
DateTime | Fecha de emisión de la tarjeta. No para plataforma de prueba. |
| Opcional | cardData.cardBlockingDate
|
DateTime | Fecha/hora de bloqueo de la tarjeta. No para plataforma de prueba. |
| Opcional | cardData.directDebitAccount
|
String | Cuenta utilizada para autopagos. No para plataforma de prueba. |
| Opcional | cardData.cardholderMobilePhoneNumber
|
String | Número de teléfono del titular de la tarjeta. No para plataforma de prueba. |
| Opcional | cardData.accounts
|
Object | Lista de cuentas para la tarjeta. En la plataforma de prueba debe haber solo una cuenta. |
| Obligatorio | accounts.number
|
String | Número de cuenta. |
| Obligatorio | accounts.currency
|
Integer | Moneda de la cuenta |
| Opcional | accounts.currencyAlphaCode
|
String | Código alfabético de la moneda de la cuenta. |
| Obligatorio | accounts.balance
|
Integer | Saldo de la cuenta. |
| Opcional | accounts.creditLimit
|
Integer | Límite de crédito. |
| Obligatorio | accounts.customerId
|
String | ID del cliente. |
| Opcional | accounts.defaultAccount
|
Boolean | Indicador de cuenta por defecto. Siempre true para plataforma de prueba. |
Ejemplo de respuesta
{
"cardData": {
"cardNumber": "4140050021658271",
"expiryDate": "202301",
"cardId": "100000000873",
"hotCardStatus": 0,
"cardTypeName": "VISA - PLUS",
"embossedName": "GENERAL POOL",
"customerId": "3006P_0000003",
"personId": "3006P_0000002",
"pinDenialCounter": 0,
"plasticNumber": 1,
"hotCardStatusDescription": "VALID CARD",
"cardIsPrimary": false,
"cardBindToCustomer": false,
"customerIsCardholder": false,
"accounts": [
{
"number": "3006978700000000108",
"accountType": 1,
"currency": 978,
"currencyAlphaCode": "EUR",
"balance": 0,
"creditLimit": 0,
"customerId": "3006P_0000003",
"defaultAccount": true
}
],
"customParameters": []
}
}blockCard
Bloquear tarjeta. Para bloquear una tarjeta en la plataforma de prueba, debe estar en estado activo (código de estado 0). Puede obtener el código de estado de la tarjeta mediante getCardData.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | cardIdentification |
Object | Parámetros de identificación de la tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden utilizar en un proyecto real, no en esta plataforma de prueba, consulte la descripción de createVirtualCard. |
| Obligatorio | cardIdentification.cardNumber
|
String | Número de tarjeta. Lo obtendrá en la respuestaCreateVirtualCard(). |
| Opcional | cardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta cifrado. No para plataforma de prueba. |
| Opcional | cardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para plataforma de prueba. |
| Opcional | cardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. No para plataforma de prueba. |
| Opcional | cardIdentification.cardId
|
String | Identificador de tarjeta. No para plataforma de prueba. |
| Opcional | cardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. No para plataforma de prueba. |
| Opcional | cardIdentification.plasticNumber
|
Integer | Número de plástico No para plataforma de prueba. |
| Opcional | cardIdentification.phoneNumber
|
String | Teléfono del cliente. No para plataforma de prueba. |
| Opcional | cardIdentification.cardholderId
|
String | Identificador del titular de la tarjeta. No para plataforma de prueba. |
| Opcional | cardIdentification.customerId
|
String | ID del cliente. No para plataforma de prueba. |
| Opcional | cardIdentification.customerNumber
|
String | Número del cliente en SVB02. No para plataforma de prueba. |
| Opcional | cardIdentification.barCode
|
String | Código de barras. No para plataforma de prueba. |
| Opcional | cardIdentification.cvv2
|
String | CVV2. No para plataforma de prueba. |
| Opcional | cardIdentification.externalCardId
|
String | Identificador de tarjeta en el sistema externo del banco. No para plataforma de prueba. |
| Opcional | cardIdentification.token
|
String | Token. No para plataforma de prueba. |
| Opcional | cardIdentification.cardTypeCode
|
String | Código de tipo de tarjeta. No para plataforma de prueba. |
| Opcional | cardIdentification.email
|
String | Correo electrónico. No para plataforma de prueba. |
| Opcional | cardIdentification.institutionId
|
String | Identificador interno de la institución. |
| Obligatorio | hotCardStatus |
Integer | Estado de la tarjeta. Should be 6 for the Sandbox. Esto significa que la tarjeta está bloqueada y debe ser retirada al intentar usarla. |
| Opcional | cardAcceptorParameters |
Object | Parámetros del terminal. No para entorno de pruebas. |
| Opcional | cardAcceptorParameters.terminalIdentification
|
String | Identificador del terminal. No para entorno de pruebas. |
| Opcional | cardAcceptorParameters.merchantIdentification
|
String | Identificador del comerciante. No para entorno de pruebas. |
| Opcional | cardAcceptorParameters.merchantType
|
String | Código de categoría del comerciante. No para entorno de pruebas. |
| Opcional | cardAcceptorParameters.nameAndLocation
|
String | Dirección de ubicación del terminal. No para entorno de pruebas. |
Ejemplo de solicitud
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/blockCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardNumber": "100000245259"
},
"hotCardStatus": 6
}'Parámetros de respuesta
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | responseCode |
String | Código de finalización de operación en SmartVista. 00 significa éxito. |
Ejemplo de respuesta
{
"responseCode": "00",
"processingCode": "910000",
"systemTraceAuditNumber": 620397,
"localTransactionDate": "2021-09-23T14:37:36"
}validateCard
Desbloquear tarjeta.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | cardIdentification |
Object | Parámetros de identificación de tarjeta. Variantes posibles de identificación: (cardNumber) o (cardId) o (cardNumberMask y cardholderId) o (cardNumberMask y phoneNumber). |
| Obligatorio | cardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta cifrado. |
| Obligatorio | cardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. |
| Obligatorio | cardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. |
| Obligatorio | cardIdentification.cardNumber
|
String | Número de tarjeta. |
| Opcional | cardIdentification.cardId
|
String | Identificador de tarjeta. |
| Opcional | cardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. |
| Opcional | cardIdentification.plasticNumber
|
Integer | Número de plástico |
| Opcional | cardIdentification.phoneNumber
|
String | Teléfono del cliente. |
| Opcional | cardIdentification.cardholderId
|
String | Identificador del portador de la tarjeta. |
| Opcional | cardIdentification.customerId
|
String | ID del cliente. |
| Opcional | cardIdentification.customerNumber
|
String | Número del cliente en SVB02. |
| Opcional | cardIdentification.barCode
|
String | Código de barras. |
| Opcional | cardIdentification.cvv2
|
String | CVV2. |
| Opcional | cardIdentification.externalCardId
|
String | Identificador de tarjeta en el sistema externo del banco. |
| Opcional | cardIdentification.token
|
String | Token. |
| Opcional | cardIdentification.cardTypeCode
|
String | Código del tipo de tarjeta. |
| Opcional | cardIdentification.email
|
String | Correo electrónico. |
| Opcional | cardIdentification.institutionId
|
String | Identificador interno de la institución. |
| Opcional | cardAcceptorParameters |
Object | Parámetros del terminal. |
| Obligatorio | cardAcceptorParameters.terminalIdentification
|
String | Identificador del terminal. |
| Obligatorio | cardAcceptorParameters.merchantIdentification
|
String | Identificador del comerciante. |
| Obligatorio | cardAcceptorParameters.merchantType
|
String | Código de categoría del comerciante. |
| Opcional | cardAcceptorParameters.nameAndLocation
|
String | Dirección de ubicación del terminal. |
Ejemplo de solicitud
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/validateCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": "100000245259"
}
}'Parámetros de respuesta
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | responseCode |
String | Código de finalización de operación en SmartVista. 00 significa éxito. |
Ejemplo de respuesta
{
"responseCode": "00",
"processingCode": "980000",
"systemTraceAuditNumber": 320252,
"localTransactionDate": "2024-02-08T15:06:53"
}creditCard
Ingreso de fondos a la tarjeta.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Opcional | preAuthorization |
Boolean | Bandera de autorización previa. |
| Obligatorio | cardIdentification |
Object | Parámetros de identificación de tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta plataforma de pruebas, consulte la descripción de createVirtualCard. |
| Obligatorio | cardIdentification.cardNumber
|
String | Número de tarjeta. Lo obtendrá en la respuesta CreateVirtualCard. |
| Opcional | cardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta encriptado. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardId
|
String | Identificador de tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.plasticNumber
|
Integer | Número de plástico No para plataforma de pruebas. |
| Opcional | cardIdentification.phoneNumber
|
String | Teléfono del cliente. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardholderId
|
String | Identificador del titular de la tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.customerId
|
String | ID del cliente. No para plataforma de pruebas. |
| Opcional | cardIdentification.customerNumber
|
String | Número del cliente en SVB02. No para plataforma de pruebas. |
| Opcional | cardIdentification.barCode
|
String | Código de barras. No para plataforma de pruebas. |
| Opcional | cardIdentification.cvv2
|
String | CVV2. No para plataforma de pruebas. |
| Opcional | cardIdentification.externalCardId
|
String | Identificador de tarjeta en el sistema externo del banco. No para plataforma de pruebas. |
| Opcional | cardIdentification.token
|
String | Token. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardTypeCode
|
String | Código de tipo de tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.email
|
String | Correo electrónico. No para plataforma de pruebas. |
| Opcional | cardIdentification.institutionId
|
String | Identificador interno de la institución. No para plataforma de pruebas. |
| Obligatorio | amount |
Integer | Cantidad. |
| Obligatorio | currency |
Integer | Moneda. Código numérico de moneda ISO 4217. Use 978 for the Sandbox. |
| Opcional | tds |
Object | Parámetros de transacción 3DS. |
| Opcional | tds.xid
|
String | Identificador de transacción VISA 3DS. No para plataforma de pruebas. |
| Opcional | tds.cavv
|
String | Valor de verificación de autenticación VISA. No para plataforma de pruebas. |
| Opcional | tds.ucaf
|
String | Campo de autenticación universal Mastercard. No para plataforma de pruebas. |
| Opcional | tds.authenticationIndicator
|
String | Tipo de autenticación de transacción de comercio electrónico. Valores posibles: NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH. No para plataforma de pruebas. |
| Opcional | cardAcceptorParameters |
Object | Parámetros del terminal. No para plataforma de pruebas. |
| Opcional | cardAcceptorParameters.terminalIdentification
|
String | Identificador del terminal. No para plataforma de pruebas. |
| Opcional | cardAcceptorParameters.merchantIdentification
|
String | Identificador del comerciante. No para plataforma de pruebas. |
| Opcional | cardAcceptorParameters.merchantType
|
String | Código de categoría del comerciante. No para plataforma de pruebas. |
| Opcional | cardAcceptorParameters.nameAndLocation
|
String | Dirección de ubicación del terminal. No para plataforma de pruebas. |
Ejemplo de solicitud
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/creditCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber": "4140050090966613",
"expDate": 202612
},
"amount" : 10000,
"currency" : 978
}'Parámetros de respuesta
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | responseCode |
String | Código de finalización de la operación SVFE. 00 significa éxito. |
| Obligatorio | processingCode |
String | código de procesamiento. |
| Obligatorio | systemTraceAuditNumber |
Integer | Número de registro de auditoría |
| Obligatorio | localTransactionDate |
DateTime | Fecha de transacción. Formato: fecha-hora |
| Obligatorio | rrn |
String | Identificador externo RNN. |
| Opcional | authorizationIdResponse |
String | Identificador de autorización. |
| Opcional | uniqueReferenceNumber |
String | Número de referencia único de la operación. |
| Opcional | otp |
String | Contraseña de un solo uso. No para plataforma de pruebas. |
| Opcional | acquirerFeeAmount |
String | Importe de la comisión del adquirente. No para plataforma de pruebas. |
| Opcional | issuerFeeAmount |
String | Importe de la comisión del emisor. No para plataforma de pruebas. |
| Opcional | paymentSpecificData |
Object | Datos especiales sobre el pago. |
Ejemplo de respuesta
{
"responseCode": "00",
"processingCode": "270000",
"systemTraceAuditNumber": 609652,
"localTransactionDate": "2024-10-23T08:29:18",
"rrn": "000003997389",
"authorizationIdResponse": "997389",
"accountCurrencyAmount": 10000,
"paymentSpecificData": {}
}p2pTransfer
p2p transferencia de tarjeta a tarjeta.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Opcional | preAuthorization |
Boolean | Bandera de autorización previa. |
| Obligatorio | sourceCardIdentification |
Object | Parámetros de identificación de la tarjeta para la tarjeta origen. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden utilizar en un proyecto real, no en esta plataforma de pruebas, familiarícese con la descripción de createVirtualCard. |
| Obligatorio | sourceCardIdentification.cardNumber
|
String | Número de tarjeta. Lo obtendrá en la respuestaCreateVirtualCard(). |
| Obligatorio | sourceCardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. Formato AAAÁMM. |
| Opcional | sourceCardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta encriptado. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.cardId
|
String | Identificador de tarjeta. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.plasticNumber
|
Integer | Número de plástico. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.phoneNumber
|
String | Teléfono del cliente. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.cardholderId
|
String | Identificador del titular de la tarjeta. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.customerId
|
String | ID del cliente. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.customerNumber
|
String | Número de cliente en SVB02. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.barCode
|
String | Código de barras. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.cvv2
|
String | CVV2. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.externalCardId
|
String | Identificador de tarjeta en el sistema externo del banco. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.token
|
String | Token. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.cardTypeCode
|
String | Código de tipo de tarjeta. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.email
|
String | Correo electrónico. No para plataforma de pruebas. |
| Opcional | sourceCardIdentification.institutionId
|
String | Identificador interno de la institución. No para plataforma de pruebas. |
| Obligatorio | destinationCardIdentification |
Object | Parámetros de identificación de la tarjeta de acreditación. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden utilizar en un proyecto real, no en esta plataforma de pruebas, familiarícese con la descripción de createVirtualCard. |
| Obligatorio | destinationCardIdentification.cardNumber
|
String | Número de tarjeta. Lo recibirás en la respuestaCreateVirtualCard(). |
| Opcional | destinationCardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta cifrado. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.cardId
|
String | Identificador de tarjeta. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.plasticNumber
|
Integer | Número de plástico. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.phoneNumber
|
String | Teléfono del cliente. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.cardholderId
|
String | Identificador del titular de la tarjeta. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.customerId
|
String | ID del cliente. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.customerNumber
|
String | Número de cliente en SVB02. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.barCode
|
String | Código de barras. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.cvv2
|
String | CVV2. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.externalCardId
|
String | Identificador de tarjeta en el sistema externo del banco. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.token
|
String | Token. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.cardTypeCode
|
String | Código del tipo de tarjeta. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.email
|
String | Correo electrónico. No para entorno de pruebas. |
| Opcional | destinationCardIdentification.institutionId
|
String | Identificador interno de la institución. No para entorno de pruebas. |
| Obligatorio | amount |
Integer | Cantidad. |
| Obligatorio | currency |
Integer | Divisa. Código numérico de divisa ISO 4217. Use 978 for the Sandbox. |
| Opcional | sourceAccountNumber |
String | Número de tarjeta desde la cual se efectúa el débito de fondos. No para entorno de pruebas. |
| Opcional | destinationAccountNumber |
String | Número de tarjeta a la cual se efectúa el abono. No para entorno de pruebas. |
| Opcional | tds |
Object | Parámetros de transacción 3DS. No para entorno de pruebas. |
| Opcional | tds.xid
|
String | Identificador de transacción VISA 3DS. No para entorno de pruebas. |
| Opcional | tds.cavv
|
String | Valor de verificación de autenticación VISA. No para entorno de pruebas. |
| Opcional | tds.ucaf
|
String | Campo de autenticación universal Mastercard. No para entorno de pruebas. |
| Opcional | tds.authenticationIndicator
|
String | Tipo de autenticación de transacción de comercio electrónico. Valores posibles: [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]. No para entorno de pruebas. |
| Obligatorio | senderReceiverInfo |
Object | Información sobre el remitente y destinatario del pago. No para entorno de pruebas. |
| Obligatorio | senderReceiverInfo.senderName
|
String | Nombre del remitente en formato «Apellido, Nombre». |
| Obligatorio | senderReceiverInfo.senderAddress
|
String | Dirección del remitente. |
| Opcional | senderReceiverInfo.senderCity
|
String | Ciudad del remitente. No para entorno de pruebas. |
| Opcional | senderReceiverInfo.senderCountry
|
String | Código de país del remitente. No para entorno de pruebas. |
| Opcional | senderReceiverInfo.senderPostalCode
|
String | Código postal del remitente. No para la plataforma de pruebas. |
| Opcional | senderReceiverInfo.receiverName
|
String | Nombre del destinatario en formato «Apellido, Nombre». No para la plataforma de pruebas. |
| Opcional | pointOfServiceDataCode |
String | Conjunto de códigos que determinan las capacidades del terminal, parámetros de su entorno y uso de medios de seguridad durante la transacción. No para la plataforma de pruebas. |
| Obligatorio | pointOfServiceConditionCode |
String | Código que determina las condiciones de realización de la transacción en el punto de servicio. Cualquier texto. |
| Opcional | cardAcceptorParameters |
Object | Parámetros del terminal. No para la plataforma de pruebas. |
| Opcional | cardAcceptorParameters.terminalIdentification
|
String | Identificador del terminal. No para la plataforma de pruebas. |
| Opcional | cardAcceptorParameters.merchantIdentification
|
String | Identificador del comerciante. No para la plataforma de pruebas. |
| Opcional | cardAcceptorParameters.merchantType
|
String | Código de categoría del comerciante. No para la plataforma de pruebas. |
| Opcional | cardAcceptorParameters.nameAndLocation
|
String | Dirección de ubicación del terminal. No para la plataforma de pruebas. |
| Opcional | securityLevelIndicator |
String | Indicador del nivel de seguridad. No para la plataforma de pruebas. |
| Opcional | originalTransactionParameters |
Object | Parámetros de la transacción original. Debe incluirse en la solicitud de verificación del estado de la transacción. No para la plataforma de pruebas. |
| Opcional | originalTransactionParameters.systemTraceAuditNumber
|
Integer | Número de registro de auditoría. No para la plataforma de pruebas. |
| Opcional | originalTransactionParameters.localTransactionDate
|
DateTime | Fecha de la transacción. No para la plataforma de pruebas. |
| Opcional | originalTransactionParameters.rrn
|
String | Identificador externo RNN. No para la plataforma de pruebas. |
| Opcional | posCardholderPresence |
Integer | Tipo de presencia del portador de la tarjeta en el punto de servicio. No para la plataforma de pruebas. |
| Opcional | businessApplicationIdentifier |
String | Identificador del tipo de transacción MC. No para la plataforma de pruebas. |
Ejemplo de solicitud
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/p2pTransfer \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"sourceCardIdentification": {
"cardNumber": "4140050090966613",
"expDate": "202612"
},
"destinationCardIdentification": {
"cardNumber": "4165850095602372"
},
"amount": 10000,
"currency": 978,
"senderReceiverInfo": {
"senderName": "Tor, John",
"senderAddress": "New York, USA"
},
"pointOfServiceDataCode": "810"
}'Parámetros de respuesta
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | responseCode |
String | Código de finalización de la operación. 00 significa éxito. |
| Obligatorio | processingCode |
String | código de procesamiento. |
| Obligatorio | systemTraceAuditNumber |
Integer | Número de registro de auditoría |
| Obligatorio | localTransactionDate |
DateTime | Fecha de la transacción. Formato: fecha-hora |
| Obligatorio | rrn |
String | Identificador externo RNN. |
| Opcional | authorizationIdResponse |
String | Identificador de autorización. |
| Opcional | paymentSpecificData |
Object | Datos especiales sobre el pago. |
Ejemplo de respuesta
{
"responseCode": "00",
"processingCode": "490000",
"systemTraceAuditNumber": 609665,
"localTransactionDate": "2024-10-23T08:42:06",
"rrn": "000003997403",
"authorizationIdResponse": "997405",
"accountCurrencyAmount": 10000,
"paymentSpecificData": {}
}getTransactions
Obtener el historial de transacciones de una tarjeta específica.
Parámetros de solicitud
| Obligatoriedad | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | cardIdentification |
Object | Parámetros de identificación de la tarjeta. Para obtener información más detallada sobre otras opciones de identificación de tarjetas que se pueden usar en un proyecto real, no en esta plataforma de pruebas, consulte la descripción de createVirtualCard. |
| Obligatorio | cardIdentification.cardNumber
|
String | Número de tarjeta. Lo obtendrá en la respuestaCreateVirtualCard(). |
| Opcional | cardIdentification.encryptedCardNumber
|
ByteArray | Número de tarjeta cifrado. No para la plataforma de pruebas. |
| Opcional | cardIdentification.cardNumberMask
|
String | Número de tarjeta enmascarado. No para la plataforma de pruebas. |
| Opcional | cardIdentification.cardLastDigitMask
|
String | Últimos dígitos del número de tarjeta. No para la plataforma de pruebas. |
| Opcional | cardIdentification.cardId
|
String | Identificador de la tarjeta. No para la plataforma de pruebas. |
| Opcional | cardIdentification.expDate
|
String | Fecha de vencimiento de la tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.plasticNumber
|
Integer | Número de plástico. No para plataforma de pruebas. |
| Opcional | cardIdentification.phoneNumber
|
String | Teléfono del cliente. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardholderId
|
String | Identificador del titular de la tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.customerId
|
String | ID del cliente. No para plataforma de pruebas. |
| Opcional | cardIdentification.customerNumber
|
String | Número de cliente en SVB02. No para plataforma de pruebas. |
| Opcional | cardIdentification.barCode
|
String | Código de barras. No para plataforma de pruebas. |
| Opcional | cardIdentification.cvv2
|
String | CVV2. No para plataforma de pruebas. |
| Opcional | cardIdentification.externalCardId
|
String | Identificador de tarjeta en el sistema externo del banco. No para plataforma de pruebas. |
| Opcional | cardIdentification.token
|
String | Token. No para plataforma de pruebas. |
| Opcional | cardIdentification.cardTypeCode
|
String | Código de tipo de tarjeta. No para plataforma de pruebas. |
| Opcional | cardIdentification.email
|
String | Correo electrónico. No para plataforma de pruebas. |
| Opcional | cardIdentification.institutionId
|
String | Identificador interno de institución. No para plataforma de pruebas. |
| Obligatorio | period |
Object | Intervalo de tiempo. |
| Opcional | period.start
|
DateTime | Fecha de inicio. Formato AAAA-MM-DD. |
| Opcional | period.end
|
DateTime | Fecha de fin. Formato AAAA-MM-DD. |
Ejemplo de solicitud
curl --request POST \
--url https://dev.bpcbt.com/v1/apigate/ws/rest/getTransactions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": "100000245258"
},
"period": {
"start": "2024-10-01",
"end": "2024-10-23"
}
}'Parámetros de respuesta
| Obligatorio | Nombre | Tipo | Descripción |
|---|---|---|---|
| Obligatorio | transactions |
Object | Transacciones. |
| Opcional | transactions.boWriteOffDate
|
DateTime | Hora y fecha de cargo SVBO. No para plataforma de pruebas. |
| Obligatorio | transactions.authorizationDate
|
DateTime | Fecha/hora de autorización. |
| Obligatorio | transactions.transactionType
|
String | Tipo de transacción. |
| Obligatorio | transactions.operationDirection
|
String | Dirección de operación. Valores posibles: [CREDIT, DEBIT, NOOP] |
| Obligatorio | transactions.amount
|
Integer | Monto de transacción. |
| Obligatorio | transactions.currency
|
Integer | Moneda. |
| Obligatorio | transactions.amountInAccountCurrency
|
Integer | Monto de transacción en moneda de cuenta. |
| Obligatorio | transactions.utrnno
|
Long | Identificador de transacción en SVFE (identificador interno SmartVista). |
| Opcional | transactions.boUtrnno
|
Long | Identificador de transacción en SVBO. (identificador interno SmartVista). |
| Opcional | transactions.transactionDescription
|
String | Descripción de transacción. |
| Opcional | transactions.feeDirection
|
String | Dirección de comisión. Valores posibles: [CREDIT, DEBIT, NOOP] |
| Opcional | transactions.acquireFeeAmount
|
Integer | Monto de comisión del adquirente. |
| Opcional | transactions.feIssuerFeeAmount
|
Integer | Monto de comisión en línea del emisor. |
| Opcional | transactions.boIssuerFeeAmount
|
Integer | Monto de comisión fuera de línea del emisor. |
| Opcional | transactions.mcc
|
Long | MCC. |
| Opcional | transactions.merchantCountry
|
String | País del comerciante. |
| Opcional | transactions.merchantCity
|
String | Ciudad del comerciante. |
| Opcional | transactions.merchantName
|
String | Nombre del comerciante. |
| Opcional | transactions.merchantId
|
String | Identificador del vendedor. |
| Opcional | transactions.terminalAddress
|
String | Dirección del terminal. |
| Opcional | transactions.posDataCode
|
String | Código de datos POS. |
| Opcional | transactions.authorizationIdResponse
|
String | Identificador de autorización. |
| Opcional | transactions.reversalDate
|
DateTime | Fecha/hora de reverso. |
| Opcional | transactions.reversal
|
Boolean | Bandera de reverso. |
| Opcional | transactions.requestAmount
|
Integer | Cantidad solicitada para la transacción. |
| Opcional | transactions.terminalId
|
String | Identificador del terminal. |
| Opcional | transactions.payId
|
String | Identificador asignado por el proveedor de servicios. |
Ejemplo de respuesta
{
"transactions": [
{
"authorizationDate": "2021-09-23T14:35:24",
"transactionType": "578",
"operationDirection": "NOOP",
"amount": 0,
"currency": 0,
"amountInAccountCurrency": 0,
"utrnno": 154793,
"transactionDescription": "Change limit",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"reversal": false,
"requestAmount": 0,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:37:36",
"transactionType": "493",
"operationDirection": "NOOP",
"amount": 0,
"currency": 0,
"amountInAccountCurrency": 0,
"utrnno": 154796,
"transactionDescription": "Card blocking",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154796",
"reversal": false,
"requestAmount": 0,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:38:26",
"transactionType": "672",
"operationDirection": "NOOP",
"amount": 0,
"currency": 0,
"amountInAccountCurrency": 0,
"utrnno": 154797,
"transactionDescription": "Card status change",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154797",
"reversal": false,
"requestAmount": 0,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:39:15",
"transactionType": "760",
"operationDirection": "CREDIT",
"amount": 10000,
"currency": 978,
"amountInAccountCurrency": 10000,
"utrnno": 154798,
"transactionDescription": "Credit account presentment",
"feeDirection": "CREDIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154798",
"reversal": false,
"requestAmount": 10000,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:40:05",
"transactionType": "781",
"operationDirection": "DEBIT",
"amount": 1000,
"currency": 978,
"amountInAccountCurrency": 1000,
"utrnno": 154800,
"transactionDescription": "P2P Debit part",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154800",
"reversal": false,
"requestAmount": 1000,
"terminalId": "TEST__MB",
"internalResponseCode": -1
},
{
"authorizationDate": "2021-09-23T14:40:05",
"transactionType": "689",
"operationDirection": "NOOP",
"amount": 1000,
"currency": 978,
"amountInAccountCurrency": 1000,
"utrnno": 154799,
"transactionDescription": "Card-to-Card money transfer",
"feeDirection": "DEBIT",
"acquireFeeAmount": 0,
"feIssuerFeeAmount": 0,
"mcc": 6012,
"merchantCountry": "NLD",
"merchantCity": "BPC TEST ADDRESS N 2",
"merchantName": "Test Mobile Bank",
"merchantId": "TEST__MB",
"terminalAddress": "APIGATE FE TEST BPC TEST ADDRESS N 1",
"posDataCode": "600550U00110",
"authorizationIdResponse": "154801",
"reversal": false,
"requestAmount": 1000,
"terminalId": "TEST__MB",
"internalResponseCode": -1
}
]
}