Skip to main content

Vue d’ensemble

L’API Dodo Payments utilise des codes d’état HTTP standard et des codes d’erreur personnalisés pour indiquer le succès ou l’échec des requêtes API. Lorsqu’une erreur se produit, l’API renvoie un code d’état HTTP approprié et une réponse JSON contenant des informations détaillées sur l’erreur. Chaque réponse d’erreur comprend :
  • Un code d’état HTTP indiquant la catégorie générale de l’erreur
  • Un code d’erreur spécifique qui identifie la nature exacte de l’erreur
  • Un message d’erreur lisible par l’homme expliquant ce qui s’est mal passé
  • Des détails supplémentaires sur l’erreur lorsque cela est applicable
Comprendre ces codes d’erreur et leurs significations est crucial pour :
  • Déboguer les problèmes d’intégration
  • Mettre en œuvre une gestion appropriée des erreurs dans votre application
  • Fournir des retours significatifs aux utilisateurs finaux
  • Maintenir un système de traitement des paiements robuste
Ce sont des erreurs d’API et de logique métier. Pour les raisons de refus de carte renvoyées lors d’un paiement échoué (comme INSUFFICIENT_FUNDS ou CARD_DECLINED), consultez plutôt la référence Échecs de transactions.

Codes d’erreur API standard

Format de réponse d’erreur

Lorsqu’une erreur se produit, l’API renvoie une réponse JSON avec la structure suivante :

Référence des codes d’erreur

Les codes d’erreur ci-dessous sont regroupés par zone de l’API à laquelle ils se rapportent. Chaque entrée liste la condition qui la déclenche et le message que renvoie l’API.

Authentification & Compte

  • UNAUTHORIZED
    • Déclencheur : Pas de clé API ou jeton/scope invalide
    • Message : Vous n’êtes pas autorisé à effectuer cette action
  • MERCHANT_NOT_LIVE
    • Déclencheur : Entreprise toujours en mode test/sandbox
    • Message : Le commerçant n’est pas en ligne

Paiements & Check-out

  • CHECKOUT_SESSION_CONSUMED
    • Déclencheur : La session de paiement a déjà généré un paiement
    • Message : La session de paiement a déjà été consommée
  • NO_ELIGIBLE_PAYMENT_METHODS
    • Déclencheur : Après filtrage, rien ne reste
    • Message : Aucune méthode de paiement éligible trouvée
  • PAYMENT_NOT_SUCCEEDED
    • Déclencheur : Tentative de remboursement/traitement d’un paiement non réussi
    • Message : Le paiement fourni n’a pas réussi
  • PREVIOUS_PAYMENT_PENDING
    • Déclencheur : Tentative de création d’une charge alors que la précédente est dans un état non terminal
    • Message : Impossible de créer une nouvelle charge car le paiement précédent n’est pas encore réussi
  • UNSUCCESSFUL_PAYMENT_ID
    • Déclencheur : L’ID de paiement référence un paiement non réussi
    • Message : L’ID de paiement a un statut non réussi.

Connecteurs & BYOP

Ces erreurs concernent les connecteurs de paiement détenus par le commerçant (Apportez Votre Propre Processeur).
  • BYOP_CONNECTOR_DISABLED
    • Déclencheur : Mise à jour d’une méthode de paiement sur un abonnement routé via un connecteur BYOP désactivé
    • Message : L’abonnement est routé via le connecteur (BYOP) du commerçant qui est actuellement désactivé
  • BYOP_CUSTOM_INVOICE_ADDRESS_MISSING
    • Déclencheur : Un paiement routé par le commerçant (BYOP) manque de l’adresse de facture personnalisée requise
    • Message : L’adresse de facture personnalisée BYOP est requise lorsqu’un paiement est routé via le connecteur du commerçant
  • CONNECTOR_LABEL_ALREADY_EXISTS
    • Déclencheur : Création d’un connecteur avec une étiquette qui existe déjà
    • Message : Un connecteur avec cette étiquette existe déjà. Veuillez choisir une étiquette différente.

