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:
- Creas un cliente y un método de pago.
- Belvo envía un “penny" (centavo) usando SPEI a la cuenta especificada cuando creaste el método de pago.
- Se genera un Comprobante Electrónico de Pago (CEP) para la transacción y Belvo recupera los datos del documento.
- 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)
Creas un cliente.
Creas un Método de Pago para el cliente.
El estado del Método de Pago se establece en
pending_agreement_acceptance
.Una vez que se acepta el acuerdo, el estado del Método de Pago se establece en
pending_validation
.Belvo envía el “penny" a la cuenta registrada en el Paso 2.
Se genera un Comprobante Electrónico de Pago (CEP) para la transacción y Belvo recupera los datos del documento.
Belvo compara el
documentType
ydocumentNumber
proporcionados en el Paso 1 con la información proporcionada en el CEP.Si la información es la misma, el estado del Método de Pago se establece en
active
.Si la información no es la misma, el estado del Método de Pago se establece en
error
. Recibirás unpayment_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
- Envías tu CSV para Importación Masiva de Pagos por Débito Directo.
- Si es necesario, Belvo crea los clientes asociados para cada fila en tu CSV.
- 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).
- El estado del Método de Pago se establece en
pending_validation
. - Belvo envía el “penny" a la cuenta registrada en el Paso 3.
- Se genera un Comprobante Electrónico de Pago (CEP) para la transacción y Belvo recupera los datos del documento.
- Belvo compara el
documentType
ydocumentNumber
proporcionados al crear el cliente con la información proporcionada en el CEP.- Si la información es la misma, el estado del Método de Pago se establece en
active
. - 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
).
- Si la información es la misma, el estado del Método de Pago se establece en
Solicitudes de Pago con Métodos de Pago Adhoc
Creas un cliente (API).
Creas una Solicitud de Pago con un Método de Pago Adhoc para el cliente. (API)
El estado de la Solicitud de Pago se establece en
pending_validation
.Belvo envía el “centavo" a la cuenta registrada en el Paso 2.
Se genera un Comprobante Electrónico de Pago (CEP) para la transacción y Belvo recupera los datos del documento.
Belvo compara el
documentType
ydocumentNumber
proporcionados en el Paso 1 con la información proporcionada en el CEP.Si la información es la misma, el estado de la Solicitud de Pago se establece en
initial
.Si la información no es la misma, el estado de la Solicitud de Pago se establece en
failed
. Recibirás un webhookpayment_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" } }
-->