Skip to main content

Bancaribe

Introducción

Este documento proporciona las especificaciones para implementar los métodos de pagos de Bancaribe a través del API de Luka.

La URL está especificada en Ambientes.

La autenticación se realiza a través de un token (JWT) que retorna el método de login con las credenciales proporcionadas por Lukapay. Ver documentación.

Métodos de Pago

Transferencia Inmediata

Permite a los comercios la posibilidad de realizar pagos a proveedores o clientes a través de la modalidad de transferencias hacia cualquier banco nacional.

Request

POST {URL}/api/v1/transaccion/bancaribe.tranferencia

Headers

Content-Type: application/json
Authorization: Bearer {token}
userIp: {dirección IP del cliente}

Body

Nombre del campoDescripciónTipoObligatorio
browserAgentNavegador web donde se realiza la consultaString
cuentaDestinoNúmero de cuenta o teléfono destino de los fondosString
bancoDestinoCódigo del banco destino de los fondosString
idTrazaIdentificador único de trazabilidad en la base de datos del comercioString
cedulaBeneficiarioDocumento de identificación del cliente natural o jurídico beneficiario de los fondosString
nombreBeneficiarioNombre del beneficiario de los fondosString
montoMonto de la operaciónNumber
idCanalCanal por donde realiza la operación. Posibles valores: 1: Pasarela, 2: API (default), 3: Link de Pago, 4: Android, 5: iOSNumberNo
referenciaIdentificación del cliente final en caso de que se requieraStringNo
emailDirección de correo electrónico del cliente que realiza el pagoString

Response

Body

NombreDescripciónTipo
CanalIndica el canal que se está utilizando para aplicar el pago en LukapayNumber
CargosAdicionalesObjeto que contiene cargos adicionales.Object
CuotasObjeto que contiene información sobre cuotas.Object
DescripciónContiene la respuesta de la aplicación del pago, como estatus de la transacción y cualquier información adicionalString
ExitosoIndica si la transacción fue exitosa o no. Se utiliza para validar la respuestaBoolean
FechaOperacionFecha que ocurrió la transacciónString
InfoProcesoObjeto que contiene información más detallada del estatus de la transacciónObject
InfoTarjetaObjeto que contiene información de la tarjeta de crédito utilizada para realizar el pago. Solo aplica para pagos con tarjetaObject
InfoUsuarioPagadorObjeto que devuelve información básica del usuario que realiza el pagoObject
MedioDePagoIndica el método de pago que se utilizóString
MerchantIdReferencia de la transacción del merchant utilizado para aplicar el pagoString
MonedaCódigo de la moneda utilizada para realizar el pagoString
MontoIndica el monto del pago realizadoNumber
MontoOriginalObjeto con información del monto original. Se utiliza cuando se debe aplicar una conversión de monedaObject
MontoUsdValor del monto en dólar estadounidense. Se utiliza cuando se especifica el MontoOriginalNumber
TarjetaHabienteObjeto que contiene información del pagador (en caso de haber sido especificado)Object
TransaccionIdReferencia de la transacción en LukapayNumber
TransaccionMerchantIdReferencia de la transacción del merchant utilizado para aplicar el pagoNumber
TrazaIdIdentificador interno del comercio. En caso de que el comercio no lo proporcione se genera un código aleatorio.String

Los atributos de los objetos están especificados en Respuesta de transacción.

Ejemplo de uso

Request Body

{
"BancoDestino": "0114",
"CedulaBeneficiario": "V1234567",
"CuentaDestino": "01140111111112222222",
"BrowserAgent": "Chrome",
"Monto": 16.03,
"NombreBeneficiario": "Pedro Perez",
"IdTraza": "1362c6e9f67e",
"idCanal": 1,
"Referencia": "",
"Email": "demo@example.com"
}

Response Body

{
"Monto": 16.03,
"MontoUsd": 0,
"InfoProceso": {
"EstatusProcesamiento": "success"
},
"TarjetaHabiente": null,
"Moneda": "VES",
"InfoTarjeta": null,
"InfoUsuarioPagador": {
"Nombre": "Pedro",
"Apellido": "Perez",
"Email": "demo@example.com"
},
"TransaccionId": 11339,
"MerchantId": 516458,
"Descripcion": "Transacción exitosa",
"TrazaId": "1362c6e9f67e",
"Exitoso": true,
"MedioDePago": "Transferencia",
"Canal": "API",
"MontoOriginal": null,
"MerchantId": "30867220134",
"FechaOperacion": "05/07/2024 19:23:20",
"CargosAdicionales": null,
"Cuotas": null
}

Pago Móvil y Transferencia

Permite validar y registrar un pago realizado a través de la modalidad de pago móvil y transferencia.

