Skip to main content
POST
/
api
/
v1
/
bila
/
collections
/
mobile-money
Initiate mobile money collection
curl --request POST \
  --url https://api.example.com/api/v1/bila/collections/mobile-money \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "amount": 100.5,
  "reference": "collection-001",
  "phone": "0977433571",
  "operator": "airtel",
  "country": "zm",
  "walletId": "68f11209-451f-4a15-bfcd-d916eb8b09f4",
  "bearer": "customer",
  "narration": "Payment for subscription",
  "customerName": "John Doe"
}
'
{
  "status": true,
  "message": "Operation completed successfully",
  "data": {}
}

Authorizations

x-api-key
string
header
required

Merchant API key (e.g., sk_live_xxx or sk_test_xxx)

Body

application/json
amount
number
required

Collection amount

Required range: x >= 0.01
Example:

100.5

reference
string
required

Unique client reference

Example:

"collection-001"

phone
string
required

Customer phone number

Example:

"0977433571"

operator
enum<string>
required

Mobile money operator

Available options:
airtel,
mtn,
zamtel,
vodacom
Example:

"airtel"

country
enum<string>
required

Country code

Available options:
zm,
ng
Example:

"zm"

walletId
string<uuid>
required

Target wallet ID to credit

Example:

"68f11209-451f-4a15-bfcd-d916eb8b09f4"

bearer
enum<string>
default:customer

Who bears the transaction fee

Available options:
merchant,
customer
Example:

"customer"

narration
string

Collection narration

Maximum string length: 100
Example:

"Payment for subscription"

customerName
string

Customer name for the transaction record

Maximum string length: 100
Example:

"John Doe"

Response

Collection initiated successfully

status
boolean
required

Request success status

Example:

true

message
string
required

Response message

Example:

"Operation completed successfully"

data
object

Response data