Ordens da fila de pagamento
Pré-requisitos de acesso
- Permissão (módulo):
processPaymentQueue(controla os botões na UI) +manageToken(exigida pelo backend das rotas de fila) - Licença/Feature: Nenhuma específica.
- Contêiner do menu: GERAL → grupo Cobranças (rota
/manage-payment-queues-timelines)
Relação com "Ordens de Pagamento" (precatórios)
Esta tela (rótulo interno "Ordens de Pagamento", rota /manage-payment-queues-timelines) é a execução das Filas de Pagamento — a fila de recompra de NFTs por prioridade. Não confunda com a tela Ordens de Pagamento (/manage-orders), do grupo Operações, que trata de pedidos/alocações de precatórios.
O que é / quando usar
Esta tela lista, na ordem de prioridade definida pelas filas, cada NFT individual que está na linha de pagamento e permite ao operador liquidar (aprovar) o pagamento de cada uma. É o passo operacional que dá vida à configuração feita em Filas de Pagamento.
Ao aprovar uma ordem, o sistema:
- Paga ao detentor atual da NFT o valor
price_paid(o que ele pagou pela NFT), a partir da carteira da plataforma, na moeda fiduciária do tenant; - Transfere a NFT de volta ao
TKN_OWNER(o detentor deixa de possuí-la); - Marca a ordem como paga e reordena as entradas restantes da fila.
Pré-condições
- Permissão:
processPaymentQueuepara os botões na UI; o backend validamanageTokennas rotas (getPaymentQueuesTimelines,executePaymentQueue). Permissão dupla — enum CPM + módulo no DB. - Licença/Feature: Nenhuma específica.
- Dependências de outras telas: as Filas de Pagamento precisam estar configuradas e ter selecionado NFTs (por coleção/atributo/valor). O detentor da NFT precisa ter carteira válida e estar
APPROVED.
Passo a passo
- Acesse Cobranças → Ordens da fila de pagamento (rota
/manage-payment-queues-timelines). - A lista vem ordenada (campo
order) — do mais prioritário ao menos. Cada linha é uma NFT. - Identifique a NFT a pagar pelo Nome do ativo e pelo NFT ID.
- Para as ordens não pagas, clique no ícone de check (Aprovar) na linha.
- O sistema executa o pagamento ao detentor, devolve a NFT ao
TKN_OWNER, marca a ordem como Pago = Sim e recarrega a página.
Filtros e colunas
| Coluna | O que mostra | Origem do dado |
|---|---|---|
| Nome | Nome do ativo/coleção da NFT | assetName (resolvido a partir do asset_id) |
| Ordem | Posição da NFT na fila (prioridade efetiva) | order |
| NFT ID | Identificador on-chain da NFT | blockchain_token_id |
| Pago | Se a ordem já foi liquidada (Sim/Não) | paid |
| Ação | Botão Aprovar (check), visível só quando paid = false | — |
A própria listagem é a "timeline": a ordem de exibição reflete a prioridade configurada nas filas. Ordens já pagas permanecem visíveis com Pago = Sim, mas sem ação.
Ações e modais
- Aprovar (check): chama
POST /v1/assets/executePaymentQueuecom oidda ordem. Não há modal de confirmação — a ação é imediata. Em sucesso, exibe snackbar e recarrega a página.
Regras de negócio / cuidados
Atenção
- A aprovação é imediata e sem confirmação — um clique já dispara o pagamento. Confira a NFT (Nome + NFT ID) antes.
- O backend bloqueia repagamento: se a ordem já estiver paga,
executePaymentQueuelança "It was already paid". Se a NFT ou o usuário não forem encontrados, a operação falha sem pagar. - O valor pago é o
price_paidda NFT (o que o detentor pagou), não um valor digitado na tela.
Movimentação financeira efetiva
Aprovar uma ordem paga dinheiro real ao detentor e remove a NFT dele (volta para TKN_OWNER). É uma liquidação — trate como irreversível do ponto de vista operacional.
- Valores financeiros: o
price_paidé tratado como BigNumber — sem arredondamento. O pagamento sai da carteira da plataforma na moeda fiduciária do tenant. - Idempotência: a NFT já paga não é paga novamente (guarda explícita
paid); transações ao FinLib seguem a idempotência porexternalId(E00021= já processado = sucesso). - Status APPROVED: o detentor precisa estar aprovado para receber o pagamento na carteira.