Explore our REST API endpoints below. Expand an item to view request parameters, sample payloads and responses. Use the sandbox to experiment with simulated calls.
Create a new payment request for a mobile wallet, EFT or card. The API returns a payment ID and status.
| Field | Type | Required | Description |
|---|---|---|---|
| amount | decimal | Yes | Amount to charge the customer. |
| currency | string | Yes | Three‑letter ISO currency (e.g., LSL). |
| payment_method | string | Yes | mpesa, ecocash, eft or card. |
| customer.phone | string | Yes | MSISDN in international format. |
| customer.name | string | No | Customer's full name. |
| reference | string | No | Your internal reference for reconciliation. |
| callback_url | string | No | URL to receive webhook notifications. |
| merchant_id | string | Yes | Your unique merchant identifier issued by MonoPay. |
{
"amount": 50.00,
"currency": "LSL",
"payment_method": "ecocash",
"customer": {
"phone": "+26650111234"
},
"reference": "ORDER-123",
"callback_url": "https://yourapp.com/webhooks/monopay"
}
{
"id": "pay_7F3HABCD123",
"status": "pending",
"amount": 50.00,
"currency": "LSL",
"payment_method": "ecocash",
"merchant_id": "MERCHANT-001",
"created_at": "2025-09-24T08:30:00Z"
}
Retrieve the details and current status of a specific payment using its ID.
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | The identifier returned when creating the payment. |
{
"id": "pay_7F3HABCD123",
"status": "success",
"amount": 50.00,
"currency": "LSL",
"payment_method": "ecocash",
"created_at": "2025-09-24T08:30:00Z",
"completed_at": "2025-09-24T08:31:12Z"
}
Retrieve a list of mobile wallets and banks currently supported by MonoPay.
[
{
"code": "mpesa",
"name": "M‑Pesa Lesotho",
"country": "Lesotho"
},
{
"code": "ecocash",
"name": "EcoCash Lesotho",
"country": "Lesotho"
},
{
"code": "eft",
"name": "Lesotho EFT",
"country": "Lesotho"
}
]
Retrieve the current balance of a user’s wallet for a given payment method. Not all providers support this operation.
| Field | Type | Required | Description |
|---|---|---|---|
| method | string | Yes | The wallet code (e.g., mpesa, ecocash, eft). |
| accountId | string | Yes | The user’s phone or account identifier. |
{
"method": "mpesa",
"accountId": "+26650111234",
"balance": 1234.56
}
Use the form below to simulate API calls. The requests are processed locally and return sample data.