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

# Vérifier le statut d'un payout

> Interrogez GET /pay/v01/withdrawal/confirm pour connaître le résultat d'un payout après sa création.

Après avoir initié un payout, LigdiCash vous notifie du résultat via votre `callback_url`. Si le callback ne se déclenche pas — réseau indisponible, serveur redémarré, délai trop long — vous pouvez interroger cet endpoint directement avec le `token` retourné à la création.

<Note>
  Le callback reste la méthode principale. Cet endpoint est un **filet de sécurité**, pas un substitut au callback. Ne l'utilisez pas en boucle rapide : préférez un polling espacé (toutes les 30 à 60 secondes) avec un nombre maximum de tentatives.
</Note>

## Endpoint

```
GET https://app.ligdicash.com/pay/v01/withdrawal/confirm/
```

## Paramètres

| Paramètre         | Type         | Description                                               |
| ----------------- | ------------ | --------------------------------------------------------- |
| `withdrawalToken` | query string | Le `token` retourné par l'endpoint de création du payout. |

## En-têtes requis

| En-tête         | Valeur                |
| --------------- | --------------------- |
| `Apikey`        | Votre clé API         |
| `Authorization` | `Bearer {AUTH_TOKEN}` |

## Exemple de requête

<CodeGroup>
  ```bash cURL theme={null}
  curl --location 'https://app.ligdicash.com/pay/v01/withdrawal/confirm/?withdrawalToken={PAYOUT_TOKEN}' \
  --header 'Apikey: {API_KEY}' \
  --header 'Authorization: Bearer {AUTH_TOKEN}'
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({ withdrawalToken: payoutToken });

  const response = await fetch(
    `https://app.ligdicash.com/pay/v01/withdrawal/confirm/?${params}`,
    {
      headers: {
        'Apikey': process.env.LIGDICASH_API_KEY,
        'Authorization': `Bearer ${process.env.LIGDICASH_AUTH_TOKEN}`,
      },
    }
  );

  const data = await response.json();
  ```

  ```php PHP theme={null}
  $params = http_build_query(['withdrawalToken' => $payoutToken]);

  $response = $client->get(
      "https://app.ligdicash.com/pay/v01/withdrawal/confirm/?{$params}",
      [
          'headers' => [
              'Apikey'        => $_ENV['LIGDICASH_API_KEY'],
              'Authorization' => 'Bearer ' . $_ENV['LIGDICASH_AUTH_TOKEN'],
          ],
      ]
  );
  ```
</CodeGroup>

## Réponse

<ResponseField name="response_code" type="string">
  Code de résultat de la requête. `"00"` indique que l'appel a abouti. Toute autre valeur indique une erreur.
</ResponseField>

<ResponseField name="token" type="string">
  Token JWT du payout — identique à celui utilisé en paramètre.
</ResponseField>

<ResponseField name="response_text" type="string">
  Libellé du code de résultat issu du wiki LigdiCash. Peut être vide.
</ResponseField>

<ResponseField name="description" type="string">
  Description complémentaire. Peut être vide.
</ResponseField>

<ResponseField name="custom_data" type="array">
  Toujours `[]` sur cet endpoint.
</ResponseField>

<ResponseField name="wiki" type="string">
  URL vers la liste des codes d'erreur spécifiques à cet endpoint.
</ResponseField>

<ResponseField name="status" type="string">
  Statut de la transaction payout : `"completed"`, `"pending"` ou `"notcompleted"`. Voir [Codes de réponse et statuts](/concepts/codes-reponse-statuts).
</ResponseField>

<ResponseField name="operator_id" type="string">
  Identifiant de l'opérateur qui a traité le payout (ex : `"11"` pour Orange Burkina).
</ResponseField>

<ResponseField name="operator_name" type="string">
  Nom de l'opérateur (ex : `"ORANGE BURKINA"`).
</ResponseField>

```json Succès theme={null}
{
  "response_code": "00",
  "token": "{PAYOUT_TOKEN}",
  "response_text": "",
  "description": "",
  "custom_data": [],
  "wiki": "https://client.ligdicash.com/wiki/createStraightWithdrawal",
  "status": "completed",
  "operator_id": "11",
  "operator_name": "ORANGE BURKINA"
}
```

## Interpréter le statut

Basez votre logique métier sur le champ `status`.

| `status`       | Signification               | Action recommandée                                             |
| -------------- | --------------------------- | -------------------------------------------------------------- |
| `completed`    | Payout finalisé avec succès | Mettre à jour votre base de données, notifier le bénéficiaire  |
| `pending`      | Traitement en cours         | Attendre le callback ; si absent, repoll dans 30 à 60 secondes |
| `notcompleted` | Payout échoué               | Consulter `wiki` pour le détail, notifier le demandeur         |

## Pages associées

* [Payout Client](/api-paiement/payout/vers-wallet-ligdicash) — créer un payout vers wallet LigdiCash
* [Payout Marchand](/api-paiement/payout/vers-mobile-money) — créer un payout vers mobile money
* [Codes de réponse et statuts](/concepts/codes-reponse-statuts)
