Sierra Leone Guide
Collect and send money in Sierra Leone using Orange on the same MarzPay APIs.
Use country: "SL", SLE amounts, and +232 phones.
Before you start
- Create API keys in the dashboard. Authenticate with HTTP Basic:
Authorization: Basic base64(api_key:api_secret). See Getting Started. - Ask a superadmin to enable the Sierra Leone wallet for your business.
- Subscribe to Sierra Leone Orange collection and/or disbursement services in the marketplace.
- Set a webhook URL (or pass
callback_urlon each request). Final status iscompletedorfailedonly.
Sierra Leone essentials
- Always send
country: "SL"so the Sierra Leone wallet is used - Use amounts in SLE. Optional
currency: "SLE"is accepted - Phones must be E.164: Orange +232… (8 national digits, e.g. +23276123456)
- Same endpoints:
POST /collect-moneyandPOST /send-money referencemust be a UUID you generate- Provider is auto-detected from the phone (Orange). Webhooks use that network name (e.g.
orange), not a gateway name - Typical minimums start around SLE 10 (confirm your business limits)
Use the new leone (SLE), not the old SLL code.
Pricing
Fees come from the public pricing page. Custom business rates may differ.
| Network | Collections | Disbursements |
|---|---|---|
| Orange | 4.3% Successful collections only | 3.15% Successful payouts only |
Collect money (Sierra Leone)
Request payment from a customer’s Orange wallet. The customer approves on their phone; you receive a webhook when the collection completes or fails.
- POST
/collect-moneywith amount,+232phone,country: "SL", UUIDreference - Transaction starts as
pending/processing - Customer authorises the PIN prompt
- Webhook/callback settles to
completedorfailed - Optional: poll
GET /collect-money/{uuid}if you need a status safety net
Optional metadata — send up to 10 objects. Echoed on create (data.collection.metadata) and on webhooks (top-level metadata).
"metadata": [
{ "orderId": "ORD-123456789" },
{ "customerId": "customer@email.com", "isPII": true }
]
Example request
curl --location 'https://wallet.wearemarz.com/api/v1/collect-money' \
--header 'Authorization: Basic YOUR_API_CREDENTIALS' \
--form 'phone_number="+23276123456"' \
--form 'amount="50"' \
--form 'country="SL"' \
--form 'currency="SLE"' \
--form 'reference="123e4567-e89b-12d3-a456-426614174000"' \
--form 'description="Payment for services"' \
--form 'callback_url="https://your-app.com/webhook"' \
--form 'metadata=[{"orderId":"ORD-123456789"},{"customerId":"customer@email.com","isPII":true}]'
Example response
{
"status": "success",
"message": "Collection initiated successfully.",
"data": {
"transaction": {
"uuid": "4e7fb3fa-c13a-4b05-8acd-cf60ff68cb94",
"reference": "123e4567-e89b-12d3-a456-426614174000",
"status": "processing",
"provider_reference": null
},
"collection": {
"amount": {
"formatted": "50.00",
"raw": 50,
"currency": "SLE"
},
"provider": "orange",
"phone_number": "+23276123456",
"mode": "live"
}
}
}
Send money (Sierra Leone)
Disburse to a Orange wallet. You receive a webhook when the payout completes or fails.
- POST
/send-moneywith amount,+232phone,country: "SL", UUIDreference - The network pays the recipient
- Webhook settles to
completedorfailed - Optional: poll
GET /send-money/{uuid}
Example request
curl --location 'https://wallet.wearemarz.com/api/v1/send-money' \
--header 'Authorization: Basic YOUR_API_CREDENTIALS' \
--form 'phone_number="+23276123456"' \
--form 'amount="50"' \
--form 'country="SL"' \
--form 'currency="SLE"' \
--form 'description="Payout to customer"' \
--form 'callback_url="https://your-app.com/webhook"' \
--form 'reference="123e4567-e89b-12d3-a456-426614174001"' \
--form 'metadata=[{"orderId":"ORD-123456789"},{"customerId":"customer@email.com","isPII":true}]'
Example response
{
"status": "success",
"message": "Send money initiated successfully.",
"data": {
"transaction": {
"uuid": "4e7fb3fa-c13a-4b05-8acd-cf60ff68cb94",
"reference": "123e4567-e89b-12d3-a456-426614174001",
"status": "processing"
},
"disbursement": {
"amount": {
"formatted": "50.00",
"raw": 50,
"currency": "SLE"
},
"provider": "orange",
"phone_number": "+23276123456",
"mode": "live"
}
}
}
Payment links (Sierra Leone)
Create a shareable /pay/{uuid} page. Customers enter a local Sierra Leone number and approve the PIN prompt. Same webhook shape as collect-money.
curl --location 'https://wallet.wearemarz.com/api/v1/payment-links' \
--header 'Authorization: Basic YOUR_API_CREDENTIALS' \
--header 'Content-Type: application/json' \
--data '{
"title": "Sierra Leone payment",
"amount": 50,
"country": "SL",
"currency": "SLE",
"is_fixed": true,
"callback_url": "https://your-app.com/webhook"
}'
Share data.payment_url. Full fields:
Payment Links API.
Webhooks
Sierra Leone uses the same webhook envelope as Uganda and Kenya. Currency is SLE. Provider is the network (orange), not a gateway name. Match your order with transaction.reference (the UUID you sent).
Collection completed
{
"event_type": "collection.completed",
"transaction": {
"uuid": "transaction-uuid",
"reference": "123e4567-e89b-12d3-a456-426614174000",
"status": "completed",
"amount": { "formatted": "50.00", "raw": 50, "currency": "SLE" },
"provider": "orange",
"phone_number": "+23276123456"
},
"collection": {
"provider": "orange",
"phone_number": "+23276123456",
"amount": { "formatted": "50.00", "raw": 50, "currency": "SLE" },
"mode": "live",
"provider_transaction_id": "ABC123"
},
"metadata": [
{ "orderId": "ORD-123456789" }
]
}
Send money completed
{
"event_type": "disbursement.completed",
"transaction": {
"uuid": "transaction-uuid",
"reference": "123e4567-e89b-12d3-a456-426614174001",
"status": "completed",
"amount": { "formatted": "50.00", "raw": 50, "currency": "SLE" },
"provider": "orange",
"phone_number": "+23276123456"
},
"disbursement": {
"provider": "orange",
"phone_number": "+23276123456",
"amount": { "formatted": "50.00", "raw": 50, "currency": "SLE" },
"mode": "live",
"provider_transaction_id": "ABC123"
}
}
Failed outcomes use collection.failed / disbursement.failed with the same envelope. Signing and more examples:
Webhooks guide.
Check status
Callbacks are primary. To poll MarzPay (not the network directly):
GET https://wallet.wearemarz.com/api/v1/collect-money/{uuid}GET https://wallet.wearemarz.com/api/v1/send-money/{uuid}
Those endpoints return the local MarzPay transaction. Status updates when the webhook arrives.
Not available for Sierra Leone yet
These products remain Uganda-focused:
- Bill payments
- Bank transfer
- Airtime & data
- Card payments
- WhatsApp / USSD send-money (Uganda)