Skip to main content
The Transfers API enables you to send money (payouts) to bank accounts and mobile money wallets across Africa.

Overview

Use transfers to:
  • Pay vendors and suppliers
  • Process salary payments
  • Send refunds to customers
  • Disburse funds to mobile wallets

Endpoints

EndpointMethodDescription
/bila/transfersGETList all transfers
/bila/transfers/{id}GETGet a single transfer by ID
/bila/transfers/status/{reference}GETGet transfer by your reference
/bila/transfers/bank-accountPOSTInitiate a bank transfer
/bila/transfers/mobile-moneyPOSTInitiate a mobile money transfer

Transfer Object

{
  "id": "txn-001",
  "reference": "payout-12345",
  "type": "bank-account",
  "status": "successful",
  "amount": 1000.00,
  "currency": "ZMW",
  "narration": "Salary payment",
  "recipient": {
    "accountNumber": "1234567890",
    "accountName": "JOHN DOE",
    "bankName": "Zambia National Commercial Bank"
  },
  "createdAt": "2024-01-15T10:30:00Z",
  "completedAt": "2024-01-15T10:31:00Z"
}

Transfer Statuses

StatusDescription
pendingTransfer is being processed
successfulTransfer completed successfully
failedTransfer failed

Bank Transfer

Send money to a bank account:
curl -X POST "https://api.usebila.com/api/v1/bila/transfers/bank-account" \
  -H "x-api-key: sk_test_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "accountId": "your-wallet-id",
    "amount": 1000,
    "reference": "payout-12345",
    "accountNumber": "1234567890",
    "bankId": "bank-001",
    "country": "zm",
    "narration": "Salary payment"
  }'

Mobile Money Transfer

Send money to a mobile wallet:
curl -X POST "https://api.usebila.com/api/v1/bila/transfers/mobile-money" \
  -H "x-api-key: sk_test_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 500,
    "reference": "mobile-payout-123",
    "phone": "0977123456",
    "operator": "airtel",
    "country": "zm",
    "walletId": "your-wallet-id",
    "narration": "Commission payout"
  }'

Check Transfer Status

Use your reference to check the status:
curl -X GET "https://api.usebila.com/api/v1/bila/transfers/status/payout-12345" \
  -H "x-api-key: sk_test_your_api_key"

Best Practices

Always use unique references for each transfer to enable idempotency and easy tracking.
Resolve recipient accounts before transfer to prevent failures.
Verify your wallet has sufficient funds before initiating transfers.

API Reference

View the interactive API reference for Transfers endpoints