> ## 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.

# Liste des sous-codes par endpoint

> Référence complète des sous-codes Echec (CodeXX) retournés par chaque endpoint LigdiCash, avec leur description et l'action recommandée.

Quand `response_code` vaut `01`, le champ `response_text` contient un sous-code de la forme `Echec (CodeXX)`. Ce sous-code est propre à l'endpoint appelé. Cette page liste l'ensemble des sous-codes possibles pour chacun.

<Tip>
  En production, vous n'avez pas besoin de coder ces tables en dur. Chaque réponse API contient un champ `wiki` avec l'URL de la page de sous-codes de l'endpoint appelé. Voir [Le champ wiki](/erreurs/champ-wiki).
</Tip>

***

## createInvoice

Endpoint : `POST /pay/v01/redirect/checkout-invoice/create` et `POST /pay/v01/straight/checkout-invoice/create`

Wiki : `https://client.ligdicash.com/wiki/createInvoice`

| Sous-code        | Description                                    | Action recommandée                                                                                     |
| ---------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `Echec (Code00)` | Authentification failure                       | Vérifier `Apikey` et `Authorization: Bearer`                                                           |
| `Echec (Code01)` | Merchant Payin not activated                   | Contacter le support LigdiCash pour activer le payin                                                   |
| `Echec (Code02)` | Wrong amount (must be between 9 and 2 000 000) | Corriger le montant — entier entre 9 et 2 000 000 XOF                                                  |
| `Echec (Code03)` | IP Denied                                      | L'IP du serveur n'est pas autorisée — Contacter le support technique pour whitelister votre adresse IP |
| `Echec (Code04)` | An error occurred while processing request     | Erreur interne LigdiCash — retenter                                                                    |
| `Echec (Code05)` | An error occurred while sending request        | Erreur d'envoi vers l'opérateur — retenter                                                             |
| `Echec (Code06)` | An error occurred while sending request        | Erreur d'envoi vers l'opérateur — retenter                                                             |
| `Echec (Code07)` | No network access configured                   | L'opérateur correspondant n'est pas configuré pour ce projet — contacter LigdiCash                     |
| `Echec (Code08)` | Data Input error                               | Payload malformé — vérifier tous les champs obligatoires                                               |
| `Echec (Code09)` | Api error                                      | Erreur interne API — contacter le support                                                              |
| `Echec (Code10)` | No hash provided                               | Hash absent de la requête — vérifier la construction des en-têtes                                      |
| `Echec (Code11)` | Invalid hash                                   | Hash invalide — vérifier la signature de la requête                                                    |
| `Echec (Code12)` | Invalid method                                 | Méthode HTTP incorrecte                                                                                |
| `Echec (Code13)` | Unauthorized method                            | Méthode non autorisée pour ce projet                                                                   |
| `Echec (Code14)` | Wrong Wallet Credentials                       | Identifiants wallet incorrects                                                                         |
| `Echec (Code15)` | Wrong OTP                                      | OTP incorrect — demander au client de regénérer et re-saisir                                           |
| `Echec (Code16)` | Expired OTP                                    | OTP expiré — créer une nouvelle transaction et recommencer le flux OTP                                 |
| `Echec (Code17)` | Wrong OTP Amount                               | Montant de l'OTP ne correspond pas au montant de la transaction                                        |
| `Echec (Code18)` | Wallet low balance                             | Solde du wallet LigdiCash insuffisant                                                                  |

***

## confirmInvoice

Endpoint : `GET /pay/v01/redirect/checkout-invoice/confirm` et `POST /pay/v01/withdrawal/confirm`

Wiki : `https://client.ligdicash.com/wiki/confirmInvoice`

| Sous-code        | Description                                | Action recommandée                                                                                                          |
| ---------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
| `Echec (Code00)` | Authentification failure                   | Vérifier `Apikey` et `Authorization: Bearer`                                                                                |
| `Echec (Code01)` | Merchant Payin not activated               | Contacter le support LigdiCash                                                                                              |
| `Echec (Code02)` | Invoice not found                          | Le token passé est invalide ou appartient à un autre projet — utiliser le token stocké à la création, pas celui du callback |
| `Echec (Code03)` | An error occurred while processing request | Erreur interne — retenter                                                                                                   |
| `Echec (Code04)` | Data Input error                           | Paramètre manquant ou malformé dans la requête confirm                                                                      |

<Warning>
  `Echec (Code02) — Invoice not found` est l'erreur la plus fréquente sur cet endpoint. Elle survient quand vous utilisez le `token` reçu dans le payload callback au lieu du `token` retourné à la création de la transaction. Ces deux tokens sont différents. Voir [Sécurisation du callback](/api-paiement/callback/securisation).
</Warning>

***

## createWithdrawal