Remboursements

  • EXISTING_REFUND_REQUEST_PROCESSING
    • Déclencheur : La demande de remboursement précédente est toujours en cours de traitement
    • Message : Une demande de remboursement avec le statut « Pending » est toujours en cours de traitement
  • LINE_ITEM_FULLY_REFUNDED
    • Déclencheur : Tentative de remboursement d’un élément de ligne déjà entièrement remboursé
    • Message : L’article a déjà été entièrement remboursé et ne peut être remboursé davantage.
  • LINE_ITEM_NOT_FOUND
    • Déclencheur : ID d’élément ne faisant pas partie du paiement référencé
    • Message : L’article n’a pas été trouvé dans le paiement
  • LINE_ITEM_PRORATED
    • Déclencheur : Remboursement ou mise à jour tentée sur une ligne au prorata
    • Message : L’article ne peut être remboursé car il est proratisé
  • LINE_ITEM_REFUND_AMOUNT_TOO_HIGH
    • Déclencheur : Montant du remboursement > montant payé (taxe incl.)
    • Message : Le montant demandé pour le remboursement de l’article , y compris la taxe, est , supérieur au montant payé
  • LINE_ITEM_REFUND_AMOUNT_TOO_LOW
    • Déclencheur : Montant du remboursement en dessous du seuil minimum
    • Message : Le montant demandé pour le remboursement de l’article est , ce qui est trop bas
  • NOTHING_TO_REFUND
    • Déclencheur : Aucun montant remboursable restant; tous les articles de ligne positifs déjà entièrement remboursés
    • Message : Aucun montant remboursable restant. Tous les articles de ligne positifs ont été entièrement remboursés.
  • PARTIAL_REFUND_NOT_ALLOWED
    • Déclencheur : Remboursement partiel tenté sur une méthode de paiement qui ne prend en charge que les remboursements complets
    • Message : Les remboursements partiels ne sont pas autorisés pour cette méthode de paiement
  • PAYMENT_ALREADY_REFUNDED
    • Déclencheur : Remboursement en double
    • Message : Ce paiement a déjà été remboursé
  • PAYMENT_HAS_BEEN_REFUNDED
    • Déclencheur : Le paiement a été entièrement remboursé
    • Message : L’ID de paiement a été entièrement remboursé.
  • REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT
    • Déclencheur : Montant total du remboursement > montant payé
    • Message : Le montant du remboursement calculé est supérieur au montant payé
  • REFUND_WINDOW_EXPIRED
    • Déclencheur : Hors fenêtre de remboursement autorisée
    • Message : Les remboursements ne peuvent pas être initiés jours après la création du paiement. Contactez support@dodopayments.com.
  • ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED
    • Déclencheur : Tentative de remboursement d’un paiement de montant nul
    • Message : Impossible de rembourser un paiement dont le montant de la devise est nul

