# Retrieve an ACH return reason and re-present the payment.

Retrieve an ACH return reason and re-present the payment.

1. Retrieve the returned ACH payment to read the return reason and, most importantly, the return's own paymentId from the `returns` array. Save `returns[0].paymentId` — the re-presentment step needs it, not the original paymentId.
 [getBankTransferPayment](/api/get-bank-transfer-payment)
2. Re-present the payment against the return's paymentId (`$steps.viewPayment.outputs.returnPaymentId`), NOT the original paymentId. The request body is optional: omit it to reuse the original bank details, or send an updated `paymentMethod` (the `ach` variant is shown here; a `secureToken` variant is also supported) if the customer corrected their details. If this re-presentment is itself returned, repeat viewPayment + representPayment against the new `returns[0].paymentId` for a second and final attempt.
 [representBankTransferPayment](/api/represent-bank-transfer-payment)

## Workflow diagram

```mermaid
flowchart TD
  step0["1. payment lookup · API"]
  step1["2. re-presentment request · API"]
  step0 --> step1
```
