Banplus
Introduction
This document provides the specifications for implementing Banplus 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
Mobile Payment
Allows registering and validating payments made through mobile payment methods.
Request
POST {URL}/api/v1/transaccion/banplus.p2c
Headers
Content-Type: application/json
Authorization: Bearer {token}
userIp: {customer IP address}
Request Body
Field Name | Description | Type | Required |
---|---|---|---|
NombrePagador | Customer's name | String | No |
CodigoBancoPagador | Bank code for the destination of the funds | String | Yes |
TelefonoPagador | Phone number from which the mobile payment was made | String | Yes |
Cedula | Identification document of the natural or legal person receiving the funds | String | Yes |
NumeroReferencia | Reference number of the mobile payment made | String | Yes |
Monto | Amount of the transaction | Number | Yes |
Email address of the customer making the payment | String | Yes | |
IdTraza | Unique traceability identifier in the merchant's database | String | Yes |
Referencia | Final customer's identification if required | 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 |
DireccionIp | IP address from which the connection is made | String | Yes |
CargosAdicionales | Object with additional charges information | Object | No |
MontoOriginal | Object with original amount information. Used when currency conversion is required | 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
{
"TrazaId": "12fcb37859ed",
"NombrePagador": "Pedro Perez",
"CodigoBancoPagador": "0134",
"TelefonoPagador": "584121234567",
"IdCanal": 2,
"Cedula": "V12345678",
"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
}
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.