Uma Transfer representa um saque do saldo disponível de uma cooperativa no provedor de billing. É a etapa final do ciclo financeiro.
Máquina de Estados
TransferStatus
Default PENDING. PAID indica transferência efetivada.
Pré-requisitos
- A Cooperative deve ter CooperativePaymentSettings ativa.
- A Cooperative deve estar apta a movimentar saldo no provider de billing.
- O saldo disponível (consultado no provedor) deve cobrir o valor solicitado.
Withdrawal Flow
Saldo disponível
O saldo disponível é sempre obtido pelo provider de billing, que é a fonte da verdade para valores liquidados e disponíveis para saque.
Consultas de saldo devem usar a visão retornada pelo provider de billing.
Atualização via webhook
A transferência nasce PENDING. O resultado chega pelo webhook do provedor (UPDATE_TRANSFER), que atualiza o status para PAID, FAILED ou CANCELED.
Rastreamento externo
O par externalProvider + externalProviderId identifica a transferência externa e evita duplicidade de processamento.
Ciclo financeiro completo