Abonnements & Extensions

  • ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED
    • Déclencheur : Tentative d’ajout d’addons aux abonnements basés sur l’utilisation
    • Message : Les addons dans les abonnements ne sont pas pris en charge pour la facturation basée sur l’utilisation
  • ADDONS_NOT_ALLOWED_FOR_ON_DEMAND
    • Déclencheur : Tentative d’ajout d’addons aux abonnements à la demande
    • Message : Les addons ne sont pas autorisés pour les abonnements à la demande
  • CANCEL_SCHEDULED_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED
    • Déclencheur : Le portail client tente d’annuler un changement de plan prévu alors que l’entreprise a désactivé cette action
    • Message : L’annulation du changement de plan prévu est désactivée pour le portail client.
  • CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION
    • Déclencheur : Tentative de facturation d’un abonnement programmé pour annulation
    • Message : Abonnement programmé pour annulation
  • CUSTOMER_HAS_EXISTING_SUBSCRIPTION
    • Déclencheur : Création d’un abonnement pour un client qui en a déjà un, lorsque plusieurs abonnements par client ne sont pas autorisés
    • Message : Le client a déjà un abonnement existant. Pour autoriser plusieurs abonnements par client, changez les paramètres de l’entreprise
  • DO_NOT_BILL_NOT_ALLOWED_IN_CUSTOMER_PORTAL
    • Déclencheur : Mode prorata do_not_bill utilisé dans un changement de plan du Portail Client
    • Message : Le mode prorata do_not_bill n’est pas autorisé dans le portail client
  • DUPLICATE_ADDON_IDS_IN_REQUEST
    • Déclencheur : Le même addon_id apparaît plus d’une fois dans la requête
    • Message : Les identifiants d’addons en double ne sont pas autorisés
  • INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED
    • Déclencheur : Changement de plan sur un abonnement inactif
    • Message : Le changement de plan n’est pas pris en charge pour les abonnements inactifs
  • INVALID_PRORATION_MODE_WITH_NEXT_BILLING_DATE
    • Déclencheur : Un mode de proration autre que full_immediately utilisé avec effective_at: next_billing_date
    • Message : Seul le mode de proration full_immediately est autorisé avec effective_at: next_billing_date
  • MISSING_ADDON_IDS
    • Déclencheur : Liste addon_id vide ou identifiants inconnus
    • Message : Un ou plusieurs identifiants de produit n’existent pas :
  • ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED
    • Déclencheur : Échange de plan non autorisé pour à la demande
    • Message : Le changement de plan n’est pas pris en charge pour les abonnements à la demande
  • ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED
    • Déclencheur : Tentative d’utilisation sur demande avec facturation basée sur l’utilisation
    • Message : Les abonnements à la demande ne sont pas pris en charge pour la facturation basée sur l’utilisation
  • ONE_TIME_PRODUCTS_NOT_ALLOWED_FOR_ON_DEMAND
    • Déclencheur : Produit unique ajouté à un abonnement à la demande
    • Message : Les produits uniques ne sont pas autorisés pour les abonnements à la demande
  • PENDING_PLAN_CHANGE_EXISTS
    • Déclencheur : Un nouveau changement de plan demandé alors qu’un précédent est toujours en attente de paiement
    • Message : Un changement de plan en attente existe déjà pour cet abonnement. Veuillez attendre que le paiement actuel soit terminé.
  • PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED
    • Déclencheur : Modification de plan via le Portail Client alors que l’entreprise l’a désactivé
    • Message : Le changement de plan d’abonnement pour le portail client est désactivé.
  • PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION
    • Déclencheur : Changement de plan tenté sur un abonnement programmé pour l’annulation
    • Message : Abonnement programmé pour l’annulation
  • SCHEDULE_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED
    • Déclencheur : Planification d’un changement de plan via le Portail Client alors que l’entreprise l’a désactivé
    • Message : La planification des changements de plan est désactivée pour cette entreprise.
  • SCHEDULED_PLAN_CHANGE_EXISTS
    • Déclencheur : Création d’un changement de plan programmé alors qu’il en existe déjà un
    • Message : Un changement de plan programmé existe déjà pour cet abonnement. Veuillez annuler le changement programmé existant avant d’en créer un nouveau.
  • SCHEDULED_PLAN_CHANGE_NOT_FOUND
    • Déclencheur : Référencement ou annulation d’un changement de plan programmé inexistant
    • Message : Aucun changement de plan programmé trouvé pour cet abonnement.
  • SUBSCRIPTION_EXPIRED
    • Déclencheur : Facturation après ends_at
    • Message : L’abonnement a expiré, impossible de créer de nouvelles charges
  • SUBSCRIPTION_INACTIVE
    • Déclencheur : Statut ≠ ACTIVE
    • Message : L’abonnement n’est pas actif
  • SUBSCRIPTION_NOT_ON_DEMAND
    • Déclencheur : Attendu à la demande mais obtenu intervalle fixe
    • Message : L’abonnement n’est déjà pas à la demande
  • SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED
    • Déclencheur : Les tentatives de paiement de l’abonnement ont dépassé le nombre maximal de tentatives
    • Message : Limite maximale de 10 tentatives de réessai dépassée pour cet abonnement

