> ## Documentation Index
> Fetch the complete documentation index at: https://docs.i-pay.money/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentification et sécurité

Les endpoints marchands s'authentifient avec la clé secrète associée à l'environnement du compte.

## En-têtes requis

```http theme={null}
Content-Type: application/json
Authorization: Bearer <cle_secrete>
Ipay-Target-Environment: sandbox
Ipay-Payment-Type: mobile
```

| En-tête                   | Règle                                                         |
| ------------------------- | ------------------------------------------------------------- |
| `Content-Type`            | Utilisez exactement `application/json`.                       |
| `Authorization`           | Utilisez le préfixe `Bearer` suivi de la clé secrète.         |
| `Ipay-Target-Environment` | Valeur `sandbox` ou `live`, cohérente avec la clé.            |
| `Ipay-Payment-Type`       | Moyen de paiement autorisé pour le compte et l'environnement. |

## Protéger les clés

* Placez la clé secrète dans un gestionnaire de secrets ou une variable d'environnement serveur.
* Ne l'intégrez jamais dans du JavaScript frontend, une application mobile, une capture d'écran ou un dépôt Git.
* Utilisez des clés différentes pour Sandbox et Live.
* Après une régénération, mettez à jour les services concernés avant de retirer l'ancienne configuration.
* Journalisez la référence et le code HTTP, mais jamais l'en-tête `Authorization`.

## Webhooks

iPayMoney envoie le secret configuré dans l'en-tête `Secret-Hash`. Il s'agit d'une valeur à comparer avec votre secret côté serveur, pas d'une signature HMAC du corps de la requête.

Votre endpoint doit utiliser HTTPS, refuser une valeur incorrecte, traiter les notifications de manière idempotente et confirmer le statut auprès de l'API lorsque l'opération déclenche une action sensible.

## Réponses d'authentification

| Code  | Signification                                                                           |
| ----- | --------------------------------------------------------------------------------------- |
| `400` | En-tête absent, environnement ou type de paiement non autorisé, format `Bearer` absent. |
| `401` | Aucune clé valide ne correspond à l'environnement demandé.                              |
| `403` | Le compte ou l'environnement n'est pas disponible.                                      |
| `406` | Le `Content-Type` n'est pas `application/json`.                                         |

[Consulter tous les codes d'erreur](/ipaymoney/codes-erreur)
