Manejo de errores
Presentación
Les erreurs du SDK mobile sont renvoyées au travers de l'objet LyraException
qui possède les paramètres suivants :
Características | Descripción |
---|---|
errorCode | Permite identificar el error actual (en formato [PREFIXE]_[CODE]). |
errorMessage | Explicita el error que corresponde al código. |
detailedErrorCode | Código del error subyacente que causa la excepción (o null). |
detailedErrorMessage | Mensaje del error subyacente (o null). |
Le champ detailedError
indique la cause précise de l'erreur pour vous aider à identifier le problème.
Tipos de errores
Hay que distinguir los errores que se producen durante el desarrollo de los que pueden producirse durante la ejecución del SDK.
Errores de desarrollo
Dans ce cas, le SDK lance une exception de type LyraException, qui doit être capturée par le développeur.
Estos son los casos en los que esto puede suceder.
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.
Errores de ejecución
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.
Códigos de error
Se presenta un código de error bajo la forma [PREFIXE]_[CODE], en donde:
[PREFIJO] | define la capa de aplicación donde se ha producido el error |
[CODIGO] | es el código numérico del error. |
Existen distintos prefijos:
PREFIJO | Descripción | EJEMPLO DE ERROR |
---|---|---|
MOB | Error del SDK móvil | MOB_004 |
ACQ | Error del adquirente | ACQ_001 |
AUTH | Error de autentificación | AUTH_149 |
INT | Error de integración (del vendedor) | INT_007 |
PSP | Error por parte del medio de pago | PSP_001 |
Errores ACQ, AUTH, INT y PSP
Estos códigos de error se refieren a las comunicaciones con el servidor de pago (con la plataforma de pago, con su servidor de vendedor, etc.). Consulte Códigos de error para obtener detalles sobre este tipo de error.
Recomendación de control de errores
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é.
Errores de MOB
Estos errores ocurren si se ha producido un error del lado de la SDK móvil.
CÓDIGO DE ERROR | Definición |
---|---|
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 |
Detalle de los códigos de error
MOB_001
Código | MOB_001 |
DEFINICIÓN | Invalid public key |
La clave pública ingresada al iniciar el SDK es incorrecta. Consulte Prerrequisito
MOB_002
Código | MOB_002 |
DEFINICIÓN | 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
Código | MOB_003 |
DEFINICIÓN | Invalid formToken |
El identificador del formulario no parece ser correcto. Asegúrese de haber seguido las instrucciones indicadas en las guías de integración. Si no encuentra nada que pudiera causar un error, llame al soporte técnico*.
MOB_004
Código | MOB_004 |
DEFINICIÓN | 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
Código | MOB_005 |
DEFINICIÓN | Impossible to communicate with server |
Póngase en contacto con la asistencia*.
MOB_006
Código | MOB_006 |
DEFINICIÓN | Network is not available |
El dispositivo no parece estar conectado a internet. En este caso, puede ser útil mostrar un mensaje al usuario para asegurarse de que efectivamente está conectado.
MOB_007
Código | MOB_007 |
DEFINICIÓN | Invalid response of Lyra Rest API |
Póngase en contacto con la asistencia*.
MOB_008
Código | MOB_008 |
DEFINICIÓN | Payment refused |
El pago fue rechazado tras alcanzar el número máximo de intentos adicionales.
MOB_009
Código | MOB_009 |
DEFINICIÓN | 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
Código | MOB_010 |
DEFINICIÓN | 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
Código | MOB_011 |
DEFINICIÓN | Unknown API Server Name |
La valeur envoyée dans le champ apiServerName
n'est pas reconnu, probablement suite à un erreur de frappe.
MOB_012
Código | MOB_012 |
DEFINICIÓN | 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
Código | MOB_013 |
DEFINICIÓN | Payment cannot be cancelled |
Le paiement ne peut pas être annulé suite à l'appel au Lyra.cancelProcess()
.
MOB_999
Código | MOB_999 |
DEFINICIÓN | Unexpected error |
Se ha producido un error inesperado. Contacte a la asistencia.
Cuando contacte al soporte técnico, indique:
- Su número de tienda de 8 dígitos
- OS y versión del SDK
- Dispositivo utilizado (iPhone 6S, computadora personal, iPad Pro, etc.)
- Versión del OS
- Fecha y hora del error.
- el
errorCode
YdetailedErrorCode
que vous rencontrez si c'est le cas
Estos datos mejorarán el tiempo que lleva analizar y comprender su problema.