Aller au contenu

Erreurs

Toutes les erreurs ont la même forme. Basez votre logique sur code, qui est stable ; message est destiné aux humains et peut changer.

{ "error": { "code": "insufficient_funds", "message": "Available balance is too low for this payout", "details": null } }
HTTP code Signification Que faire
400 validation_error corps ou paramètres de requête invalides (details liste les champs), montant inférieur au minimum, starting_after inconnu corrigez la requête ; ne la relancez pas telle quelle
400 invalid_request la requête n’a pas pu être lue (par exemple un JSON mal formé) corrigez la requête
401 authentication_required pas d’en-tête Authorization: Bearer sk_… envoyez votre clé secrète
401 invalid_api_key clé mal formée, inconnue ou révoquée vérifiez la clé et son mode
403 forbidden compte suspendu, ou simulate appelé avec une clé de production contactez Xaalis / utilisez une clé de test
403 merchant_not_active requête en production alors que votre compte n’est pas encore active restez en mode test jusqu’à l’activation
404 not_found aucun objet de ce type pour le commerçant et le mode de cette clé vérifiez l’identifiant et la clé (test ou production)
409 idempotency_conflict Idempotency-Key réutilisée avec des paramètres différents (montant, prestataire, bénéficiaire…) utilisez une nouvelle clé pour une requête différente
409 invalid_state l’objet ne peut pas faire cela pour l’instant (paiement déjà dans un état final ou expiré, abonnement qui n’est plus actif, avance de test déjà en cours) consultez l’état de l’objet ; créez-en un nouveau si nécessaire
409 key_secret_unavailable l’émission d’une clé (clé API ou clé de portefeuille d’agent) a été relancée : un secret n’est affiché qu’une seule fois révoquez l’identifiant de clé indiqué dans l’erreur, puis émettez-en une nouvelle avec une nouvelle Idempotency-Key
422 insufficient_funds versement supérieur à available (frais compris) versez un montant plus faible
422 unsupported par exemple un versement Orange Money en production utilisez Wave
429 rate_limited plus de 100 requêtes par seconde sur une même clé (60/s par IP sur les routes de la page de paiement) attendez Retry-After secondes, puis relancez
502 provider_error Wave / Orange Money n’a pas réussi à démarrer le paiement relancez, ou proposez l’autre moyen de paiement
503 temporarily_unavailable une dépendance est brièvement indisponible, ou l’issue d’un versement ou d’un remboursement n’est pas encore connue relancez avec la même Idempotency-Key
503 provider_not_configured ce prestataire n’est pas activé sur la plateforme proposez l’autre moyen de paiement
500 internal_error un bug de notre côté ; request_id est inclus relancez avec la même Idempotency-Key ; signalez le request_id

Ne relancez que les 429 (après Retry-After), les 5xx et les erreurs réseau — et uniquement avec la même Idempotency-Key. Ne relancez jamais un autre 4xx sans rien changer.