Skip to main content

Bancamiga

Introduction

This document provides the specifications for implementing Bancamiga 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 you to check if a payment made through mobile payment exists.

Request

POST {URL}/api/v1/Transaccion/bancamiga.movpay

Headers

Authorization: Bearer {token}
userIp: {client's IP address}

Request body

Field nameDescriptionTypeRequired
nombrePagadorCustomer's nameStringNo
codigoBancoPagador4-digit code of the bankStringYes
telefonoPagadorPhone number from which the mobile payment was madeStringYes
cedulaCustomer's identity card numberStringNo
numeroRerefenciaMobile payment authorization codeStringYes
montoAmount of the transactionNumberYes
emailCustomer's email addressStringYes
referenciaOptional value to identify something related to the paymentStringNo
trazaIdUnique traceability identifier in the merchant's databaseStringNo
TipoConstant indicating if the mobile payment is sent or received. Possible values: R=RECEIVED, P=SENT. Default value: RStringYes

Response

Response body

Field nameDescriptionType
CanalIndicates the channel being used to apply the payment in LukapayNumber
CargosAdicionalesObject containing additional chargesObject
CuotasObject containing information about installmentsObject
DescripciónContains the application's response to the payment, such as the transaction status and any additional informationString
ExitosoIndicates if the transaction was successful. It is used to validate the responseBoolean
FechaOperacionDate the transaction occurredString
InfoProcesoObject containing more detailed information about the transaction statusObject
InfoTarjetaObject containing information about the credit card used to make the payment. Only applies to card paymentsObject
InfoUsuarioPagadorObject that returns basic information about the user making the paymentObject
MedioDePagoIndicates the payment method usedString
MerchantIdReference for the transaction of the merchant used to apply the paymentString
MonedaCurrency code used to make the paymentString
MontoIndicates the amount of the payment madeNumber
MontoOriginalObject with information about the original amount. It is used when a currency conversion must be appliedObject
MontoUsdValue of the amount in U.S. dollars. It is used when MontoOriginal is specifiedNumber
TarjetaHabienteObject containing information about the payer (if specified)Object
TransaccionIdReference for the transaction in LukapayNumber
TransaccionMerchantIdReference for the transaction of the merchant used to apply the paymentNumber
TrazaIdInternal merchant identifier. If not provided by the merchant, a random code is generatedString

The attributes of the objects are specified in Transaction Response.

Usage Example

Request body

{
"nombrePagador": "Pedro Perez",
"codigoBancoPagador": "0105",
"telefonoPagador": "584125555555",
"cedula": "V 12345678",
"numeroRerefencia": "30867220134",
"monto": 1.0,
"email": "email@example.com",
"referencia": "",
"trazaId": "",
"tipo": "R"
}

Response body

{
"monto": 0,
"montoUsd": 0,
"infoProceso": {
"estatusProcesamiento": "string",
"codigoRespuestaCvv": "string"
},
"tarjetaHabiente": null,
"infoUsuarioPagador": {
"nombre": "string",
"apellido": "string",
"numeroIdentidad": "string",
"numeroTelefono": "string",
"email": "string"
},
"moneda": "string",
"infoTarjeta": null,
"transaccionId": 0,
"transaccionMerchantId": 0,
"descripcion": "string",
"trazaId": "string",
"exitoso": true,
"canal": "string",
"medioDePago": "string",
"montoOriginal": null,
"merchantId": "string",
"fechaOperacion": "string",
"cargosAdicionales": null
}

Error Codes

CodeMessage
401acceso no autorizado
400el pago ya fue registrado
400el número de teléfono no tiene el formato correcto
400el código del banco es incorrecto
400la moneda no está soportada
500ocurrió un error inesperado
{
"mensaje": "string",
"codigo": 0,
"continua": true,
"mensajeId": "string"
}

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.

Learn more about webhooks.