> ## Documentation Index
> Fetch the complete documentation index at: https://developers.ligdicash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Codes de réponse et statuts

> Comprendre response_code, response_text et le champ wiki pour interpréter chaque réponse de l'API LigdiCash.

Chaque réponse de l'API LigdiCash contient trois champs qui permettent d'interpréter le résultat d'un appel : `response_code`, `response_text` et `wiki`. Ils sont présents sur tous les endpoints.

## response\_code

Le champ `response_code` indique si la requête a été acceptée ou rejetée par LigdiCash.

| Valeur | Signification                                                   |
| ------ | --------------------------------------------------------------- |
| `00`   | Requête valide — la transaction est initiée                     |
| `01`   | Requête rejetée — payload invalide ou erreur d'authentification |

<Warning>
  `response_code: "00"` ne signifie pas que le paiement a réussi. Cela signifie uniquement que votre payload était correct et que la transaction a bien été initiée. L'issue réelle du paiement — succès ou échec — est communiquée ultérieurement via le callback ou l'endpoint `confirm`.
</Warning>

## response\_text

La valeur de `response_text` dépend à la fois du résultat et de l'endpoint appelé.

**En cas de succès (`response_code: "00"`)**, le contenu varie selon le type de transaction :

| Flux                   | Contenu de `response_text`                                                                  |
| ---------------------- | ------------------------------------------------------------------------------------------- |
| Payin avec redirection | L'URL de la page de paiement LigdiCash — c'est ce lien que vous devez ouvrir pour le client |
| Payin sans redirection | Un message textuel indiquant que la transaction est en cours de traitement                  |

**En cas d'échec (`response_code: "01"`)**, il prend la forme `Echec (CodeXX)` où `XX` est un sous-code spécifique à l'endpoint — par exemple `Echec (Code00)` pour un échec d'authentification.

<Tip>
  En cas d'échec, `response_text` est un code technique (`Echec (CodeXX)`). Préférez consulter le champ `wiki` pour en obtenir la description lisible et afficher un message adapté à votre utilisateur.
</Tip>

## Le champ wiki

Le champ `wiki` présent dans chaque réponse contient une URL vers la documentation des sous-codes de l'endpoint appelé. **Consultez toujours cette URL** quand `response_code` vaut `01` pour connaître la cause exacte de l'échec.

La page retournée affiche une liste structurée des sous-codes possibles et leur description, au format var\_dump PHP :

```
array:2 [▼
  0 => array:2 [▶]
  1 => array:3 [▼
    "code" => "01"
    "description" => "There is an error"
    "subcodes" => array:19 [▼
      0 => array:2 [▼
        "code" => "Echec (Code00)"
        "description" => "Authentification failure"
      ]
      1 => array:2 [▶]
      2 => array:2 [▶]
      ...
    ]
  ]
]
```

Chaque entrée de `subcodes` correspond à une valeur possible de `response_text` et sa signification en anglais.

## Exemple de réponse

<CodeGroup>
  ```json Succès — payin avec redirection theme={null}
  {
    "response_code": "00",
    "token": "eyJ0eXAiOiJKV1Qi...",
    "response_text": "https://app.ligdicash.com/pay/invoice/eyJ0eXAiOiJKV1Qi...",
    "description": "",
    "custom_data": {},
    "wiki": "https://client.ligdicash.com/wiki/createInvoice"
  }
  ```

  ```json Succès — payin sans redirection theme={null}
  {
    "response_code": "00",
    "token": "eyJ0eXAiOiJKV1Qi...",
    "response_text": "Transaction en cours de traitement",
    "description": "",
    "custom_data": {},
    "wiki": "https://client.ligdicash.com/wiki/createInvoice"
  }
  ```

  ```json Échec theme={null}
  {
    "response_code": "01",
    "token": "",
    "response_text": "Echec (Code00)",
    "description": "",
    "custom_data": {},
    "wiki": "https://client.ligdicash.com/wiki/createInvoice"
  }
  ```
</CodeGroup>

## Pattern recommandé

```javascript Node.js theme={null}
const data = await response.json();

if (data.response_code === "01") {
  // Loggez le sous-code technique
  console.error("LigdiCash error:", data.response_text);

  // Consultez data.wiki pour obtenir la description du sous-code
  // et construire un message adapté à votre utilisateur
}
```

## Pages associées

* [Cycle de vie d'une transaction](/concepts/cycle-vie-transaction) — statuts `pending`, `completed`, `notcompleted`
* [Erreurs courantes](/erreurs/erreurs-courantes) — causes et solutions par endpoint
* [Le champ wiki](/erreurs/champ-wiki) — utilisation avancée
