# List, retrieve, then reverse (cancel) a bank-transfer refund.

List, retrieve, then reverse (cancel) a bank-transfer refund.

1. OPTIONAL — list bank-transfer refunds filtered by terminal, order, status, and date. `processingTerminalId` is required here. The response is paginated - refunds are in the `data` array. Extracts the first refund's `refundId`.
 [listBankTransferRefunds](/api/list-bank-transfer-refunds)
2. OPTIONAL — retrieve the full detail of the first bank-transfer refund from the list. Check `transactionResult.status` to confirm the refund is still in an open batch before reversing it.
 [getBankTransferRefund](/api/get-bank-transfer-refund)
3. Cancel the bank-transfer refund while it is in an open batch using the `refundId` from getBankTransferRefund; no funds are returned. There is no bank-transfer adjust operation - reverse is the only lifecycle action. Requires a unique `Idempotency-Key` header. Returns 200 with `transactionResult.status` == `reversal`.
 [reverseBankTransferRefund](/api/reverse-bank-transfer-refund)

## Workflow diagram

```mermaid
flowchart TD
  step0["1. refund search · API"]
  step1["2. refund lookup · API"]
  step0 --> step1
  step2["3. reversal request · API"]
  step1 --> step2
```
