Banesco
Introducción
Este documento proporciona las especificaciones para implementar los métodos de pagos de Banesco 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
Realiza pagos a través de la modalidad de transferencias hacia cualquier banco.
Pago Móvil
Registra y valida pagos realizados a través de la Pago Móvil.
Pago Móvil
Permite registrar y validar pagos realizados a través de la modalidad de pago móvil.
Request
POST {URL}/api/v1/transaccion/banesco.pagomovil
Headers
Content-Type: application/json
Authorization: Bearer {token}
userIp: {dirección IP del cliente}
Body
Nombre del campo | Descripción | Tipo | Obligatorio |
---|---|---|---|
NombrePagador | Nombre del cliente | String | No |
CodigoBancoPagador | Código del banco destino de los fondos | String | Sí |
TelefonoPagador | Número de teléfono desde donde se realizó el pago móvil | String | Sí |
Cedula | Documento de identificación del cliente natural o jurídico beneficiario de los fondos | String | Sí |
NumeroReferencia | Número de referencia del pago móvil realizado | String | Sí |
NumeroCuenta | Mandar siempre como un string vacío | String | Sí |
Monto | Monto de la operación | Number | Sí |
Dirección de correo electrónico del cliente que realiza el pago | String | Sí | |
IdTraza | Identificador único de trazabilidad en la base de datos del comercio | String | Sí |
Referencia | Identificación del cliente final en caso de que se requiera | String | No |
idCanal | Canal por donde realiza la operación. Posibles valores: 1: Pasarela, 2: API (default), 3: Link de Pago, 4: Android, 5: iOS | Number | No |
FechaMovimiento | Fecha en la que se realizó el pago móvil. Formato: “DD/MM/YYYY” | String | Sí |
TipoAgent | Dispositivo de donde se realiza la conexión | String | No |
DireccionIp | Dirección IP de donde se realiza la conexión | String | Sí |
CargosAdicionales | Objeto con la información de cargos adicionales | Object | No |
MontoOriginal | Objeto con información del monto original. Se utiliza cuando se debe aplicar una conversión de moneda | Object | No |
Response
Nombre | Descripción | Tipo |
---|---|---|
Canal | Indica el canal que se está utilizando para aplicar el pago en Lukapay | Number |
CargosAdicionales | Objeto que contiene cargos adicionales. | Object |
Cuotas | Objeto que contiene información sobre cuotas. | Object |
Descripción | Contiene la respuesta de la aplicación del pago, como estatus de la transacción y cualquier información adicional | String |
Exitoso | Indica si la transacción fue exitosa o no. Se utiliza para validar la respuesta | Boolean |
FechaOperacion | Fecha que ocurrió la transacción | String |
InfoProceso | Objeto que contiene información más detallada del estatus de la transacción | Object |
InfoTarjeta | Objeto que contiene información de la tarjeta de crédito utilizada para realizar el pago. Solo aplica para pagos con tarjeta | Object |
InfoUsuarioPagador | Objeto que devuelve información básica del usuario que realiza el pago | Object |
MedioDePago | Indica el método de pago que se utilizó | String |
MerchantId | Referencia de la transacción del merchant utilizado para aplicar el pago | String |
Moneda | Código de la moneda utilizada para realizar el pago | String |
Monto | Indica el monto del pago realizado | Number |
MontoOriginal | Objeto con información del monto original. Se utiliza cuando se debe aplicar una conversión de moneda | Object |
MontoUsd | Valor del monto en dólar estadounidense. Se utiliza cuando se especifica el MontoOriginal | Number |
TarjetaHabiente | Objeto que contiene información del pagador (en caso de haber sido especificado) | Object |
TransaccionId | Referencia de la transacción en Lukapay | Number |
TransaccionMerchantId | Referencia de la transacción del merchant utilizado para aplicar el pago | Number |
TrazaId | Identificador 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
{
"IdTraza": "12fcb37859ed",
"Descripcion": "Chrome",
"DireccionIp": "1.1.1.1",
"TipoAgent": "Celular",
"NombrePagador": "Pedro Perez",
"CodigoBancoPagador": "0134",
"TelefonoPagador": "584121234567",
"IdCanal": 2,
"Cedula": "V12345678",
"NumeroCuenta": "",
"NumeroReferencia": "123456789",
"Monto": 16.03,
"Email": "demo@example.com",
"Link": null,
"MontoOriginal": null,
"CargosAdicionales": null,
"Referencia": "",
"FechaMovimiento": "09/08/2024"
}
Response Body
{
"Monto":16.03,
"MontoUsd":0,
"InfoProceso":{
"EstatusProcesamiento": "pending",
"CodigoRespuestaCvv": null
},
"TarjetaHabiente": null,
"Moneda":"VES",
"InfoTarjeta": null,
"InfoUsuarioPagador":{
"Nombre":"Pedro",
"Apellido":"Perez",
"Email":"demo@example.com"
},
"TransaccionId":12345,
"MerchantId":516458,
"Descripcion":"transacción en revisión",
"TrazaId":"1362c6e9f67e",
"Exitoso":true,
"MedioDePago":"Pago móvil",
"Canal":"API",
"MontoOriginal": null,
"MerchantId": "30867220134",
"FechaOperacion": "05/07/2024 19:23:20",
"CargosAdicionales": null,
"Cuotas": null
}
Transferencia
Permite registrar pagos a través de la modalidad de transferencia.
Request
POST {URL}/api/v1/transaccion/banesco.transferencia
Headers
Content-Type: application/json
Authorization: Bearer {token}
userIp: {dirección IP del cliente}
Body
Nombre del campo | Descripción | Tipo | Obligatorio |
---|---|---|---|
NombrePagador | Nombre del cliente | String | No |
CodigoBancoPagador | Código del banco destino de los fondos | String | Sí |
Cedula | Documento de identificación del cliente natural o jurídico beneficiario de los fondos | String | Sí |
NumeroCuenta | Número de cuenta destino de los fondos | String | Sí |
NumeroReferencia | Número de referencia del pago móvil realizado | String | Sí |
Monto | Monto de la operación | Number | Sí |
Dirección de correo electrónico del cliente que realiza el pago | String | Sí | |
IdTraza | Identificador único de trazabilidad en la base de datos del comercio | String | Sí |
Referencia | Identificación del cliente final en caso de que se requiera | String | No |
IdCanal | Canal por donde realiza la operación. Posibles valores: 1: Pasarela, 2: API (default), 3: Link de Pago, 4: Android, 5: iOS | Number | No |
FechaMovimiento | Fecha en la que se realizó el pago móvil. Formato: “DD/MM/YYYY” | String | Sí |
TipoAgent | Dispositivo de donde se realiza la conexión | String | No |
DireccionIp | Dirección IP de donde se realiza la conexión | String | Sí |
CargosAdicionales | Objeto con la información de cargos adicionales | Object | No |
Response
Nombre | Descripción | Tipo |
---|---|---|
Canal | Indica el canal que se está utilizando para aplicar el pago en Lukapay | Number |
CargosAdicionales | Objeto que contiene cargos adicionales. | Object |
Cuotas | Objeto que contiene información sobre cuotas. | Object |
Descripción | Contiene la respuesta de la aplicación del pago, como estatus de la transacción y cualquier información adicional | String |
Exitoso | Indica si la transacción fue exitosa o no. Se utiliza para validar la respuesta | Boolean |
FechaOperacion | Fecha que ocurrió la transacción | String |
InfoProceso | Objeto que contiene información más detallada del estatus de la transacción | Object |
InfoTarjeta | Objeto que contiene información de la tarjeta de crédito utilizada para realizar el pago. Solo aplica para pagos con tarjeta | Object |
InfoUsuarioPagador | Objeto que devuelve información básica del usuario que realiza el pago | Object |
MedioDePago | Indica el método de pago que se utilizó | String |
MerchantId | Referencia de la transacción del merchant utilizado para aplicar el pago | String |
Moneda | Código de la moneda utilizada para realizar el pago | String |
Monto | Indica el monto del pago realizado | Number |
MontoOriginal | Objeto con información del monto original. Se utiliza cuando se debe aplicar una conversión de moneda | Object |
MontoUsd | Valor del monto en dólar estadounidense. Se utiliza cuando se especifica el MontoOriginal | Number |
TarjetaHabiente | Objeto que contiene información del pagador (en caso de haber sido especificado) | Object |
TransaccionId | Referencia de la transacción en Lukapay | Number |
TransaccionMerchantId | Referencia de la transacción del merchant utilizado para aplicar el pago | Number |
TrazaId | Identificador 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
{
"IdTraza": "a56eb50786c2",
"Descripcion": "Chrome",
"DireccionIp": "1.1.1.1",
"TipoAgent": "Celular",
"NombrePagador": "Pedro Perez",
"CodigoBancoPagador": "0156",
"IdCanal": 2,
"Cedula": "V12345678",
"NumeroCuenta": "0102-0000-0000-12345678",
"NumeroReferencia": "123456789",
"MontoOriginal": null,
"Monto": 16.03,
"Email": "demo@example.com",
"FechaTransaccion": "09/08/2024",
"Link": null,
"Referencia": "",
"CargosAdicionales": null
}
Response Body
{
"Monto":16.03,
"MontoUsd":0,
"InfoProceso":{
"EstatusProcesamiento": "pending",
"CodigoRespuestaCvv": null
},
"TarjetaHabiente": null,
"Moneda":"VES",
"InfoTarjeta": null,
"InfoUsuarioPagador":{
"Nombre":"Pedro",
"Apellido":"Perez",
"Email":"demo@example.com"
},
"TransaccionId":12345,
"MerchantId":516458,
"Descripcion":"transacción en revisión",
"TrazaId":"a56eb50786c2",
"Exitoso":true,
"MedioDePago":"Transferencia",
"Canal":"API",
"MontoOriginal": null,
"MerchantId": "30867220134",
"FechaOperacion": "05/07/2024 19:23:20",
"CargosAdicionales": null,
"Cuotas": null
}
Cargo en cuenta
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.