Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Documento de Acrobat

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 18

Documentación Técnica Solución Genérica de

Interconexión

Validación Completa

Versión 1.4

Gerencia Productos y Servicios Bancarios


Banco de Crédito del Perú
21/12/2018
1
Nº de
Fecha Descripción del cambio Autor Petición
cambio
1.0 21/12/2018 Creación del documento Jean Paul López
Se modifico el valor del campo
1.1 21/01/2019 Jean Paul López
amountType
Se agregaron los campos:
resultCodeCompany
resultDescriptionCompany para Christian
1.2 17/06/2019
response en caso de error Chumacero
endorsement para refrendo en el
response de pago
Se agregaron los campos Nadia
1.3 15/07/2019 Jean Paul López
merchantId, paymentDetail Sotomayor
Corrección longitud de campo
documentId y añadir campo Christian Actualización de
1.4 09/10/2019
customerId en operación de Chumacero documento
extorno.

2
ÍNDICE

1. Estructura del mensaje ................................................................................................................. 4


1.1. Consulta ................................................................................................................................. 4
1.2. Pago ....................................................................................................................................... 9
1.3. Extorno ................................................................................................................................ 13
1.4. Error en operación de pago, consulta, extorno. ................................................................. 16
2. Lineamientos de Seguridad ........................................................................................................ 18
2.1. Uso de SSL/TLS .................................................................................................................... 18

3
1. Estructura del mensaje

Se debe respetar el orden de los campos en todo escenario.

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

Parámetro Mandatorio Tipo Descripción

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

200 OK La petición fue exitosa

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.

resultDescription Descripción de código respuesta


MinLong:1 si string Descripción del código de respuesta
MaxLong: 80 retornado.

Fecha de proceso en la empresa


operationDate Fecha y hora de la empresa en el momento en
MinLong: 19 si string el que procesó la transacción solicitada.
MaxLong: 19 Formato
AAAA-MM-DDTHH:MM:SS

Nro. de operación generado por la


operationNumberCompany
empresa
MinLong: 1 si string
Número de operación generado por la empresa
MaxLong: 12
con el que se procesó la transacción enviada.

Nombre del deudor


customerName
Nombre del cliente asociado al identificador del
MinLong: 1 si string
pago registrado en los sistemas de la empresa
MaxLong: 40
y que será mostrado en los Canales BCP.

merchantId Id del comercio


MinLong: 4 no string Código que identifica el comercio al cual se
MaxLong: 20 realiza la recaudación.

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.

documentId Número del documento de pago


MinLong: 1 si string Número que identifica al documento de pago,
MaxLong: 14 es un identificador establecido por la empresa.

Fecha de vencimiento del documento de


expirationDate pago
MinLong: 10 si string Se indicará la fecha en la cual vencerá la deuda
MaxLong: 10 Formato
AAAA-MM-DD

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.

paymentDetail Detalle del pago


MinLong: 1 no string Descripción del producto que el cliente está
MaxLong: 200 adquiriendo.

amounts
Grupo de importes pertenecientes a un
MinOccurs: 1 si array
documento de pago
MaxOccurs: 2

Concepto del importe


Concepto que describe el tipo de importe a mostrar.
Este importe es el único obligatorio por cada
amountType documento de pago.
Constants: El valor minimumAmount solo se envía cuando es
si string
totalAmount una operación con rangos. El valor totalAmount
minimumAmount siempre se envía
Valores Permitidos
totalAmount
minimumAmount

Monto del importe


amount Valor del monto asociado al tipo de importe
MinLong: 4 si string indicado previamente.
MaxLong: 20 Formato
14 enteros (Max.) + . + 2 decimales

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

Número de operación BCP


Número de operación con el que se registra la
operationNumber
transacción en el BCP.
MinLong: 8 si string
MaxLong: 8
Observación
Este número generado en el BCP sólo es único por
día

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

serviceId Código de servicio


MinLong: 4 si string
MaxLong: 4
Será el mismo valor enviado en la consulta

customerId Código de cliente


MinLong: 1 si string
MaxLong: 14
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

Monto total de la transacción


Monto total por pagar. Es el importe total de la
transacción, lo cual puede incluir el pago de 1 o más
amountTotal documentos de pago.
MinLong: 4 si string
Este es el importe que se deposita en la cuenta
MaxLong: 20
recaudadora de la empresa.
Formato
14 enteros (Max.) + . + 2 decimales

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.

financialEntity Entidad financiera a la que pertenece el


MinLong: 3 no string cheque
MaxLong: 3 Sera el mismo valor enviado en la consulta

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.

Número del documento de pago


documentId
si string Número que identifica al documento de pago, es
MaxLong: 30
un identificador establecido por la empresa.

expirationDate Fecha de vencimiento del documento de pago


MinLong: 10 si string Formato:
MaxLong: 10 AAA-MM-DD

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 si string
MaxLong: 28
mención.
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

Concepto del importe


Concepto que describe el tipo de importe a mostrar.
amountType
Este importe es el único obligatorio por cada
Constants: si string
documento de pago.
totalAmount
Valor Permitido
totalAmount

