• France
état des services
démonstrations
assistance
FAQContacter le support
Video tutorials
Rechercher
Catégories
Tags
docs.
France
Espagne
Europe (Anglais)
Inde
Accueil
Cas d'usage
Créer un paiement
Créer un paiement en plusieurs fois
Proposer un paiement complémentaire
Créer un paiement par alias (token)
Créer un lien de paiement
Créer un abonnement
Gérer vos abonnements
Gérer vos transactions (rembourser,...)
Analyser vos journaux
Docs API
Formulaire embarqué
API REST
Formulaire en redirection
SDK Mobile
Échange de fichiers
Mandats SEPA par API REST
Exemples de code
Moyens de paiement
Modules de paiement
Marketplace
Guides
Back Office Marchand
Back Office Expert
Guides fonctionnels

Gestion des erreurs

Présentation

Les erreurs du SDK mobile sont renvoyées au travers de l'objet LyraException (ou LyraError sur iOS) qui possède les paramètres suivants :

Champ Description
errorCode Il permet d'identifier l'erreur courante (au format [PREFIXE]_[CODE]).
errorMessage Explicite l'erreur correspondant au code.
detailedErrorCode Code de l'erreur sous-jacente à l'origine de l'exception (ou null).
detailedErrorMessage Message de l'erreur sous-jacente (ou null).

Le champ detailedError indique la cause précise de l'erreur.

Types d'erreurs

Il faut différencier les erreurs qui se produisent pendant le développement, de celles qui peuvent se produire pendant l'exécution du SDK mobile.

Erreurs de développement

Dans ce cas, le SDK mobile lance une exception de type _LyraException_, qui doit être capturée par le développeur.

Cela peut se produire dans les cas suivants :

  • Après l'appel à la méthode initialize() :

    • Si le format du paramètre publicKey est incorrect, une exception MOBP_001-INVALID_KEY sera levée.

    • Si le format du paramètre apiServerName est incorrect, une exception MOBP_012-UNKNOWN_API_SERVER_NAMEsera levée.

  • Après l'appel à la méthode process() :

  • Si le SDK mobile n'est pas initialisé au préalable, une exception MOBP-002-INITIALIZATION_REQUIRED sera levée.

Erreurs d'exécution

Pour les autres erreurs, les informations seront transmises dans l'objet _LyraException_ via la fonction de callback _onError()_, comme décrit dans le guide d'intégration.

Codes d'erreur

Un code d'erreur se présente sous la forme [PREFIXE]_[CODE] :

  • [PREFIXE] : définit la couche applicative où l'erreur a eu lieu
  • [CODE] : est le code numérique de l'erreur.

Il existe différents préfixes :

PREFIXE Description Exemple d'erreur
MOB Erreur du SDK mobile MOB_004
ACQ Erreur du côté acquéreur ACQ_001
AUTH Erreur d'authentification AUTH_149
INT Erreur d'intégration (du côté du marchand) INT_007
PSP Erreur du côté de la plateforme de paiement PSP_001

De nouveaux codes d'erreur sont ajoutés régulièrement (même si vous ne mettez pas à jour votre SDK mobile et votre application mobile). Votre implémentation doit donc en tenir compte et intégrer un algorithme de gestion d'erreur générique.

Erreurs ACQ, AUTH, INT et PSP

Ces codes d'erreur concernent les communications avec les serveurs du paiement (vers la plateforme de paiement, votre serveur marchand, etc.).

Pour plus d'informations, consultez la liste des codes d'erreur.

Préconisation de gestion d'erreur

Quel que soit le cas d'erreur, il est recommandé :

  • de toujours afficher un message pour informer l'utilisateur que le paiement n'a pas eu lieu.
  • de bien tracer les errorCode, les detailedErrorCode et leurs messages associés afin de pouvoir analyser les incidents que vous pouvez rencontrer et les résoudre de manière autonome. En cas d'erreur, vous ne devez JAMAIS considérer que le paiement a été effectué.

Erreurs MOB

Ces erreurs ont lieu si une erreur se produit coté SDK mobile.

