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_limit del 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ódigoCuándo
program_not_foundEl program_id no existe o no es de tu comercio.
program_not_activeEl programa está archivado: no admite cuentas nuevas.
program_invalid_credit_limitdefault_credit_limit mayor que max_credit_limit, o un cupo sobre el máximo del programa.
financial_account_not_foundLa cuenta no existe o no es de tu comercio.
financial_account_closedLa cuenta está cerrada: no admite cambios.
financial_account_not_closableIntento de cierre con deuda o reservas vigentes.
financial_account_invalid_credit_limitEl nuevo cupo es menor que la exposición vigente de la cuenta.
financial_account_not_eligibleLa cuenta no puede pagar este checkout (moneda distinta, disponible insuficiente, cuenta congelada o funcionalidad no habilitada).
financial_account_insufficient_fundsEl disponible no alcanza para el monto del checkout.
financial_account_hold_expiredLa reserva del pago expiró antes de autorizarse: hay que iniciar el pago de nuevo.
financial_account_hold_not_pendingLa reserva ya fue capturada o liberada.
financial_account_invalid_verification_codeCódigo de verificación incorrecto o expirado.
financial_account_verification_throttledDemasiados intentos o reenvíos del código: espera antes de reintentar.
financial_account_repayment_checkout_forbiddenIntento de pagar un checkout de cobro con una cuenta, o de reembolsarlo.
customer_id_or_email_requiredFalta 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.