Aller au contenu

Erreurs

Les erreurs renvoient un corps JSON avec un champ error, et souvent un champ message plus détaillé :

{
"error": "You haven't set up a wallet address for the Polygon network",
"message": "Please configure a Polygon-specific wallet in your merchant settings before accepting payments on this network.",
"network": "polygon"
}
Code Signification
400 la requête a été rejetée, lisez error
401 identifiants manquants ou invalides
404 endpoint inexistant, ou ressource inexistante sur les endpoints qui l’utilisent
500 une erreur s’est produite côté serveur

La lecture d’un paiement qui n’existe pas renvoie 500, et non 404 :

{ "success": false, "error": "Failed to query payment status" }

Cela concerne les endpoints de lecture des paiements et des dépôts. D’autres endpoints renvoient bien 404 pour une ressource qui n’existe pas : le comportement n’est donc pas cohérent dans l’ensemble de l’API. Il est documenté parce que c’est ce qui se passe aujourd’hui : ne considérez pas un 500 sur ces routes comme le signe certain d’une panne. Vérifiez d’abord l’ID.

Comme passer de 500 à 404 modifierait le code de statut d’un résultat existant, ce changement est considéré comme cassant selon notre politique de versionnage et n’arrivera pas discrètement dans la v1.

Les réponses 500 sur les endpoints de lecture peuvent être réessayées sans risque.

Réessayer une écriture n’est sûr que si le serveur peut reconnaître la répétition. Envoyez un en-tête Idempotency-Key, ou au minimum le même orderId. Consultez Réessayer en toute sécurité.