Colas de Pago
Requisitos previos de acceso
- Permiso (módulo):
processPaymentQueue(controla los botones en la UI) +manageToken(requerido por el backend para las rutas de cola) - Licencia/Feature: Ninguna específica.
- Contenedor del menú: GENERAL → grupo Cobros (ruta
/manage-payment-queues)
Qué es / cuándo usar
Las Colas de Pago modelan estructuras de rescate/recompra de NFTs por prioridad — típico de deudas con orden de pago, como precatorios, deudas públicas (TCU/União), debentures u obligaciones corporativas tokenizadas. Cada cola es una regla: selecciona qué NFTs ingresan (por colección + atributo + valor de atributo), define la prioridad de pago y el tipo (al contado o en cuotas).
Esta pantalla se ocupa de la configuración de las colas. La ejecución ítem por ítem (cada NFT a pagar, en orden de prioridad) ocurre en la pantalla Órdenes de cola de pago, donde el operador aprueba el pago de cada NFT: el sistema paga al tenedor el price_paid del NFT desde la billetera de la plataforma y devuelve el NFT al TKN_OWNER.
Requisitos previos
- Permiso:
processPaymentQueueregistrado para habilitar los botones en la UI (permiso doble — enum CPM + módulo dinámico en DB). Las rutas de creación/edición/eliminación se validan en el API-Gateway conmanageToken; sin ese enum la operación retorna error aunque el botón esté visible. - Licencia/Feature: Ninguna específica.
- Dependencias de otras pantallas: la colección y el atributo/valor referenciados deben existir en los NFTs emitidos — es a través de ellos que el sistema sabe qué NFTs pertenecen a la cola.
Paso a paso
- Acceda a Cobros → Colas de Pago (ruta
/manage-payment-queues). - El listado muestra las colas con Nombre y Prioridad.
- Haga clic en Crear nueva para abrir el modal de configuración.
- Complete Nombre, Colección, Prioridad, Atributo, Valor del atributo y el Tipo de pago.
- Si el tipo es En cuotas, indique Porcentaje y Meses.
- Confirme con Guardar. Para editar, use el ícono de lápiz; para eliminar, el de papelera.
Campos (modal de cola)
| Campo | Qué es | ¿Obligatorio? | Efecto en el sistema/backend |
|---|---|---|---|
| Nombre | Identificación de la cola | Sí | Guarda name en payment_queue (TokenController). Bloqueado en edición (no puede modificarse después de creado). |
| Colección | ID de la colección de NFTs que atiende la cola | Sí | Guarda collectionId. Junto con atributo/valor, delimita el universo de NFTs elegibles. |
| Prioridad | Orden de precedencia de la cola en el pago | Sí | Guarda priority (numérico). Define qué cola/NFT se paga primero en la ordenación de las órdenes. Solo acepta números. |
| Atributo | Nombre de la característica que marca el NFT como parte de la cola | Sí | Guarda attribute. Emparejado con Valor del atributo para seleccionar los NFTs. |
| Valor del atributo | Valor esperado del atributo anterior | Sí | Guarda value. Ej.: atributo tipo con valor precatorio. |
| Tipo de pago | Al contado (Anticipado / A) o En cuotas / P | Sí | Guarda payment_type (A o P). Al cambiar a A, limpia percentage y months. Define si el valor del NFT se paga de una vez o fraccionado. |
| Porcentaje | (En cuotas) % del valor pagado por cuota | Condicional (tipo P) | Guarda percentage. Define el tamaño de cada cuota en relación al valor del NFT. |
| Meses | (En cuotas) número/intervalo de cuotas | Condicional (tipo P) | Guarda months. Define en cuántos meses se distribuye el valor. |
El botón Guardar solo se habilita cuando nombre, prioridad, valor del atributo, atributo y colección están completados.
Acciones y modales
- Crear nueva: abre
PaymentQueueModalComponenten modo creación →POST /v1/assets/createPaymentQueues. - Editar (lápiz): abre el mismo modal con la cola cargada (modo edición) →
POST /v1/assets/updatePaymentQueues. El Nombre queda bloqueado. - Eliminar (papelera): llama a
POST /v1/assets/deletePaymentQueues. Tras el éxito la página se recarga.
Reglas de negocio / consideraciones
Atención
- La selección de NFTs se realiza por colección + atributo + valor: si el atributo/valor no coincide exactamente con lo que está en los NFTs, la cola quedará vacía.
- El Nombre es inmutable tras la creación.
- La Prioridad es lo que ordena el pago — colas con prioridad conflictiva pueden producir un orden de pago inesperado. Planifique la numeración.
- Configurar como En cuotas sin informar Porcentaje/Meses deja la regla de fraccionamiento incompleta.
- Valores financieros: los valores efectivamente pagados provienen del
price_paidde cada NFT (en la ejecución) y se tratan como BigNumber — sin redondeo. - Idempotencia: la ejecución de cada orden está protegida (un NFT ya pagado no se vuelve a pagar) y las transacciones siguen la idempotencia de FinLib (
E00021= ya procesado = éxito).