decision.type es el campo que le dice al comercio qué hacer con la transacción. Es el
único campo accionable de la respuesta — nunca actúes sobre el score, actúa sobre esto.
Tiene exactamente 5 valores posibles:
STEP_UP_AUTH y HOLD desembocan en el mismo transaction_state (HELD) — no se
distinguen por el estado. Si necesitas saber cuál de las dos decisiones produjo un estado
HELD, tienes que leer decision.type, no transaction_state. Ver
Ciclo de vida de la transacción para el detalle de esta
ambigüedad.conditions
Lista de condiciones pendientes cuando decision.type es STEP_UP_AUTH. Hoy el único
valor observado es OTP_VERIFICATION. Para el resto de decisiones, conditions viene
vacío ([]).
reason
Lista de strings que explican la decisión. Cada entrada es un código público de señal de
riesgo (p. ej. AUTH_3DS_FAILED), o una de estas dos formas cuando la decisión la elevó
algo tuyo:
El detalle de
flags está en Formato de respuesta. El catálogo
de code vive en Flags. No confundas esas razones de riesgo con los
códigos de error de la API.