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

# Configurer l'URL de callback

> Comment définir une URL de callback fiable, accessible publiquement et prête à recevoir les notifications LigdiCash.

Votre URL de callback est l'adresse à laquelle LigdiCash envoie les notifications de résultat. Vous la fournissez dans le champ `callback_url` de chaque requête de création de transaction.

## Exigences techniques

| Critère          | Requis                                                    |
| ---------------- | --------------------------------------------------------- |
| Protocole        | HTTP ou HTTPS                                             |
| Accessibilité    | Publiquement accessible depuis Internet                   |
| Authentification | Pas de basic auth ni de token dans l'URL                  |
| Méthode acceptée | POST                                                      |
| Formats acceptés | `application/json` et `application/x-www-form-urlencoded` |

<Note>
  En production, préférez HTTPS pour protéger les données en transit — même si HTTP est techniquement accepté par LigdiCash.
</Note>

## Définir le callback à la création

Selon le type de transaction, la `callback_url` est passée à deux endroits différents dans le corps de la requête.

**Dans l'objet `commande`** — pour le Payout :

```json theme={null}
{
  "commande": {
    "callback_url": "https://backend.masuperboutique.com/callback",
    ...
  }
}
```

**Dans l'objet `actions`** — pour le Payin :

```json theme={null}
{
  "commande": { 
    ...
    "actions": {
      "cancel_url": "https://masuperboutique.com/cancel",
      "return_url": "https://masuperboutique.com/success",
      "callback_url": "https://backend.masuperboutique.com/callback"
    }
    ...
  },
}
```

Vous pouvez utiliser une URL différente par type de transaction ou une URL unique qui dispatche selon le contenu du payload.

## Développement local

Votre machine locale n'est pas accessible depuis Internet. Pour tester le callback en local, utilisez un tunnel comme [ngrok](https://ngrok.com) ou [Expose](https://expose.dev) qui crée une URL publique HTTPS pointant vers votre serveur local.

```bash theme={null}
# Exemple avec ngrok
ngrok http 3000
# → https://abc123.ngrok.io reçoit les POST et les redirige vers localhost:3000
```

<Note>
  L'URL ngrok change à chaque démarrage sur le plan gratuit. Utilisez un sous-domaine fixe ou déployez sur un environnement de staging pour des tests plus stables.
</Note>

## Pages associées

* [Payload Payin](/api-paiement/callback/payload-payin) — contenu des notifications payin
* [Payload Payout](/api-paiement/callback/payload-payout) — contenu des notifications payout
* [Idempotence](/api-paiement/callback/idempotence) — gérer les deux requêtes par événement
