Skip to content

Clés API ​

Authentification des appels ministry : en-tête Authorization: Bearer sk_… sur la base https://paymentdev-api.akieni.tech/api/v1.

Format ​

PréfixeEnvironnementUsage
sk_test_…SandboxRecette, connecteurs simulés selon configuration
sk_live_…ProductionEncaissements réels

La clé secrète complète n'est affichée qu'une fois à l'émission. Stockage dans un coffre de secrets ; jamais dans le navigateur, une application mobile ou un dépôt public.

Trois niveaux de portée ​

Chaque clé porte un scope qui fixe le tenant, l'application et les champs obligatoires à la création de session.

ScopePortéeapplication_id implicitetenant_id à POST /checkout/sessions
applicationUne application métier (ex. portail casiers)Oui, lié à la cléNon requis
tenantToute la régie ; application intégrateur par défautOui, application intégrateur de la régieNon requis
platformPlateforme DPI (eGouv, e-Citizen)Oui, application intégrateur de la régie cibléeObligatoire (UUID ou slug)

Scope application ​

Clé émise pour une application ministry nominative. Toutes les sessions créées sont rattachées à cette application et au tenant de la régie propriétaire.

Cas d'usage : intégration directe d'un SI ministériel (MinJust, autre ministère) avec une application dédiée et des endpoints webhook propres.

Scope tenant ​

Clé au niveau régie. L'API rattache les sessions à l'application intégrateur par défaut du tenant. Une seule clé peut servir plusieurs flux métier si l'architecture le justifie.

Cas d'usage : intégrateur unique par ministère, plusieurs services métier derrière la même clé.

Scope platform ​

Clé transversale opérée par un intégrateur plateforme (eGouv). Chaque POST /checkout/sessions et chaque POST /checkout/sessions/verify-completion doit inclure tenant_id identifiant la régie cible.

Sans tenant_id : réponse 400 checkout.tenant_required.

Les webhooks (checkout.completed, etc.) sont livrés en fan-out dual : endpoints de l'application intégrateur de la régie ciblée, et endpoints eGouv configurés dans admin → Intégration eGouv (indépendants des clés API).

Résolution du contexte ​

À chaque requête, l'API :

  1. Valide le préfixe et le hash de la clé (sk_ secret uniquement).
  2. Vérifie que le tenant et l'application sont actifs et compatibles avec l'environnement de la clé (test / live).
  3. Résout service_code optionnel contre le catalogue de services actifs de la régie.

Clé invalide, inactive ou non autorisée pour la ressource : 401. Tenant ou application inaccessible pour la clé : 403.

Champs liés au scope ​

EndpointChampScope application / tenantScope platform
POST /checkout/sessionstenant_idIgnoré (tenant de la clé)Obligatoire
POST /checkout/sessions/verify-completiontenant_idOptionnel (filtrage)Recommandé (UUID régie cible)
GET /checkout/sessionstenant_id (query)OptionnelOptionnel (contexte plateforme)

Environnements ​

Ne pas mélanger clés, secrets webhook et URLs checkout entre sandbox et production. Une clé sk_test_* ne crée pas de sessions visibles avec une clé sk_live_*.

Émission et rotation ​

Émission : portail régie (officer) ou super-admin. Pas d'API self-service ministry pour créer ou révoquer des clés en v1.

Révoquer une clé compromise : désactivation côté plateforme, émission d'une nouvelle clé, mise à jour du coffre de secrets côté SI.

Plateforme d'orchestration de paiement DPI. Les fonds ne transitent pas par Epayment.