Produits, Panier & Marques

  • BRAND_MISMATCH
    • Déclencheur : Les articles du panier appartiennent à différentes marques
    • Message : Tous les articles du panier produit doivent appartenir à la même marque
  • BRAND_NOT_ENABLED
    • Déclencheur : La marque est désactivée ou non active
    • Message : La marque fournie n’est pas activée
  • BRAND_SUBMISSION_NOT_ENABLED
    • Déclencheur : Fonction de resoumission de vérification de marque non activée
    • Message : La resoumission de vérification de marque n’est pas activée
  • FILE_IN_USE
    • Déclencheur : Suppression d’un fichier de produit numérique encore référencé par des attributions de droits actives
    • Message : Le fichier numérique est référencé par des attributions actives
  • INVALID_SUGGESTED_PRICE
    • Déclencheur : Le prix PWYW < prix minimum autorisé
    • Message : Le prix suggéré ne peut pas être inférieur au prix minimum. Dans le cas de pay what you want, le prix est considéré comme le montant minimum accepté
  • LOCALIZED_PRICE_ALREADY_EXISTS
    • Déclencheur : Un prix localisé existe déjà pour ce produit et pays/devise
    • Message : Un prix localisé pour ce produit et ce pays/devise existe déjà
  • LOCALIZED_PRICE_DUPLICATES_BASE
    • Déclencheur : Le prix localisé duplique la devise/pays de base du produit
    • Message : Le prix localisé duplique la devise/pays de base du produit
  • LOCALIZED_PRICE_SHAPE_MISMATCH
    • Déclencheur : La forme de prix localisé ne correspond pas à pricing_mode du produit
    • Message : La forme de prix localisé ne correspond pas au mode de tarification du produit
  • MISSING_PRODUCT_INFORMATION
    • Déclencheur : Le produit existe mais des informations obligatoires sont manquantes
    • Message : Le produit existe mais d’autres informations obligatoires sont manquantes ou invalides
  • PAY_AS_YOU_WANT_AMOUNT_REQUIRED
    • Déclencheur : Prix manquant pour produit PWYW
    • Message : Le montant est obligatoire pour le produit à payer comme vous voulez
  • PRODUCT_CART_EMTPY
    • Déclencheur : Panier produit vide soumis
    • Message : product_cart est vide (le code d’erreur est intentionnellement orthographié EMTPY pour correspondre à la valeur exacte que renvoie l’API)
  • PRODUCT_COLLECTION_IS_DELETED
    • Déclencheur : Opération sur une collection de produits qui a été supprimée
    • Message : Aucun message
  • PRODUCT_COLLECTION_MUST_HAVE_PRODUCTS
    • Déclencheur : Suppression du dernier produit (ou dernier groupe avec produits) d’une collection
    • Message : Impossible de supprimer le dernier produit d’une collection. Archivez plutôt la collection.
  • PRODUCT_IS_DELETED
    • Déclencheur : Produit supprimé en douceur
    • Message : Aucun message
  • PRODUCT_PRICING_MODE_REQUIRED
    • Déclencheur : Ajout de prix localisés avant que pricing_mode du produit ne soit défini
    • Message : Le mode de tarification du produit doit être défini avant l’ajout de prix localisés
  • SLUG_ALREADY_TAKEN
    • Déclencheur : Le slug/URL courte du produit demandé est déjà utilisé
    • Message : Le slug est déjà pris
  • UNABLE_TO_EDIT_PRIMARY_BRAND
    • Déclencheur : Tentative de mise à jour de la marque principale via l’API régulière
    • Message : La marque principale ne peut pas être mise à jour via ce point de terminaison de l’API.

