LibrePay Console →
Documentation

Démarrer

IntroductionDémarrageAuthentification

API

PaiementsPage de paiementDécaissementsIBAN de collecteRelevé de compteWebhooksRéférenceErreurs

Outils

Numéros de testSDK JavaScriptVersions

Catalogue des erreurs

Toutes les erreurs ont la même forme :

{ "error": { "code": "invalid_amount", "message": "..." } }

Testez le code, jamais le message. Le code est stable ; le message est rédigé pour un humain et peut être reformulé sans préavis.

Toute réponse porte LibrePay-Request-Id. Il apparaît à l'identique dans le Journal API de votre console : commencez toujours par là.

Les 65 codes que l'API peut rendre

Cette liste est dérivée de la spécification, et chacun de ces codes est provoqué contre la sandbox à chaque recette. Aucun n'est théorique.

CodeStatutQue faire
amount_above_limit422—
amount_too_large422Au-delà de la borne haute qui s’applique : celle du lien de paiement, ou celle que nous appliquons sur ce couple service/opérateur. GET /v1-operators les rend toutes les deux.
amount_too_small422En deçà de la borne basse qui s’applique : celle du lien de paiement, ou celle que nous appliquons sur ce couple service/opérateur. GET /v1-operators les rend toutes les deux.
authentication_required401Ajoutez l'en-tête Authorization: Bearer.
batch_not_cancellable409—
batch_not_executable409—
batch_pending_approval409—
bornes_illisibles500—
checkout_cancel_failed500—
checkout_creation_failed500—
checkout_not_cancellable409—
destination_introuvable404—
destination_non_designee422Cette destination sert aux décaissements. La destination de vos règlements se désigne dans votre console, écran « Règlements » — une seule à la fois, par le propriétaire du compte. Rien à changer dans votre code.
destination_trop_recente422Une destination fraîchement désignée attend un délai avant de servir. Le message indique la date. Ce délai vous laisse le temps de réagir si le changement ne venait pas de vous.
duplicate_reference409Ce merchant_reference désigne déjà une autre transaction.
endpoint_disabled409—
iban_already_issued409—
iban_emission_incertaine502—
iban_service_inactive503—
idempotency_in_progress409Une requête identique est en cours. Attendez, ne changez pas de clé.
idempotency_key_required400Ajoutez Idempotency-Key, dérivée de votre commande.
idempotency_key_reused422Même clé, corps différent. Utilisez une clé par commande, pas par tentative.
insufficient_funds409—
insufficient_scope403—
invalid_amount422Entier strictement positif, en unité mineure. Ni chaîne, ni décimale.
invalid_api_key401Clé inconnue, révoquée ou malformée. Vérifiez le préfixe et l’environnement.
invalid_beneficiary422—
invalid_body400Le corps n’est pas du JSON valide.
invalid_currency422Code ISO à trois lettres.
invalid_description422—
invalid_enabled_events422—
invalid_holder422—
invalid_id422L’identifiant doit être un txn_….
invalid_lines422—
invalid_msisdn422—
invalid_operator422—
invalid_period422—
invalid_reference422—
invalid_request400—
invalid_return_url422—
invalid_url422—
lien_indisponible409—
merchant_inactive403Votre dossier de vérification n’est pas validé. Rien à corriger côté code.
merchant_incomplete503—
merchant_limit_reached422—
method_not_allowed405—
montant_non_eligible422—
monthly_limit_reached422—
payment_creation_failed500—
payment_failed500—
payout_failed500—
rate_limit_exceeded429—
resource_not_found404Inconnu, ou appartenant à un autre marchand. Les deux rendent 404.
server_error500—
session_closed409—
session_expired409—
settlement_failed500—
sous_le_plancher422—
statement_failed500—
temporarily_unavailable503—
test_rate_limited429—
too_many_attempts429—
too_many_endpoints422—
too_many_lines422—
unknown_event_type422—

Ce qui mérite une nouvelle tentative

SituationRejouer ?
Erreur réseau, aucune réponseOui, avec la MÊME clé d'idempotence
5xxOui, avec la même clé
429Oui, après attente
4xxNon — la requête est en cause, le refus serait identique

Rejouer avec la même clé est sans danger : c'est précisément ce pour quoi l'idempotence existe. Rejouer avec une clé neuve crée un second paiement.

Version d'API 2026-08-25 · changements · spécification OpenAPI