Fluxo
Status
Regras
- Cada CheckoutSession confirmada com
paymentMethod = CASHgera exatamente um CashSettlement. - Não existem ações manuais para criar, declarar ou enviar a prestação.
- O CashSettlement nasce
PENDING, comdeclaredAmount,submittedByesubmittedAtpreenchidos automaticamente. - O Payment nasce
PAIDpara permitir a emissão imediata do Ticket, mas permanece comcashSettlementId = nullenquanto a prestação não for confirmada. - A confirmação pela OPS altera o CashSettlement para
CONFIRMEDe vincula o Payment na mesma transação. - O vínculo entre CashSettlement e Payment é 1:1.
Payment.cashSettlementIddeve ser único. - A rejeição mantém o Payment sem vínculo e não recalcula Payment, Order, Ticket ou crédito.
- OPS enxerga apenas registros da própria cooperativa. Driver enxerga apenas registros associados ao seu
driverId.
Registros pendentes
Uma prestação pendente já existe e já foi enviada. Ela ainda não foi confirmada pela cooperativa e, por isso, não possui Payment vinculado.
O endpoint de listagem aceita
status = PENDING para retornar o que ainda falta ser confirmado entre a cooperativa e o motorista.
Veja a modelagem em CashSettlement.