Skip to content

Codes d'erreur ​

Réponses API ministry, embed et ERP : enveloppe { "code": "...", "message": "..." }. Messages API en anglais ; pivotez sur code.

Générique et auth ​

CodeHTTPSignification
generic.bad_request400Requête mal formée
generic.unauthorized401Authentification requise ou clé invalide
generic.forbidden403Opération interdite pour ce scope
generic.not_found404Ressource introuvable
generic.conflict409Conflit d'état générique
generic.validation_failed422Corps ou paramètres invalides (ex. devise checkout non supportée)
generic.rate_limited429Rate limit (ex. 30/min create session)
generic.internal500Erreur interne
idempotency.conflict409Même Idempotency-Key, corps différent

Checkout ministry ​

CodeHTTPSignification
checkout.not_found404Session inconnue
checkout.expired422Session expirée (TTL)
checkout.completed409Session déjà payée
checkout.session_open409Session ouverte existe pour cet order_id
checkout.not_paid422Session non payée (ex. receipt)
checkout.tenant_required400tenant_id requis avec clé plateforme
checkout.amount_invalid422Montant collecte invalide
checkout.amount_exceeds_balance409Montant supérieur au solde

Checkout embed ​

CodeHTTPSignification
embed.origins_required422Origines embed non configurées
checkout.completion_token_not_found404Token invalide
checkout.completion_token_expired410Token expiré (~10 min)
checkout.completion_token_consumed409Token déjà utilisé (rejouer verify → idempotent 200 si déjà payé)

Connecteur et capacités ministry ​

CodeHTTPSignification
connector.unavailable503Aucun connecteur MM disponible (agence possible)
capability.ministry_integrator_disabled403API ministry désactivée pour la régie
capability.cash_collection_disabled403Collecte agence désactivée
payment_ref.codes_required422Codes agence requis pour payment_ref

ERP intégration ​

CodeHTTPSignification
erp.not_configured404ERP non configuré pour le tenant
erp.adapter_unavailable400Adaptateur ERP demandé indisponible
erp.connection_failed503Test connexion ou appel ERP en échec
capability.erp_integration_disabled403Intégration ERP désactivée
capability.citizen_portal_disabled403Portail citoyen désactivé
capability.bulk_disbursement_disabled403Disbursement masse désactivé

Portail citoyen (panier et dues) ​

CodeHTTPSignification
citizen.cart_not_found404Panier introuvable
citizen.cart_empty422Panier vide
citizen.cart_not_open422Panier non modifiable
citizen.cart_currency_mismatch422Devises hétérogènes dans le panier
citizen.amount_exceeds_outstanding422Montant > solde ERP
citizen.amount_below_minimum422Montant < minimum ERP
citizen.amount_partial_not_allowed422Partial interdit sur la ligne
citizen.intent_already_pending409Intent paiement déjà en cours
citizen.link_not_active404Liaison citoyen-régie inactive

Disbursement ​

CodeHTTPSignification
disbursement.reference_taken409batch_ref déjà importé
disbursement.invalid_transition409Transition batch invalide
disbursement.concurrent_state_change409État batch modifié ; rafraîchir
disbursement.batch.import_not_allowed409Import interdit dans cet état

Webhooks (configuration régie) ​

Codes lors de la gestion d'endpoints (pas sur votre handler ministry) :

CodeHTTPSignification
webhook.url_missing422URL webhook absente
webhook.url_unsafe422URL webhook non autorisée
webhook.endpoint_not_subscribed422Endpoint non abonné à l'événement
webhook.platform_managed409Endpoints eGouv via Intégration eGouv, pas via routes application génériques

Côté votre endpoint webhook : répondre HTTP 2xx pour accepter ; 5xx seulement si retry souhaité.

Receipt ​

CodeHTTPSignification
receipt.not_paid422Quittance non payée

Journal des modifications ​

Nouveaux codes publics documentés dans changelog.

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