Documento de Acrobat
Documento de Acrobat
Documento de Acrobat
Interconexión
Validación Completa
Versión 1.4
2
ÍNDICE
3
1. Estructura del mensaje
1.1.Consulta
Se envía a la empresa el custormerId para verificar que el usuario a ingresar exista. La empresa
debe responder con un código conforme o de error.
Request
POST https://api.bcp.com/v1/inquire
Header
Content-type: application/json
Body
{
"rqUUID": "550e8400-e29b-41d4-a716-446655440000",
"operationDate": "2018-08-09T20:15:44",
"operationNumber": "01234567",
"financialEntity": "002",
"channel": "IB",
"serviceId": "1002",
"customerId": "U200914203"
}
Identificador de solicitud
Es un identificador único universal, generado en el
BCP, para reconocer cada uno de los mensajes que
forman parte de la transacción en curso.
Este UUID está compuesto de 36 caracteres de la
siguiente forma:
rqUUID 8-4-4-4-12, solo números y letras
MinLong: 36 si string Observación
MaxLong: 36 La empresa debe recibir este dato y enviarlo de
regreso, sin alteraciones, en el mensaje de
respuesta.
Es necesario que la empresa guarde este nro. para
identificar la operación en curso.
La operación de consulta y pago de la misma
transacción tendrán diferentes rqUUID.
4
Parámetro Mandatorio Tipo Descripción
Fecha de la operación
operationDate Fecha y hora en el BCP al momento de enviar la
MinLong: 19 si string transacción
MaxLong: 19 Formato:
AAAA-MM-DDTHH:MM:SS
Número de operación BCP
operationNumber Número de operación con el que se registra la transacción
MinLong: 1 si string en el BCP.
MaxLong: 8 Observación
Este número generado en el BCP sólo es único por día
Código de la entidad financiera
financialEntity Código de la entidad financiera desde donde se envió la
MinLong: 3 si string transacción.
MaxLong: 3 Observación
Se envía siempre el valor 002 = BCP
Código de Canal BCP
Código que identifica al Canal BCP desde el cual se envió
la transacción.
channel Valores permitidos
MinLong: 2 si string BM = Banca Móvil
MaxLong: 2 TN = Telecrédito
IB = Banca por Internet (ViaBCP)
FI = Ventanilla
PZ = Agente BCP
Código de Servicio
Código que identifica al Servicio involucrado en la
transacción según el formato: Nnnn
donde:
N = Modalidad empleada en la transacción
serviceId (1=V. Completa ; 2=V. Parcial ; 3=V. Importes )
MinLong: 4 si string nnn = Secuencial del Concepto de recaudación de la
MaxLong: 4 empresa
Ejemplos
1000 = Estudios Pregrado (V.Completa)
1001 = Estudios Postgrado (V.Completa)
2000 = Recarga Celular (V.Parcial)
3000 = Tramites RENIEC (V.Importes)
Código de Cliente
Es el identificador de una deuda brindado por la empresa
al cliente para realizar el pago de este.
Ejemplos
customerId 'U200914203' = Un Código de Alumno
MinLong: 1 si string '20103424570' = Un RUC
MaxLong: 14 Observación
Si el código cliente empieza con ‘0’ se eliminarán todos
los ceros a la izquierda:
‘07140101’ = ‘7140101’
De esta manera: ‘7140101’ será enviado a la empresa
5
Response
Body
{
"rqUUID": "550e8400-e29b-41d4-a716-446655440000",
"resultCode": "CP0000",
"resultDescription": "PROCESO CONFORME",
"operationDate": "2019-07-03T02:15:52",
"operationNumberCompany": "01234567",
"customerName": "PEREZ TAIPE JULIO",
"merchantId": "20100047218",
"documents":[
{
"documentId":"C987456",
"expirationDate":"2018-08-21",
"documentReference": "EMP001TRN120012220",
"paymentDetail": "TV40pulg",
"amounts":[{
"amountType":"minimumAmount",
"amount":"200.00"
},
{
"amountType":"totalAmount",
"amount":"500.00"
}]
},
{
"documentId":"C987456",
"expirationDate":"2018-09-14",
"documentReference": "EMP001TRN120012220",
"paymentDetail": "smartPCalcV2.0",
"amounts":[{
"amountType":"minimumAmount",
"amount":"100.00"
},
{
"amountType":"totalAmount",
"amount":"400.00"
}]
}
]
}
6
Parámetro Mandatorio Tipo Descripción
Identificador de solicitud
Es el UUID que identifica el mensaje de
rqUUID
solicitud con el que se inició la transacción.
MinLong: 36 si string
Observación
MaxLong: 36
Es una copia del campo enviado en el mensaje
de solicitud.
Código de Respuesta
Código de respuesta de la transacción
resultCode solicitada.
MinLong: 6 si string Observación
MaxLong: 6 La empresa debe implementar el envío de
códigos de retorno de acuerdo con el cuadro de
errores indicado al final del documento.
Documentos
Grupo de documentos de pago contenidos en la
documents
transacción como parte del servicio solicitado.
MinOccurs: 1 si array
Observación
MaxOccurs: 4
Como máximo solo se debe de enviar 4
documentos.
7
Parámetro Mandatorio Tipo Descripción
Referencia adicional al documento de pago
Código retornado por la Empresa como referencia
adicional al documento de pago que será enviado.
documentReference
En caso se realice el pago del documento en
MinLong: 1 no string
mención.
MaxLong: 28
Observación
Este campo se registrará en el Archivo de
Resultados del BCP.
amounts
Grupo de importes pertenecientes a un
MinOccurs: 1 si array
documento de pago
MaxOccurs: 2
8
1.2.Pago
Se envía la información de pago según la estructura indicada líneas abajo, se envía el monto el
cual se desea pagar, la empresa debe responder con un código conforme o de error
Request
POST https://api.bcp.com/v1/payment
Header
Content-type: application/json
Body
{
"rqUUID": "550e8400-e29b-41d4-a716-446655440000",
"operationDate": "2018-08-09T20:15:44",
"operationNumber": "01234567",
"financialEntity": "002",
"channel": "IB",
"serviceId": "1002",
"customerId": "U200914203",
"paymentType": "01",
"amountTotal": "1200.00",
"check":{
"checkNumber": "00215520003",
"financialEntity": "002"
},
"documents":[
{
"documentId": "C987456",
"expirationDate": "2018-07-10",
"documentReference": "EMP001TRN120012220",
"amounts":[{
"amountType": "totalAmount",
"amount": "400.00"
}]
},
{
"documentId": "C987457",
"expirationDate": "2018-09-15",
"documentReference": "EMP001TRN120012221",
"amounts":[{
"amountType": "totalAmount",
"amount": "800.00"
}]
}
]
}
9
Parámetro Mandatorio Tipo Descripción
Identificador de solicitud
Es un identificador único universal, generado en el
rqUUID BCP, para reconocer cada uno de los mensajes que
MinLong: 36 si string forman parte de la transacción en curso.
MaxLong: 36 Este UUID está compuesto de 36 caracteres de la
siguiente forma:
8-4-4-4-12, solo números y letras
Fecha de operación
operationDate Fecha y hora en el BCP al momento de enviar la
MinLong: 19 si string transacción
MaxLong: 19 Formato
AAAA-MM-DDTHH:MM:SS
financialEntity
Código de la entidad financiera
MinLong: 3 si string
MaxLong: 3
Será el mismo valor enviado en la consulta
channel
Código de canal
MinLong: 2 si string
MaxLong: 2
Será el mismo valor enviado en la consulta
Forma de Pago
Código de la forma en la que se realizó el pago de
la deuda.
paymentType Valores Posibles
MinLong: 2 si string
MaxLong: 2
01 = Efectivo
02 = Cheque
03 = Tarjeta Crédito
04 = Tarjeta Debito
Cheque
Objeto donde contiene información del cheque con
check el cual se realiza el pago.
MinOccurs: 1 no object Observación
MaxOccurs: 1 Esta información solo se mostrará cuando el pago
se realice desde el canal Ventanilla y esté habilitada
la opción de pago con cheques.
10
Parámetro Mandatorio Tipo Descripción
Número de Cheque
checkNumber
Número de cheque con el que el Cliente realizó el
MinLong: 1 no string
MaxLong: 15
pago de la deuda. Puede ser de la misma entidad
financiera u otra.
Documentos
Grupo de documentos de pago contenidos en la
documents
transacción como parte del servicio solicitado.
MinOccurs: 1 si array
Observación
MaxOccurs: 4
Como máximo solo se debe de enviar 4
documentos.
amounts
Grupo de importes pertenecientes a un
MinOccurs: 1 si array
documento de pago
MaxOccurs: 2
11
Response
Header
Content-type: application/json
Body
{
"rqUUID": "550e8400-e29b-41d4-a716-446655440000",
"resultCode": "CP0000",
"resultDescription": "PROCESO CONFORME",
"operationDate": "2018-08-09T20:15:44",
"operationNumberCompany": "01234567",
"endorsement": "0Gracias por realizar su pago"
12
1.3.Extorno
Si por algún motivo extraordinario se desea revertir la operación. El cliente o promotor de servicio,
según sea el caso selecciona la operación que desea extornar, La Empresa Recaudadora responde
la operación de extorno devolviendo un código de retorno Ok, indicando que la deuda ha sido
desmarcada correctamente.
Request
POST https://api.bcp.com/v1/annulment
Header
Content-type: application/json
Body
{
"rqUUID": "550e8400-e29b-41d4-a716-446655440000",
"operationDate": "2018-08-09T20:15:44",
"operationNumber": "01234567",
"operationNumberAnnulment": "01234566",
"financialEntity": "002",
"customerId": "19938323",
"channel": "FI"
}
Identificador de solicitud
Es el UUID que identifica el mensaje de solicitud con
rqUUID
el que se inició la transacción.
MinLong: 36 si string
MaxLong: 36
Observación
Es una copia del campo enviado en el mensaje de
solicitud.
Fecha de operación
operationDate Fecha y hora en el BCP al momento de enviar la
MinLong: 19 si string transacción
MaxLong: 19 Formato:
AAAA-MM-DDTHH:MM:SS
13
Parámetro Mandatorio Tipo Descripción
Número de operación BCP
Número de operación con el que se registra la
transacción en el BCP. Este campo es de uso
operationNumber
interno BCP no se mostrará en los canales ni
MinLong: 8 si string
MaxLong: 8
voucher.
Observación
Este número generado en el BCP sólo es único
por día
Número de operación a extornar
Número de operación de pago registrado en el
BCP que se le indica a la empresa para
extornar.
operationNumberAnnulment
Observación
MinLong: 8 si string
La empresa deberá implementar las funciones
MaxLong: 8
de extornos basado sólo en este número
generado en el BCP.
Este valor corresponde al campo
operationNumber de la transacción de pago.
Código de la entidad financiera
Código de la entidad financiera desde donde
financialEntity se envió la transacción.
MinLong: 3 si string Observación
MaxLong: 3 Se envía siempre el valor 002
Valores permitidos
002 = Banco de Crédito BCP
14
Response
Header
Content-type: application/json
Body
{
"rqUUID": "550e8400-e29b-41d4-a716-446655440000",
"resultCode": "CP0000",
"resultDescription": "PROCESO CONFORME",
"operationDate": "2018-08-09T20:15:44"
}
Código de Respuesta
Código de respuesta de la transacción solicitada.
resultCode Observación
MinLong: 6 si string
MaxLong: 6
La empresa debe implementar el envío de códigos
de retorno de acuerdo con el cuadro de errores
indicado al final del documento
15
1.4.Error en operación de pago, consulta, extorno.
Header
Content-type: application/json
Body
{
"rqUUID": "550e8400-e29b-41d4-a716-446655440000",
"resultCode": "CP0138",
"resultDescription": "ERROR AL PROCESAR TRANSACCION",
"resultCodeCompany": "ERROR-21DB",
"resultDescriptionCompany":"FAIL TO CONNECT DB",
"operationDate": "2009-09-03T02:15:52"
}
Código de respuesta
Código de respuesta de la transacción solicitada.
resultCode Observación
MinLong: 6 si string
MaxLong: 6
La empresa debe implementar el envío de códigos
de retorno de acuerdo con el cuadro de errores
indicado al final del documento
16
Código de errores
17
2. Lineamientos de Seguridad
2.1.Uso de SSL/TLS
Todas las APIs deben comunicarse a través de un canal y puerto seguro usando HTTPS y trabajar
con certificados digitales con el fin de tener un canal seguro entre cliente y proveedor de la
información.
18