Acho que vc está confundido conceitos, caro amigo.
neste caso vc não está falando apenas de transaction e sim de resiliencia, como deixar minha operação
resiliente
a falhas.
"Chegou uma compra nova na minha API de checkout, preciso fazer algumas operações para validar a compra e enviar as informações da compra para o usuário"
Primeira cosia que eu faria é salvar no meu banco de dados um novo pedido, independente de qualquer operação externa.
Depois eu emitiria um evento chamado newOrder para minhas apis externas, como estoque, logistica, ERP e tudo mais.
Depois do envio de tais eventos, eu colocaria o status do pedido e mudaria para em processamento,
Aguardaria o retorno de todas as APIs externas via hook ou mensageria, depois da conclusão de todas e minha lógica entender que o produto já foi validado, iria emitir um novo evento OrderSuccess que avisaria o meu usuário que de tudo certo.
Faz sentido para vc?