ERROR CODE DEFINITION
MOB_001 Invalid public key
MOB_002 SDK initialization is required before calling process
MOB_003 Invalid formToken
MOB_004 Invalid formToken version
MOB_005 Impossible to communicate with server
MOB_006 Network is not available
MOB_007 Invalid response of Lyra Rest API
MOB_008 Payment refused
MOB_009 Payment cancelled
MOB_010 Server timeout error, check IPN
MOB_011 Unknown API Server Name
MOB_012 Unknown Order Status
MOB_013 Payment cannot be cancelled
MOB_014 Payment by Apple Pay not available
MOB_999 Unexpected error

Détail des codes d'erreur

MOB_001

Code MOB_001
Définition Invalid public key

La clé publique fournie à l'initialisation du SDK mobile n'est pas bonne. Il est possible que vous essayiez d'effectuer une transaction de test avec une clé de production ou inversement. Voir : Prérequis

MOB_002

Code MOB_002
Définition SDK initialization is required before calling process

Vous tentez d'appeler la méthode process avant d'avoir appelé la méthode init.

Voir : Guide d'intégration Android et Guide d'integration iOS sur l'initialisation du SDK mobile.

MOB_003

Code MOB_003
Définition Invalid formToken

L'identifiant de formulaire semble incorrect. Assurez-vous d'avoir bien suivi les instructions données dans les guides d'intégration. Si rien n'est susceptible de provoquer une erreur, contactez l'assistance technique.

MOB_004

Code MOB_004
Définition Invalid formToken version

La version de l'identifiant de formulaire n'est pas bonne. Pour s'assurer d'avoir la bonne version, appelez la méthode getFormTokenVersion du SDK mobile et transmettez le résultat dans le paramètre formTokenVersion lors de l'appel au Web Service Charge/createPayment.

MOB_005

Code MOB_005
Définition Impossible to communicate with server

Contactez l'assistance technique.

MOB_006

Code MOB_006
Définition Network is not available

Le périphérique ne semble pas être connecté à Internet. Envoyez un message à l'utilisateur afin de s'assurer qu'il est bien connecté .

MOB_007

Code MOB_007
Définition Invalid response of Lyra Rest API

Contactez l'assistance technique.

MOB_008

Code MOB_008
Définition Payment refused

Le nombre de tentatives supplémentaires est atteint et le paiement est refusé.

MOB_009

Code MOB_009
Définition Payment cancelled

Le paiement a été volontairement annulé. L'acheteur a volontairement quitté l'écran de paiement ou le Lyra.cancelProcess() a été appelé.

MOB_010

Code MOB_010
Définition Server timeout error, check IPN

Le serveur de paiement n'a pas répondu dans un délai de 60 secondes. Cela peut être dû simplement à un ralentissement temporel, donc il est fortement recommandé de vérifier a posteriori la notification IPN et annuler la transaction pour garder la cohérence.

MOB_011

Code MOB_011
Définition Unknown API Server Name

La valeur envoyée dans le champ apiServerName n'est pas reconnue, probablement suite à un erreur de frappe.

MOB_012

Code MOB_012
Définition Unknown Order Status

Cette erreur est levée si la plateforme de paiement retourne un statut de paiement différent de RUNNING, PAID, PARTIALLY_PAID ou UNPAID.

MOB_013

Code MOB_013
Définition Payment cannot be cancelled

Le paiement ne peut pas être annulé suite à l'appel au Lyra.cancelProcess().

MOB_014

Code MOB_014
Définition Payment by Apple Pay not available

Cette erreur est levée suite à l'appel au Lyra.cancelProcess() avec l'option [LyraPaymentOptions.paymentMethodType: LyraPaymentMethods.applePay] et que le payment via Apple Pay n'est pas disponible.

MOB_999

Code MOB_999
Définition Unexpected error

Une erreur inattendue s'est produite. Merci de contacter le support.

Lorsque vous contactez l'assistance technique, communiquez :

  • Votre numéro de boutique à 8 chiffres
  • OS et version du SDK mobile
  • Périphérique utilisé (Iphone 6S, PC, Ipad Pro …)
  • Version de l'OS
  • Date et Heure de l'erreur
  • Le errorCode et detailedErrorCode que vous rencontrez si c'est le cas

Ces informations facilitent le temps d'analyse et de compréhension de votre problème.

Nous recrutons
Mentions légales
Charte de Protection des Données Personnelles
25.19-1.11