Descripción general:
P2M Onboarding: Es el encargado de la creación del micro comercio y del canal definiendo los límites de las transacciones.
P2M Orquetador: Es el encargado de realizar la trasferencia por compra de un producto o servicio.
Crea tu aplicación
1. Crea tu aplicación y gestiona tus llaves de acceso; si ya las creaste continua con el Paso 2.
1.1 Debes asociar la cantidad de códigos únicos y terminales para que puedas usarlos en la transferencia
2. Consume el API de Bóveda - SDK PCI:
2.0. Descarga SDK.
Para descargar los archivos SDK, envíe una solicitud dando clic AQUÍ.
2.1. Crea un usuario a través de la operación createUser.
• URL Pruebas: https://apiadmin.apps-pruebas.credibanco.com/testing/api-ia/pci-dss/api/v1/services/createUser
• Método HTTP: POST
Parámetro | Obligatoriedad | Description |
---|---|---|
SI | Email del usuario | |
tyc | SI | String que acepta valores S o N para aceptar los términos y condiciones |
firstName | SI | El nombre del usuario |
lastName | SI | El apellido del usuario |
userType | SI | Tipo de documento del usuario, 1(CC), 4(CE), 5(Pasaporte), 6(Otro) |
documentNumber | SI | Número de documento del usuario |
cellphone | SI | Número de celular del usuario |
cvv | SI | Número de CVV de la tarjeta del usuario |
cardNumber | SI | Número de tarjeta del usuario |
alias | SI | El alias que se le dará a la tarjeta |
validDate | SI | Fecha de expiración de la tarjeta |
cardType | SI | El tipo de tarjeta, sea cd(tarjeta de credito) o db(tarjeta de débito). |
HTTP STATUS | Status Code | Message |
---|---|---|
400 | 05 | El usuario ya existe. |
400 | 07 | Correo electrónico con formato invalido. |
400 | 08 | Campos con valor vacíos. |
400 | 09 | El tipo de documento debe ser 1(CC), 2(CE), 5(Pasaporte) o 6(Otro). |
400 | 10 | El usuario no aceptó los Términos y Condiciones. |
400 | 11 | El tipo de tarjeta no es válido. |
400 | 12 | La fecha de expiración de la tarjeta no es válida. |
400 | 13 | El número de celular no es válido. |
500 | 14 | Validaciones diarias excedidas. Favor de validar nuevamente el día de mañana. |
500 | 15 | Error al realizar el microdébito/reverso |
500 | 16 | Error desconocido al realizar la validación de titularidad de tarjeta. |
500 | 17 | Error al realizar el microdébito/reverso |
200 | 18 | Se requiere la validación de microdébito. |
200 | 19 | Validación de tarjeta exitosa. |
500 | 20 | No existe la identificación. |
500 | 21 | No coinciden los datos. |
500 | 22 | Válido con documento no vigente. |
500 | 23 | Tipo de documento errado. |
500 | 24 | El número de tarjeta no corresponde a la identificación dada. |
500 | 25 | La tarjeta existe, pero no es válida para transar. |
500 | 26 | El número no es de una tarjeta de crédito. |
500 | 27 | El teléfono no coincide. |
500 | 28 | El email no coincide. |
500 | 29 | Error general. |
500 | 30 | Cliente con tarjeta activa en entidad. |
500 | 31 | Cliente sin tarjeta activa en entidad. |
500 | 32 | Error desconocido en validación de datacredito. |
500 | 33 | Error al guardar el registro de usuario. |
200 | 34 | Registro de usuario exitoso. |
500 | 36 | Error al realizar la transacción. |
2.1.1. Agregar una tarjeta a un usuario ya existente desde el servicio addCard (Este paso es opcional, aplica siempre y cuando se quiera agregar otra tarjeta a la ya existente).
• URL Pruebas
• Método HTTP: POST
Parámetro | Tipo | Obligatoriedad | Descripción |
---|---|---|---|
cvv | String | Obligatorio | Código de seguridad de la tarjeta a agregar |
cardNumber | String | Obligatorio | Número de tarjeta a agregar |
alias | String | Obligatorio | Nombre dado por el usuario a la tarjeta a agregar |
validDate | String | Obligatorio | Fecha de expiración de la tarjeta a agregar |
cardType | String | Obligatorio | Es el tipo de tarjeta a agregar, acepta los valores ‘cd’(Tarjeta Credito) y ‘db’(Tarjeta debito) |
favorite | String | Obligatorio | ‘S’ Si definir esta tarjeta agregar como favorita para compras, ‘N’ no definir esta esta tarjeta agregar como favorita para compras. |
HTTP status code | Code | Status |
---|---|---|
200 | 53 | Se requiere la validación de microdebito |
200 | 54 | Tarjeta almacenada exitosamente |
500 | 04 | Error al obtener valores desde el token de autorización |
500 | 55 | Error al almacenar la tarjeta |
500 | 24 | El numero de la tarjeta no corresponde a la identificación dada |
500 | 25 | La tarjeta existe, pero no es valida para transar |
500 | 26 | El número no es de una tarjeta de crédito |
500 | 29 | Error general |
500 | 30 | Cliente con tarjeta activa en entidad |
500 | 500 | 31 |
32 | Cliente sin tarjeta activa en entidad | Error desconocido en validación de datacredito |
400 | 57 | La tarjeta ingresada ya se encuentra registrada |
400 | 58 | El alias actualmente ya se encuentra registrada |
401 | 56 | Sesión de usuario invalida |
2.2 Obtén el valor del micro-débito
2.2.1. En el caso de estar en la etapa de implementación (en producción este valor será enviado por la entidad bancaria), debe consumir el servicio getTrxVal
• URL Pruebas
• Método HTTP: GET
• Campos de entrada: Debe ingresar por lo menos un campo para consumir el servicio.
Parámetro | Tipo | Obligatoriedad | Descripción |
---|---|---|---|
identification | String | Opcional | Número de identificación ingresado en el enrolamiento |
String | Opcional | Email ingresado en el enrolamiento | |
validationToken | String | Opcional | validationToken generado por el servicio de createUser o addCard = SDK - Pluggin |
HTTP status code | Code | Status |
---|---|---|
200 | - | Response correspondiente el microdebito se obtiene del campo trxVal |
400 | 1 | Debe enviar por lo menos un parámetro |
404 | 2 | No se ha encontrado registros con los parametros ingresados |
3.1 Confirma el valor del valor del micro-débito a través de la operación validateMicrodebit
• URL Pruebas: https://apiadmin.apps-Epruebas.credibanco.com/testing/api-ia/services/api/v1/validateMicrodebit
• Método HTTP: POST
Parámetro | Obligatoriedad | Descripción |
---|---|---|
value | SI | Valor que fue debitado al usuario de tipo String |
token | SI | Token de validación de microdébito producto del registro, campo de tipo String |
HTTP status code | Code | Status |
---|---|---|
500 | 04 | Error al obtener valores desde el token de authorizacion. |
200 | 39 | Se valido exitosamente el microdébito. Usuario registrado |
200 | Se valido exitosamente el microdébito. Tarjeta registrada | |
400 | 40 | Límite de intentos diarios excedido |
400 | 41 | Error al realizar la validación, estado de usuario no valido |
500 | Error al realizar la validación | |
500 | Validación fallida |
3.2 Obtener el token de sesión del usuario previamente creado desde los siguientes servicios.
3.2.1. Consumir el servicio de validateUserByDocument, este servicio valida si el usuario esta registrado en la bóveda, si el usuario existe se le proporciona una OTP que se necesitara para la autenticación del usuario
• URL Pruebas:
• Método HTTP: GET
HttpStatus | StatusCode | Message |
---|---|---|
200 | 00 | El usuario no ha confirmado el correo. Favor validar el código de verificación enviado al correo. |
200 | 01 | El usuario no ha registrado tarjetas. Favor continuar con el processo de registro. |
200 | 02 | El documentop existe, se puede proceder con la autenticación. |
404 | 03 | No existe registro para ese documento. |
500 | 04 | Ocurrió un error al validar el documento del usuario. |
500 | 04 | Error al obtener valores desde el token de authorización. |
3.2.2 Consumir el servicio authenticateUser donde se obtiene el sesión token, este servicio permite al usuario iniciar sesión con el fin de utilizar el servicio de listado de tarjetas.
• URL Pruebas:
• Método HTTP: POST
campo | Obligatoriedad | Descripción |
---|---|---|
SI | Email del usuario registrado | |
otp | SI | La OTP que se obtiene en el correo registrado al momento de consumir el servicio validateUserByDocument |
HttpStatus | StatusCode | Message |
---|---|---|
500 | 04 | Error al obtener valores desde el token de autorización |
200 | 42 | Autenticación correcta |
400 | 43 | Error al validar el OTP |
401 | 43 | OTP no valido |
500 | 43 | Error al validar el OTP |
401 | 44 | OTP no valido |
403 | 45 | Número máximo de intentos excedido, favor generar nuevamente el OTP |
401 | 46 | La fecha de vigencia del OTP se ha vencido, favor generar nuevamente el OTP |
3.3 Consumir el servicio userCards este servicio muestra el listado de tarjetas que tiene asociadas el usuario, el cual se obtiene el token de tarjeta para consumir el servicio se necesita tener en cuenta las siguientes condiciones:
- carTokenSender-> El Bin debe estar habilitado para enviar dinero
- El bin de las tarjetas a utilizar, debe estar agregado y habilitado tanto para enviar, como para recibir dinero (Esto se realiza y se consulta en el paso 3.4)
• URL Pruebas:
• Método HTTP: GET
• Campos de entrada: En la cabecera (Headers) se pondrá el sessionToken obtenido en la autenticación
HttpStatus | StatusCode | Message |
---|---|---|
200 | 50 | Consulta exitosa de listado de tarjetas. |
500 | 51 | Error al consultar el listado de tarjetas. El usuario no tiene tarjetas. |
401 | 52 | Token de sesión no valido. |
3.4 Consumir los servicios para asignar o actualizar y consultar favorita para recibir y favorita para enviar dinero
3.4.1 Consumir el servicio setFavoriteCardToSend para asignar, actualizar la tarjeta para favorita enviar dinero
• URL Pruebas:
• Método HTTP: PUT
campo | Obligatoriedad | Descripción |
---|---|---|
sessionToken | SI | Es el sesióntoken del usuario registrado en la bóveda, se obtiene del servicio de authenticateUser |
cardToken | SI | Es el token de tarjeta que se desea asignar como favorita para enviar dinero, se obtiene del servicio de userCards |
• Códigos de respuesta:
3.4.2 Consumir el servicio setFavoriteCardToReceive para asignar o actualizar la tarjeta para favorita recibir dinero
• URL Pruebas:
• Método HTTP: PUT
• Campos de entrada:
campo | Obligatoriedad | Descripción |
---|---|---|
sessionToken | SI | Es el sesióntoken del usuario registrado en la bóveda, se obtiene del servicio de authenticateUser |
cardToken | SI | Es el token de tarjeta que se desea asignar como favorita para recibir dinero, se obtiene del servicio de userCards |
3.4.3 Consumir el servicio consultCardsAsFavorites para consultar cual tarjeta tiene el usuario como favorita para enviar o recibir dinero
• URL Pruebas:
• Método HTTP: GET
• Campos de entrada: En los parámetros se envía el sessionToken que se obtiene del servicio de autenticación
• Códigos de respuesta:
Consumir Api P2M Onboarding
4. Consumir Api P2M Onboarding.
4.1 Crea un canal a través del servicio createChannel
• URL Pruebas:
• Método HTTP: GET
campo | Descripción | Requerido |
---|---|---|
codigoUnicoCanal | Código único del canal, String (9 dígitos) | X |
microcomercio | Micro comercio | X |
Correo del micro comercio, String | X | |
numeroIdentificacion | Número de identificación del micro comercio | X |
terminal | Terminal del micro comercio String | X |
tipoIdentificacion | Tipo de identificación del micro comercio, String(CC o CE) | X |
nombre | Nombre del canal | X |
limitesPorDefecto | Límites del canal, Entero-> 1= límites de credibanco, 2=el canal puede crear sus límites con base a los de credibanco | X |
limites | Limites de transacciones | X |
cantidadMaximaDiaria | Cantidad máxima de transacciones por día, Entero | X |
cantidadMaximaMensual | Cantidad máxima de transacciones por mes, Entero | X |
montoMaximo | Monto máximo de la transacción, Long | X |
montoMinimo | Monto mínimo de la transacción, Long | X |
valorFijoComision | Porcentaje de comisión, Float->Decimal | valorFijoComision |
Valor fijo de comisión, Long |
campo | Descripción |
---|---|
statusCode | Código de resultado de transacción, es un valor entero. |
message | Mensaje de resultado de transacción. Es una string |
tokenVerification | Token de verificación con el cual vamos a poder realizar las consultas de transferencias |
Http-StatusCode | Code | Message |
---|---|---|
400 | 400 | Bad Request |
401 | 403 | Permiso denegado |
403 | 403 | Internal Server Error |
500 | 500 | Internal Server Error |
201 | 1 | Creado el canal exitosamente |
409 | 2 | Ya existe ese código único |
409 | 3 | No tiene tarjeta favorita para recibir dinero activa el usuario |
409 | 4 | El email no existe |
409 | 5 | El tipo de identificación solo puede ser CC o CE |
409 | 6 | Limites por defecto, solo puede ser 1 o 2 |
409 | 7 | Limites, datos obligatorios |
409 | 8 | Los limites deben ser mayores a 0. |
409 | 9 | El límite máximo diario no puede ser mayor al mensual. |
409 | 10 | El monto mínimo no puede ser mayor al monto máximo. |
409 | 11 | Debe establecer primero los limites generales a nivel CredibanCo. |
409 | 12 | No hay límite de monto mínimo |
409 | 13 | No hay límite de monto máximo |
409 | 14 | No hay límite de cantidad diaria |
409 | 15 | No hay límite de cantidad mensual |
409 | 16 | El monto mínimo no puede ser mayor al monto mínimo general. |
409 | 17 | El monto máximo no puede ser mayor al monto máximo general. |
409 | 18 | La cantidad máxima diaria no puede ser mayor a la cantidad máxima diaria general. |
409 | 19 | La cantidad máxima mensual no puede ser mayor a la cantidad máxima mensual general. |
409 | 20 | Solo puede diligenciar un campo entre porcentaje de comisión y valor fijo de comisión. |
Consulta de las transferencias realizadas
5. Consulta de las transferencias realizadas
5.1 Consumir el servicio transferByCanalSSOAndIdTransactionalQuery
• URL Pruebas:
• Método HTTP: GET
• Campos de entrada: Se requiere el parámetro transactionalQueryIdentifier que es el identificador que se ingresa en el servicio persontoperson
HttpStatusCode | statusCode | message |
---|---|---|
400-Bad request | 10 | El identificador de la consulta transaccional no tiene el formato valido, el formato correcto es yyyyMMddHHmmssSSS |
409-Conflict | 11 | No se logró obtener el canal-sso |
409 | 66 | El identificador de la consulta transaccional no existe para ese canal |
102- PROCESSING | 3 | Pendiente por hacer el PUSH-OCT |
102 | 4 | Pendiente por hacer el REVERSO-AFT |
409 | 5 | No existen transferencias realizadas bajo ese criterio |
5.2 Consumir el servicio searchTransfersInIntervalDates
• URL Pruebas:
• Método HTTP: GET
• Campos de entrada: El formato para los campos fecha inicio y fecha final son “dd-MM-yyyy HH:mm” “día-mes-año Hora:minuto”, la hora es en formato 24H.
HttpStatusCode | statusCode | message |
---|---|---|
409-Conflict | 1 | No se logró obtener el canal-sso |
400-Bad request | 2 | La fecha inicial no puede ser mayor a la final |
400 | 3 | La fecha final no puede ser menor a la inicial |
409 | 4 | La búsqueda supera la máxima cantidad días |
400 | 5 | El formato de fecha no es correcto, el formato correcto es dd-MM-yyyy HH:mm |
409 | 6 | No existen transferencias realizadas bajo ese criterio |
• Link de la colección de P2M:
DEPENDENCIAS P2M
DEPENDENCIAS SERVICIO createChanel
Servicios del API de Bóveda:
1. CreateUser
2. ValidateMicrodebit
3. ValidateUserByDocument
4. AuthenticateUser
5. UserCards
6. SetFavoriteCardToSend
7. SetFavoriteCardToReceive
8. AddCardDummy
DEPENDENCIAS SERVICIO personToMicroCommerce
Servicios Onboarding API P2M:
1. CreateChannel
2. DefineParametry
Certificación
Para iniciar el proceso de Certificación, debes haber finalizado tu implementación con éxito. Inicia tu solicitud AQUÍ.
Glosario
Puedes consultar el glosario dando clic AQUÍ.
Glosario servicios
p2m-onboarding
• createChannel: Permite crear el canal.
• associateMicrocomercioToChannel: Permite asociar un micro comercio a un canal. Existente.
• inactiveMicrocomercio: Permite inactivar micro comercio creado.
• updateMicrocomercio: Permite actualizar un micro comercio ya existente.
• defineParametryGeneric: Permite crear los límites genéricos de Credibanco.
• genericCanalConsult: Permite consultar los limites generales (Credibanco) o de un canal.
• updateParametry: Permite actualizar los limites generales (Credibanco) o de un canal.
• existsMicrocomercio: Permite validar la existencia de un micro comercio asociado a un canal.
p2m-orquetador
• personToMicroCommerce: Permite la transferencia entre persona a micro comercio mediante un QR estático.
• pullAFT: Permite debitar el monto desde la tarjeta del remitente
• pushOCT: Permite acreditar el monto, menos comisiones si las hay, para la tarjeta del destinatario
• reverseAFT: Servicio para reversar la AFT en caso de que allá sido fallida la OCT
• searchTransfersByUniqueCodeAndDays: Busca las transferencias P2M hechas por código único del canal y en base a cierta cantidad de días incluyendo el día actual ordenadas.
• searchTransfersInIntervalDates: Búsqueda de transferencias en un intervalo de fechas (formato 24 horas) y código único del canal
• transferByIdTransactionalAndCU: Búsqueda de transferencia por id transaccional de consulta y código único del canal