Sommaire · Authentification et clés

Authentification et clés API

Chaque requête de votre serveur porte une clé API dans l’en-tête Authorization. Les clés se créent et se révoquent dans le tableau de bord (Développeurs › Clés API), jamais par l’API elle-même.

En-tête
Authorization: Bearer gsp_test_sk_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

Deux types de clés

TypePréfixeOù l’utiliserCe qu’elle permet
Secrètegsp_test_sk_ / gsp_live_sk_Votre serveur uniquementLes permissions choisies à sa création (liste ci-dessous)
Publiquegsp_test_pk_ / gsp_live_pk_Navigateur, application mobileSeulement lire le statut d’un paiement, avec son client_secret (voir Paiements)

Une clé secrète ne quitte jamais votre serveur

Ne la mettez ni dans une application mobile, ni dans du JavaScript envoyé au navigateur, ni dans un dépôt Git. Quiconque la détient peut agir sur votre compte dans la limite de ses permissions. En cas de doute, révoquez-la : l’effet est immédiat.

Permissions d’une clé secrète

Donnez à chaque clé le minimum nécessaire. Une requête qui sort de ses permissions répond 403 FORBIDDEN.

PermissionAutorise
payments:readLire les paiements, les moyens de paiement
payments:writeCréer et annuler des paiements ; simulateur (mode test)
refunds:writeRembourser
payouts:readLire les versements
payouts:writeDemander des versements ; simulateur de versement (mode test)
customers:readLire les clients
customers:writeCréer et anonymiser des clients
balance:readLire le solde et les mouvements
reports:readRapports et statistiques

Trois droits ne peuvent jamais être donnés à une clé API : gérer les clés (api_keys:manage), configurer le compte et le webhook (merchant:manage) et approuver un versement (payouts:approve). Ils restent dans le tableau de bord, protégés par la double authentification.

Vérifier une clé

cURL
curl -s https://backend.v1.pay.galsen.tech/v1/auth/me -H "Authorization: Bearer $GALSEN_SECRET_KEY"
# {"success":true,"data":{"type":"api_key","merchantId":"…","permissions":["payments:read",…]},"requestId":"…"}

Erreurs d’authentification

StatutCodeSignification
401UNAUTHENTICATEDAucune clé dans la requête.
401INVALID_API_KEYClé inconnue, révoquée, expirée ou d’un autre environnement. La réponse est volontairement la même dans tous ces cas : elle ne renseigne pas un attaquant.
403FORBIDDENLa clé n’a pas la permission demandée par cet endpoint.
403MERCHANT_SUSPENDEDLe compte marchand est suspendu : aucune opération d’argent possible.

Bonnes pratiques

  • Une clé par service ou par serveur, nommée clairement : la révocation d’une clé ne coupe que ce qui l’utilise.
  • Une date d’expiration pour les clés temporaires (tests, prestataires).
  • Surveillez la colonne Dernière utilisation : une clé jamais utilisée peut être révoquée.
  • 25 clés actives au plus par compte marchand.