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 open sin 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ódigoCuándo
bnpl_risk_customer_not_eligibleLa evaluación crediticia rechazó al cliente.
bnpl_customer_has_late_paymentsEl cliente tiene cuotas atrasadas con Venti.
bnpl_amount_exceeds_customer_limitEl financiamiento supera el cupo disponible del cliente.
bnpl_amount_below_minimumEl monto está bajo el mínimo del programa.
bnpl_amount_exceeds_purchase_limitEl monto supera el máximo del programa.
bnpl_amount_exceeds_limitEl monto supera el límite de financiamiento vigente.
bnpl_max_purchase_attemptsDemasiados intentos de compra del cliente en poco tiempo.
bnpl_risk_card_linked_to_other_customerLa tarjeta está asociada a la identidad validada de otro cliente.
invalid_installment_nameEl programa de cuotas no existe o no está habilitado para tu comercio.
invalid_customerEl cliente no existe o no cumple las validaciones del programa (identidad, teléfono).
invalid_payment_methodEl método de pago no existe o no es compatible con financiamiento.
loan_already_approvedEl préstamo ya fue aprobado.
loan_not_approvableEl préstamo no está en un estado aprobable (ej: cancelado).
loan_not_approvable_by_currencyLa moneda del préstamo no coincide con la del crédito del cliente.
loan_not_authorizableLa cuota pertenece a un préstamo que no está aprobado y autorizado.
loan_not_refundableEl préstamo no admite devolución (no autorizado, o con disputa).
already_refundedNo queda monto disponible para devolver.
invalid_amountEl monto de la devolución es inválido o supera lo disponible.
insufficient_balanceTu balance no cubre la devolución.
invalid_merchantEl comercio no existe o está deshabilitado.
installment_not_authorizableLa cuota no está pendiente de pago (ya pagada o cancelada).
invalid_installments_numberEl 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.