Request

POST {URL}/api/v1/transaccion/bancaribe.consulta

Headers

Content-Type: application/json
Authorization: Bearer {token}
userIp: {dirección IP del cliente}

Body

Nombre del campoDescripciónTipoObligatorio
nombrePagadorNombre del clienteStringNo
codigoBancoPagadorCódigo de 4 dígitos del bancoString
telefonoPagadorNúmero de teléfono desde donde se realizó el pago móvil.String
cedulaPagadorCédula de identidad del clienteStringNo
numeroReferenciaCódigo de autorización del pago móvil o transferencia.String
montoMonto de la operaciónNumber
emailCorreo electrónico del clienteString
referenciaValor opcional que permite identificar algo relacionado con el pagoStringNo
idTrazaIdentificador único de trazabilidad en la base de datos del comercio.String
idCanalCanal por donde realiza la operación.NumberNo
tipoTransaccionIndica el tipo de transacción. "PM": Pago Móvil, "TRF": TransferenciaString

Response

Body

NombreDescripciónTipo
CanalIndica el canal que se está utilizando para aplicar el pago en LukapayNumber
CargosAdicionalesObjeto que contiene cargos adicionales.Object
CuotasObjeto que contiene información sobre cuotas.Object
DescripciónContiene la respuesta de la aplicación del pago, como estatus de la transacción y cualquier información adicionalString
ExitosoIndica si la transacción fue exitosa o no. Se utiliza para validar la respuestaBoolean
FechaOperacionFecha que ocurrió la transacciónString
InfoProcesoObjeto que contiene información más detallada del estatus de la transacciónObject
InfoTarjetaObjeto que contiene información de la tarjeta de crédito utilizada para realizar el pago. Solo aplica para pagos con tarjetaObject
InfoUsuarioPagadorObjeto que devuelve información básica del usuario que realiza el pagoObject
MedioDePagoIndica el método de pago que se utilizóString
MerchantIdReferencia de la transacción del merchant utilizado para aplicar el pagoString
MonedaCódigo de la moneda utilizada para realizar el pagoString
MontoIndica el monto del pago realizadoNumber
MontoOriginalObjeto con información del monto original. Se utiliza cuando se debe aplicar una conversión de monedaObject
MontoUsdValor del monto en dólar estadounidense. Se utiliza cuando se especifica el MontoOriginalNumber
TarjetaHabienteObjeto que contiene información del pagador (en caso de haber sido especificado)Object
TransaccionIdReferencia de la transacción en LukapayNumber
TransaccionMerchantIdReferencia de la transacción del merchant utilizado para aplicar el pagoNumber
TrazaIdIdentificador interno del comercio. En caso de que el comercio no lo proporcione se genera un código aleatorio.String

Los atributos de los objetos están especificados en Respuesta de transacción.

Ejemplo de uso

Request body

{
"nombrePagador": "Pedro Perez",
"codigoBancoPagador": "0105",
"telefonoPagador": "04125555555",
"cedulaPagador": "V12345678",
"numeroReferencia": "30867220134",
"monto": 1.0,
"email": "email@example.com",
"referencia": "",
"idTraza": "aedda81a8aee",
"idCanal": 1,
"numeroFactura": "null",
"tipoTransaccion": "PM"
}

Response body

Success

El movimiento se validó efectivamente y se registra.

{
"Monto": 1.03,
"MontoUsd": 0.0,
"InfoProceso": {
"EstatusProcesamiento": "success",
"CodigoRespuestaCvv": null
},
"TarjetaHabiente": null,
"InfoUsuarioPagador": {
"Nombre": "Pedro",
"Apellido": "Perez",
"NumeroIdentidad": "V12345678",
"NumeroTelefono": "04141232233",
"Email": "email@example.com"
},
"Moneda": "VES",
"InfoTarjeta": null,
"TransaccionId": 101935,
"TransaccionMerchantId": 101935,
"Descripcion": "transacción exitosa",
"TrazaId": "aedda81a8aee",
"Exitoso": true,
"Canal": "Pasarela de pago",
"MedioDePago": "Transferencia",
"MontoOriginal": null,
"MerchantId": "30867220134",
"FechaOperacion": "05/07/2024 19:23:20",
"CargosAdicionales": null,
"Cuotas": null
}
Pending

El movimiento no se validó, se registra como pendiente.

note

Para ver más sobre pagos pendientes, ver Webhooks: Pagos diferidos.

Error: Pago Registrado

El mismo pago ya fue validado y registrado anteriormente.

{
"Codigo": 400,
"Mensaje": "el pago ya fue registrado",
"Continua": false
}

Pago C2P

Permite realizar pago a través de la modalidad C2P

