Skip to content
Última actualización

Introducción a la Validación de Penny

La validación de penny es un método que Belvo utiliza para confirmar que una cuenta bancaria existe y es propiedad de un individuo o entidad específica.

El flujo general de la validación de penny de Belvo es:

  1. Creas un cliente y un método de pago.
  2. Belvo envía un “penny" (centavo) usando SPEI a la cuenta especificada cuando creaste el método de pago.
  3. Se genera un Comprobante Electrónico de Pago (CEP) para la transacción y Belvo recupera los datos del documento.
  4. Belvo compara la información del propietario del CEP con la información que proporcionaste al crear el cliente para verificar la cuenta dada.

Validación de Penny para Métodos de Pago (API)

  1. Creas un cliente.

  2. Creas un Método de Pago para el cliente.

  3. El estado del Método de Pago se establece en pending_agreement_acceptance.

  4. Una vez que se acepta el acuerdo, el estado del Método de Pago se establece en pending_validation.

  5. Belvo envía el “penny" a la cuenta registrada en el Paso 2.

  6. Se genera un Comprobante Electrónico de Pago (CEP) para la transacción y Belvo recupera los datos del documento.

  7. Belvo compara el documentType y documentNumber proporcionados en el Paso 1 con la información proporcionada en el CEP.

    1. Si la información es la misma, el estado del Método de Pago se establece en active.

    2. Si la información no es la misma, el estado del Método de Pago se establece en error. Recibirás un payment_method_registration_failed webhook con la siguiente información de error:

      Penny Validation Error
      {
        "eventType": "payment_method_update",
        "eventCode": "payment_method_registration_failed",
        "datetime": "2022-01-01T12:34:56.789Z",
        "details": {
          "id": "3118128a-6792-4b06-bd61-4acf6f6ad6b5", 
          "reference": "your_reference_here",
          "status": "error",
          "failedReason": "account_validation_failed",
          "failedMessage": "Account owner validation was not successful"
        }
      }

Validación de Penny usando Importaciones por Lote

  1. Envías tu CSV para Importación Masiva de Pagos por Débito Directo.
  2. Si es necesario, Belvo crea los clientes asociados para cada fila en tu CSV.
  3. Belvo crea un Método de Pago para cada nuevo cliente (es decir, para cualquier cliente que no estuviera previamente registrado con la misma información).
  4. El estado del Método de Pago se establece en pending_validation.
  5. Belvo envía el “penny" a la cuenta registrada en el Paso 3.
  6. Se genera un Comprobante Electrónico de Pago (CEP) para la transacción y Belvo recupera los datos del documento.
  7. Belvo compara el documentType y documentNumber proporcionados al crear el cliente con la información proporcionada en el CEP.
    1. Si la información es la misma, el estado del Método de Pago se establece en active.
    2. Si la información no es la misma, el estado del Método de Pago se establece en failed. En nuestra interfaz, verás la razón del fallo (validation_failed) junto con un mensaje detallando la razón detrás del fallo (Account owner validation was not successful).

Solicitudes de Pago con Métodos de Pago Adhoc

  1. Creas un cliente (API).

  2. Creas una Solicitud de Pago con un Método de Pago Adhoc para el cliente. (API)

  3. El estado de la Solicitud de Pago se establece en pending_validation.

  4. Belvo envía el “centavo" a la cuenta registrada en el Paso 2.

  5. Se genera un Comprobante Electrónico de Pago (CEP) para la transacción y Belvo recupera los datos del documento.

  6. Belvo compara el documentType y documentNumber proporcionados en el Paso 1 con la información proporcionada en el CEP.

    1. Si la información es la misma, el estado de la Solicitud de Pago se establece en initial.

    2. Si la información no es la misma, el estado de la Solicitud de Pago se establece en failed. Recibirás un webhook payment_request_failed con la siguiente información de fallo:

      {
        "eventType": "payment_request_update",
        "eventCode": "payment_request_failed",
        "datetime": "2022-01-01T12:34:56.789Z",
        "details": {
          "id": "3118128a-6792-4b06-bd61-4acf6f6ad6b5", // El paymentRequestId
          "reference": "your_reference_here",
          "status": "failed",
          "failedReason": "account_validation_failed",
          "failedMessage": "Account owner validation was not successful"
        }
      }

-->