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 a GET (?token=…, encoded).
  • V1 has no test mode: the test_… key does not work there, every operation is live.
  • Coverage: DR Congo only, in CDF and USD, 10-digit local phone numbers.
  • Rate limit: 60 requests per minute per IP address.
  • Send Accept: application/json and Content-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"
}
FieldDescription
status_codeRepeats the HTTP status.
successtrue if the request succeeded.
orderNumber, referencePayment identifier (UUID, identical in both fields), or null.
messageHuman-readable message, in French.
results.statusStatus { code, name, description } (table below).
results.detailsOperation data, or null.
errorsList of validation messages, or null.
timeResponse timestamp.

Statuses#

codenameMeaning
0processedInitiated: the customer must confirm the prompt on their phone.
1pendingBeing processed.
2doneCompleted successfully.
3failedFailed (also used for request errors).
4canceledCancelled.
5limit exceededDaily transaction limit exceeded.
6token blockedToken blocked.
7internal errorInternal error.

HTTP codes and error cases: see Errors.

Endpoints#

MethodPathPurpose
POST/V1/payment/mobileCollect from a customer
POST/V1/payment/withdrawalWithdraw to a wallet
GET/V1/payment/get-transactionsList transactions
GET/V1/payment/get-transactions/statsStatistics
POST/V1/payment/verifyVerify a transaction
GET/V1/payment/soldBalances
GET/V1/payment/my-accountToken accounts
POST/V1/payment/inter-transferCross-network transfer