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
| Event | Description |
|---|---|
payment_request.completed | Payment received |
payment_request.expired | Request expired without payment |