Endpoint : `POST /pay/v01/withdrawal/create` (payout vers wallet LigdiCash)

Wiki : `https://client.ligdicash.com/wiki/createWithdrawal`

| Sous-code         | Description                                       | Action recommandée                                                                  |
| ----------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `Echec (Code00)`  | Authentification failure                          | Vérifier `Apikey` et `Authorization: Bearer`                                        |
| `Echec (Code01)`  | Merchant Payout not activated                     | Contacter le support LigdiCash pour activer le payout                               |
| `Echec (Code02)`  | Customer not registered on the platform           | Le client (numero) n'a pas de compte LigdiCash                                      |
| `Echec (Code03)`  | No merchant account on the specified network      | Pas de compte marchand configuré pour cet opérateur                                 |
| `Echec (Code03a)` | Pending/Processed payout within the last 24 hours | Un payout vers ce client a déjà été initié dans les dernières 24 h                  |
| `Echec (Code03b)` | No deposit within the last 3 months               | Le client n'a pas effectué de dépôt dans les 3 derniers mois                        |
| `Echec (Code04)`  | Merchant balance low                              | Solde du compte marchand insuffisant — recharger le compte                          |
| `Echec (Code05)`  | Request amount out of range \[9;2 000 000]        | Corriger le montant                                                                 |
| `Echec (Code06)`  | IP denied                                         | IP non autorisée — Contacter le support technique pour whitelister votre adresse IP |
| `Echec (Code07)`  | Transaction\_id already exists                    | Ce `transaction_id` a déjà été utilisé — générer un nouvel identifiant unique       |
| `Echec (Code08)`  | An error occurred while processing                | Erreur interne — retenter                                                           |
| `Echec (Code09)`  | Data Input error                                  | Payload malformé — vérifier tous les champs                                         |
| `Echec (Code10)`  | Api error                                         | Erreur interne API — contacter le support                                           |
| `Echec (Code11)`  | No hash provided                                  | Hash absent                                                                         |
| `Echec (Code12)`  | Invalid hash                                      | Hash invalide                                                                       |
| `Echec (Code13)`  | App Marah/Agrivoucher not identified              | Application partenaire Marah/Agrivoucher non identifiée                             |

<Note>
  `Echec (Code07) — Transaction_id already exists` confirme l'importance du pattern `transaction_id` : chaque appel doit porter un identifiant unique, y compris les retries. Voir [Pattern transaction\_id](/concepts/transaction-id-pattern).
</Note>

***

## createStraightWithdrawal

Endpoint : `POST /pay/v01/straight/payout` (payout direct vers mobile money)

Wiki : `https://client.ligdicash.com/wiki/createStraightWithdrawal`

| Sous-code        | Description                                | Action recommandée                                                                  |
| ---------------- | ------------------------------------------ | ----------------------------------------------------------------------------------- |
| `Echec (Code00)` | Token Authentification error               | Vérifier le token d'autorisation Bearer                                             |
| `Echec (Code01)` | Application Authentification error         | Vérifier l'Apikey du projet                                                         |
| `Echec (Code02)` | Request amount out of range \[9;2 000 000] | Corriger le montant                                                                 |
| `Echec (Code05)` | Recipient operator not identified          | L'opérateur du destinataire n'a pas pu être identifié à partir du numéro            |
| `Echec (Code06)` | Merchant operator account not identified   | Compte marchand non trouvé pour cet opérateur                                       |
| `Echec (Code07)` | Merchant operator account not identified   | Compte marchand non trouvé pour cet opérateur                                       |
| `Echec (Code08)` | Merchant operator account low balance      | Solde du compte marchand pour cet opérateur insuffisant                             |
| `Echec (Code09)` | An error occurred while processing request | Erreur interne — retenter                                                           |
| `Echec (Code10)` | Api error                                  | Erreur interne API — contacter le support                                           |
| `Echec (Code11)` | No hash provided                           | Hash absent                                                                         |
| `Echec (Code12)` | Invalid hash                               | Hash invalide                                                                       |
| `Echec (Code13)` | Unauthorized currency conversion           | Conversion de devise non autorisée                                                  |
| `Echec (Code14)` | IP denied                                  | IP non autorisée - Contacter le support technique pour whitelister votre adresse IP |
| `Echec (Code15)` | App Marah/Agrivoucher not identified       | Application partenaire Marah/Agrivoucher non identifiée                             |

***

## Pages associées

* [Le champ wiki](/erreurs/champ-wiki) — lire les sous-codes dynamiquement depuis la réponse API
* [Erreurs courantes](/erreurs/erreurs-courantes) — causes et solutions par type d'erreur
* [Vue d'ensemble](/erreurs/vue-ensemble) — les deux niveaux d'erreur
