API V1 (legacy)
API V1: overview
The legacy V1: token in the request body, common response envelope, statuses and limits.
You are reading the legacy V1, maintained for existing integrations. For a new integration, use V2; to migrate, see Versions and migration.
URL and authentication#
- Base URL:
https://api.labyrinthe-rdc.com/api/V1; payments live under/payment/…. - The API token (the same as in V2) goes in the `token` field: in the JSON body for a
POST, in the query string for aGET(?token=…, encoded). - V1 has no test mode: the
test_…key does not work there, every operation is live. - Coverage: DR Congo only, in
CDFandUSD, 10-digit local phone numbers. - Rate limit: 60 requests per minute per IP address.
- Send
Accept: application/jsonandContent-Type: application/json.
Response envelope#
Every V1 payment response has the same shape. success tells whether the request succeeded; the payment state is in results.status.
Envelope (excerpt)
{
"status_code": 200,
"success": true,
"orderNumber": "6f1d2c3b-8a7e-4f10-9b2c-3d4e5f607182",
"reference": "6f1d2c3b-8a7e-4f10-9b2c-3d4e5f607182",
"message": "Votre transaction a été initiée avec succès. Veuillez valider le push.",
"results": {
"status": {
"code": "0",
"name": "processed",
"description": "Votre transaction a été initiée avec succès. Veuillez valider le push."
},
"details": {
"amount": 100,
"currency": "USD",
"payment_method": "Mobile Money"
}
},
"errors": null,
"time": "2026-11-11T10:00:00.000000Z"
}| Field | Description |
|---|---|
status_code | Repeats the HTTP status. |
success | true if the request succeeded. |
orderNumber, reference | Payment identifier (UUID, identical in both fields), or null. |
message | Human-readable message, in French. |
results.status | Status { code, name, description } (table below). |
results.details | Operation data, or null. |
errors | List of validation messages, or null. |
time | Response timestamp. |
Statuses#
code | name | Meaning |
|---|---|---|
0 | processed | Initiated: the customer must confirm the prompt on their phone. |
1 | pending | Being processed. |
2 | done | Completed successfully. |
3 | failed | Failed (also used for request errors). |
4 | canceled | Cancelled. |
5 | limit exceeded | Daily transaction limit exceeded. |
6 | token blocked | Token blocked. |
7 | internal error | Internal error. |
HTTP codes and error cases: see Errors.
Endpoints#
| Method | Path | Purpose |
|---|---|---|
POST | /V1/payment/mobile | Collect from a customer |
POST | /V1/payment/withdrawal | Withdraw to a wallet |
GET | /V1/payment/get-transactions | List transactions |
GET | /V1/payment/get-transactions/stats | Statistics |
POST | /V1/payment/verify | Verify a transaction |
GET | /V1/payment/sold | Balances |
GET | /V1/payment/my-account | Token accounts |
POST | /V1/payment/inter-transfer | Cross-network transfer |