Gestion des erreurs
Format des erreurs
Le format d’erreur de l’API HUB2 est en cours de standardisation. Ci-dessous les champs dans la réponse standardisée ainsi qu’un exemple:
Nom du champ | Description |
---|---|
status | Le statut HTTP |
code | Un code d’erreur métier interne à l’API Hub2 (voir liste complète ci-dessous) |
message | Une description lisible du code d’erreur |
request_id | Identifiant unique de la requête |
A l’heure actuelle, il est nécessaire de positionner le header ‘x-use-standardized-error’ === true afin d’obtenir ce format standardisé.
À partir du 1er Octobre 2024, ce format d’erreur sera le seul renvoyé par l’API HUB2. Les marchands doivent donc mettre à jour leur intégration avant cette date.
Exemple : Erreur 404
Note: request_id
est un identifiant unique de requête permettant au support de HUB2 d’intervenir plus rapidement en cas de demande d’aide.
Codes d’erreur
Codes de statut HTTP
Les codes de statut HTTP n’indiquent pas des erreurs applicatives.
Codes de statut HTTP standards pouvant être retournés par l’API HUB2 :
Code d’état | Texte d’état | Description |
---|---|---|
200 | OK | La requête s’est exécutée comme prévu. |
400 | Requête incorrecte | La requête était inacceptable, souvent en raison d’un paramètre requis manquant ou mal formaté. |
401 | Non autorisé | Aucune clé API valide n’a été fournie. |
402 | Requête échouée | Les paramètres étaient valides mais la requête a échoué. |
403 | Interdit | La clé API n’a pas les permissions nécessaires pour effectuer la requête. |
404 | Non trouvé | La ressource demandée n’existe pas. |
409 | Conflit | La requête du client est en conflit direct avec une autre action déjà en cours ou déjà terminée. |
429 | Trop de requêtes | Des requêtes excessives ont été faites à l’API en peu de temps. La requête n’a pas été acceptée pour préserver les performances globales de l’API. |
500 , 502 , 503 , 504 | Erreurs liées au serveur | Quelque chose s’est mal passé du côté de HUB2. |
Codes métier
Codes d’erreur applicatifs susceptibles d’être retournés por l’API HUB2 :
Code | Reason |
---|---|
account-already-exists | Un compte ‘accountType’ (en mode live ou sandbox) existe déjà pour le marchand merchantId. |
cancellation-already-done | La transaction id a déjà été annulée. |
insufficient-funds | Le compte ne dispose pas de suffisamment de fonds pour effectuer le transfert. |
invalid-currency | Devise invalide. |
locked-account | Le compte est verrouillé. |
transaction-not-found | La transaction transactionId pour le compte accountId est introuvable. |
currency-not-found | Devise introuvable. |
withdrawal-unavailable | Les retraits sont indisponibles sur le compte accountId. Le compte peut être bloqué ou ne dispose pas de fonds suffisants. |
missing-funds-reservation | Les fonds réservés sont insuffisants. |
merchant-not-found | Le marchand est introuvable. |
unsupported-command | Commande non supportée |
no_auth_required | La transaction id ne requiert pas d’authentification. |
transaction_canceled | La transaction (paiement) a été annulé. Aucun paiement ne peut être traité. |
transaction_missing | La transaction (transfert ou paiement) est introuvable. |
transaction_in_progress | La transaction (transfert ou paiement) est déjà en cours. |
transaction_done | La transaction (transfert ou paiement) a déjà été effectué. |