Manejo de errores
Presentación
Los errores del SDK móvil se reenvían mediante el objeto LyraException
que tiene los siguientes parámetros:
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.
Tipos de errores
Hay que distinguir los errores que se producen durante la programación 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.
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_NAME
sera levée.
Après l'appel à la méthode process() :
- Si el SDK no se inicializó previamente, se hará una excepción
MOBP-002-INITIALIZATION_REQUIRED
será levantado.
Errores de ejecución
En el caso de otros errores, la información se transmite en el objeto LyraException en la función de devolución de callback onError(), como se describe en la guía de integración.
Códigos de error
Un código de error tiene el formato [PREFIJO]_[CÓDIGO]:
[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 los servidores de pago (hacia la plataforma de pago, su servidor comercial, etc.). Consulte Códigos de error para obtener detalles sobre este tipo de error.
Recomendación de control de errores
Cualquiera sea el error, se recomienda:
- que siempre muestre un mensaje para informarle al usuario que el pago no fue realizado.
- de hacer el seguimiento de los , los
errorCode
, eldetailedErrorCode
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 ha producido un error en el 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_014 | Payment by Apple Pay not available |
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 inicializar el SDK es incorrecta. Al realizar una transacción, las claves y el modo deben coincidir: verifique que está usando la clave correspondiente al modo elegido (test o producción). Ver: 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
. Voir : 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 ID del formulario es incorrecto. Asegúrese de haber seguido las instrucciones indicadas en las guías de integración. Si no encuentra el origen del error, contacte a la asistencia técnica.
MOB_004
Código | MOB_004 |
DEFINICIÓN | Invalid formToken version |
La versión del ID de formulario es incorrecta. Para verificar que tiene versión correcta, llame al método getFormTokenVersion
del SDK y transmita los resultados al parámetro formTokenVersion
del createPayment
.
MOB_005
Código | MOB_005 |
DEFINICIÓN | Impossible to communicate with server |
Contacte a la asistencia técnica.
MOB_006
Código | MOB_006 |
DEFINICIÓN | Network is not available |
El dispositivo no parece estar conectado a Internet. Envíe 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 |
Contacte a la asistencia técnica.
MOB_008
Código | MOB_008 |
DEFINICIÓN | Payment refused |
Se ha alcanzado la cantidad de intentos adicionales y el pago ha sido rechazado.
MOB_009
Código | MOB_009 |
DEFINICIÓN | Payment cancelled |
Este pago fue anulado intencionalmente. El comprador ha abandonado voluntariamente la pantalla de pago o se llamó a Lyra.cancelProcess()
.
MOB_010
Código | MOB_010 |
DEFINICIÓN | Server timeout error, check IPN |
El servidor de pago no respondió en el plazo de 60 segundos. Esto puede deberse a una ralentización temporal, por lo que se recomienda comprobar la notificación IPN posteriormente y anular la transacción para mantener la coherencia.
MOB_011
Código | MOB_011 |
DEFINICIÓN | Unknown API Server Name |
No se reconoce el valor enviado en el campo apiServerName
, probablemente por un error de escritura.
MOB_012
Código | MOB_012 |
DEFINICIÓN | Unknown Order Status |
Este error se produce si la plataforma de pago devuelve un estado de pago distinto de RUNNING, PAID, PARTIALLY_PAID o UNPAID.
MOB_013
Código | MOB_013 |
DEFINICIÓN | Payment cannot be cancelled |
El pago no puede anularse después de haber llamado a Lyra.cancelProcess()
.
MOB_014
Código | MOB_014 |
DEFINICIÓN | Payment by Apple Pay not available |
Este error se produce si se ha llamado a Lyra.cancelProcess()
con la opción [LyraPaymentOptions.paymentMethodType: LyraPaymentMethods.applePay]
y que el pago con Apple Pay está indisponible.
MOB_999
Código | MOB_999 |
DEFINICIÓN | Unexpected error |
Se ha producido un error inesperado. Contacte a la asistencia.
Lorsque vous contactezl'assistance technique, communiquez :
- 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 puedan aparecer
Estos datos ayudan a que su caso se procese rápidamente.