Niveles de riesgo
Cada llamada a verify() devuelve un riskLevel y un booleano allowed. Estos son independientes: una transacción puede tener allowed: true con riskLevel: high.
Niveles
lowLa transacción parece segura. Ninguna señal marcada.
mediumAlgunas señales marcadas. Considera una verificación adicional.
highSe detectaron señales de fraude fuertes. Aún puede permitirse según la configuración de escenarios.
blockedTransacción bloqueada por política del backend. Valor exclusivo del SDK, siempre allowed: false.
unknownNo se pudo determinar el riesgo. Fallo del SDK o del backend. Valor exclusivo del SDK, siempre allowed: false.
risk_level y allowed son evaluados de forma independiente por el backend. El nivel de riesgo refleja la evaluación de las señales de fraude, mientras que la decisión de allowed se basa en la configuración de escenarios de tu organización. Una transacción de riesgo high puede tener allowed: true si no se activa ningún escenario de rechazo.
blocked y unknown son valores exclusivos del SDK que indican condiciones de error. Cuando riskLevel es alguno de estos, allowed será false y el array errors contendrá detalles. El backend solo devuelve low, medium o high.
Flujo de decisión
verify() devuelve result
Transacción aceptada. El nivel de riesgo te indica cuánta fricción aplicar:
- low: continúa normalmente
- medium: continúa con precaución, considera una verificación reforzada
- high: aceptada pero marcada para revisión, agrega fricción o monitorea
Transacción rechazada. Revisa result.errors para más detalles:
- high: se activó un escenario de rechazo
- blocked: bloqueo por política del backend (lista negra, jurisdicción)
- unknown: error del SDK/red