Reglas y errores
Las reglas del producto y los códigos de error que puede devolver la API.
Reglas y errores
Reglas del producto
Estas reglas se aplican siempre en el servidor y no son configurables:
- Una cuenta nunca puede pagar su propio estado de cuenta. El checkout de cobro solo acepta medios de pago externos.
- El libro mayor es inmutable. Los movimientos no se editan ni se eliminan; las correcciones son movimientos nuevos (
reversal,adjustment) que referencian al original (reverses_entry_id). - Las compras con cuenta no generan abonos a tu balance. El dinero real entra solo con la cobranza.
- Una cuenta por cliente y programa. Para darle más de una cuenta a un cliente, crea más de un programa.
- La moneda de la cuenta es la del programa y no puede cambiarse.
- Cerrar una cuenta requiere saldo cero (sin deuda ni reservas vigentes). Congelarla no tiene requisitos.
- El cupo no puede bajar de la exposición vigente (deuda más reservas) ni superar el
max_credit_limitdel programa. - Los checkouts de estado de cuenta no son reembolsables.
- Cada pago con cuenta exige verificación: un código de 6 dígitos al email del titular, con expiración y límite de intentos.
Códigos de error
Errores del tipo invalid_request_error que puede devolver la API de Cuentas:
| Código | Cuándo |
|---|---|
program_not_found | El program_id no existe o no es de tu comercio. |
program_not_active | El programa está archivado: no admite cuentas nuevas. |
program_invalid_credit_limit | default_credit_limit mayor que max_credit_limit, o un cupo sobre el máximo del programa. |
financial_account_not_found | La cuenta no existe o no es de tu comercio. |
financial_account_closed | La cuenta está cerrada: no admite cambios. |
financial_account_not_closable | Intento de cierre con deuda o reservas vigentes. |
financial_account_invalid_credit_limit | El nuevo cupo es menor que la exposición vigente de la cuenta. |
financial_account_not_eligible | La cuenta no puede pagar este checkout (moneda distinta, disponible insuficiente, cuenta congelada o funcionalidad no habilitada). |
financial_account_insufficient_funds | El disponible no alcanza para el monto del checkout. |
financial_account_hold_expired | La reserva del pago expiró antes de autorizarse: hay que iniciar el pago de nuevo. |
financial_account_hold_not_pending | La reserva ya fue capturada o liberada. |
financial_account_invalid_verification_code | Código de verificación incorrecto o expirado. |
financial_account_verification_throttled | Demasiados intentos o reenvíos del código: espera antes de reintentar. |
financial_account_repayment_checkout_forbidden | Intento de pagar un checkout de cobro con una cuenta, o de reembolsarlo. |
customer_id_or_email_required | Falta customer_id o customer_email al crear la cuenta. |
Los errores siguen el formato estándar de la API:
{
"error": {
"type": "invalid_request_error",
"code": "financial_account_insufficient_funds"
}
}Límites actuales
- Las cuentas son de crédito y de circuito cerrado: gastables solo en el comercio emisor.
- No se generan intereses ni cargos por atraso automáticos.
- Pago dividido (cuenta + otro medio en el mismo checkout): no soportado.
Updated 1 day ago

