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 champDescription
statusLe statut HTTP
codeUn code d’erreur métier interne à l’API Hub2 (voir liste complète ci-dessous)
messageUne description lisible du code d’erreur
request_idIdentifiant 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

{
    "status": 404,
    "code": "Not Found",
    "message": "Country not found",
    "request_id": "req_RRg_xtA55q32PLIWYVLFL"
}

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’étatTexte d’étatDescription
200OKLa requête s’est exécutée comme prévu.
400Requête incorrecteLa requête était inacceptable, souvent en raison d’un paramètre requis manquant ou mal formaté.
401Non autoriséAucune clé API valide n’a été fournie.
402Requête échouéeLes paramètres étaient valides mais la requête a échoué.
403InterditLa clé API n’a pas les permissions nécessaires pour effectuer la requête.
404Non trouvéLa ressource demandée n’existe pas.
409ConflitLa requête du client est en conflit direct avec une autre action déjà en cours ou déjà terminée.
429Trop de requêtesDes 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, 504Erreurs liées au serveurQuelque 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 :

CodeReason
account-already-existsUn compte ‘accountType’ (en mode live ou sandbox) existe déjà pour le marchand merchantId.
cancellation-already-doneLa transaction id a déjà été annulée.
insufficient-fundsLe compte ne dispose pas de suffisamment de fonds pour effectuer le transfert.
invalid-currencyDevise invalide.
locked-accountLe compte est verrouillé.
transaction-not-foundLa transaction transactionId pour le compte accountId est introuvable.
currency-not-foundDevise introuvable.
withdrawal-unavailableLes retraits sont indisponibles sur le compte accountId. Le compte peut être bloqué ou ne dispose pas de fonds suffisants.
missing-funds-reservationLes fonds réservés sont insuffisants.
merchant-not-foundLe marchand est introuvable.
unsupported-commandCommande non supportée
no_auth_requiredLa transaction id ne requiert pas d’authentification.
transaction_canceledLa transaction (paiement) a été annulé. Aucun paiement ne peut être traité.
transaction_missingLa transaction (transfert ou paiement) est introuvable.
transaction_in_progressLa transaction (transfert ou paiement) est déjà en cours.
transaction_doneLa transaction (transfert ou paiement) a déjà été effectué.