Réductions

  • DISCOUNT_ALREADY_USED_ON_SUBSCRIPTION
    • Déclencheur : Réapplication d’une réduction déjà utilisée sur cet abonnement
    • Message : Cette remise a déjà été utilisée sur cet abonnement
  • DISCOUNT_CODE_ALREADY_EXISTS
    • Déclencheur : Création de code de réduction en double
    • Message : Le code de réduction existe déjà
  • DISCOUNT_CODE_EXPIRED
    • Déclencheur : Code de réduction passé sa date expires_at
    • Message : Le code de réduction a expiré
  • DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED
    • Déclencheur : Réutilisation de la remise après avoir atteint usage_limit
    • Message : La limite d’utilisation ne peut pas être inférieure à times_used / Le code de remise a atteint sa limite d’utilisation
    • Remarque : Terminal — le code est épuisé. Ne réessayez pas.
  • DISCOUNT_CONCURRENT_REDEMPTION
    • Déclencheur : Une autre utilisation du même code a conservé trop longtemps le verrou de la ligne de limite d’utilisation (HTTP 503)
    • Message : La remise est utilisée simultanément ; veuillez réessayer
    • Remarque : Transitoire. Le code peut encore avoir de la capacité, la requête peut donc être réessayée sans risque. Ne présentez pas cette erreur au client comme un « code épuisé ».
  • DISCOUNT_CURRENCY_OPTION_INVALID
    • Déclencheur : currency_options invalide lors de la création ou de la mise à jour
    • Message : Une remise forfaitaire nécessite au moins une option de devise avec une valeur par défaut résolvable / Les options de devise en double ne sont pas autorisées / Une seule option de devise peut être marquée comme valeur par défaut
  • DISCOUNT_CUSTOMER_NOT_ELIGIBLE
    • Déclencheur : Le client ne respecte pas le customer_eligibility du code (first_time, existing, ou n’est pas inclus dans la liste d’autorisation du code specific)
    • Message : Le client n’est pas éligible à ce code de remise
  • DISCOUNT_MINIMUM_SUBTOTAL_NOT_MET
    • Déclencheur : Le sous-total du panier est inférieur au minimum_subtotal configuré pour la devise du paiement
    • Message : Le sous-total du panier est inférieur au sous-total minimal requis par la remise
  • DISCOUNT_NOT_YET_ACTIVE
    • Déclencheur : Code utilisé avant sa date starts_at
    • Message : Le code de remise n’est pas encore actif (starts_at est dans le futur)
  • DISCOUNT_PER_CUSTOMER_USAGE_LIMIT_EXCEEDED
    • Déclencheur : Le client a déjà utilisé le code per_customer_usage_limit fois
    • Message : La limite d’utilisation par client a été dépassée pour ce code de remise
  • DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT
    • Déclencheur : Changement de plan vers un produit auquel la remise existante ne s’applique pas
    • Message : La remise ne s’applique pas au produit du nouveau plan
  • DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND
    • Déclencheur : Code appliqué à un abonnement à la demande
    • Message : Le coupon de remise n’est pas disponible pour les abonnements à la demande
  • DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT
    • Déclencheur : Code appliqué à un ou plusieurs produits sans lien
    • Message : Le coupon de remise n’est pas disponible pour ce produit
  • INVALID_DISCOUNT_CODE
    • Déclencheur : Le code n’existe pas ou ne s’applique pas
    • Message : Code de remise invalide / Le code de remise ne peut être appliqué à aucun produit du panier
  • INVALID_PERCENTAGE
    • Déclencheur : Montant en pourcentage > 100 % (ou 10 000 points de base)
    • Message : Le montant en pourcentage ne peut pas dépasser 10000 / Le montant du code de remise ne peut pas dépasser 100 %
  • UNSUPPORTED_DISCOUNT_TYPE
    • Déclencheur : Type de remise non pris en charge. percentage et flat sont tous deux pris en charge ; les remises forfaitaires par unité ne le sont pas.
    • Message : Seuls les codes de remise en pourcentage et forfaitaires sont pris en charge

