Dépannage de l'API
Introduction
Lors du traitement des transactions sur notre plateforme, vous serez confronté à la tâche de traiter les erreurs en conséquence. Selon votre requête, vous pourriez rencontrer des erreurs liées à :
- Des rejets des acquéreurs/émetteurs.
- Nos outils de Prévention de la fraude.
- Notre plateforme en raison de problèmes techniques.
- Des propriétés manquantes/fautives dans votre requête.
- Mauvais API endpoint auquel votre requête est envoyée.
Pour vous aider à comprendre et à corriger ces erreurs, nous passons en revue les plus courantes et vous fournissons nos recommandations.
Avant de plonger dans des scénarios d'erreur spécifiques, il est recommandé de lire notre guide Statuts dédié, fournissant une vue d'ensemble générale de tous les résultats possibles des transactions/demandes.
Codes de réponse HTTP
Notre API Direct utilise des codes de réponse HTTP standard pour indiquer le statut de chaque requête faite au système.
Plages de codes de réponse
Comprendre la signification des codes de réponse HTTP est crucial pour une interaction efficace avec l'API Direct. Ci-dessous, vous pouvez explorer les différentes plages de codes de réponse et leurs implications :
-
Série 2xx : Réponses réussies, indiquant que la requête a été traitée correctement.
-
Série 4xx : Réponses d'erreur du client, signifiant des problèmes avec la requête elle-même ou un rejet de la transaction.
-
Série 5xx : Réponses d'erreur du serveur, indiquant un problème sur l'une des parties impliquées dans le traitement de votre requête.
Code de réponse HTTP
L'API Direct utilise les codes de réponse HTTP suivants :
Code de réponse HTTP |
Signification | Description |
---|---|---|
200 | Successful | Votre requête a été traitée correctement. |
201 | Created | Votre requête a été traitée correctement et une nouvelle ressource a été créée. L'URI de cette ressource créée est retournée dans l'en-tête Location de la réponse. |
400 | Bad Request | Votre requête n'est pas correcte et ne peut être traitée. Veuillez corriger l'erreur et réessayer. |
402 | Payment Rejected | Votre requête a été rejetée soit par nous, soit par l'un de nos partenaires ou acquéreurs en aval. |
403 | Not authorized | Vous essayez de faire quelque chose qui n'est pas autorisé ou que vous n'êtes pas autorisé à faire. |
404 | Not found | L'objet que vous tentiez d'accéder n'a pas pu être trouvé sur le serveur. |
409 | Conflict | Votre requête a entraîné un conflit. Soit vous avez soumis une requête en double, ou vous essayez de créer quelque chose avec une clé en double. |
410 | Gone | L'objet que vous essayez d'atteindre a été supprimé. |
500 | Internal Server Error | Une erreur s'est produite de notre côté. |
502 | Bad Gateway | Nous n'avons pas pu traiter un message d'un partenaire ou acquéreur en aval. |
503 | Service Unavailable | Le service que vous essayez d'atteindre est temporairement indisponible. Veuillez réessayer plus tard. |
Assurez-vous que votre application peut gérer les codes d'erreur HTTP non inclus dans cette liste.
Notifications d'erreur
Nous distinguons deux types d'erreurs :
- Erreurs techniques : Elles se produisent lorsque notre plateforme ne parvient pas à traiter une requête en raison de problèmes liés à la requête elle-même ou à notre plateforme. Cela pourrait être lié à :
- API endpoint inexistant ou erroné auquel votre requête est envoyée.
- Des incompatibilités d'API key/secret/PSPID avec les données de notre plateforme.
- Des propriétés manquantes ou erronées dans votre requête.
- Une charge utile incorrecte.
- Exceptions de transaction : Elles surviennent lorsqu'une requête est techniquement correcte mais est rejetée par notre plateforme, l'acquéreur ou l'émetteur.
Si vous envoyez une requête(c'est-à-dire, CreatePayment/CreateHostedCheckout/GetPaymentDetails) à notre plateforme causant une erreur, les propriétés JSON dans la réponse vous aideront à en identifier la cause première et à trouver une solution :
Propriété | Description |
---|---|
errorID |
L'identifiant unique de votre requête sur notre plateforme. Si vous avez besoin de notre aide pour résoudre l'erreur liée à cette requête, assurez-vous de l'ajouter dans votre message lorsque vous nous contactez. |
errors.category |
Description lisible par l'homme de la catégorie générale d'erreur. Cela peut être soit des erreurs techniques soit des exceptions de transaction. |
errors.code | Code d'erreur à 4 à 8 chiffres lié à errors.category, indiquant la catégorie d'erreur spécifique. |
errors.errorCode | Code d'erreur à 8 chiffres lié aux erreurs techniques (pour les erreurs 5xxxxxxx) ou aux exceptions de transaction. |
statuserrors.httpStatusCode |
Code d'erreur à 3 chiffres lié aux codes de statut HTTP standard. |
errors.id | Description lisible par l'homme de la catégorie spécifique dans laquelle l'erreur tombe. |
errors.message | Description lisible par l'homme de la catégorie spécifique dans laquelle l'erreur tombe, fournissant des informations détaillées si disponibles. |
errors.propertyName | La propriété de votre requête à l'origine de l'erreur (c'est-à-dire des valeurs invalides ou manquantes envoyées dans votre requête). |
Une erreur typique, selon le type d'erreur, ressemble à ceci :
Type d'erreur | JSON retourné de notre plateforme |
---|---|
Erreur technique (API endpoint inexistant/erroné) | en-tête content-lenght = 0 |
Erreur technique (API key/secret/incompatibilité PSPID) |
|
Erreur technique (Propriétés manquantes/erronées) |
|
Erreur technique (Charge utile incorrecte) |
|
Exception de transaction |
|
Pour traiter et résoudre les erreurs efficacement, consultez les sous-chapitres suivants :
Corriger errors.category
Valeur de la propriété | Description/Actions possibles |
---|---|
DIRECT_PLATFORM_ERROR |
Erreurs techniques se rapportant à des données inconnues/invalides fournies lors de la requête, telles que
Vérifiez les propriétés errors.message/errors.id pour des informations détaillées Configurez la API Key/Secret correctement et/ou envoyez les bonnes données dans votre requête |
PAYMENT_PLATFORM_ERROR | Diverses erreurs techniques ou exceptions de transaction Vérifiez les propriétés errors.id/errors.message/errors.errorCode pour identifier la cause première et trouver des solutions possibles |
Corriger errors.code
Valeur de la propriété | Description/Actions possibles |
---|---|
1002 1003 1004 1005 |
Vous avez envoyé un paymentId invalide pour l'une des requêtes suivantes : RefundPaymentGetPaymentDetails GetHostedCheckout CancelPayment CapturePayment CompletePayment
|
1099 1008 1007 |
Vous avez envoyé une valeur invalide pour une ou plusieurs propriétés dans votre requête. Reportez-vous à errors.propertyName pour obtenir la liste des propriétés impactées. Assurez-vous d'envoyer la/les valeurs(s) correcte(s)/type de données/intervalle autorisé comme défini dans notre référence API |
9007 |
L' API Key/Secret/PSPID envoyée dans la requête ne correspond pas aux données de notre plateforme Assurez-vous d'envoyer la/les valeur(s) correcte(s) et/ou de configurer correctement la API Key/Secret dans votre PSPID avant d'envoyer une nouvelle requête |
Corriger errors.errorCode
Property value | Description/Actions possibles |
---|---|
30001100 |
Votre module Prévention de la fraude a rejeté la transaction car la localisation du client est sur votre liste noire. (Re-)évaluez quels pays ont le plus grand nombre de ces rejets. S'il est peu probable que vous ayez des clients authentiques dans ce pays, gardez ce pays sur votre liste noire. Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001101 |
Votre module Prévention de la fraude a rejeté la transaction car vous avez une règle bloquant les transactions avec un pays IP différent du pays de la carte. (Re-)évaluez si cette règle de fraude est trop stricte pour votre modèle économique, conduisant au blocage de transactions légitimes. S'il est peu probable qu'il y ait une différence entre le pays de l'IP et le pays de la carte pour les clients légitimes, conservez ce paramètre. Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001102 |
Votre module Prévention de la fraude a rejeté la transaction car vous avez une règle bloquant les transactions avec un nombre de pays autorisés dans les données transactionnelles trop élevé. (Re-)évaluez si cette règle de fraude est trop stricte pour votre modèle économique, conduisant au blocage de transactions légitimes. Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001104 |
Votre module Prévention de la fraude a rejeté la transaction car la localisation du client est sur votre liste noire. (Re-)évaluez dans quels pays vous avez des clients authentiques. S'il est peu probable que vous ayez des clients authentiques dans ce pays, gardez ce pays sur votre liste noire. Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001105 |
Votre module Prévention de la fraude a rejeté la transaction car vos clients ont masqué l'origine de l'IP. (Re-)évaluez si votre modèle économique justifie l'autorisation de l'utilisation d'un proxy anonyme. Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001106 |
Votre module Prévention de la fraude a rejeté la transaction car l'origine de l'IP n'a pas pu être déterminée. (Re-)évaluez si votre modèle économique justifie d'autoriser les transactions pour lesquelles le pays de vos clients est inconnu. Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001120 |
Votre module Prévention de la fraude a rejeté la transaction car l'IP est sur votre liste noire. (Re-)évaluez si votre modèle économique justifie de bloquer les transactions de cette adresse IP spécifique (c'est-à-dire en raison de transactions frauduleuses passées liées à cette IP). Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001130 |
Votre module Prévention de la fraude a rejeté la transaction car le BIN est sur votre liste noire. (Re-)évaluez si votre modèle économique justifie de bloquer les transactions avec ce BIN spécifique (c'est-à-dire en raison de transactions frauduleuses passées liées à ce BIN). Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001140 |
Votre module Prévention de la fraude a rejeté la transaction car le numéro de carte est sur votre liste noire. (Re-)évaluez si votre modèle économique justifie de bloquer les transactions avec ce numéro de carte spécifique (c'est-à-dire en raison de transactions frauduleuses passées liées à ce numéro de carte). Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001141 |
Votre module Prévention de la fraude a rejeté la transaction car l'adresse e-mail du client est sur votre liste noire. (Re-)évaluez si votre modèle économique justifie de bloquer les transactions avec cette adresse e-mail spécifique (c'est-à-dire en raison de transactions frauduleuses passées liées à cette adresse e-mail). Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001142 |
Votre module Prévention de la fraude a rejeté la transaction car le nom du client (envoyé dans la propriété order.additionalinput.airlineData.passengers dans votre requête CreatePayment / CreateHostedCheckout) est sur votre liste noire. (Re-)évaluez si votre modèle économique justifie de bloquer les transactions avec ce nom spécifique (c'est-à-dire en raison de transactions frauduleuses passées liées à ce nom). Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001143 |
Votre module Prévention de la fraude a rejeté la transaction car le nom du titulaire de la carte est sur votre liste noire. (Re-)évaluez si votre modèle économique justifie de bloquer les transactions avec ce nom de porteur de carte spécifique (c'est-à-dire en raison de transactions frauduleuses passées liées à ce nom de porteur de carte). Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001158 |
Votre module Prévention de la fraude a rejeté la transaction car vous avez une règle bloquant le nombre de transactions avec la même adresse e-mail en une journée. (Re-)évaluez si votre modèle économique justifie de bloquer les transactions d'une adresse e-mail spécifique utilisée plusieurs fois en une journée (c'est-à-dire en raison de transactions frauduleuses passées liées à ce scénario). Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30001180 |
Votre module Prévention de la fraude a rejeté la transaction car ils avaient un score de risque total dépassant votre seuil d'acceptation. Ce chiffre indique que de nombreuses tentatives de fraude ont été bloquées. (Re-)évaluez si votre modèle économique justifie des règles moins strictes si vous craignez de bloquer des transactions légitimes. Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30031001 |
Votre acquéreur a rejeté la transaction car votre MID (merchant ID) ne fonctionne pas correctement. Contactez-nous et votre acquéreur pour vous assurer que le MID est correctement configuré de notre côté et du côté de votre acquéreur. |
30041001 |
L'émetteur de votre client a rejeté la transaction car la carte
Assurez-vous
|
30051001 |
L'émetteur de votre client a rejeté la transaction sans divulguer de raison spécifique. En raison des lois sur la protection des données, les émetteurs fourniront cette raison de rejet pour la plupart de vos transactions refusées. Assurez-vous
|
30141001 |
L'émetteur de votre client a rejeté la transaction car la carte
Assurez-vous que
|
30431001 |
Votre acquéreur ou l'émetteur de votre client a rejeté la transaction car la carte utilisée a été signalée comme volée. Assurez-vous de mettre cette carte sur la liste noire du module Prévention de la fraude. |
30511001 |
L'émetteur de votre client a rejeté la transaction en raison de fonds insuffisants pour ce paiement. Assurez-vous de permettre à vos clients de
|
30581001 |
L'émetteur de votre client a rejeté la transaction car il n'accepte pas une carte d'entreprise pour ce type d'achat. Assurez-vous de
|
30591001 |
L'émetteur de votre client a rejeté la transaction car la carte utilisée a été utilisée pour des transactions frauduleuses. Assurez-vous de mettre cette transaction dans la liste noire du module Prévention de la fraude. Notre plateforme bloquera ensuite automatiquement toutes autres tentatives correspondantes aux informations associées à cette transaction frauduleuse. Contactez-nous pour configurer votre module Prévention de la fraude pour une protection maximale et des taux de conversion élevés en même temps. |
30621001 |
Votre acquéreur ou l'émetteur de votre client a rejeté la transaction en raison de restrictions (de sécurité) associées à la carte. Assurez-vous de
|
30921001 |
Votre acquéreur a rejeté la transaction car il n'accepte pas cette carte pour ce type d'achat. Assurez-vous de contacter votre acquéreur si vous rencontrez régulièrement ce type de rejets. Vous pourriez être en mesure de renégocier votre contrat pour lever d'éventuelles contraintes d'acceptation. |
40001134 |
Votre acquéreur ou l'émetteur de votre client a rejeté la transaction en raison d'un échec de la vérification 3-D Secure. Cela pourrait être lié à des échecs d'authentification légitimes (par exemple, problème technique avec l'appareil ou le réseau de vos clients, lecteurs de cartes manquants ou codes PIN oubliés) ou à des tentatives de fraude. Assurez-vous de
|
40001135 50001081 |
Votre acquéreur ou l'émetteur de votre client a rejeté la transaction en raison d'un échec de la vérification 3-D Secure. Cela est dû au fait que l'émetteur n'était pas disponible pour confirmer l'identité du titulaire de la carte. Cette erreur provient de la banque émettrice et est hors de votre contrôle. Toutefois, vous pouvez envisager les actions suivantes :
|
40001137 |
Votre acquéreur ou l'émetteur de votre client a rejeté la transaction en raison d'une absence de vérification 3-D Secure. Cela est dû au fait que notre plateforme n'a pas pu déployer le 3-D Secure. Cette erreur provient de notre plateforme et est hors de votre contrôle. Toutefois, vous pouvez envisager les actions suivantes :
|
40001138 |
Notre plateforme a rejeté la transaction car au moment du traitement nous n'avons pas pu confirmer l'identité du titulaire de la carte en raison d'une défaillance inattendue. Pour récupérer cette transaction refusée, soumettez à nouveau la transaction ultérieurement ou suggérez une autre méthode de paiement au titulaire de la carte. |
40001139 |
L'émetteur de votre client a rejeté la transaction car vous avez tenté de contourner la vérification 3-D Secure en utilisant notre Soft Decline mécanisme. Comme l'émetteur insiste sur le 3-D Secure, la transaction a été rejetée. Assurez-vous de récupérer la transaction comme décrit dans notre guide dédié. |
40001146 |
Notre plateforme a rejeté la transaction car le processus d'authentification avec l'acquéreur n'a pas pu être complété dans le délai imparti. Assurez-vous de nous contacter pour
|
50001054 |
Notre plateforme a rejeté la transaction en raison d'un écart entre la marque que vous avez définie dans la propriété cardPaymentMethodSpecificInput.paymentProductId et le numéro de carte dans la propriété cardPaymentMethodSpecificInput.card.cardNumber. Cette erreur se produit exclusivement lorsque vous utilisez la méthode d'intégration Server-to-server. Assurez-vous de :
|
50001087 |
Notre plateforme a rejeté la transaction car nous n'avons pas pu effectuer la vérification 3-D Secure. Cela est dû à un problème technique avec votre requête. Assurez-vous de :
|
50001127 |
Notre plateforme a rejeté la demande car vous avez essayé de rembourser un paiement avant que le paiement initial n'ait été entièrement capturé. Assurez-vous de vérifier que le paiement que vous souhaitez rembourser a bien été capturé. |
Corriger errors.id
Valeur de la propriété | Description/Actions possibles |
---|---|
UNKNOWN_PAYMENT_ID UNKNOWN_REFUND_ID UNKNOWN_PAYOUT_ID UNKNOWN_CAPTURE_ID |
Vous avez envoyé une valeur invalide pour la propriété paymentId/payoutId pour l'une des requêtes suivantes : RefundPayment Assurez-vous de
|
UNKNOWN_PRODUCT_ID UNKNOWN_PRODUCT_GROUP_ID UNKNOWN_PRODUCT_IDS UNKNOWN_PRODUCT_GROUP_IDS |
Vous avez envoyé une valeur invalide pour la propriété paymentProductId / hostedCheckoutSpecificInput.paymentProductFilters dans votre requête. Assurez-vous de
|
INVALID_VALUE |
Vous avez envoyé une valeur invalide pour une ou plusieurs propriétés de votre requête (spécifiées dans la propriété errors.propertyName). Assurez-vous d'envoyer les bonnes valeurs/type de données/plage autorisée comme défini dans notre référence API. |
ACTION_NOT_ALLOWED_ON_TRANSACTION |
Vous avez envoyé une requête pour effectuer une opération de maintenance qui n'est pas autorisée pour cette transaction spécifique pour l'une des requêtes. RefundPayment Assurez-vous de
|
PAYMENT_PRODUCT_NOT_AVAILABLE |
Vous avez envoyé une requête avec un paymentProductId qui fait référence à une méthode de paiement non active/disponible dans votre PSPID. Assurez-vous de
|
UNKNOWN_TOKEN_ID |
Vous avez envoyé une requête de CreatePayment/CreateHostedCheckout pour un paiement Card On File avec un token invalide/inexistant. Assurez-vous que le token existe dans le PSPID auquel vous envoyez la requête. |
CARDNUMBER_PAYMENTPRODUCTID_MISMATCH |
Vous avez envoyé une requête CreatePayment avec une discordance entre la marque que vous avez définie dans la propriété cardPaymentMethodSpecificInput.paymentProductId et le numéro de carte dans la propriété cardPaymentMethodSpecificInput.card.cardNumber. Cette erreur se produit exclusivement lors de l'utilisation de la Server-to-server méthode d'intégration. Assurez-vous de détecter correctement la marque de la carte/données de carte invalides avant de soumettre la transaction à notre plateforme. |
PAYMENT_PRODUCT_NOT_REFUNDABLE |
Vous avez envoyé une requête RefundPayment pour une transaction traitée avec une méthode de paiement qui ne prend pas en charge les remboursements. Assurez-vous de vérifier dans la vue d'ensemble de moyen de paiement pour la méthode de paiement concernée qu'elle prend en charge les remboursements. |
AUTHENTICATION_FAILURE |
L'identification 3-D Secure pour cette transaction a échoué. Assurez-vous de vous référer à errors.errorCode pour la cause première et les actions possibles. |
Conformité Visa/MasterCard
Visa et MasterCard ont établi une liste de codes d'erreur spécifiques pour traiter les potentielles tentatives frauduleuses de réessai après un refus initial de carte.
Se conformer à ces règles est crucial pour réduire les taux de fraude et éviter des frais supplémentaires imposés par Visa/MasterCard via votre acquéreur. Nous vous aidons à être conforme en :
pour les groupes de codes d'erreur suivants :
Notre plateforme peut générer l'erreur 39991001 – "Nombre maximum de tentatives atteint pour une transaction avec le même numéro de paiement. Notre plateforme bloquera toute nouvelle tentative jusqu'à l'expiration de la période d'attente".
Ce code d'erreur spécifique à la plateforme n'est pas directement lié aux règles de Visa/MasterCard. Notre plateforme génère cette erreur après le nombre maximum de tentatives pour une transaction avec le même code d'erreur. Notre plateforme bloquera toute nouvelle tentative pendant la période définie par Visa/MasterCard. Consultez le code de rejet original des tentatives précédentes pour comprendre pourquoi la transaction a été initialement rejetée.
Bloquer les réessais après le premier échec sur une période de 30 jours
Code d'erreur | Description |
---|---|
30041001 | Conserver la carte (pas de fraude) |
30071001 | Conserver la carte, condition spéciale (compte frauduleux) |
30151001 | Aucun émetteur (les 8 premiers chiffres du numéro de compte ne correspondent pas à un identifiant d'émetteur) |
30411001 | Carte perdue, récupérer |
30431001 | Carte volée, récupérer |
33000972 | Ordre d'arrêt de paiement |
33000973 | Révocation de l'autorisation |
33000975 | Révocation de toutes les autorisations |
33000833 | Non éligible pour une nouvelle soumission |
Limiter les réessais sur une certaine période
Pour ce groupe d'erreurs, Visa et MasterCard définissent différentes périodes de temps :
- Visa : Limiter à 15 réessais sur une période de 30 jours
- MasterCard : Limiter à 10 réessais sur une période de 24 heures
Cette liste contient les raisons courantes de rejet, Visa/MasterCard pourraient mettre à jour ces raisons à l'avenir. Les codes d'erreur 30121001, 30141001, 30511001, 30611001, 30781001, 30911001, 40001139, 30571001 et 30961001 (et 30151001 pour Mastercard uniquement) ne sont pas vérifiés pour cette fonctionnalité. Si vous rencontrez un code d'erreur non listé, la raison du rejet est liée à cette règle de "limitation des réessais".
Code d'erreur | Description |
---|---|
30191001 | Ressaisir la transaction |
30591001 | Fraude suspectée |
30621001 | Carte restreinte (carte invalide dans la région ou le pays) |
30751001 | Nombre d'essais de saisie de code PIN dépassé |
30931001 | Transaction ne peut être complétée – violation de la loi |
33000831 | Service de trésorerie non disponible |
33000832 | Demande en espèces dépasse la limite de l'émetteur ou la limite approuvée |
30541001 | Carte expirée ou date d'expiration manquante |
30551001 | Code PIN incorrect ou manquant |
33000835 | Refus pour échec du CVV2 |
Notre plateforme implémente ce mécanisme pour les modes d'intégration Hosted Checkout Page et Server-to-server.