Skip to main content
L’API iMoney Encaissement est une API REST en JSON, accessible à l’URL de base 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ête Secret-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.