Clés de licence

  • ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT
    • Déclencheur : Activations de clés de licence : nouvelle limite < nombre d’instances existantes
    • Message : La nouvelle limite d’activation ne peut pas être inférieure au nombre actuel d’instances
  • INACTIVE_LICENSE_KEY
    • Déclencheur : État de la clé ≠ ACTIVE
    • Message : La clé de licence n’est pas active
  • LICENSE_KEY_LIMIT_REACHED
    • Déclencheur : Activations = limite
    • Message : La limite d’activation de la clé de licence a été atteinte
  • LICENSE_KEY_NOT_FOUND
    • Déclencheur : ID d’instance ou ID de clé invalide
    • Message : L’instance de la clé de licence est introuvable ou n’appartient pas à cette clé de licence
  • NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS
    • Déclencheur : Tentative de définir une date d’expiration sur une clé basée sur un abonnement
    • Message : Impossible de définir une date d’expiration pour une clé de licence basée sur un abonnement

Facturation à l’utilisation et compteurs

  • DUPLICATE_METER_IDS_IN_REQUEST
    • Déclencheur : Le même Meter ID apparaît plusieurs fois dans la requête
    • Message : Les Meter Ids en double ne sont pas autorisés
  • INVALID_QUANTITY
    • Déclencheur : Quantité invalide spécifiée pour la tarification à l’utilisation
    • Message : Une seule quantité est autorisée pour les produits à tarification à l’utilisation
  • METER_IS_DELETED
    • Déclencheur : Tentative d’utiliser un compteur supprimé
    • Message : Le compteur a déjà été supprimé
  • MISSING_METER_IDS
    • Déclencheur : La liste des Meter IDs est vide ou contient des IDs invalides
    • Message : Un ou plusieurs Meter IDs n’existent pas :

Facturation basée sur les crédits

  • CREDIT_ENTITLEMENT_IS_DELETED
    • Déclencheur : Opération sur un droit de crédit qui a été supprimé
    • Message : Le droit de crédit a déjà été supprimé
  • CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS
    • Déclencheur : Création d’un droit de crédit avec un nom qui existe déjà
    • Message : Un droit de crédit portant ce nom existe déjà
  • OVERAGE_LIMIT_EXCEEDED
    • Déclencheur : Une déduction d’utilisation ou de crédit dépasserait la limite de dépassement configurée
    • Message : La limite de dépassement a été dépassée

Portefeuille

  • INSUFFICIENT_WALLET_FUNDS
    • Déclencheur : Solde du portefeuille < montant du débit
    • Message : Fonds insuffisants dans le portefeuille
  • NEGATIVE_BALANCE_ADJUSTMENT
    • Déclencheur : Tentative de rendre le solde du portefeuille négatif
    • Message : Le solde du portefeuille ne peut pas devenir négatif