Monto del importe


Valor del monto asociado al tipo de importe
amount
si string indicado previamente.
MaxLong: 20
Formato
14 enteros (Max.) + . + 2 decimales

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"

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
Descripción de código respuesta
resultDescription
si string Descripción del código de respuesta
MaxLong: 80
retornado.

Fecha de proceso en la empresa


operationDate Fecha y hora de la empresa en el momento en
MinLong: 19 si string el que procesó la transacción solicitada.
MaxLong: 19 Formato
AAAA-MM-DDTHH:MM:SS

Nro. de operación generado por la


operationNumberCompany
empresa
MinLong: 1 si string
Número de operación generado por la empresa
MaxLong: 12
con el que se procesó la transacción enviada.
Refrendo de canal
Texto de refrendo que se mostrará en los
voucher de canales BCP cuando se procese una
endorsement operación de pago exitosa. Ver detalle de
MinLong: 1 no string refrendo.
MaxLong: 826 Observación
Este campo será retornado por la empresa en
caso de que quiera mostrar refrendo en los
voucher de los canales BCP.

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

Parámetro Mandatorio Tipo Descripción

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

customerId Código de cliente


MinLong: 1 si string Será el mismo valor enviado en la operación
MaxLong: 14 de pago.

Código de canal BCP


Código que identifica al Canal BCP desde el
cual se envió la transacción.
Valores posibles
channel
FI = Ventanilla
MinLong: 2 si string
MaxLong: 2
PZ = Agente BCP
Observación
Las operaciones de extorno sólo están
permitidas por los canales Ventanilla (FI) y
Agente BCP (PZ).

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

Parámetro Mandatorio Tipo Descripción


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

resultDescription Descripción de código respuesta


MinLong: 1 si string
MaxLong: 80
Descripción del código de respuesta retornado.

Fecha de proceso en la empresa


operationDate Fecha y hora de la empresa en el momento en el
MinLong: 19 si string que procesó la transacción solicitada.
MaxLong: 19 Formato
AAAA-MM-DDTHH:MM:SS

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

Parámetro Tipo Descripción


Identificador de solicitud
Es el UUID que identifica el mensaje de solicitud
rqUUID
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 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

ResultDescription Descripción de código respuesta


MinLong: 1 si string
MaxLong: 80
Descripción del código de respuesta retornado.

ResultCodeCompany Código de estado de empresa


MinLong: 1 si string Código de respuesta a la operación el cual es
MaxLong: 10 propio de la empresa (p.e ERROR021)

ResultDescriptionCompany Descripción del estado de empresa


MinLong: 1 si string Descripción del código de respuesta retornado
MaxLong: 80 por la empresa.

Fecha de proceso en la empresa


operationDate Fecha y hora de la empresa en el momento en el
MinLong: 19 si string que procesó la transacción solicitada.
MaxLong: 19 Formato
AAAA-MM-DDTHH:MM:SS

16
Código de errores

resultCode resultDescription Descripción

Mensaje retornado en caso la transacción


CP0000 PROCESO CONFORME solicitada se haya realizado correctamente
y fue registrada por la empresa.

Mensaje retornado cuando la empresa


CP0006 SIN DEUDA PENDIENTE verifica que la deuda indicada no está
pendiente de pago.

Mensaje retornado cuando la empresa


CP0010 DEUDA NO VALIDA verifica que la deuda indicada no existe
dentro de sus registros.

Mensaje retornado cuando suceda algún


problema interno en la Empresa que causó
ERROR AL PROCESAR el fallo en la transacción y/o cualquier
CP0138
TRANSACCION mensaje fuera de los definidos en la
presente lista. Solo será informativo, mas
no será mostrado al Usuario.

Mensaje retornado cuando por algún


NO PROCEDE
motivo que la empresa considere
CP0139 EXTORNO POR INDIC.
pertinente no se puede/debe realizar la
DE EMPRESA
transacción de Extorno.
Mensaje retornado cuando por algún
NO PROCEDE PAGO
motivo que la empresa considere
CP0140 POR INDIC. DE
pertinente no se puede/debe realizar la
EMPRESA
transacción de Pago.
Mensaje retornado cuando el código que
DEUDA CON identifica la deuda presenta alguna
CP0141
RESTRICCIONES restricción por parte de la empresa e
impide continuar con la transacción.
Mensaje retornado cuando se ha superado
el número máximo de transacciones de
pago efectuadas asociadas a la misma
LIMITE DE PAGO deuda.
CP0142
SUPERADO Comentario:
Este caso es utilizado, por ejemplo, para la
prevención de fraudes en las recargas
virtuales de Telefonía Móvil.

Mensaje retornado cuando la empresa


verifica que el monto enviado para el pago
no corresponde a lo esperado de acuerdo a
la deuda.
MONTO A PAGAR
CP0144
ERRADO Comentario:
Este mensaje es exclusivo para aquellas
empresas que permitan que el Cliente
indique el monto a pagar (Validación
Parcial).

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

También podría gustarte