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.
Payment Link Creation
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
Field | Description | Type | Mandatory |
---|---|---|---|
Nombre | Identification of the final customer, if required. For example: access card, insurance number, etc. Optional field. | String | No |
Monto | Payment amount. It must be in decimal format. | Number | Yes |
MonedaCodigo | Code of the currency in which the payment will be made. See the currency table. | String | No |
MetodosPago | Array with the keys identifying the payment method that will be used in the transaction. See the payment methods table in section 1. | Array | No |
IdTraza | ID of the transaction in the merchant's internal system. It is used for complete traceability of the operation. Optional field. | String | Yes |
Email address associated with the payment. For example: example@mail.com | String | No |
Response
Header
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
Name | Description | Type |
---|---|---|
Canal | Indicates the channel used to process the payment in Lukapay | Number |
CargosAdicionales | Object containing additional charges. | Object |
Cuotas | Object containing installment information. | Object |
Descripción | Contains the application's payment response, such as transaction status and any additional information. | String |
Exitoso | Indicates whether the transaction was successful or not. It is used to validate the response. | Boolean |
FechaOperacion | Date the transaction occurred. | String |
InfoProceso | Object containing more detailed information about the transaction status. | Object |
InfoTarjeta | Object containing information about the credit card used for the payment. Only applies to card payments. | Object |
InfoUsuarioPagador | Object that returns basic information about the user who made the payment. | Object |
MedioDePago | Indicates the payment method used. | String |
MerchantId | Reference of the merchant's transaction used to process the payment. | String |
Moneda | Code of the currency used to make the payment. | String |
Monto | Indicates the amount of the payment made. | Number |
MontoOriginal | Object with information about the original amount. Used when a currency conversion must be applied. | Object |
MontoUsd | Amount value in US dollars. Used when MontoOriginal is specified. | Number |
TarjetaHabiente | Object containing information about the cardholder (if specified). | Object |
TransaccionId | Reference of the transaction in Lukapay. | Number |
TransaccionMerchantId | Reference of the merchant's transaction used to process the payment. | Number |
TrazaId | Merchant'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
Name | Description |
---|---|
Código | Contains the numeric code of the HTTP response status |
Mensaje | Contains 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
Name | Description |
---|---|
NumeroConfirmacion | Transaction ID in the Luka platform |
FechaUtc | Transaction date in UTC format |
CanalPago | Channel through which the payment was made |
IdProducto | Identifier of the payment window |
InfoPago | Object containing details of the payment method used. See the Payment Methods Table in section 1 |
InfoPagador | Object containing information about the person making the payment. See section 4.2.2 |
Monto | Transaction amount |
Moneda | ISO code of the currency used for the payment |
ReferenciaServicio | It is the identification of the final customer that was sent at the start of the payment. |
IdTraza | It 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
Name | Description |
---|---|
MedioPago | Indicates the type of payment used by the payer. Example: Credit card, Paypal, Zelle, etc. |
ReferenciaDePago | Authorization code returned by the merchant |
NumeroTarjeta | Masked credit/debit card number |
TipoTarjeta | Type of credit/debit card |
InfoPagador Object Structure
Name | Description |
---|---|
Nombre | Name of the user making the payment |
Email address of the user making the payment |