Parsing de respuesta con fallback peligroso
En parseIntentEnvelope se hace:
val data = root.optJSONObject("data") ?: root
Si la respuesta no contiene un campo data, se usa el objeto raíz como si fuera los datos del pago.
Esto puede ocultar errores de formato en la respuesta del backend y provocar que el SDK intente leer campos que no existen, lanzando excepciones o mostrando datos incorrectos.
Sugerencia: Validar explícitamente la estructura de la respuesta y lanzar una excepción si no contiene los campos esperados.
Parsing de respuesta con fallback peligroso
En parseIntentEnvelope se hace:
val data = root.optJSONObject("data") ?: root
Si la respuesta no contiene un campo data, se usa el objeto raíz como si fuera los datos del pago.
Esto puede ocultar errores de formato en la respuesta del backend y provocar que el SDK intente leer campos que no existen, lanzando excepciones o mostrando datos incorrectos.
Sugerencia: Validar explícitamente la estructura de la respuesta y lanzar una excepción si no contiene los campos esperados.