Devise, taxes et région

  • EXCHANGE_RATE_NOT_FOUND
    • Déclencheur : Aucun taux de change pour la paire de devises from → to
    • Message : Taux de change introuvable pour effectuer la conversion de Currency vers Currency
  • INVALID_TAX_ID
    • Déclencheur : Échec de la validation de la VAT/GST/TIN
    • Message : L’identifiant fiscal est invalide
  • REQUEST_AMOUNT_BELOW_MINIMUM
    • Déclencheur : Montant < minimum du produit
    • Message : Le montant ne peut pas être inférieur au montant minimal spécifié pour le produit
  • TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT
    • Déclencheur : Total combiné du panier < minimum de la passerelle
    • Message : Un montant minimal de est requis pour traiter le paiement
  • UNSUPPORTED_BILLING_CURRENCY
    • Déclencheur : La devise de facturation demandée n’est pas prise en charge pour cet abonnement
    • Message : Les devises de facturation autres que l’USD ne sont pas prises en charge pour les abonnements
  • UNSUPPORTED_COUNTRY
    • Déclencheur : La zone géographique n’est pas encore prise en charge
    • Message : Le pays n’est actuellement pas pris en charge
  • UNSUPPORTED_CURRENCY
    • Déclencheur : La devise du produit ou de l’addon ne fait pas partie des devises dans lesquelles Dodo Payments peut facturer. Les prix de base peuvent être définis dans n’importe quelle devise facturable ; cela signifie donc généralement que le code de devise est invalide ou n’est pas encore pris en charge.
    • Message : La devise n’est actuellement pas prise en charge / Seuls les produits en USD et INR sont actuellement pris en charge / Seuls l’USD et l’INR sont pris en charge pour le prix de l’addon / Vous pouvez uniquement demander l’USD ou l’INR pour billing_currency / Devise non prise en charge / Devise inattendue pour les abonnements par carte indienne
  • UNSUPPORTED_TAX_CATEGORY
    • Déclencheur : La chaîne de catégorie fiscale ne fait pas partie de l’énumération
    • Message : La catégorie n’est actuellement pas prise en charge

Validation et requêtes

  • DUPLICATE_LINE_ITEMS_IN_REQUEST
    • Déclencheur : Le même item_id apparaît deux fois dans items[]
    • Message : Des item_ids en double ont été spécifiés dans le tableau items
  • INVALID_QUERY_PARAMS
    • Déclencheur : Paramètres de requête mutuellement exclusifs ou mal formés
    • Message : Les paramètres de requête doivent contenir soit time_frame, soit (start, end)
  • INVALID_REQUEST_BODY
    • Déclencheur : JSON mal formé ou violation du schéma
    • Message : Le corps de votre requête est invalide. Vérifiez les en-têtes et l’objet de votre requête.
  • INVALID_REQUEST_PARAMETERS
    • Déclencheur : Sémantique incorrecte (par exemple, date passée)
    • Message : Impossible de définir next_billing_date à une date passée
  • MAXIMUM_KEYS_REACHED
    • Déclencheur : Les métadonnées / custom-fields dépassent 50 paires
    • Message : Plus de 50 paires clé-valeur

Général et système

  • INTEGER_CONVERSION_FAILURE
    • Déclencheur : Toute conversion d’entier ↔ chaîne/décimal qui échoue côté serveur
    • Message : Échec de conversion d’un entier
  • INTERNAL_SERVER_ERROR
    • Déclencheur : Exceptions non interceptées ; vous devez journaliser les détails côté serveur
    • Message : Aucun message public (500 générique)
  • NOT_FOUND
    • Déclencheur : 404 générique pour toute ressource introuvable
    • Message : Élément introuvable (ou message plus précis)
  • TOO_MANY_REQUESTS
    • Déclencheur : Limite de débit 429
    • Message : Aucun message
  • UNSUPPORTED_ACTION
    • Déclencheur : Action non prise en charge pour le type de ressource
    • Message : La modification des plans pour les abonnements basés sur l’utilisation n’est pas prise en charge

Bonnes pratiques

  1. Gérez toujours les erreurs avec élégance dans votre application
  2. Mettez en place une journalisation appropriée des erreurs
  3. Utilisez des messages d’erreur adaptés aux utilisateurs finaux
  4. Mettez en place une logique de nouvelle tentative pour les erreurs transitoires
  5. Contactez le support pour les problèmes non résolus

Support

Pour obtenir une aide supplémentaire concernant les codes d’erreur ou les problèmes d’intégration, veuillez contacter notre équipe de support à l’adresse support@dodopayments.com.
Dernière modification le 6 août 2026