# Claude Code Source: https://developers.ligdicash.com/ai-tools/claude-code Configurer Claude Code pour générer du code d'intégration LigdiCash correct dès le premier essai Claude Code est l'outil CLI d'Anthropic. En ajoutant un fichier `CLAUDE.md` à la racine de votre projet, vous lui transmettez le contexte LigdiCash une seule fois — il respectera ensuite les conventions API dans chaque réponse. ## Skill LigdiCash Installez le skill pour que Claude Code connaisse l'API LigdiCash dès le départ — téléchargement ZIP, installation via `npx skills` et prompts prêts à l'emploi. ## Pré-requis * [Claude Code installé](https://docs.anthropic.com/fr/claude-code) (`npm install -g @anthropic-ai/claude-code`) * Un abonnement Claude Pro, Max ou un accès API Anthropic ## Fichier `CLAUDE.md` à créer Créez un fichier `CLAUDE.md` à la racine de votre projet avec le contenu suivant : ````markdown theme={null} # Intégration LigdiCash ## Contexte LigdiCash est un agrégateur de paiement mobile money en Afrique de l'Ouest. API base URL : https://app.ligdicash.com ## Headers obligatoires sur chaque requête ``` Apikey: {API_KEY} Authorization: Bearer {AUTH_TOKEN} Accept: application/json Content-Type: application/json ``` ## Format des données - Numéros de téléphone : format E.164 sans `+` ni espaces — ex. `22670000000` - Montants : entiers (XOF n'a pas de décimales) — ex. `5000` - Devise : `XOF` exclusivement - Clés API dans les exemples : toujours `{API_KEY}` et `{AUTH_TOKEN}`, jamais de vraies valeurs ## Règle d'or — identification des transactions Le `token` retourné à la création est différent du `token` reçu dans le callback. Ne jamais utiliser ce token pour identifier une transaction. Toujours passer un identifiant marchand dans `custom_data` à la création : ```json "custom_data": { "transaction_id": "ORD-2025-00042" } ``` Dans le callback, `custom_data` revient sous forme de tableau d'objets. LigdiCash y ajoute ses propres champs (`hash`, `logfile`). Extraire avec : ```javascript const entry = custom_data.find(e => e.keyof_customdata === "transaction_id"); const transactionId = entry?.valueof_customdata; ``` ## Payin avec redirection — pièges - `customer` doit rester `""` — sinon LigdiCash filtre les opérateurs visibles - Ne jamais ouvrir l'URL de paiement dans un `