lomi.

Payment requests

Send payment requests to customers with expiration dates.

The Payment requests API allows you to create timed payment requests for customers. Useful for invoicing and B2B payments.

Create a payment request

API reference (full request schema): Create payment request

Essentials: amount, currency_code, and expiry_date (ISO 8601) are required. Optionally pass customer_id, payment_reference, description, and metadata. The response includes a payment_url for the customer.

import { LomiSDK } from '@lomi./sdk';

const lomi = new LomiSDK({
  apiKey: process.env.LOMI_SECRET_KEY!,
  environment: 'live',
});

const request = await lomi.paymentRequests.create({
  amount: 50000,
  currency_code: 'XOF',
  expiry_date: '2024-02-15T23:59:59Z',
  description: 'Invoice #INV-2024-001',
  customer_id: 'cus_abc123...',
  payment_reference: 'INV-2024-001',
  metadata: {
    invoice_id: 'INV-2024-001',
  },
});

console.log(`Payment request created: ${request.id}`);
console.log(`Payment URL: ${request.payment_url}`);
from lomi import LomiClient
import os

client = LomiClient(
    api_key=os.environ["LOMI_SECRET_KEY"],
    environment="test"
)

request = client.payment_requests.create({
    "amount": 50000,
    "currency_code": "XOF",
    "expiry_date": "2024-02-15T23:59:59Z",
    "description": "Invoice #INV-2024-001",
    "customer_id": "cus_abc123...",
    "payment_reference": "INV-2024-001"
})

print(f"Payment request: {request['id']}")
curl -X POST "https://api.lomi.africa/payment-requests" \
  -H "X-API-KEY: $LOMI_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 50000,
    "currency_code": "XOF",
    "expiry_date": "2024-02-15T23:59:59Z",
    "description": "Invoice #INV-2024-001",
    "customer_id": "cus_abc123...",
    "payment_reference": "INV-2024-001"
  }'

List payment requests

API reference: List payment requests, filter by status, customerId, limit, and offset.

const requests = await lomi.paymentRequests.list({
  status: 'pending',
  limit: 20,
});
requests = client.payment_requests.list(status="pending", limit=20)
curl -X GET "https://api.lomi.africa/payment-requests?status=pending&limit=20" \
  -H "X-API-KEY: $LOMI_SECRET_KEY"

Get a payment request

API reference: Get payment request

const request = await lomi.paymentRequests.get('pr_abc123...');
console.log(`Status: ${request.status}`);
request = client.payment_requests.get('pr_abc123...')
curl -X GET "https://api.lomi.africa/payment-requests/pr_abc123..." \
  -H "X-API-KEY: $LOMI_SECRET_KEY"

Webhooks

EventDescription
payment_request.completedPayment received
payment_request.expiredRequest expired without payment

On this page