Skip to main content

Payment Link

Introduction

This contains the specifications for implementing the Luka Payment Link. In order to use the API, the merchant must have the credentials associated with the merchant configuration, both for quality and production, in relation to: accepted currencies, payment methods and graphical interface. These credentials will be delivered once the delivery process has started.

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.

The Payment Link is created through the API with the following specifications:

Request

POST {URL}/api/v1/link/token

Headers

Content-Type: application/json
Authorization: Bearer {token}

Body

FieldDescriptionTypeMandatory
NombreIdentification of the final customer, if required. For example: access card, insurance number, etc. Optional field.StringNo
MontoPayment amount. It must be in decimal format.NumberYes
MonedaCodigoCode of the currency in which the payment will be made. See the currency table.StringNo
MetodosPagoArray with the keys identifying the payment method that will be used in the transaction. See the payment methods table in section 1.ArrayNo
IdTrazaID of the transaction in the merchant's internal system. It is used for complete traceability of the operation. Optional field.StringYes
EmailEmail address associated with the payment. For example: example@mail.comStringNo

Response

A 201 code will be received, and the payment link URL will be found in the Location header of the response.

Usage examples

Request body

{ 
"MonedaCodigo": "USD",
"Monto": 12.20,
"MetodosPago": ["zelle"],
"Referencia": "",
"IdTraza": "",
"Email": "ejemplo@mail.com"
}

Response header

HTTP/1.1 201 Created
Server: nginx/1.16.1
Date: Tue, 09 Aug 2022 20:09:13 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 0
Connection: keep-alive
Location: https://qa.lukapay.me/payco/b262a06e-f073-465c-89e5-5a54934bb4af
id-link: b262a06e-f073-465c-89e5-5a54934bb4af
nro-orden: 3372
api-supported-versions: 1.0

Return URL

The system can redirect the page once the payment process on the Luka Link is completed. In this case, the merchant must provide a URL that will be configured in the application for this purpose.

If a return URL is configured, an object encoded in base64 with the successful or failed response will be sent through the URL.

Successful Response Structure

NameDescriptionType
CanalIndicates the channel used to process the payment in LukapayNumber
CargosAdicionalesObject containing additional charges.Object
CuotasObject containing installment information.Object
DescripciónContains the application's payment response, such as transaction status and any additional information.String
ExitosoIndicates whether the transaction was successful or not. It is used to validate the response.Boolean
FechaOperacionDate the transaction occurred.String
InfoProcesoObject containing more detailed information about the transaction status.Object
InfoTarjetaObject containing information about the credit card used for the payment. Only applies to card payments.Object
InfoUsuarioPagadorObject that returns basic information about the user who made the payment.Object
MedioDePagoIndicates the payment method used.String
MerchantIdReference of the merchant's transaction used to process the payment.String
MonedaCode of the currency used to make the payment.String
MontoIndicates the amount of the payment made.Number
MontoOriginalObject with information about the original amount. Used when a currency conversion must be applied.Object
MontoUsdAmount value in US dollars. Used when MontoOriginal is specified.Number
TarjetaHabienteObject containing information about the cardholder (if specified).Object
TransaccionIdReference of the transaction in Lukapay.Number
TransaccionMerchantIdReference of the merchant's transaction used to process the payment.Number
TrazaIdMerchant's internal identifier. If the merchant doesn't provide it, a random code is generated.String

The attributes of the objects are specified in Transaction Response.

Error Response Structure

NameDescription
CódigoContains the numeric code of the HTTP response status
MensajeContains the text with the response error message

Successful Transaction Webhook

If necessary, the merchant can provide the endpoint URL that will be used as a webhook where the result of the payment will be sent via webservice for successful transactions.

Webhook Transaction Structure

NameDescription
NumeroConfirmacionTransaction ID in the Luka platform
FechaUtcTransaction date in UTC format
CanalPagoChannel through which the payment was made
IdProductoIdentifier of the payment window
InfoPagoObject containing details of the payment method used. See the Payment Methods Table in section 1
InfoPagadorObject containing information about the person making the payment. See section 4.2.2
MontoTransaction amount
MonedaISO code of the currency used for the payment
ReferenciaServicioIt is the identification of the final customer that was sent at the start of the payment.
IdTrazaIt is the transaction ID in the merchant's internal system sent at the start of the payment. If the merchant does not provide it, a random code is generated.
InfoPago Object Structure
NameDescription
MedioPagoIndicates the type of payment used by the payer. Example: Credit card, Paypal, Zelle, etc.
ReferenciaDePagoAuthorization code returned by the merchant
NumeroTarjetaMasked credit/debit card number
TipoTarjetaType of credit/debit card
InfoPagador Object Structure
NameDescription
NombreName of the user making the payment
EmailEmail address of the user making the payment