Como posso realizar o cancelamento de uma transação via API?

Cancelamento total
No cancelamento de um transação do tipo card uma solicitação de estorno é feita ao emissor do cartão, sendo gerado um crédito na fatura do comprador referente ao valor estornado.

Uma vez aprovado o cancelamento a transação é atualizada para o status de canceled, sendo emitido um evento do tipo transaction.canceled, sendo canceladas também as parcelas de recebimento associadas a transação não compensadas. Um lançamento de débito no extrato financeiro do lojista para as parcelas de recebimento já liquidadas também é realizado.

Estorno de venda liquidada
Para realizar o estorno de vendas já liquidadas deve ser feita uma solicitação especial de liberação em nome do marketplace ou do estabelecimento comercial, não sendo possível realizar este tipo de estorno sem uma liberação prévia.

Cancelamento parcial
O cancelamento parcial é o ato de cancelar um valor menor que o valor total autorizado ou capturado. Esse modelo de cancelamento pode ocorrer inumeras vezes, até que o valor total da transação seja cancelado.

Cancelamento parcial disponível apenas para transações de crédito capturadas.

Ao cancelar parcialmente uma transação, o amount estornado é reduzido do valor atual da venda, ficando o valor original_amount preservado com o valor original da venda, sendo regerado os recebíveis associados a esta venda, retornando erro caso uma regra de split ultrapasse o valor restante da venda após cancelamento.

No cancelamento parcial, o estado da venda permanece como succeeded enquanto restar valor amount a ser creditado ao EC. A venda passa para o estado de canceled quando o valor amount for zero.

No cancelamento parcial é também disparado o evento de transaction.canceled , porém mantendo o objeto da venda no estado de succeeded.

Para cada operação de cancelamento é registrado um histórico que pode ser visualizado nas apis de transactions.

Na API de cancelamento de cobrança deve ser enviado o valor a ser estornado, podendo ser o valor total ou parcial, enviando também novamente o identificador do vendedor no atributo on_behalf_of.