Executando verificação de segurança...
1

eu adicionaria uma etapa para reservar o item em estoque e só entao fazer o pagamento, isso diminuiria a ocorrência de estornos. Então ficaria:

  1. Reserva o estoque
  2. Efetua Pagamento
  3. Deduz estoque

2.1 No caso de pagamento recusado da rollback na reserva (mais comum)

3.1 No caso de erro ao deduzir estoque, so ai rollback no pagamento com refund (seria um edge case)

Ou ainda, considerar se implementar apenas consistência eventual com outbox pattern nao atende o use case. Se o negócio não tolera janela de inconsistência (precisa “tudo ou nada” imediato) ai não tem jeito, tem que ir de saga mesmo.

Carregando publicação patrocinada...