Skip to main content
Uma transação na Linka API passa por uma máquina de estados bem definida. Entender cada status é essencial para implementar a lógica de negócio correta no seu sistema.

Máquina de Estados

Tabela de Status

*PAID pode transitar para REFUNDED, CHARGEDBACK ou PARTIALLY_REFUNDED.
Novos status podem ser adicionados. Trate valores desconhecidos com um fallback — não faça switch exaustivo.

Descrição Detalhada

PENDING

Estado inicial de toda transação, criado em POST /api/v1/cobranca/transactions. Representa “enviado para processamento, aguardando o primeiro retorno da instituição de pagamento”.

WAITING_PAYMENT

O QR Code foi gerado e aguarda a ação do pagador. Diferente de PENDING, aqui o pagador precisa fazer algo.
Na reconciliação, PENDING e WAITING_PAYMENT são equivalentes, ambos significam “ainda não pago”.

PROCESSING

Status transitório: a solicitação está sendo processada, sem resultado final ainda. Nenhuma ação financeira ocorre. Pagamento confirmado. O crédito na sua wallet é processado imediatamente — PIX não tem período de retenção.

FAILED

Falha técnica ou terminal. Erro de processamento, status sem mapeamento conhecido, ou exceção durante a criação. Também funciona como fallback universal: qualquer status sem mapeamento definido resulta em FAILED.

EXPIRED

Transação expirada: o QR Code não foi pago dentro do prazo (padrão: 1 hora, configurável via campo expiration). Diferente de FAILED, EXPIRED indica que o pagador não tentou pagar — não houve falha técnica.

REFUNDED

Estorno total voluntário. Você decidiu devolver o dinheiro integralmente. Resulta em débito na sua wallet.

PARTIALLY_REFUNDED

Status atribuído quando um estorno parcial é processado e o valor estornado é menor que o total da transação.
Este status não aparece nos seus filtros de listagem, mas pode aparecer no GET /api/v1/cobranca/transactions/{id}.

CHARGEDBACK

O BACEN acionou o MED (Mecanismo Especial de Devolução) do PIX — devolução por suspeita de fraude ou erro, sem sua autorização. Ao receber este status:
  1. Débito imediato na sua wallet
  2. Uma disputa é criada automaticamente para rastreamento
  3. Idempotência: apenas um débito por transação, mesmo com múltiplos webhooks
CHARGEDBACK vs REFUNDED: a devolução via MED é involuntária. O estorno é voluntário, feito por você. Nunca trate os dois da mesma forma na sua lógica de negócio.

DISPUTE

Contestação ativa em andamento. Diferente de CHARGEDBACK, ainda não há decisão — está sendo analisada pela Linka. O saldo é bloqueado na wallet durante a análise. Pode transitar para PAID (você ganha) ou CHARGEDBACK (comprador ganha).

BLOCKED

Status interno. Transação bloqueada preventivamente por suspeita de fraude ou compliance. Nenhuma ação financeira ocorre.

PENDING_REVIEW

Status raro: transação temporariamente em análise. O saldo relacionado fica bloqueado até a conclusão.

Hierarquia de Prioridade

Um status de maior prioridade nunca pode ser sobrescrito por um de menor. Isso garante que devoluções e bloqueios não sejam revertidos por webhooks tardios.

Verificando o Status via API

Consulte o status de qualquer transação pelo GET /api/v1/cobranca/transactions/{id}:

Fluxo PIX resumido

Crédito na wallet é imediato após PAID.