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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.