Banesco
Introduction
This document provides the specifications for implementing Banesco payment methods through the Luka API.
The URL is specified in Environments.
Authentication is done via a token (JWT) returned by the login method using the credentials provided by Lukapay. See documentation.
Payment methods
Bank Transfer
Make payments through bank transfers to any bank.
Mobile Payment
Register and validate payments made via Mobile Payment.
Mobile Payment
Allows registering and validating payments made through the mobile payment method.
Request
POST {URL}/api/v1/transaccion/banesco.pagomovil
Headers
Content-Type: application/json
Authorization: Bearer {token}
userIp: {customer's IP address}
Request Body
Field Name | Description | Type | Required |
---|---|---|---|
NombrePagador | Customer's name | String | No |
CodigoBancoPagador | Code of the bank where the funds are being transferred | String | Yes |
TelefonoPagador | Phone number from which the mobile payment was made | String | Yes |
Cedula | Identification document of the natural or legal customer receiving the funds | String | Yes |
NumeroReferencia | Reference number of the mobile payment made | String | Yes |
NumeroCuenta | Always send as an empty string | String | Yes |
Monto | Amount of the transaction | Number | Yes |
Email address of the customer making the payment | String | Yes | |
IdTraza | Unique trace identifier in the merchant's database | String | Yes |
Referencia | Identification of the final customer if needed | String | No |
idCanal | Channel through which the transaction is made. Possible values: 1: Gateway, 2: API (default), 3: Payment Link, 4: Android, 5: iOS | Number | No |
FechaMovimiento | Date when the mobile payment was made. Format: “DD/MM/YYYY” | String | Yes |
TipoAgent | Device from which the connection is made | String | No |
DireccionIp | IP address from which the connection is made | String | Yes |
CargosAdicionales | Object with additional charges information | Object | No |
MontoOriginal | Object with information on the original amount. Used when currency conversion is applied | Object | No |
Response
Field Name | Description | Type |
---|---|---|
Canal | Channel used to process the payment | Number |
CargosAdicionales | Additional charges details | Object |
Cuotas | Information about payment installments | Object |
Descripción | Response providing the transaction status and any additional information | String |
Exitoso | Indicates if the transaction was successful | Boolean |
FechaOperacion | Date and time of the transaction | String |
InfoProceso | Detailed information about the transaction status | Object |
InfoTarjeta | Credit card details used for payment (if applicable) | Object |
InfoUsuarioPagador | Information about the customer making the payment | Object |
MedioDePago | Payment method used | String |
MerchantId | Merchant's transaction identifier | String |
Moneda | Currency used for the payment | String |
Monto | Amount paid | Number |
MontoOriginal | Information about the original amount (if currency conversion applies) | Object |
MontoUsd | Value of the amount in U.S. dollars | Number |
TarjetaHabiente | Payer's details if a card is used | Object |
TransaccionId | Transaction identifier in Lukapay | Number |
TransaccionMerchantId | Transaction identifier from the merchant | Number |
TrazaId | Unique identifier for the transaction in the merchant's database | String |
For more details on the response objects, see Transaction Response.
Example Usage
Request Body
{
"IdTraza": "12fcb37859ed",
"Descripcion": "Chrome",
"DireccionIp": "1.1.1.1",
"TipoAgent": "Cell phone",
"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": "transaction under review",
"TrazaId": "1362c6e9f67e",
"Exitoso": true,
"MedioDePago": "Mobile payment",
"Canal": "API",
"MontoOriginal": null,
"MerchantId": "30867220134",
"FechaOperacion": "05/07/2024 19:23:20",
"CargosAdicionales": null,
"Cuotas": null
}
Bank Transfer
Allows registering payments through the transfer method.
Request
POST {URL}/api/v1/transaccion/banesco.transferencia
Headers
Content-Type: application/json
Authorization: Bearer {token}
userIp: {customer's IP address}
Request Body
Field Name | Description | Type | Required |
---|---|---|---|
NombrePagador | Customer's name | String | No |
CodigoBancoPagador | Code of the bank where the funds are being transferred | String | Yes |
Cedula | Identification document of the natural or legal customer receiving the funds | String | Yes |
NumeroCuenta | Destination account number of the funds | String | Yes |
NumeroReferencia | Reference number of the payment made | String | Yes |
Monto | Amount of the transaction | Number | Yes |
Email address of the customer making the payment | String | Yes | |
IdTraza | Unique trace identifier in the merchant's database | String | Yes |
Referencia | Identification of the final customer if needed | String | No |
IdCanal | Channel through which the transaction is made. Possible values: 1: Gateway, 2: API (default), 3: Payment Link, 4: Android, 5: iOS | Number | No |
FechaMovimiento | Date when the transfer was made. Format: “DD/MM/YYYY” | String | Yes |
TipoAgent | Device from which the connection is made | String | No |
DireccionIp | IP address from which the connection is made | String | Yes |
CargosAdicionales | Object with additional charges information | Object | No |
Response
Field Name | Description | Type |
---|---|---|
Canal | Channel used to process the payment | Number |
CargosAdicionales | Additional charges details | Object |
Cuotas | Information about payment installments | Object |
Descripción | Response providing the transaction status and any additional information | String |
Exitoso | Indicates if the transaction was successful | Boolean |
FechaOperacion | Date and time of the transaction | String |
InfoProceso | Detailed information about the transaction status | Object |
InfoTarjeta | Credit card details used for payment (if applicable) | Object |
InfoUsuarioPagador | Information about the customer making the payment | Object |
MedioDePago | Payment method used | String |
MerchantId | Merchant's transaction identifier | String |
Moneda | Currency used for the payment | String |
Monto | Amount paid | Number |
MontoOriginal | Information about the original amount (if currency conversion applies) | Object |
MontoUsd | Value of the amount in U.S. dollars | Number |
TarjetaHabiente | Payer's details if a card is used | Object |
TransaccionId | Transaction identifier in Lukapay | Number |
TransaccionMerchantId | Transaction identifier from the merchant | Number |
TrazaId | Unique identifier for the transaction in the merchant's database | String |
For more details on the response objects, see Transaction Response.
Example Usage
Request Body
{
"IdTraza": "a56eb50786c2",
"Descripcion": "Chrome",
"DireccionIp": "1.1.1.1",
"TipoAgent": "Cell phone",
"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": "transaction under review",
"TrazaId": "a56eb50786c2",
"Exitoso": true,
"MedioDePago": "Transfer",
"Canal": "API",
"MontoOriginal": null,
"MerchantId": "30867220134",
"FechaOperacion": "05/07/2024 19:23:20",
"CargosAdicionales": null,
"Cuotas": null
}
Account Charge
Work in progress.
Webhooks for Asynchronous Payments
Our platform validates the payment reference provided by the user in real-time. If the reference is not automatically found, the transaction is marked as "Pending Review" and retried up to 5 times, with attempts every 2 minutes. If it still cannot be found, the transaction is reviewed manually. In such cases, the user is notified via email. In the integration, the Exitoso
field will be marked as true
, but you must check InfoProceso.EstatusProcesamiento
to determine the actual status of the payment: either success
(successful) or pending
. The final status is sent through a webhook.