Reglas y errores
Las reglas del producto y los códigos de error que puede devolver la API de préstamos y cuotas.
Reglas y errores
Reglas del producto
Estas reglas se aplican siempre en el servidor:
- La aprobación del crédito es decisión de Venti y ocurre al momento del pago: evaluación crediticia del cliente, validación de identidad y teléfono según el programa, y controles antifraude. Un rechazo no es configurable ni apelable por API.
- Cada cliente tiene un cupo de financiamiento con Venti. Sus cuotas pendientes (incluida la compra en curso) no pueden superarlo; el exceso rechaza la compra.
- Un cliente con cuotas atrasadas no puede tomar un crédito nuevo.
- Cada programa tiene monto mínimo y máximo. Fuera de ese rango, el programa no se ofrece o la aprobación se rechaza.
- Solo tarjetas compatibles. El financiamiento exige un medio de pago con tarjeta que soporte BNPL y autorización síncrona; la moneda del préstamo debe coincidir con la del crédito del cliente.
- El crédito se concreta cobrando la primera cuota. Un préstamo aprobado que no logra autorizarse se cancela automáticamente a los 20 minutos (y uno
opensin actividad, después de 1 hora). - Las devoluciones corren por tu cuenta. Solo préstamos autorizados y sin disputa; parciales y sucesivas hasta el monto original; tu balance debe cubrir el monto. Venti cancela las cuotas pendientes y devuelve al cliente lo ya pagado (sin los cargos por atraso).
- La cobranza es de Venti. Los intereses, sobrecargos y cargos por atraso los paga el cliente a Venti; nunca pasan por tu balance.
Códigos de error
Errores del tipo invalid_request_error que puede devolver la API de préstamos y cuotas:
| Código | Cuándo |
|---|---|
bnpl_risk_customer_not_eligible | La evaluación crediticia rechazó al cliente. |
bnpl_customer_has_late_payments | El cliente tiene cuotas atrasadas con Venti. |
bnpl_amount_exceeds_customer_limit | El financiamiento supera el cupo disponible del cliente. |
bnpl_amount_below_minimum | El monto está bajo el mínimo del programa. |
bnpl_amount_exceeds_purchase_limit | El monto supera el máximo del programa. |
bnpl_amount_exceeds_limit | El monto supera el límite de financiamiento vigente. |
bnpl_max_purchase_attempts | Demasiados intentos de compra del cliente en poco tiempo. |
bnpl_risk_card_linked_to_other_customer | La tarjeta está asociada a la identidad validada de otro cliente. |
invalid_installment_name | El programa de cuotas no existe o no está habilitado para tu comercio. |
invalid_customer | El cliente no existe o no cumple las validaciones del programa (identidad, teléfono). |
invalid_payment_method | El método de pago no existe o no es compatible con financiamiento. |
loan_already_approved | El préstamo ya fue aprobado. |
loan_not_approvable | El préstamo no está en un estado aprobable (ej: cancelado). |
loan_not_approvable_by_currency | La moneda del préstamo no coincide con la del crédito del cliente. |
loan_not_authorizable | La cuota pertenece a un préstamo que no está aprobado y autorizado. |
loan_not_refundable | El préstamo no admite devolución (no autorizado, o con disputa). |
already_refunded | No queda monto disponible para devolver. |
invalid_amount | El monto de la devolución es inválido o supera lo disponible. |
insufficient_balance | Tu balance no cubre la devolución. |
invalid_merchant | El comercio no existe o está deshabilitado. |
installment_not_authorizable | La cuota no está pendiente de pago (ya pagada o cancelada). |
invalid_installments_number | El número de cuotas de tarjeta enviado no es válido para ese medio de pago. |
Los errores siguen el formato estándar de la API:
{
"error": {
"type": "invalid_request_error",
"code": "bnpl_risk_customer_not_eligible"
}
}Cuando una aprobación falla, el préstamo además guarda el motivo en status_reason.
Límites actuales
- El monto se reparte en cuotas iguales según el programa elegido; no es configurable por préstamo.
- Cancelación por API: no existe un endpoint para cancelar un préstamo; los no autorizados expiran solos.
- Captura diferida: no soportada — la autorización del préstamo siempre cobra la primera cuota en el acto.
Updated 1 day ago

