🇲🇽 ¿Cómo funciona la validación de cuenta CLABE?

Acá explicaremos como funciona el producto de validación de cuenta CLABE y validación de tarjeta de débito de Toku.

Hacer validación

Para la validación de tarjetas de débito, la única forma posible es hacerlo mediante la carga de un archivo por el backoffice.

Por otro lado hacer una validación de cuenta CLABE, existen dos formas. Una opción es directamente cargando un archivo por el backoffice y la otra es usando este endpoint. Esta request devolverá un id del tipo bav_xxx, el cual debes guardar para cuando llegue la respuesta de la validación.

Obtener respuesta

Para escuchar la respuesta debes colgarte de este webhook, el cuál te entregará la validación en formato json junto con el bav_xxx para que sepas a cual validación corresponde.

  • Validación terminada, status = “DONE”
    • En este caso se pudo realizar la transferencia y se pudo obtener los datos de la CLABE desde el "CEP".
    • El campo reason vendrá como null y vendrán los campos del receiver_institution, customer_identifier, receiver_name , voucher_url y xml_voucher_url completados.
    • Si se envia el RFC/CURP, el campo validation vendra con un valor SUCCESS o FAILED y se incluirá el detalle del resultado en los campos rfc_match_score y rfc_match_result en el objeto customer_data_validation.
    • Si se envía el nombre del cliente, el resultado de la validación del nombre vendrá en enreceiver_name_match_score y receiver_name_match_result, en el objeto customer_data_validation.
  • Validación fallida, status = “FAILED”
    • Una validación puede fallar por dos razones:
      • La transferencia no se pudo realizar:
        • “DENIED BY RECIPIENT”: Por alguna razón la cuenta CLABE rechazó la validación
        • “EXCEEDS ACCOUNT MAX BALANCE”: La cuenta CLABE no permite recibir más dinero, por lo que no se puede validar
        • “EXCEEDS ACCOUNT MAX DEPOSITS”: La cuenta CLABE excede el límite de abonos permitidos al mes
        • “UNSUPPORTED BANK”: El banco receptor no es soportado aún por Toku
        • “INSTITUTION DISCONNECTED”: El banco receptor no está conectado a SPEI
        • “UNKNOWN ERROR”: Ocurrió un error inesperado, por favor intentalo nuevamente
      • La transferencia sí se hizo, pero por alguna razón no se pudo obtener los datos de la CLABE, vendrá la razón en el campo reason. Las posibles opciones son:
        • “NONEXISTENT ACCOUNT”: La cuenta CLABE no existe
        • “BLOCKED ACCOUNT”: La cuenta CLABE está bloqueada
        • “CLOSED ACCOUNT”: La cuenta CLABE está cerrada
        • “ACCOUNT WITH INVALID CURRENCY”: La cuenta CLABE usa otra moneda distinta al peso mexicano (MXN)
        • “CEP NOT GENERATED”: No se pudo generar el CEP con la información desde Banxico.

Como funciona la validación de campos?

Si se enviá el campo customer_name o customer_identifier, y la validación inicial es exitosa, se devolverá un objeto customer_data_validation con los resultados detallados.

Este proceso consiste en comparar el campo de entrada (previamente limpiado y normalizado) con el dato correspondiente obtenido del CEP. El resultado de esta comparación es un puntaje (score) que representa el porcentaje de similitud entre ambos valores.

Finalmente, este score se evalúa contra un umbral predefinido. Si el puntaje supera dicho umbral, el campo result se marcará como true (validación exitosa); de lo contrario, se marcará como failed.