Pagos en efectivo
Introducción
Este documento proporciona las especificaciones para implementar la notificación de pagos en efectivo a través del API de Luka. Este servicio consta de dos partes: la primera es la consulta de la deuda del cliente, la cual nos permite conocer el monto a pagar y el segundo paso que consiste en procesar el pago.
La URL está especificada en Ambientes.
La autenticación se realiza a través de un token (JWT) que retorna el método de login con las credenciales proporcionadas por Lukapay. Ver documentación.
Consultar una transacción
Permite consultar la información de un pago que está pendiente por confirmación.
Se puede consultar la transacción a través de la referencia de pago enviada por el comercio al momento de registrar el pago. En caso de que el comercio no envíe una referencia, se puede consultar la transacción con el número de la transacción que devuelve Luka o por el código de autorización que devuelve el método de pago.
Las especificaciones del método son las siguientes:
Solicitud
GET {URL}/api/v1/transaccion/pagodiferido
Cabeceras
Content-Type: application/json
Authorization: Bearer <token>
Parámetros
Los siguientes parámetros se envían a través del querystring del a consulta
Nombre | Tipo | Descripción |
---|---|---|
referenciaPago | String | Identificador interno del comercio que se asocia a la transacción. |
transaccionId | Número | Identificador de la transacción en Luka |
codigoAutorizacion | String | Identificador de la transacción que devuelve el merchant utilizado para aplicar el pago |
Respuesta
Nombre | Descripción | Tipo |
---|---|---|
Canal | Indica el canal que se está utilizando para aplicar el pago en Lukapay | Number |
CargosAdicionales | Objeto que contiene cargos adicionales. | Object |
Cuotas | Objeto que contiene información sobre cuotas. | Object |
Descripción | Contiene la respuesta de la aplicación del pago, como estatus de la transacción y cualquier información adicional | String |
Exitoso | Indica si la transacción fue exitosa o no. Se utiliza para validar la respuesta | Boolean |
FechaOperacion | Fecha que ocurrió la transacción | String |
InfoProceso | Objeto que contiene información más detallada del estatus de la transacción | Object |
InfoTarjeta | Objeto que contiene información de la tarjeta de crédito utilizada para realizar el pago. Solo aplica para pagos con tarjeta | Object |
InfoUsuarioPagador | Objeto que devuelve información básica del usuario que realiza el pago | Object |
MedioDePago | Indica el método de pago que se utilizó | String |
MerchantId | Referencia de la transacción del merchant utilizado para aplicar el pago | String |
Moneda | Código de la moneda utilizada para realizar el pago | String |
Monto | Indica el monto del pago realizado | Number |
MontoOriginal | Objeto con información del monto original. Se utiliza cuando se debe aplicar una conversión de moneda | Object |
MontoUsd | Valor del monto en dólar estadounidense. Se utiliza cuando se especifica el MontoOriginal | Number |
TarjetaHabiente | Objeto que contiene información del pagador (en caso de haber sido especificado) | Object |
TransaccionId | Referencia de la transacción en Lukapay | Number |
TransaccionMerchantId | Referencia de la transacción del merchant utilizado para aplicar el pago | Number |
TrazaId | Identificador interno del comercio. En caso de que el comercio no lo proporcione se genera un código aleatorio. | String |
Los atributos de los objetos están especificados en Respuesta de transacción.
Ejemplo de uso
Solicitud
GET {URL}api/v1/transaccion/pagodiferido?referenciaPago=6567704'
Cuerpo de la respuesta
{
"Monto": 7.99,
"MontoUsd": 0.00,
"InfoProceso": {
"EstatusProcesamiento": "pending",
"CodigoRespuestaCvv": null
},
"InfoUsuarioPagador": {
"Nombre": "Jhon",
"Apellido": "Doe",
"NumeroIdentidad": null,
"NumeroTelefono": null,
"Email": "example@mail.com"
},
"Moneda": "USD",
"TransaccionId": 96336,
"TransaccionMerchantId": 0,
"Descripcion": "transacción en revisión",
"TrazaId": "e6c28df3ae4f",
"Exitoso": true,
"Canal": "Api",
"MedioDePago": "Efectivo",
"MontoOriginal": null,
"MerchantId": "024PeR42",
"FechaOperacion": "2023-09-29 19:25:11.767791+00:00",
"CargosAdicionales": null,
"Cuotas": null
}
Notificar pago
Permite actualizar el estado de una transacción luego de haber recibido el pago correspondiente.
Solicitud
PUT {URL}/api/v1/transaccion/pagodiferido/actualizar
Cabeceras
Content-Type: application/json
Authorization: Bearer <token>
Cuerpo de la solicitud
Nombre | Tipo | Descripción | Obligatorio |
---|---|---|---|
IdTx | Número | Identificador de la transacción. Este valor se obtiene del campo TransaccionId que devuelve la consulta de la transacción. | Sí |
IdEstatus | Número | Identificador del estado del pago. Valores posibles: 6 = Aprobado, 7 = Rechazado | Sí |
Observaciones | String | Permite agregar un comentario relacionado con el pago. | No |
Terminal | String | Información sobre la agencia o taquilla donde se recibe el pago. | No |
CodigoAutorizacion | String | Código de autorización de la transacción. | No |
Respuesta
Nombre | Tipo | Descripción |
---|---|---|
Monto | Decimal | Monto de la transacción. |
Id | Integer | Identificador de la transacción. Este valor se obtiene del campo TransaccionId que devuelve la consulta de la transacción. |
IdTraza | String | Valor que identifica la transacción en el sistema del cliente. |
CodigoAutorizacion | String | Referencia de la transacción que devuelve el merchant utilizado para aplicar el pago. |
Estatus | Objeto | Identificador del estado del pago. Valores posibles: 6 = Aprobado, 7 = Rechazado |
FechaCreacion | String | Fecha de la transacción. |
Ejemplos de uso
Cuerpo de la solicitud
{
"Idtx": 123456,
"IdEstatus": 6,
"Observaciones": “”,
“Terminal”: “Agencia CCCT, Taquilla 2”,
“CodigoAutorizacion”: “12345”
}
Cuerpo de la respuesta
{
"Monto": 16.03,
"Id": 8357,
"IdTraza": "1234567890",
"CodigoAutorizacion": "kjfkgds874k",
"Estatus": {
"Id": 6,
"Descripcion": "Tx Exitosa"
},
"FechaCreacion": "2022-02-23T18:27:47.1959116Z"
}