lomi.
Payments

Beneficiary Payouts

Send payments to contractors, suppliers, and other beneficiaries.

The Beneficiary Payouts API allows you to send payments from your account balance to external parties (contractors, suppliers, employees, etc.).

Use Payouts for withdrawing to your own accounts, and Beneficiary Payouts for paying external parties.

Initiate a beneficiary payout

Send a payment to an external beneficiary.

Request Body

FieldTypeRequiredDescription
amountnumberYesAmount to send
currency_codestringYesCurrency (XOF, USD, etc.)
beneficiary_phonestringYesRecipient phone number
beneficiary_namestringNoRecipient name
provider_codestringNoPayment provider (e.g., WAVE)
descriptionstringNoPayment description
metadataobjectNoCustom key-value pairs
import { LomiSDK } from '@lomi./sdk';

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

const payout = await lomi.beneficiaryPayouts.create({
  amount: 50000,
  currency_code: 'XOF',
  beneficiary_phone: '+221771234567',
  beneficiary_name: 'Amadou Ba',
  provider_code: 'WAVE',
  description: 'Contractor payment - January',
  metadata: {
    invoice_id: 'INV-2024-001',
  },
});

console.log(`Payout sent: ${payout.id}, Status: ${payout.status}`);
from lomi import LomiClient
import os

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

payout = client.beneficiary_payouts.create({
    "amount": 50000,
    "currency_code": "XOF",
    "beneficiary_phone": "+221771234567",
    "beneficiary_name": "Amadou Ba",
    "provider_code": "WAVE",
    "description": "Contractor payment - January",
    "metadata": {"invoice_id": "INV-2024-001"}
})

print(f"Payout sent: {payout['id']}")
curl -X POST "https://api.lomi.africa/beneficiary-payouts" \
  -H "X-API-KEY: $LOMI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 50000,
    "currency_code": "XOF",
    "beneficiary_phone": "+221771234567",
    "beneficiary_name": "Amadou Ba",
    "provider_code": "WAVE",
    "description": "Contractor payment - January",
    "metadata": {"invoice_id": "INV-2024-001"}
  }'

List beneficiary payouts

Retrieve all beneficiary payouts with optional filtering.

Query Parameters

ParameterTypeDescription
statusesstringComma-separated: pending, completed, failed
startDatestringFilter from this date (ISO 8601)
endDatestringFilter up to this date (ISO 8601)
currencyCodestringFilter by currency
limitnumberResults per page (default: 50)
offsetnumberPagination offset (default: 0)
const payouts = await lomi.beneficiaryPayouts.list({
  statuses: 'completed',
  currencyCode: 'XOF',
  startDate: '2024-01-01T00:00:00Z',
  limit: 20,
});
payouts = client.beneficiary_payouts.list(
    statuses="completed",
    currencyCode="XOF",
    limit=20
)
curl -X GET "https://api.lomi.africa/beneficiary-payouts?statuses=completed&currencyCode=XOF&limit=20" \
  -H "X-API-KEY: $LOMI_API_KEY"

Get a beneficiary payout

Retrieve details of a specific beneficiary payout.

const payout = await lomi.beneficiaryPayouts.get('bp_abc123...');
console.log(`Status: ${payout.status}`);
payout = client.beneficiary_payouts.get('bp_abc123...')
curl -X GET "https://api.lomi.africa/beneficiary-payouts/bp_abc123..." \
  -H "X-API-KEY: $LOMI_API_KEY"

Beneficiary Payout Object

FieldTypeDescription
idstringUnique identifier
amountnumberPayout amount
fee_amountnumberFee deducted
net_amountnumberAmount received by beneficiary
currency_codestringCurrency
statusstringpending, completed, failed
beneficiary_phonestringRecipient phone
beneficiary_namestringRecipient name
provider_codestringPayment provider
descriptionstringDescription
failure_reasonstringReason for failure
metadataobjectCustom metadata
created_atstringCreation timestamp

Webhooks

EventDescription
beneficiary_payout.pendingPayout initiated
beneficiary_payout.completedPayout delivered
beneficiary_payout.failedPayout failed

Error Responses

StatusDescription
400Invalid input or insufficient balance
401Invalid or missing API key
404Payout not found

On this page