Request

POST {URL}/api/v1/transaccion/bancaribe.c2p

Headers

Content-Type: application/json
Authorization: Bearer {token}
userIp: {dirección IP del cliente}

Request Body

Nombre del campoDescripciónTipoObligatorio
browserAgentNavegador web donde se realiza la consultaString
cuentaDestinoTeléfono del cliente pagadorString
bancoDestinoCódigo del Banco PagadorString
idTrazaIdentificador único de trazabilidad en la base de datos del comercioString
cedulaBeneficiarioCedula del cliente pagadorString
nombreBeneficiarioNombre del cliente pagadorString
montoMonto de la operaciónNumber
idCanalCanal por donde realiza la operación. Posibles valores: 1: Pasarela, 2: API (default), 3: Link de Pago, 4: Android, 5: iOSNumberNo
emailDirección de correo electrónico del cliente que realiza el pagoString
ReferenciaIdentificación del cliente final en caso de que se requieraStringNo
claveTemporalCódigo OTPString

Response

NombreDescripciónTipo
CanalIndica el canal que se está utilizando para aplicar el pago en LukapayNumber
CargosAdicionalesObjeto que contiene cargos adicionales.Object
CuotasObjeto que contiene información sobre cuotas.Object
DescripciónContiene la respuesta de la aplicación del pago, como estatus de la transacción y cualquier información adicionalString
ExitosoIndica si la transacción fue exitosa o no. Se utiliza para validar la respuestaBoolean
FechaOperacionFecha que ocurrió la transacciónString
InfoProcesoObjeto que contiene información más detallada del estatus de la transacciónObject
InfoTarjetaObjeto que contiene información de la tarjeta de crédito utilizada para realizar el pago. Solo aplica para pagos con tarjetaObject
InfoUsuarioPagadorObjeto que devuelve información básica del usuario que realiza el pagoObject
MedioDePagoIndica el método de pago que se utilizóString
MerchantIdReferencia de la transacción del merchant utilizado para aplicar el pagoString
MonedaCódigo de la moneda utilizada para realizar el pagoString
MontoIndica el monto del pago realizadoNumber
MontoOriginalObjeto con información del monto original. Se utiliza cuando se debe aplicar una conversión de monedaObject
MontoUsdValor del monto en dólar estadounidense. Se utiliza cuando se especifica el MontoOriginalNumber
TarjetaHabienteObjeto que contiene información del pagador (en caso de haber sido especificado)Object
TransaccionIdReferencia de la transacción en LukapayNumber
TransaccionMerchantIdReferencia de la transacción del merchant utilizado para aplicar el pagoNumber
TrazaIdIdentificador interno del comercio. En caso de que el comercio no lo proporcione se genera un código aleatorio.String

Los atributos de los objetos están especificados en Respuesta de transacción.

Ejemplo de uso

Request Body

{
"BancoDestino": "0114",
"CedulaBeneficiario": "V1234567",
"CuentaDestino": "01140111111112222222",
"BrowserAgent": "Chrome",
"Monto": 16.03,
"NombreBeneficiario": "Pedro Perez",
"IdTraza": "1362c6e9f67e",
"idCanal": 1,
"Email": "demo@example.com",
"claveTemporal": "15487898"
}

Response Body

{
"Monto": 16.03,
"MontoUsd": 0,
"InfoProceso": {
"EstatusProcesamiento": "success"
},
"TarjetaHabiente": null,
"Moneda": "VES",
"InfoTarjeta": null,
"InfoUsuarioPagador": {
"Nombre": "Pedro",
"Apellido": "Perez",
"Email": "demo@example.com"
},
"TransaccionId": 11339,
"MerchantId": 516458,
"Descripcion": "Transacción exitosa",
"TrazaId": "1362c6e9f67e",
"Exitoso": true,
"MedioDePago": "C2P",
"Canal": "API",
"MontoOriginal": null,
"MerchantId": "30867220134",
"FechaOperacion": "05/07/2024 19:23:20",
"CargosAdicionales": null,
"Cuotas": null
}

Vuelto

En proceso de documentación.

Webhooks para pagos diferidos

Nuestra plataforma valida en línea la referencia de pago registrada por el usuario. Si no se encuentra automáticamente, la transacción se marca como "Pendiente por revisión" y se reintenta hasta 5 veces cada 2 minutos. Si aún no se encuentra, se revisa manualmente. En estos casos, el usuario es notificado por correo. En la integración, el campo Exitoso será true, pero se debe verificar InfoProceso.EstatusProcesamiento para conocer el estatus real del pago: success (exitoso) o pending (pendiente). El estatus final se envía a través de un webhook.

Ver más sobre webhooks.