https://i-pay.money/api/v1. Sauf pour l’unique opération publique signalée plus bas, chaque appel
s’authentifie avec la clé secrète du compte correspondant à l’environnement visé, et porte les
quatre en-têtes communs décrits ici.
En-têtes requis
Clés API et environnements
Le tableau de bord (Développeurs → Clés API) fournit une clé publique et une clé secrète pour chaque environnement :
Sandbox et Live sont deux comptes entièrement séparés, chacun avec sa propre paire de clés. Une clé
Sandbox utilisée avec
Ipay-Target-Environment: live échoue avec une erreur d’authentification (et
inversement) : les deux environnements ne se substituent jamais silencieusement l’un à l’autre.
Prévoyez donc une configuration par environnement (URL de base identique, clés et en-tête distincts)
plutôt qu’un simple interrupteur booléen dans votre code.
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, et ne réutilisez jamais une clé Live dans un environnement de test.
- 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.
Réponses d’authentification
Les vérifications d’en-têtes s’exécutent dans un ordre fixe, sur toute opération authentifiée : la première condition non satisfaite détermine la réponse. L’ordre exact et les messages littéraux sont détaillés dans Erreurs.
Une clé Sandbox utilisée avec
Ipay-Target-Environment: live (ou l’inverse) est syntaxiquement
valide : elle échoue en 401, pas en 400.
Opération publique
Une seule opération de cette API ne demande aucune clé ni aucun en-tête d’authentification : Consulter un lien de paiement (GET /external_payments/{reference}). Toute personne connaissant la référence peut l’appeler :
utilisez une référence aléatoire à forte entropie, jamais un identifiant séquentiel.
Webhooks
iMoney Encaissement envoie le secret que vous avez configuré dans l’en-têteSecret-Hash de ses
notifications. C’est une valeur statique partagée, à comparer avec votre propre secret côté serveur,
et non une signature HMAC calculée sur le corps de la requête. La configuration complète est décrite
dans Webhooks.