Skip to main content

Zelle

Introduction

This document provides the specifications for implementing Zelle 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.

Zelle Payment Validation

Allows the registration and validation of a payment made through Zelle. If the payment exists in the account, it is automatically approved; otherwise, it remains under review.

Request

POST {URL}/api/v1/Transaccion/zelle.registrar.token

Headers

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

Request Body

Field NameDescriptionTypeRequired
codigoAutorizacionZelle authorization codeStringYes
montoOperation amountNumberYes
emailCustomer's email addressStringYes
nombrePagadorName of the Zelle account holderStringYes
referenciaOptional value for identifying something related to the paymentStringNo
trazaIdUnique traceability identifier in the merchant's databaseStringYes

Example

{
"codigoAutorizacion": "012345678",
"monto": 1.0,
"email": "email@example.com",
"nombrePagador": "Pedro Perez",
"referencia": "V14816397",
"trazaId": "bfcd304f-452a-4eef-be9c-b180c5b36b4c"
}

Responses

Success

{
"Monto": 0,
"MontoUsd": 0,
"InfoProceso": {
"EstatusProcesamiento": "success",
"CodigoRespuestaCvv": null
},
"TarjetaHabiente": null,
"InfoUsuarioPagador": {
"Nombre": "Pedro",
"Apellido": "Perez",
"NumeroIdentidad": null,
"NumeroTelefono": null,
"Email": "info@example.com"
},
"Moneda": "USD",
"InfoTarjeta": null,
"TransaccionId": 80001,
"TransaccionMerchantId": 0,
"Descripcion": "transacción aprobada",
"TrazaId": "f615929r-5y03-4x18-x94b-oo42e90f7718",
"Exitoso": true,
"Canal": "Pasarela de pago",
"MedioDePago": "Zelle",
"MontoOriginal": null,
"MerchantId": "x36xxdd00",
"FechaOperacion": "2023-04-01 13:34:51.882562+00:00",
"CargosAdicionales": null
}

Pending

{
"Monto": 0,
"MontoUsd": 0,
"InfoProceso": {
"EstatusProcesamiento": "pending",
"CodigoRespuestaCvv": null
},
"TarjetaHabiente": null,
"InfoUsuarioPagador": {
"Nombre": "Pedro",
"Apellido": "Perez",
"NumeroIdentidad": null,
"NumeroTelefono": null,
"Email": "info@example.com"
},
"Moneda": "USD",
"InfoTarjeta": null,
"TransaccionId": 80002,
"TransaccionMerchantId": 0,
"Descripcion": "transacción en revisión",
"TrazaId": "9b2nnn1b-326n-436n-8hnf-0a000oklcf3h9",
"Exitoso": true,
"Canal": "Pasarela de pago",
"MedioDePago": "Zelle",
"MontoOriginal": null,
"MerchantId": "lkj55jj11",
"FechaOperacion": "2023-04-01 13:36:47.588913+00:00",
"CargosAdicionales": 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.

Learn more about webhooks.