• France
payzen.eu
Rechercher
Catégories
Tags
France
France
Allemagne
Brésil
LATAM
Espagne
Europe (Anglais)
Implémentation
Formulaire intelligent (smartForm)
Formulaire embarqué (cartes)
API REST
API REST PCI-DSS
API REST SEPA
Formulaire en redirection
Échange de fichiers
Paiement Mobile
Exemples de code
Modules de paiement
Back office
Guides
Aide
FAQ
Tutoriels vidéos
Contacter le support

Gestion des erreurs

Présentation

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

PARAMETRE 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 pour vous aider à identifier le problème.

Types d'erreurs

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

Erreurs de développement

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

Voici les cas dans lesquels cela peut se produire.

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_NAME sera levée.

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

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

Erreurs d'execution

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] où :

[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

Attention, de nouveaux codes d'erreur peuvent être ajoutés dans le futur (même si vous ne mettez pas à jour votre SDK 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...). Merci de consulter Codes d'erreur pour les détails de ce type d'erreur.

Préconisation de gestion d'erreur

Quel que soit le cas d'erreur, nous vous recommandons de toujours afficher un message à l'utilisateur afin de l'informer que le paiement n'a pas eu lieu. Nous vous conseillons 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 s'est 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_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 n'est pas bonne. Il est possible que vous essayiez d'effectuer une transaction de test avec un clé de production ou inversement. Se référer à 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. Se référer au Guide d'intégration Android et Guide d'integration iOS sur l'initialisation du SDK.

MOB_003

Code MOB_003
Définition Invalid formToken

L'identifiant de formulaire ne semble pas correct. 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, appelez le support*.

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, appeler la méthode getFormTokenVersion du SDK et passer les résultats dans le paramètre formTokenVersion du createPayment.

MOB_005

Code MOB_005
Définition Impossible to communicate with server

Merci de contacter le support*

MOB_006

Code MOB_006
Définition Network is not available

Le périphérique ne semble pas être connecté à internet. Un message à l'utilisateur afin de s'assurer qu'il est bien connecté peut être utile dans ce cas.

MOB_007

Code MOB_007
Définition Invalid response of Lyra Rest API

Merci de contacter le support*

MOB_008

Code MOB_008
Définition Payment refused

Le paiement a été refusé après le nombre de tentatives supplémentaires atteint.

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 conseillé de vérifier à 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 reconnu, 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_999

Code MOB_999
Définition Unexpected error

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

Lorsque vous contactez le support, merci de communiquer :

  • Votre numéro de boutique à 8 chiffres
  • OS et version du SDK
  • 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

Toutes ces informations amélioreront le temps d'analyse et de compréhension de votre problème.

Head Office :

LYRA NETWORK
109, rue de l’innovation
31670 Labège
FRANCE

Nos services

Lyra
Recruitment
PayZen
© 2023 | Tous droits réservés à PayZen
2.16.0-doc-1.8